(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-13
(45)【発行日】2023-02-21
(54)【発明の名称】コミュニケーション装置、コミュニケーション方法、及びコミュニケーションプログラム
(51)【国際特許分類】
G06F 3/16 20060101AFI20230214BHJP
A63H 11/00 20060101ALI20230214BHJP
B25J 13/00 20060101ALI20230214BHJP
G10L 13/00 20060101ALI20230214BHJP
【FI】
G06F3/16 630
A63H11/00 Z
B25J13/00 Z
G10L13/00 100G
G10L13/00 100A
G06F3/16 650
(21)【出願番号】P 2018189468
(22)【出願日】2018-10-04
【審査請求日】2021-06-10
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】江藤 祐
(72)【発明者】
【氏名】清水 雅芳
【審査官】星野 裕
(56)【参考文献】
【文献】国際公開第2017/072915(WO,A1)
【文献】特開2009-233764(JP,A)
【文献】特開2017-213612(JP,A)
【文献】特表2014-504959(JP,A)
【文献】国際公開第2017/199565(WO,A1)
【文献】米国特許出願公開第2010/0082345(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/16
A63H 11/00
B25J 13/00
G10L 13/00
(57)【特許請求の範囲】
【請求項1】
ロボットに実行させるアクションと該アクションを保持する時間を対応付けて記憶する記憶部と、
前記ロボットに発話させる発話文と
前記アクションの内該発話に合わせたアクションとを指定する
第一のスクリプトに基づいて、前記発話文内
の第一の単語のみに、指定された前記アクションを紐づけて前記記憶部に記憶
させる取得部と、
前記発話文を翻訳し、前記記憶部を参照して前記第一の単語に対応する翻訳結果である第二の単語
に指定された前記アクションを紐づけ、前記ロボットに発話させる翻訳後の発話文と、前記翻訳後の発話文内の前記第二の単語の発話に合わせて開始する指定された前記アクションと、を指定する第二のスクリプトを作成する変更部と
、
前記第二のスクリプトと、前記記憶部から取得した指定された前記アクションを保持する時間と、に基づいて、前記ロボットに、前記翻訳後の発話文の発話と指定された前記アクションとを実行させる制御部と
を有する
ことを特徴とするコミュニケーション装置。
【請求項2】
前記変更部は、
前記
第一のスクリプトによって指定され
た前記アクションが、
前記第二の単語の発話に合わせて開始し前記翻訳後の発話文の終了後も
指定された前記アクションが継続する場合、
指定された前記アクションの終了時間を調整する
ことを特徴とする請求項1記載のコミュニケーション装置。
【請求項3】
前記変更部は、
指定された前記アクションを分割し
て複数の分割アクションを取得し、
前記翻訳後の発話文において、前記第二の単語より前の単語
の発話に合わせて、前記複数の分割アクションの内のいずれかが開始
するように翻訳後の各単語に対応する
前記分割アクションを割り当てて、
前記第二のスクリプトを作成する
ことを特徴とする請求項2記載のコミュニケーション装置。
【請求項4】
前記変更部は、
前記
第一のスクリプトによって前記第一の単語に複数のアクションが組み合わせて指定される場合、該複数のアクション間の繋ぎに影響する動作が存在する場合、2以上のアクションの姿勢を補正する
ことを特徴とする請求項1記載のコミュニケーション装置。
【請求項5】
前記変更部は、
前記
第一のスクリプトによって前記第一の単語に複数のアクションが組み合わせて指定される場合、該複数のアクションのうち、最初のアクションの開始姿勢と、最後のアクションの終了姿勢とが定めた初期姿勢でない場合、該複数のアクションの動作を置き換えて該開始姿勢と該終了姿勢とが該定めた初期姿勢となるように前記ロボットの姿勢を補正する
ことを特徴とする請求項4記載のコミュニケーション装置。
【請求項6】
前記変更部は、
前記第一の単語を翻訳した単語が存在しない場合、翻訳前の前記発話文と
前記翻訳後の発話文との間の単語の位置関係に基づいて、該翻訳後の発話文において、前記第一の単語の位置に近い位置に、前記紐づけ情報を変更する
ことを特徴とする請求項1記載のコミュニケーション装置。
【請求項7】
ロボットに実行させるアクションと該アクションを保持する時間を対応付けて記憶部に記憶し、
前記ロボットに発話させる発話文と
前記アクションの内該発話に合わせたアクションとを指定する
第一のスクリプトに基づいて、前記発話文内
の第一の単語のみに、指定された前記アクションを紐づけて記憶部に記憶し、
前記発話文を翻訳し、前記記憶部を参照して前記第一の単語に対応する翻訳結果である第二の単語
に指定された前記アクションを紐づけ、前記ロボットに発話させる翻訳後の発話文と、前記翻訳後の発話文内の前記第二の単語の発話に合わせて開始する指定された前記アクションと、を指定する第二のスクリプトを作成し、
前記第二のスクリプトと、前記記憶部から取得した指定された前記アクションを保持する時間と、に基づいて、前記ロボットに、前記翻訳後の発話文の発話と指定された前記アクションとを実行させる
処理をコンピュータが行う
ことを特徴とするコミュニケーション方法。
【請求項8】
ロボットに実行させるアクションと該アクションを保持する時間を対応付けて記憶部に記憶し、
前記ロボットに発話させる発話文と
前記アクションの内該発話に合わせたアクションとを指定する
第一のスクリプトに基づいて、前記発話文内
の第一の単語のみに、指定された前記アクションを紐づけて記憶部に記憶し、
前記発話文を翻訳し、前記記憶部を参照して前記第一の単語に対応する翻訳結果である第二の単語
に指定された前記アクションを紐づけ、前記ロボットに発話させる翻訳後の発話文と、前記翻訳後の発話文内の前記第二の単語の発話に合わせて開始する指定された前記アクションと、を指定する第二のスクリプトを作成し、
前記第二のスクリプトと、前記記憶部から取得した指定された前記アクションを保持する時間と、に基づいて、前記ロボットに、前記翻訳後の発話文の発話と指定された前記アクションとを実行させる
処理をコンピュータに行わせる
ことを特徴とするコミュニケーションプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コミュニケーション装置、コミュニケーション方法、及びコミュニケーションプログラムに関する。
【背景技術】
【0002】
従来より、さまざまなタイプのロボットの活用及び導入が考えられている。そのなかで、近年では、日常生活において人と自然な対話が可能なロボットが注目されている。特に、ロボットの会話中に動きを加えることで、人に対して親和性を高めることができる(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、ある言語から他言語への翻訳機能を持ったロボットが、ある言語での発話に同期した動作を、翻訳後の言語での発話に際してで行なう場合に、不自然な動作となってしまう場合がある。
【0005】
したがって、1つの側面では、異なる言語間でのロボットの発話とアクションとの同期を維持することを目的とする。
【課題を解決するための手段】
【0006】
一態様によれば、ロボットに実行させるアクションと該アクションを保持する時間を対応付けて記憶する記憶部と、前記ロボットに発話させる発話文と前記アクションの内該発話に合わせたアクションとを指定する第一のスクリプトに基づいて、前記発話文内の第一の単語のみに、指定された前記アクションを紐づけて前記記憶部に記憶させる取得部と、前記発話文を翻訳し、前記記憶部を参照して前記第一の単語に対応する翻訳結果である第二の単語に指定された前記アクションを紐づけ、前記ロボットに発話させる翻訳後の発話文と、前記翻訳後の発話文内の前記第二の単語の発話に合わせて開始する指定された前記アクションと、を指定する第二のスクリプトを作成する変更部と、前記第二のスクリプトと、前記記憶部から取得した指定された前記アクションを保持する時間と、に基づいて、前記ロボットに、前記翻訳後の発話文の発話と指定された前記アクションとを実行させる制御部とを有することを特徴とするコミュニケーション装置が提供される。
【発明の効果】
【0007】
異なる言語間でのロボットの発話とアクションの同期を維持することができる。
【図面の簡単な説明】
【0008】
【
図1】翻訳後にアクションのタイミングが未調整の場合を説明するための図である。
【
図2】翻訳後にアクションのタイミングを調整した場合を説明するための図である。
【
図3】ロボットのハードウェア構成例を示す図である。
【
図4】第1実施例における処理概要を説明する図である。
【
図5】第1実施例における処理概要を説明するためのフローチャート図である。
【
図6】日英翻訳の場合の変換テーブルのデータ遷移例を示す図である。
【
図7】多言語に翻訳した場合の処理例を説明するための図である。
【
図8】
図7の処理例によるテーブル及びデータベースのデータ例を示す図である。
【
図9】アクション定義テーブルのデータ例を示す図である。
【
図10】第1実施例における機能構成例を示す図である。
【
図11】
図10の機能構成例における処理を説明するためのフローチャート図である。
【
図12】スクリプト入力処理を説明するためのフローチャート図である。
【
図13】アクション位置決定処理を説明するためのフローチャート図である。
【
図14】スクリプト翻訳処理を説明するためのフローチャート図である。
【
図15】調整後スクリプトに基づく発話・動作処理について説明するためのフローチャート図である。
【
図16】視覚表現及び聴覚表現のアクションの場合の翻訳前後のスクリプトの例を示す図である。
【
図17】2つのアクションを繋げて連続したアクションの例を説明するための図である。
【
図18】第2実施例における姿勢調整の例を示す図である。
【
図19】第2実施例における機能構成例を示す図である。
【
図20】第2実施例におけるスクリプト翻訳処理を説明するためのフローチャート図である。
【
図21】姿勢調整前のアクションシリーズの例を示す図である。
【
図22】開始及び終了姿勢の調整例(続く)を説明するための図である。
【
図23】開始及び終了姿勢の調整例(続き)を説明するための図である。
【
図24】姿勢調整処理の例を説明するための図である。
【
図25】翻訳後のアクションの終了時刻が、発話文の終了時刻より遅くなる場合を説明するための図である。
【
図26】アクションの分割例を説明するための図である。
【
図27】第3実施例における機能構成例を示す図である。
【
図28】第3実施例におけるスクリプト翻訳処理を説明するためのフローチャート図である。
【
図29】第4実施例における全体処理の概要を説明するための図である。
【
図30】
図29の例における変換テーブルのデータ遷移例を示す図である。
【
図31】第4実施例における機能構成例を示す図である。
【
図32】第4実施例におけるスクリプト翻訳処理を説明するためのフローチャート図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施の形態を図面に基づいて説明する。本実施の形態では、異なる言語間の翻訳例として、日本語を他の言語(一例として英語)に翻訳する場合で説明するが、この例に限定されない。
【0010】
ロボットへのアクションの指示は、日本語の会話文に対して予め定められているとする。先ず、アクション指示を含む会話文を日本語から英語に翻訳した場合に、ロボットのアクションのタイミングの例について説明する。以下の例では、元の会話文、即ち、日本語の会話文を「この書類をご覧頂けますか?」として説明するが、この例に限定されず、如何なる会話文であっても本実施の形態の適用は可能である。
【0011】
図1は、翻訳後にアクションのタイミングが未調整の場合を説明するための図である。
図1において、指示20は、
「この書類をご覧頂けますか?」
の文をロボット9に発話させる指示と、この文内の“この”でロボット9に書類8を指すアクションを行わせる指示とを含んでいる。ロボット9に発話させる文を以下「発話文」という。
【0012】
ロボット9は、“この”で書類8を指すアクション指示により、“この”の発話と同時に書類8を指で指し示す動作を行う。日本語の会話文では、このロボット9と対話する人にとって、この動作は自然である。
【0013】
ここで、指示20の会話文を英語に翻訳すると、翻訳後の指示21aでは、
「Could you see this document?」
の会話文と、アクションとが指定される。指示されたアクションは、単純には、発話と同時に行われる。
【0014】
ロボット9が指示21aに応じて、英語の会話文を発話するタイミングで書類8を指した場合、先頭の“Could”で書類8を指し、このアクションは聞き手にとって不自然に感じてしまう。この指示21aでは、“この”に対応する“this”を発話するタイミングで文書を指すアクションの方がより自然である。
【0015】
このように、一般的に、日本語と英語の文構造の違いから、同じアクションであっても、日本語の会話文を発話する際の最適な実行タイミングと、英語の会話文を発話する際の最適なタイミングとは異なっている。タイミングの違いにより、聞き手に違和感を感じさせてしまう。
【0016】
本実施の形態では、ロボット9を翻訳システムの聞き手とのインタフェースとして使用する場合、翻訳後の会話文において適切なタイミングでロボット9にアクションを実行させることを可能とする。
【0017】
[第1実施例]
第1実施例では、アクションが指定されている単語の訳語に対して当該アクションを指定することで、翻訳後の会話文において適切なタイミングでロボット9にアクションを実行させる。その一例を、
図1の指示20を用いて説明する。
【0018】
図2は、翻訳後にアクションのタイミングを調整した場合を説明するための図である。
図2より、日英翻訳後に、後述される種々の第1実施例に係る処理によりアクションのタイミングを調整した場合、指示20の日本語の会話文は、
図1の指示21aと同様に、
「Could you see this document?」
と翻訳される。
【0019】
図1で例示したように、指示20の発話タイミングに合わせて特定のアクションをロボット9に実施させる場合に別の言語へ変換すると、言語ごとの文構造の違いからアクションが適切なタイミングで行われず、ずれてしまう。
【0020】
しかしながら、第1実施例では、指示20において単語“この”に紐づけられた書類8を指すアクションを、単語“この”の訳語である“this”を発話するタイミングで行われるように、指示20bで示すように“this”で書類を指すアクションに動的に変更される。これにより、文化圏の違いによるアクションのタイミングのずれが考慮される。
【0021】
また、異なる文化圏でのコミュニケーションにおけるジェスチャの方法の違いを予め用意し、文化圏AでのアクションAと文化圏BでのアクションBとの間で変換を行う。一例として、「手招き」のジェスチャでは、日本では掌が下を向き、米国では掌が上を向くようにアクションを変換する。
【0022】
上述では、書類8を指すアクションで説明したが、第1実施例においてロボット9に行わせるアクションは、身振り手振りの表現、LEDを用いた視覚表現、効果音などの聴覚表現等を含む。
【0023】
図2で説明したような、ロボット9のハードウェア構成例について
図3で説明する。ハードウェア構成例は、以下に説明する第2~第4実施例においても同様である。
【0024】
図3は、ロボットのハードウェア構成例を示す図である。
図3より、ロボット9は、バスBを介して相互に接続されたCPU(Central Processing Unit)11、主記憶装置12と、補助記憶装置13と、入出力装置14と、モータ制御装置16と、通信I/F(インターフェース)17と、ドライブ装置18とを有し、バスBに接続される。ロボット9は、コミュニケーション装置に相当する。
【0025】
CPU11は、ロボット9を制御するプロセッサに相当する。主記憶装置12は、ROM(Read Only Memory)、RAM(Random Access Memory)等を有する。補助記憶装置13には、HDD(Hard Disk Drive)等が用いられる。
【0026】
入出力装置14は、スピーカ、マイク、LEDライト、タッチパネル等を有する。通信I/F17は、有線又は無線などのネットワークを通じて通信を行う。通信I/F17による通信は無線又は有線に限定されるものではない。主記憶装置12、補助記憶装置13、ロボット9がアクセス可能な外部記憶装置等を総称して、記憶部130とする。
【0027】
モータ制御装置16は、CPU11からの指示に応じて、接続される左右の、腕、手、足、首等のそれぞれのモータ16mの動作を制御する。ロボット9は、更に、温度センサ、人感センサ等を備えてもよい。
【0028】
CPU11は、主記憶装置12の一部をワークエリアとして使用し、主記憶装置12またはドライブ装置18等に格納されたプログラムを実行することで、以下に説明する第1実施例に係る様々な処理を実現する。
【0029】
ドライブ装置18は、ドライブ装置18にセットされた記憶媒体19(例えば、CD-ROM(Compact Disc Read-Only Memory)等)とロボット9とのインターフェースを行う。
【0030】
尚、第1実施例に係るプログラムを格納する記憶媒体19は、コンピュータが読み取り可能な、構造(structure)を有する1つ以上の非一時的(non-transitory)な、有形(tangible)な媒体であればよいく、SD(Secure Digital)メモリカード、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであればよい。
【0031】
図4は、第1実施例における処理概要を説明する図である。
図4より、翻訳対象となる元のスクリプト30aの
「この<Act:指差し>書類をご覧頂けますか?」
から、ロボット9に対する発話指示31aと、発話時のアクションの開始位置とアクション指示39との紐づけを示す紐づけ情報32aとが作成される。発話指示31a内の<Act:指差し>は、アクション指示39の一例である。発話内容に応じて、アクションの開始位置とアクション指示39は変更される。
【0032】
図4の発話指示31aでは、日本語で
「この書類をご覧頂けますか?」
の会話文が指定される。また、紐づけ情報32aは、言語の種類、アクション指示39の位置、アクション指示39の内容等を指定し、元のスクリプト30aより、発話させる会話文は日本語であり、“この”の位置で“指差し”アクションを行うことが示される。
【0033】
発話指示31aは、スクリプト翻訳処理P43により、単語ごとに他の言語に変換され、変換後の言語の文構造に従い翻訳後の会話文に組み立てられる。
【0034】
例えば、スクリプト翻訳処理P43によって、“この”は“this”に変換され、“書類を”は“document”に変換される。また、“ご覧”は“see”に変換され、“頂けますか?”は“could you”に変換される。変換された単語を用いて、
「Could you see this document?」
を組み立てることにより発話指示31bが作成される。
【0035】
第1実施例では、更に、紐づけ情報32aに加えて、紐づけ情報32aで示されるアクション指示39の位置“この”の変換後の“this”で“指差し”アクションを行う指示を含む紐づけ情報32bを作成する。この場合、“指差し”アクションが行われるのは会話文は英語であることが示される。
【0036】
そして、発話指示31bと紐づけ情報32bとから、“this”の直後に“指差し”アクションを指定する“<Act:指差し>”が埋め込まれた調整後スクリプト30bが作成される。作成された調整後スクリプト30bによって、日本語から翻訳された英語の会話文を発話した場合でも、適切なタイミングでアクションが行われるため、聞き手にロボット9の動作をより自然に感じさせることができる。
【0037】
以下の説明において、ロボット9に、日本語の会話文を発話させるスクリプトを日本語のスクリプトといい、英語の会話文を発話させるスクリプトを英語のスクリプトという場合がある。また、元のスクリプト30a及び調整後スクリプト30bを、総称してスクリプト30という。
【0038】
図5は、第1実施例における処理概要を説明するためのフローチャート図である。
図5より、ロボット9は、日本語の元のスクリプト30aを読み込んで解析し(ステップS11)、紐づけ情報32aを記憶部130に記憶する(ステップS12)。言語の種類は日本語を示し、“この”でアクションが開始し、アクション内容は<Act:指差し>を示す紐づけ情報32aが、記憶部130に記憶される。
【0039】
また、ロボット9は、元のスクリプト30aからアクション内容を削除することで発話指示31aを取得し、発話指示31aの日本語の会話文を英語に翻訳する日英翻訳処理を行う(ステップS13)。
【0040】
次に、ロボット9は、翻訳前後の単語の対応づけに基づいて、紐づけ情報32aを更新して紐づけ情報32bを得る(ステップS14)。そして、ロボット9は、翻訳結果となる発話指示31bと、紐づけ情報32aに少なくとも翻訳後のアクションの位置を示す情報を加えて更新した紐づけ情報32bとに基づいて、翻訳後スクリプト30bを作成する(ステップS15)。
【0041】
即ち、ロボット9は、
「Could you see this <Act:指差し> document?」
を示す翻訳後スクリプト30bを記憶部130内の変換テーブル(後述)に記憶し、また、CPU11に翻訳後スクリプト30bを実行させる。翻訳後スクリプト30bは、実行後に記憶部130から削除されればよい。
【0042】
生成された紐づけ情報32aは、
図6に示すような変換テーブル80に記憶され、上述した処理により紐づけ情報32bへと更新される。日英翻訳の場合を例として、変換テーブル80のデータ遷移について
図6で説明する。
【0043】
図6は、日英翻訳の場合の変換テーブルのデータ遷移例を示す図である。
図6において、変換テーブル80は、翻訳前後の単語に対応付けて、元のスクリプト30aで指定されたアクション指示39を記憶するテーブルであり、翻訳前(Jpn)、翻訳後(Eng)、アクション等の項目を有する。変換テーブル80では、初期状態のレコードに対して、新たに翻訳された単語を記憶する。
【0044】
先ず、元のスクリプト30aから取得した発話指示31aが解析されると、“この”、“書類を”、“ご覧”、及び“頂けますか?”のそれぞれの単語ごとにレコードが作成され、翻訳前(Jpn)に設定される。
【0045】
そして、元のスクリプト30a内のアクション指示39の位置の単語“この”のレコードのアクションに、アクション指示39の内容“指差し”が設定される。単語“この”のレコードの、翻訳前(Jpn)及びアクションの内容が紐づけ情報32aに相当する。
【0046】
次に、単語ごとに日英翻訳処理が行われると、各レコードの翻訳後(Eng)に、訳語が設定される。翻訳前(Jpn)が“この”のレコードには、翻訳後(Eng)に“this”が設定される。翻訳前(Jpn)、翻訳後(Eng)、及びアクションの内容が紐づけ情報32bに相当する。
【0047】
そして、全ての単語に対して訳語が設定された変換テーブル80を参照して、発話指示31bが作成される。更に、変換テーブル80内の“this”に対して“指差し”アクションが対応付けられたレコードにより、作成された発話指示31b内の“this”の直後にアクション指示39を挿入して記述され、調整後スクリプト30bが生成される。
【0048】
上述では、日本語の元のスクリプト30aに対して英語の調整後スクリプト30bを作成する例を説明したが、第1実施例では、2以上の言語の調整後スクリプト30bを作成することもできる。英語、独逸語、ロシア語等の3言語以上で日本語の元のスクリプト30aからそれぞれの言語の調整後スクリプト30bを出力する例で説明する。
【0049】
図7は、多言語に翻訳した場合の処理例を説明するための図である。
図7より、日本語の元のスクリプト30aに対して、日本語の発話指示31aが作成されることは、上述した通りである。
【0050】
一方、元のスクリプト30aからは、後述される
図8に示すような単語ごとに多言語の訳語を対応付けた変換テーブル80が作成される。この変換テーブル80(
図8)を参照することで、英語の発話指示31b-1、独逸語の発話指示31b-2、ロシア語の発話指示31b-3等が作成される。
【0051】
発話指示31b-1から31b-3のそれぞれに対して、変換テーブル80を参照し、アクションを行うタイミングとなる“この”に対するそれぞれの訳語の直後にアクション指示39を挿入する。したがって、英語の調整後スクリプト30b-1、独逸語の調整後スクリプト30b-2、ロシア語の調整後スクリプト30b-3等が生成され、
図8に示すようなスクリプトDB87に記憶される。
【0052】
図8は、
図7の処理例によるテーブル及びデータベースのデータ例を示す図である。
図8より、多言語への翻訳用の変換テーブル80では、単語ごとに2以上の言語による訳語が対応付けられ、
図6同様にアクションを行うタイミングの“この”に対応付けてアクションの内容“指差し”が設定されている。
【0053】
変換テーブル80を参照することで、“この”に対応付けられた訳語“this”等の発話時が、“指差し”アクションのタイミングであることが分かる。
【0054】
アクションのタイミングを特定して、アクション指示39を各言語の発話指示31bに埋め込んで作成した調整後スクリプト30bは、スクリプトDB87に記憶され保存される。
【0055】
上述した元のスクリプト30aが、聞き手に書類に記入を促す会話文である場合で、スクリプトDB87のデータ例について説明する。スクリプトDB87は、元のスクリプト30aと、各言語に翻訳した調整後スクリプト30bとを記憶するデータベースであり、No.、Name、Language、出力スクリプト等の項目を有する。
【0056】
No.は、レコード番号を示す。Nameは、スクリプト30の名称を示す。スクリプト30の名称は、スクリプト30のヘッダ部から取得してもよいし、予め与えられていてもよい。Languageは、言語を特定する。言語は、スクリプト30のヘッダ部から取得してもよいし、予め与えられていてもよい。出力スクリプトには、元のスクリプト30a又は調整後スクリプト30bが格納される。
【0057】
このデータ例では、「書類記入」用として、日本語(Jpn)、英語(Eng)、独逸語(Deu)、ロシア語(Rus)等の各言語のスクリプト30が出力スクリプトに記憶されている。日本語(Jpn)の出力スクリプトには、元のスクリプト30aが記憶され、英語(Eng)、独逸語(Deu)、ロシア語(Rus)等の調整後スクリプト30bが記憶されている。
【0058】
ロボット9は、言語指定に応じて出力スクリプトを切り替えて、日本語以外の他の言語で発話する場合であっても、適切な位置でアクションを行える。また、ロボット9が行う様々なアクションは、
図9に示すようなアクション定義テーブル88によって予め定義されている。
【0059】
図9は、アクション定義テーブルのデータ例を示す図である。
図9において、アクション定義テーブル88は、アクションごとの内容を定義したテーブルであり、アクション名、開始姿勢、終了姿勢、動作指示等の項目を有する。
【0060】
アクション名は、アクションを特定する名称を示す。開始姿勢は、アクション開始時のロボット9の姿勢を特定する名称を示す。終了姿勢は、アクション終了時のロボット9の姿勢を特定する名称を示す。
【0061】
動作指示は、開始姿勢から終了姿勢までの間のロボット9の動きを指定し、動きの手順ごとにモータID、時間、及び角度を指定する情報を示す。モータIDは、モータ16mのうち動かすモータ16mを指定する。時間は、指定動作を保持する時間の長さを指定する。角度は、指定されたモータ16mを回転させる大きさを示す。角度が0の場合、原点(正面)を示し、即ち、ニュートラルポジションを指定する。
【0062】
この例では、“正面指差し”アクションは、ニュートラルポジションから開始して、動作指示の内容を実行した後、ニュートラルポジションに戻ることが指定されている。開始から終了までに、モータ制御装置16によって、種々のモータ16mが手順<1>から<4>に従って動くように制御される。
【0063】
<1>モータID:全て、時間:1s、角度:0度(原点)
全てのモータ16mを、1秒の間、角度0度で維持させることを指定している。1秒後、手順<2>が行われる。
【0064】
<2>モータID:右腕、時間:1s、角度:90度
右腕のモータ16mを、1秒の間、角度90度に回転させて維持させることを指定している。1秒後、手順<3>が行われる。
<3>モータID:右腕、時間:2s、角度:90度
右腕のモータ16mを、2秒の間、角度90度に回転させて維持させることを指定している。2秒後、手順<4>が行われる。
【0065】
<4>モータID:全て、時間:1s、角度:0度
右腕のモータ16mを、1秒の間、角度0度に回転させて維持させることを指定している。1秒後、このアクションは終了する。
【0066】
また、“右を向く”アクションは、ニュートラルポジションから開始して、動作指示の内容を実行した後、右向きの状態で終了することが指定されている。開始から終了までに、モータ制御装置16によって、種々のモータ16mが手順<1>及び<2>に従って動くように制御される。
【0067】
<1>モータID:全て、時間:1s、角度:0度
全てのモータ16mを、1秒の間、角度0度で維持させることを指定している。1秒後、手順<2>が行われる。
【0068】
<2>モータID:首水平、時間:1s、角度:50度
水平方向で首を回転させるモータ16mを、1秒の間に、角度50度に回転させて停止させる。ロボット9の首を右方向に回転させた状態で、このアクションは終了する。
【0069】
図10は、第1実施例における機能構成例を示す図である。
図10において、ロボット9は、スクリプト入力部41と、アクション位置決定部42と、スクリプト翻訳部43と、スクリプト解釈部44と、ロボット制御部45と、実行部46とを有する。記憶部130には、変換テーブル80、スクリプトDB87、アクション定義テーブル88等が記憶される。
【0070】
スクリプト入力部41は、ロボット9の管理者、所有者等のユーザにより、入出力装置14又は通信I/F17を介してロボット9に入力された元のスクリプト30aを受け付けてスクリプトDB87に記憶する。元のスクリプト30aは、元のスクリプト30aの名称(Name)及び言語に対応付けてスクリプトDB87に記憶される。
【0071】
アクション位置決定部42は、元のスクリプト30に対する解析処理により得られた単語を変換テーブル80に記憶し、元のスクリプト30aにアクション指示39が存在する場合、アクション位置となる単語にアクション指示39を紐づけて記憶する。この紐づけによって、変換テーブル80は、紐づけ情報32aを含む。
【0072】
スクリプト翻訳部43は、元のスクリプト30で示される発話指示31aをA言語からB言語へと翻訳して発話指示31bを取得し、かつ、アクション位置を特定して、調整後スクリプト30bを作成し、翻訳部43aと、位置変更部43fとを有する。
【0073】
翻訳部43aは、スクリプト30aから得られる発話文(発話指示31a相当)を翻訳する。翻訳部43aは、変換テーブル80の翻訳後に訳語を設定し、翻訳後の発話文を作成する。
【0074】
位置変更部43fは、翻訳後の文構造に従ってアクション指示39の位置を変更した調整後スクリプト30bを作成し、スクリプトDB87に記憶する。調整後スクリプト30bにより、適切なタイミングでアクションが実行される。
【0075】
スクリプト解釈部44は、調整後スクリプト30bの通知又は指定に応じて、出力スクリプトとして指定された調整後スクリプト30bを解釈し、発話指示31bと、アクション指示39と、アクション位置とをロボット制御部45に通知する。調整後スクリプト30bは、元のスクリプト30aの入力からの一連の処理として、スクリプト翻訳部43によって通知されてもよいし、外部からスクリプトDB87のレコードが指定されることにより、スクリプト解釈部44に対して行われても良い。
【0076】
ロボット制御部45は、スクリプト解釈部44から通知された、発話指示31bと、アクション指示39と、アクション位置とを含む通知に応じて、入出力装置14とモータ制御装置16とを制御する。
【0077】
ロボット制御部45は、発話指示31bに従って、入出力装置14に対して、スピーカに翻訳後の単語を出力させる動作指示を送信する。一方、第1実施例では、ロボット制御部45は、アクション定義テーブル88からアクション指示39に相当する動作指示を取得し、スピーカに出力させる翻訳後の単語がアクション位置になったとき、取得した動作指示をモータ制御装置16に送信する。
【0078】
実行部46は、ロボット制御部45が動作指示を送信する入出力装置14及びモータ制御装置16のそれぞれに相当する。入出力装置14では、翻訳後の単語をスピーカから出力し、モータ制御装置16では、動作指示に従って、1以上のモータ16mの回転させる。
【0079】
上述より、実行部46以外の、スクリプト入力部41と、アクション位置決定部42と、スクリプト翻訳部43と、スクリプト解釈部44と、ロボット制御部45とが、ロボット9にインストールされたプログラムがCPU11に実行させる処理により実現される。以下に説明する第2~第4実施例においても同様である。
【0080】
図11は、
図10の機能構成例における処理を説明するためのフローチャート図である。
図11より、スクリプト入力部41は、元のスクリプト30a(以下、スクリプト30aという)の入力に応じて、スクリプト30aを受け付けて記憶部130に記憶するスクリプト入力処理を行う(ステップS100)。スクリプト入力処理では、スクリプト受付の通知がアクション位置決定部42に送信される。
【0081】
アクション位置決定部42は、スクリプト受付の通知に応じて、スクリプト30aを解析した結果に基づいて、アクション指示39が存在する場合にアクション位置を決定するアクション位置決定処理を行う(ステップS200)。
【0082】
アクション位置決定部42は、スクリプト30aから、アクション位置直後のアクション指示39を除外して発話指示31aを取得して解析し、変換テーブル80に解析により得られた単語ごとにレコードを作成する。そして、アクション位置決定部42は、変換テーブル80に、アクション位置の単語に対応付けてアクション指示39を記憶する。
【0083】
アクション位置決定部42によるスクリプト解析が終了すると、スクリプト翻訳部43は、単語ごとに他の言語に翻訳し、文構造に従って発話指示31bを作成することで、発話指示31aを翻訳するスクリプト翻訳処理P43を行う(ステップS300)。
【0084】
スクリプト翻訳部43は、変換テーブル80に作成されたレコードごとに、翻訳前の単語の訳語を翻訳後の単語として設定する。これにより、アクション指示39が翻訳後の単語に対応付けられる。スクリプト翻訳部43は、作成した発話指示31bにおいて、変換テーブル80から特定できるアクション指示39が対応付けられた翻訳後の単語の直後に、アクション指示39を挿入して、調整後スクリプト30bを作成する。調整後スクリプト30bでは、入力されたスクリプト30におけるアクション指示39の位置から変更される。調整後スクリプト30bは、スクリプトDB87に記憶される。
【0085】
スクリプト解釈部44は、スクリプト出力の指示が有るか否かを判断し(ステップS400)、スクリプト出力の指示が有った場合に(ステップS400のYES)、調整後スクリプト30bを解釈し、発話指示31bと、アクション指示39とを分離して、それぞれをロボット制御部45に送信する(ステップS400)。スクリプト出力の指示が無かった場合(ステップS400のNO)、スクリプト解釈部44は、所定間隔でステップS400を繰り返す。
【0086】
発話指示31bとアクション指示39の受信に応じて、ロボット制御部45は、入出力装置14に発話させる動作指示を送信し、また、モータ制御部16に1以上のモータ16mを回転させる動作指示を送信するロボット制御処理を行う(ステップS500)。モータ制御部16への動作指示は、アクション位置に応じて行われる。
【0087】
動作指示の受信に応じて、入出力装置14とモータ制御部16のそれぞれが、出力処理を行う(ステップS600)。入出力装置14では、スピーカが翻訳後の単語ごとに発話文を出力し、モータ制御部16では、動作指示で指定されたモータ16mが指定された角度まで回転させる。
【0088】
上述したステップS100~S600の処理を、スクリプト30aが入力されるごとに行われる。以下に、処理部41~46の処理について説明する。
【0089】
図12は、スクリプト入力処理を説明するためのフローチャート図である。
図12において、スクリプト入力部41は、スクリプト30aの入力があったか否かを判断する(ステップS111)。入力がない場合(ステップS111のNO)、スクリプト入力部41は、所定間隔でステップS111を繰り返す。
【0090】
入力があった場合(ステップS111のYES)、スクリプト入力部41は、入力されたスクリプト30aを、スクリプトDB87に、名称と言語の組み合せに対応付けて記憶する(ステップS112)。
【0091】
そして、スクリプト入力部41は、アクション位置決定部42に、スクリプト入力の通知を行って(ステップS113)、このスクリプト入力処理を終了する。スクリプト入力の通知は、元のスクリプト30aを含んでもよいし、スクリプトDB87のレコード番号を指定してもよい。
【0092】
図13は、アクション位置決定処理を説明するためのフローチャート図である。
図13において、アクション位置決定部42は、スクリプト30aを読み込んで解析する(ステップS211)。アクション位置決定部42は、スクリプト30aにアクション指示39が有る場合、アクション指示39を除いて発話指示31aを取得し、単語に分解する。各単語は、変換テーブル80に記憶される。
【0093】
そして、アクション位置決定部42は、スクリプト30aにアクション指示39が有るか否かを判断する(ステップS212)。アクション指示39が無い場合(ステップS212のNO)、アクション位置決定部42は、ステップS214へと進む。
【0094】
一方、アクション指示39がある場合(ステップS212のYES)、アクション位置決定部42は、単語とアクション指示39との紐づけを行う(ステップS213)。即ち、変換テーブル80において、スクリプト30a内のアクション指示39の位置に基づいて、アクションのタイミングとなる単語に対して、アクション指示39の内容を設定する。
【0095】
次に、アクション位置決定部42は、単語とアクションとの紐づけを行う(ステップS213)。アクション位置決定部42は、変換テーブル80において、スクリプト30aでアクション指示39を検出した位置の単語に対応付けて、アクション指示39の内容を設定する。
【0096】
アクション位置決定部42は、スクリプト翻訳部43に、スクリプト30aと紐づけ情報32aとを通知する(ステップS214)。スクリプト30aにアクション指示39が含まれていない場合、紐づけ情報32aは通知されず、スクリプト30aのみが通知される。紐づけ情報32aの通知により、変換テーブル80におけるレコードを特定してもよいし、翻訳前の単語と、アクション内容とを通知してもよい。通知後、アクション位置決定部42は、アクション位置決定処理を終了する。
【0097】
図14は、スクリプト翻訳処理を説明するためのフローチャート図である。
図14より、スクリプト翻訳部43において、翻訳部43aは、スクリプト30aから得られる発話文(発話指示31a相当)をA言語からB言語に翻訳する(ステップS311)。スクリプト翻訳部43は、翻訳前後の単語の対応付けに従って訳語を変換テーブル80に設定し、変換テーブル80を更新する。
【0098】
位置変更部43fは、スクリプト30aに対して紐づけ情報32aが有るか否かを判断する(ステップS312)。アクション位置決定部42から紐づけ情報32aが通知されたか否かを判断すればよい。紐づけ情報32aが無い場合(ステップS312のNO)、位置変更部43fによる位置変更処理は抑止され、スクリプト翻訳部43-2によりステップS320へと進む。
【0099】
一方、紐づけ情報32aが有る場合(ステップS312のYES)、位置変更部43fは、紐づけ情報32aに基づいて、アクション位置を変更する(ステップS316)。位置変更部43fは、変換テーブル80から、紐づけ情報32aで指定される翻訳前の単語の訳語を取得し、取得した訳語をアクション位置として特定する。そして、位置変更部43fは、得られたB言語の発話指示31b内の特定したアクション位置に、紐づけ情報32aで指定されるアクション指示39を挿入して、調整後スクリプト30bを作成する。
【0100】
そして、スクリプト翻訳部43は、B言語の調整後スクリプト30bをスクリプトDB87に記憶し(ステップS320)、このスクリプト翻訳処理を終了する。調整後スクリプト30bは、スクリプトDB87に名称とB言語の組み合せに対応付けて記憶される。スクリプト翻訳部43は、B言語の調整後スクリプト30bをスクリプトDB87に記憶し、また、スクリプト出力の指示として、調整後スクリプト30bをスクリプト解釈部44へ通知してもよい。スクリプト出力の指示により、スクリプト解釈部44、ロボット制御部45、及び実行部46による発話・動作処理が実行される。
【0101】
図15は、調整後スクリプトに基づく発話・動作処理について説明するためのフローチャート図である。発話・動作処理は、スクリプト出力の指示により実行される。スクリプト出力の指示は、スクリプト翻訳部43からの調整後スクリプト30bの通知、又は、外部から調整後スクリプト30bの指定により行われる。調整後スクリプト30bは、スクリプトDB87のレコードを特定する情報により指定されてもよい。
【0102】
先ず、スクリプト解釈部44は、スクリプト出力の指示として受け付けた調整後スクリプト30bを解釈する(ステップS411)。スクリプト解釈部44は、調整後スクリプト30bを解釈することによって、発話指示31bと、アクション指示39とを取得する。
【0103】
そして、スクリプト解釈部44は、得られた発話指示31bとアクション指示39とを、ロボット制御部45へと送信する(ステップS412)。アクション指示39が存在しない場合、ロボット制御部45へは発話指示31bのみが送信される。アクション指示39が存在する場合、スクリプト解釈部44は、調整後スクリプト30b内のアクション指示39が設定されている単語の発話タイミングで、ロボット制御部45へアクション指示39を送信する。
【0104】
発話指示31bとアクション指示39の受信に応じて、ロボット制御部45は、実行部46へ動作指示を送信する(ステップS413)。実行部46は、入出力装置14及び/又はモータ制御装置に相当する。発話指示31bは、入出力装置14へ動作指示として送信される。アクション指示39に対しては、ロボット制御部45は、アクション定義テーブル88を参照して動作指示を取得し、取得した動作指示をモータ制御装置16に送信する。
【0105】
実行部46は、動作指示に従って動作を実行する(ステップS414)。入出力装置14では、スピーカから発話文が出力され、アクション位置での発話と同期させて、モータ制御装置16では、モータ16mが回転する。
【0106】
上述では、身振り手振りの表現を例として説明したが、第1実施例では、LEDを用いた視覚表現、効果音などの聴覚表現等のアクションの場合でも適応できる。
図16は、視覚表現及び聴覚表現のアクションの場合の翻訳前後のスクリプトの例を示す図である。
【0107】
図16において、元のスクリプト30aが、
「この<Act:指差し, LED:赤, Sound:A>書類をご覧頂けますか?」
の場合、アクション指示39は、
<Act:指差し, LED:赤, Sound:A>
であり、複数のアクションが指定されている。
【0108】
上述した第1実施例における処理により、変換テーブル80には、アクション位置決定部42により、翻訳前が“この”のレコードにアクションの内容が記憶される。この場合、指差す身体動作を行い、LEDライトを赤に点灯し、効果音Aを出力させるアクションが指定される。
【0109】
また、スクリプト翻訳部43によるスクリプト翻訳処理P43の結果に基づいて、“この”の翻訳後は“this”であることが、変換テーブル80に記憶される。したがって、翻訳後において、アクション指示39が“this”の発話タイミングでアクションが実行されるように調整後スクリプト30bが作成される。調整後スクリプト30bは、
「Could you see this <Act:指差し, LED:赤, Sound:A> document?」
となる。
【0110】
この調整後スクリプト30bが実行されると、ロボット9は、“this”を発話するタイミングで、書類8に対して指差しが行われ、LEDライト9Lが赤に点灯し、効果音Aがスピーカから出力される。スピーカ出力において、効果音Aが発話の妨げになる場合には、“this”を優先し、効果音Aを出力するアクションを抑止してもよい。
【0111】
[第2実施例]
第2実施例では、2つのアクションを繋げて連続して実行する場合に無駄の無い、自然な動作を実現する。ある2つのアクションを繋げて連続したアクションシリーズにする場合には、その後のアクションが自然に行えるように、ニュートラルポジション(NP)から動作を開始して、NPで動作を終了することが望ましい。そのために、予め補完動作を定めておくことが考えられる。
【0112】
図17は、2つのアクションを繋げて連続したアクションの例を説明するための図である。
図17(A)では、補完動作を設定したアクション定義テーブル88の例を示す図である。アクション定義テーブル88-2を参照すると、アクションAは、NPで開始し、右を向き、動作が補完されることなく、右を向いたまま停止するアクションである。アクションBは、右向きの状態で頷いて、NPに戻る動作で補完されることで、右を向いたままで停止するアクションである。
【0113】
図17(B)は、アクションAを行って、続けてアクションBを行う場合の動作の流れを示している。アクション定義テーブル88-2に基づいて、アクションAにより、ロボット9は、NPから右を向いて、右を向いたまま停止すると、アクションBにより、右を向いた状態で頷いてNPに戻る動作を行う。この一連の動作は無駄なく行われる。ここで、動作の無駄について、
図17(C)で説明する。
【0114】
図17(C)は、アクションBを行って、続けてアクションAを行う場合の動作の流れを示している。アクション定義テーブル88-2に基づいて、アクションBにより、ロボット9は、右を向いた状態で頷いて、NPに戻ってそのまま終了してしまう。続けて行われるアクションAにより、ロボット9は、再度、NPから動作を開始し、右を向いて、そのまま停止してしまう。
【0115】
先ず、アクションシリーズは、NPで開始しNPで終了することが好ましいところ、
図17(C)のアクションシリーズの場合、右向きで開始され、右向きで終了してしまう。アクションシリーズにおいて、右向きの開始姿勢が前のアクションとの繋がりを悪くしてしまう。同様に、右向きの終了姿勢が後のアクションとの繋がりを悪くしてしまう。
【0116】
また、
図17(B)の場合では、アクションBに補完動作を加えることで、アクションシリーズがNPで終了するようにしている。そのように定義されたアクションBを利用し、アクションBに続いてアクションAを行う
図17(C)の場合には、右向きの開始姿勢から一度NPに戻って、再度、右を向くため、ロボット9は補完動作により無駄な動きを行ってしまう。
【0117】
したがって、第2実施例では、
図17(C)のようなアクションシリーズを、NPで開始しNPで終了するようにし、かつ、無駄な動作を削除して、動作がスムーズになるように姿勢を調整する姿勢調整処理を行う。
図18は、第2実施例における姿勢調整の例を示す図である。
【0118】
図18(A)は、姿勢調整前のアクションシリーズを示し、
図17(B)の例に相当する。第2実施例では、アクションBの開始姿勢を右向きからNPへと変更し、また、アクションAの終了姿勢を右向きからNPへと変更する。更に、アクションBの補完動作と終了姿勢、及び、アクションAの開始姿勢は、無駄な動作であるため、省略する。このような姿勢調整を行うことで、
図18(B)のような姿勢調整後のアクションシリーズを示す。
【0119】
図18(B)は、姿勢調整後のアクションシリーズを示している。
図18(B)より、新アクションBの開始姿勢はNPであり、新アクションAの終了姿勢はNPである。また、新アクションBの終了姿勢は右向きであり、新アクションAの開始姿勢も右向きであるため、新アクションBから新アクションAへの動作の流れは自然になっている。
【0120】
更に、新アクションBにおいては、右を向いて頷く元の動作が損なわれないように、開始姿勢と実行動作との間に右向きの補完動作が追加されている。同様に、新アクションAにおいては、右を向いた後にNPで終了するために、実行動作と終了姿勢との間にNPに戻る補完動作が追加されている。
【0121】
したがって、新アクションBと新アクションAとによる姿勢調整後のアクションシリーズは、新アクションBは、NPで開始され、右を向いて頷き、右向きのままで新アクションAへと移行し、新アクションAでは右を向いた状態からNPで終了する。
【0122】
このような姿勢調整処理を行う第2実施例の機能構成例について
図19で説明する。
図19は、第2実施例における機能構成例を示す図である。
図19では、第1実施例と同様の構成部には同様の符号を付しその詳細な説明を省略する。
【0123】
第2実施例における上述した姿勢調整処理は、スクリプト翻訳部43-2にて行われるため、スクリプト翻訳部43-2について詳述する。スクリプト翻訳部43-2は、翻訳部43aと、位置変更部43fと、姿勢解析部43gと、姿勢調整部43hとを有する。翻訳部43aと、位置変更部43fとは、第1実施例と同様であるのでその説明を省略する。
【0124】
姿勢解析部43gは、アクション指示39から各アクションの開始姿勢及び終了姿勢を解析する。解析した結果、姿勢調整処理が必要である場合、姿勢解析部43gは、姿勢調整部43hに姿勢調整の要求を行う。
【0125】
姿勢調整部43hは、姿勢調整部43hからの姿勢調整の要求に応じて、2以上のアクションによるアクションシリーズの開始姿勢と終了姿勢とをNPになるように、開始姿勢の直後及び/又は終了姿勢の直前に補完動作を挿入する。また、姿勢調整部43hは、アクション間で動作の重複による無駄を削除する。姿勢調整されたアクションの内容がアクション定義テーブル88に記憶される。
【0126】
図20は、第2実施例におけるスクリプト翻訳処理を説明するためのフローチャート図である。
図20中、第1実施例と同様の処理には同一のステップ番号を付与し、第2実施例に係る処理を主に説明する。
【0127】
図20より、スクリプト翻訳部43-2では、翻訳部43aが、スクリプト30aから得られる発話文をA言語からB言語に翻訳する(ステップS311)。スクリプト翻訳部43-2は、翻訳前後の単語の対応付けに従って訳語を変換テーブル80に設定し、変換テーブル80を更新する。
【0128】
位置変更部43fは、スクリプト30aに対して紐づけ情報32aが有るか否かを判断する(ステップS312)。アクション位置決定部42から紐づけ情報32aが通知されたか否かを判断すればよい。紐づけ情報32aが無い場合(ステップS312のNO)、位置変更部43f、姿勢解析部43g、及び姿勢調整部43hによる処理は抑止され、スクリプト翻訳部43-2によりステップS320へと進む。
【0129】
一方、紐づけ情報32aが有る場合(ステップS312のYES)、位置変更部43fは、紐づけ情報32aに基づいてアクション位置を変更する(ステップS316)。紐づけ情報32aによって、スクリプトDB87内のアクションの内容が設定されているレコードが特定されてもよい。
【0130】
位置変更部43fは、変換テーブル80から、紐づけ情報32aで指定される単語の訳語を取得し、取得した訳語をアクション位置として特定する。そして、位置変更部43fは、得られたB言語の発話指示31b内の特定したアクション位置に、紐づけ情報32aで指定されるアクション指示39を挿入して、調整後スクリプト30bを作成する。
【0131】
その後、姿勢解析部43gは、ロボット9の2以上をアクションを連続して行うことによって変化する姿勢を解析する姿勢解析処理を行う(ステップS317)。姿勢解析処理の結果に基づいて、姿勢解析部43gは、各アクションの開始姿勢又は終了姿勢は調整要か否かを判断する(ステップS318)。全てのアクションにおいて調整不要の場合(ステップS318のNO)、スクリプト翻訳部43-2によって、B言語の調整後スクリプト30bが出力される。
【0132】
一方、調整要のアクションが存在する場合(ステップS318のYES)、姿勢解析部43gは、紐づけ情報32bを姿勢調整部43hに通知することにより、姿勢調整部43hに姿勢調整処理を行わせる(ステップS319)。姿勢調整部43hは、スクリプトDB87からアクションの内容を取得して、NPで開始しNPで終了するとともに、無駄の無い動作になるようにアクションの内容を調整する。
【0133】
そして、スクリプト翻訳部43-2は、B言語の調整後スクリプト30bをスクリプトDB87に記憶し(ステップS320)、このスクリプト翻訳処理を終了する。調整後スクリプト30bは、スクリプトDB87に名称とB言語の組み合せに対応付けて記憶される。スクリプト翻訳部43-2は、B言語の調整後スクリプト30bをスクリプトDB87に記憶し、また、スクリプト出力の指示として、調整後スクリプト30bをスクリプト解釈部44へ通知してもよい。スクリプト出力の指示により、スクリプト解釈部44、ロボット制御部45、及び実行部46による発話・動作処理が実行される。
【0134】
図21から
図24は、姿勢調整処理の例を説明するための図である。
図21は、姿勢調整前のアクションシリーズの例を示す図である。
図21のアクションシリーズ71aは、
図18(A)のアクションンシリーズに相当する。
【0135】
図21のアクションシリーズ71aでは、最初のアクションBの開始姿勢が右向きでありNPではない。また、最後のアクションAの終了姿勢も右向きでありNPではない。更に、NPから右を向いて頷き右向きからNPで終了する動作が自然であるが、アクションBにおけるNPに戻る補完動作及びNPの終了姿勢と、アクションAにおけるNPの開始姿勢とは、無駄な動作である。一例として、最後のアクション以外のアクションの終了姿勢が補完動作によりNPになっている場合に、無駄の動作であると判定できる。
【0136】
先ず、姿勢調整部43hは、アクションシリーズ71aに対して、アクションBの開始姿勢の直前にNPの新開始姿勢を追加し、アクションBの終了姿勢の直後にNPの新終了姿勢を追加して、
図22のようなアクションシリーズ71bへと変更する。
【0137】
図22は、開始及び終了姿勢の調整例(続く)を説明するための図である。
図22に示すアクションシリーズ71bは、NPの新開始姿勢が追加されたアクションB’と、NPの新終了姿勢が追加されたアクションA’とによる一連のアクションである。
【0138】
更に、姿勢調整部43hは、アクションシリーズ71bに対して、アクションB’において右向きの開始姿勢を新終了姿勢として追加し、アクションA’において右向きの終了姿勢を新開始姿勢に追加する。アクションシリーズ71bは、アクションB’’とアクションA’’とによるアクションシリーズ71cに変化する。
【0139】
次に、姿勢調整部43hは、アクションシリーズ71cに対して、アクションB’’における右向きの開始姿勢と、アクションA’’における終了姿勢の調整を、
図23で示すように行う。具体的には、姿勢調整部43hは、アクションシリーズ71cに対して、アクションB’’において、新開始姿勢と開始姿勢との間に右向きの補完動作を挿入し、アクションA’’において、終了姿勢と新終了姿勢との間にNPに戻る補完動作を挿入する。
【0140】
図23は、開始及び終了姿勢の調整例(続き)を説明するための図である。
図23では、
図22のアクションシリーズ71cに対して、アクションB’’とアクションA’’とに対する補完動作の挿入により、アクションシリーズ71dを得た状態を示している。アクションB’’は、補完動作によりアクションB’’’となり、アクションA’’は、補完動作によりアクションA’’’となっている。
【0141】
ここで、姿勢調整部43hは、アクションアクションB’’’の無駄な動作7pであるNPに戻る補完動作とNPの終了姿勢を削除し、アクションA’’’の無駄な動作7qを削除する。
【0142】
また、姿勢調整部43hは、アクションアクションB’’’において挿入した補完動作と重複する開始姿勢を削除し、アクションアクションA’’’において挿入した実行動作と重複する終了姿勢を削除する。この処理により、
図22に示すアクションシリーズ71cにおいて、アクションアクションB’’’における開始姿勢が補完動作に置き換わり、アクションアクションA’’’における終了姿勢が補完動作に置き換わったことになる。従って、
図24に示すような姿勢調整後アクションシリーズ71eを得る。
【0143】
図24は、姿勢調整後アクションシリーズの例を示す図である。
図24より、姿勢調整後アクションシリーズ71eでは、
図23のアクションシリーズ71dにおいて、無駄な動作71p及び71qが削除され、新開始姿勢は開始姿勢で示され、新終了姿勢は終了姿勢で示されている。
【0144】
したがって、
図18(B)の姿勢調整後のアクションシリーズが、姿勢調整後アクションシリーズ71eにより実現される。姿勢調整後アクションシリーズ71eにおける新アクションBと新アクションAとによりアクション定義テーブル88-2が更新されるため、実行部46において、改善された動作が実行される。
【0145】
[第3実施例]
調整後スクリプト30bによるアクションの終了が翻訳後のアクション位置の変更により発話文の終了より遅く終了する場合がある。第3実施例では、アクションを分割して、分割ごとにアクション位置を定めることにより、翻訳後においても発話文の終了と略同時にアクションを終了させるようにする。
【0146】
図25は、翻訳後のアクションの終了時刻が、発話文の終了時刻より遅くなる場合を説明するための図である。
図25にいて、元のスクリプト30aは、
「AAA <Act:アクション(1)> BBB CCC」
であるとする。
【0147】
図25(A)は、翻訳前の発話文とアクションの開始時刻及び終了時刻を示している。
図25(A)において、「AAA BBB CCC」が翻訳前の元のスクリプト30aで指定される発話文である。単語“AAA”の発話のタイミングでアクション(1)が開始される例が示されている。翻訳前では、発話文もアクション(1)も略同時に終了する。
【0148】
ここで、変換テーブル80により、翻訳前後の単語の対応は、
AAA = aaa
BBB = bbb
CCC = ccc
であるとする。従って、翻訳後の調整後スクリプト30bは、
「bbb ccc aaa <Act:アクション(1)>」
となる。調整後スクリプト30bの実行により、単語“aaa”の発話のタイミングでアクション(1)が開始される。
【0149】
図25(B)は、翻訳後の発話文とアクションの開始時刻及び終了時刻を示している。アクション(1)の時間の長さは、翻訳前後と略同一である。しかしながら、発話文の後半の単語“aaa”でアクション(1)が実行されるため、発話文が終了した後もアクション(1)が継続して行われている。
【0150】
このような発話文の終了時刻Tcvよりアクション(1)の終了時刻Tacが遅くなる場合の一例として、アクション(1)が、翻訳前の発話文において文脈に応じてアクションが組み合わされていることがある。したがって、翻訳前後の単語の対応付けに合わせて、アクション(1)を分割し、訳語ごとに対応する分割したアクション(1)の指示を、調整後スクリプト30bに行う。
【0151】
図26は、アクションの分割例を説明するための図である。
図26において、翻訳前の発話文「AAA BBB CCC」は3つの単語“AAA”、“BBB”、及び“CCC”によるものとする。発話文の開始の「AAA」で始まるアクション(1)を、3つに分割し、単語“AAA”、“BBB”、及び“CCC”の3つに紐づける。
【0152】
図26において、単語“AAA”にアクション(1-1)を割り当て、単語“BBB”にアクション(1-2)を割り当て、単語“CCC”にアクション(1-3)を割り当てる。その後、翻訳前の発話文から翻訳後の発話文「bbb ccc aaa」を得る。翻訳前後の単語の対応付けから訳語「bbb」にはアクション(1-2)が割り当てられ、訳語「ccc」にはアクション(1-3)が割り当てられ、訳語「aaa」にはアクション(1-1)が割り当てられる。
【0153】
このようなアクションの分割を行うロボット9は、例えば、
図27のような機能構成を有する。
図27は、第3実施例における機能構成例を示す図である。
図27において、第1実施例と同様の構成部には同様の符号を付しその詳細な説明を省略する。第3実施例における上述したようなアクション(1)の分割及び割り当ては、スクリプト翻訳部43-3にて行われるため、スクリプト翻訳部43-3について詳述する。スクリプト翻訳部43-3は、翻訳部43aと、分割部43bと、割当部43cと、位置変更部43fとを有する。
【0154】
分割部43bは、翻訳後の発話文の開始時刻を0分0秒とし、当該発話文の終了時刻Tcvより、訳語に紐づけられたアクションの終了時刻Tacが後になる場合、アクション定義テーブル88-3を参照してアクションを分割する。分割部43bは、訳語に紐づけられたアクション指示39を、翻訳前の発話文の単語からアクションが終了するまでの単語の個数で分割以下で分割して、部分指示を2以上得る。
【0155】
翻訳前の発話文の時間は、予め計測しておき、元のスクリプト30aのヘッダ部又は記憶部130から得られるようにしてもよい。翻訳後の発話文は、翻訳前の発話文に掛かる時間と略同一としてもよい。また、第3実施例では、アクションに掛かる時間は、アクション定義テーブル88-3に記録しておくことにより、アクションの終了時刻Tacを求めることができる。
【0156】
割当部43cは、アクション指示39が紐づけられている訳語から、分割数に基づいて遡ってアクションを開始する訳語を特定し、翻訳後の発話文の発話順に従って、分割部43bによって分割されたアクション指示39の部分指示を特定した訳語から割り当てる。
【0157】
割当部43cは、割り当てに従い部分指示を用いて変換テーブル80を更新し、また、アクション定義テーブル88-3を変更する。1つのアクション指示39が2以上の部分指示で置き換えられる。
【0158】
位置変更部43fは、変換テーブル80-3を参照することで、翻訳後の発話文において、2以上の単語それぞれの直後にアクションの対応する部分指示を挿入し、調整後スプリクト30bを作成する。第3実施例では、元のスクリプト30aでは、1カ所にアクション指示39が指定されていたのに対して、調整後スクリプト30bでは、2カ所以上に部分指示が指定され、全体としてアクション指示39が実行され、会話文とアクションとを略同一に終了させることができる。
【0159】
図28は、第3実施例におけるスクリプト翻訳処理を説明するためのフローチャート図である。
図28中、第1実施例と同様の処理には同一のステップ番号を付与し、第3実施例に係る処理を主に説明する。
【0160】
図28より、スクリプト翻訳部43-3では、翻訳部43aが、スクリプト30aから得られる発話文をA言語からB言語に翻訳する(ステップS311)。スクリプト翻訳部43-3は、翻訳前後の単語の対応付けに従って訳語を変換テーブル80に設定し、変換テーブル80を更新する。
【0161】
翻訳部43aは、スクリプト30aに対して紐づけ情報32aが有るか否かを判断する(ステップS312)。翻訳部43aは、アクション位置決定部42から紐づけ情報32aが通知されたか否かを判断すればよい。紐づけ情報32aが無い場合(ステップS312のNO)、分割部43b、割当部43c、及び位置変更部43fによる処理は抑止され、スクリプト翻訳部43-2によりステップS320へと進む。
【0162】
一方、紐づけ情報32aが有る場合(ステップS312のYES)、翻訳部43aは、分割部43bに処理を渡す。分割部43bは、発話終了後にアクションが終了するか否かを判定する(ステップS313)。発話終了と略同時又は発話終了前にアクション終了する場合(ステップS313のNO)、分割部43bによる分割処理は抑止され、スクリプト翻訳部43-3によりステップS320へと進む。
【0163】
一方、発話終了後にアクションが終了するか否かを判定する場合(ステップS313のYES)、分割部43bは、アクション指示39を分割する(ステップS314)。割当部43cは、アクション指示39を分割して得た部分指示を訳語に割り当てる(ステップS315)。変換テーブル80が更新される。
【0164】
次に、位置変更部43fは、変換テーブル80を参照して得られる部分指示の紐づけ情報に基づいて、アクション位置を変更する(ステップS316-3)。位置変更部43fは、変換テーブル80から部分指示がアクションとして設定されている訳語を取得し、取得した訳語をアクション位置として特定する。そして、位置変更部43fは、得られたB言語の発話指示31b内の特定した2以上のアクション位置に、部分指示を挿入して、調整後スクリプト30bを作成する。
【0165】
そして、スクリプト翻訳部43-3は、B言語の調整後スクリプト30bをスクリプトDB87に記憶し(ステップS320)、このスクリプト翻訳処理を終了する。調整後スクリプト30bは、スクリプトDB87に名称とB言語の組み合せに対応付けて記憶される。スクリプト翻訳部43-3は、B言語の調整後スクリプト30bをスクリプトDB87に記憶し、また、スクリプト出力の指示として、調整後スクリプト30bをスクリプト解釈部44へ通知してもよい。スクリプト出力の指示により、スクリプト解釈部44、ロボット制御部45、及び実行部46による発話・動作処理が実行される。
【0166】
第3実施例の変形例として、省略可能なアクションを予め定めておくことで、アクション指示39を分割して得られた2以上の部分指示のうち1つ以上を省略し、発話文の終了時刻Tcvまでにアクションの終了時刻Tacが来るようにしてもよい。元のスクリプト30aに2以上のアクション指示39が指定されている場合も同様である。
【0167】
また、予めアクションを補足するアクション(補足アクション)を関連付けておくことで、アクション指示39で指定されたアクション、又は、分割後の部分指示が短時間で終了する場合には、当該アクションと関連付けられた補足アクションとを行い、アクションの間を補充してもよい。
【0168】
[第4実施例]
翻訳前の会話文において、翻訳後に訳語が対応付けられない単語が存在し、そのような単語にアクション指示39が紐づけされている場合がある。第4実施例では、訳語が存在したい単語に紐づけられたアクション指示39の、翻訳後における会話文に対する挿入位置を変更して、アクションが適切に実施されるようにする。
【0169】
図29は、第4実施例における全体処理の概要を説明するための図である。
図29において、元のスクリプト30aは、
「AAA BBB CCC <Act:指差し> DDD.」
であるとする。この場合、翻訳前の会話文
「AAA BBB CCC DDD.」
を含む発話指示31aが作成される。
【0170】
図29において、ロボット9は、A言語の元のスクリプト30a(単に、スクリプト30aという)を読み込んで解析し(ステップS451)、紐づけ情報32aを記憶部130に記憶する(ステップS452)。アクションを開始するアクション位置がA言語の単語に対して、記憶部130の変換テーブル80-4に記憶される。
【0171】
また、ロボット9は、元のスクリプト30aからアクション内容を削除することで発話指示31aを取得し、発話指示31aのA言語の会話文をB言語に翻訳する翻訳処理を行う(ステップS453)。そして、ロボット9は、翻訳前後の単語の対応付けに基づいて、変換テーブル80-4を変更する(ステップS454)。ここでは、翻訳前の単語に訳語が対応付けられなかったレコードが変換テーブル80-4に存在するものとする。その翻訳前の単語が、アクション指示39が紐づけられる「CCC」であったとする。
【0172】
ロボット9は、翻訳前の単語“CCC”に対応する訳語が無い場合、翻訳前の会話文において位置関係が近い単語に紐づけを変更し(ステップS455)、翻訳結果と変換テーブル80-4とに基づいて、調整後スクリプト30bを作成する(ステップS456)。翻訳後の会話文
「bbb aaa ddd.」
を含む発話指示31bを得られた場合、翻訳前の会話文の単語“CCC”の位置関係が近い単語は「ddd」である。従って、調整後スクリプト30bとして、
「bbb aaa ddd <Act:指差し>.」
を得る。
【0173】
図30は、
図29の例における変換テーブルのデータ遷移例を示す図である。
図30において、変換テーブル80-4では、初期状態のレコードに対して、新たに翻訳された単語を記憶する。
【0174】
先ず、元のスクリプト30aから取得した発話指示31aが解析されると、“AAA”、“BBB”、及び“CCC”のそれぞれの単語ごとにレコードが作成され、翻訳前に設定される。
【0175】
そして、元のスクリプト30a内のアクション指示39の位置の単語“CCC”のレコードのアクションに、アクション指示39の内容“指差し”が設定される。単語“CCC”のレコードの、翻訳前及びアクションの内容が紐づけ情報32aに相当する。
【0176】
次に、単語ごとにA言語からB言語への翻訳処理が行われると、各レコードの翻訳後に、訳語が設定される。翻訳前が“AAA”のレコードには、翻訳後に“aaa”が設定され、翻訳前が“BBB”のレコードには、翻訳後に“bbb”が設定される。しかしながら、A言語とB言語の文構造の違いから、翻訳前が“CCC”のレコードには、翻訳後の単語は設定されないが、翻訳前の単語に対応付けられない翻訳後の単語“ddd”が変換テーブル80-4に追加されている。そして、この単語“ddd”が、翻訳前の“CCC”に近い単語であるため、単語“ddd”のレコードのアクションに“指差し”が設定されている。
【0177】
このようなアクション指示39が対応付けられた単語の訳語の有無に応じて、訳語への再紐づけを行う第4実施例の機能構成例について
図31で説明する。
図31は、第4実施例における機能構成例を示す図である。
図31では、第4実施例と同様の構成部には同様の符号を付しその詳細な説明を省略する。
【0178】
第4実施例における上述した再紐づけ処理は、スクリプト翻訳部43-4にて行われるため、スクリプト翻訳部43-4について詳述する。スクリプト翻訳部43-4は、翻訳部43aと、判定部43dと、再紐づけ部43eと、位置変更部43fとを有する。翻訳部43aと、位置変更部43fとは、第1実施例と同様であるのでその詳細な説明を省略する。
【0179】
判定部43dは、翻訳部43aによる翻訳後、紐づけ情報32aが有る場合に、変換テーブル80-4を参照して、アクションの内容が設定される翻訳前の単語に対して、翻訳後の単語が設定されているか否かを判断する。アクションの内容が設定される翻訳前の単語に対して、翻訳後の単語が設定されている場合、再紐づけ部43eによる再紐づけ処理は抑止され、位置変更部43fによる位置変更処理が行われる。
【0180】
再紐づけ部43eは、判定部43dにより、アクションの内容が設定される翻訳前の単語に対して翻訳後の単語が設定されていると判断された場合、翻訳前の単語の会話文内の位置関係に近い訳語に紐づけを変更する。変換テーブル80-4が更新される。
【0181】
図32は、第4実施例におけるスクリプト翻訳処理を説明するためのフローチャート図である。
図32中、第1実施例と同様の処理には同一のステップ番号を付与し、第4実施例に係る処理を主に説明する。
【0182】
図32より、スクリプト翻訳部43-4では、翻訳部43aが、スクリプト30aから得られる発話文をA言語からB言語に翻訳する(ステップS311)。スクリプト翻訳部43-4は、翻訳前後の単語の対応付けに従って訳語を変換テーブル80-4に設定し、変換テーブル80-4を更新する。
【0183】
翻訳部43aは、スクリプト30aに対して紐づけ情報32aが有るか否かを判断する(ステップS312)。翻訳部43aは、アクション位置決定部42から紐づけ情報32aが通知されたか否かを判断すればよい。紐づけ情報32aが無い場合(ステップS312のNO)、判定部43d、再紐づけ部43e、及び位置変更部43fによる位置変更処理は抑止され、スクリプト翻訳部43-2によりステップS320へと進む。
【0184】
一方、紐づけ情報32aが有る場合(ステップS312のYES)、翻訳部43aは、判定部43dに処理を渡す。判定部43dは、翻訳後の単語が対応付けられているか否かを判定する(ステップS313-4)。
【0185】
翻訳後の単語が対応付けらている場合(ステップS313-4のYES)、再紐づけ部43eによる処理は抑止され、位置変更部43fにより、変換テーブル80-4から得られる翻訳後の紐づけ情報31bに基づいて、アクション位置が変更される(ステップS316)。
【0186】
一方、翻訳後の単語が対応付けらていない場合(ステップS313-4のNO)、判定部43dは、再紐づけ部43eに処理を渡す。再紐づけ部43eは、翻訳前の単語の会話文内の位置関係に近い訳語に紐づけを変更する(ステップS314-4)。そして、位置変更部43fにより、変換テーブル80-4から得られる翻訳後の紐づけ情報31bに基づいて、アクション位置が変更される(ステップS316)。
【0187】
その後、スクリプト翻訳部43-4は、B言語の調整後スクリプト30bをスクリプトDB87に記憶し(ステップS320)、このスクリプト翻訳処理を終了する。調整後スクリプト30bは、スクリプトDB87に名称とB言語の組み合せに対応付けて記憶される。スクリプト翻訳部43-4は、B言語の調整後スクリプト30bをスクリプトDB87に記憶し、また、スクリプト出力の指示として、調整後スクリプト30bをスクリプト解釈部44へ通知してもよい。スクリプト出力の指示により、スクリプト解釈部44、ロボット制御部45、及び実行部46による発話・動作処理が実行される。
【0188】
上述したように、第1~第4実施例によれば、異なる言語間において、ロボット9が、発話中に行うアクションのタイミングを適切に変更することができる。翻訳後の言語の文構造に応じて、アクションのタイミングを動的に変更できる。したがって、ロボット9と対面する聞き手に対する、ロボット9の不自然な振る舞いを改善できる。また、種々の言語に対応可能であるため、設計者は、個々の言語に対応したスクリプトを作成する必要がなく、設計者の負担を軽減できる。
【0189】
近年の外国への旅行者の増加と相まって、複数の言語での接客や対応をさせる取り組みが盛んになっている。第1~第4実施例に掛かるロボット9は、このような市場状況において需要が高まることが期待できる。
【0190】
ロボット9を聞き手とのインタフェースとして利用するコミュニケーションシステムでは、上述した第1~第4実施例により、翻訳結果に合わせて、適切なタイミングでロボットにアクションを実行させることができる。様々な言語に対応可能であるため、言語が異なる外国人に対しても違和感を感じさせずに、コミュニケーションを円滑に行うことが可能である。
【0191】
第1~第4実施例において、アクション位置決定部42は取得部の一例である。また、翻訳部43a及び位置変更部43fは変更部の一例である。
【0192】
以上の第1乃至第4実施例では、ロボットが全ての機能有し処理を実行する例を説明した。しかしながら、第1乃至第4実施例の実施例で、例えば、翻訳機能は、通信回線を介してロボットと接続された別のコンピュータに実装されてもよい。ロボットが取得した翻訳対象の発話をネットワークを介して別のコンピュータに送信し、別のコンピュータにより翻訳されて返送された翻訳結果に応じた処理をロボットにて行わせる形態でもよい。
【0193】
更に、ロボットには音声の入出力やロボット自身の動作制御に関する構成を搭載し、入力された音声を翻訳する機能、翻訳結果に応じたアクションタイミングを設定する機能等の制御機能は、ロボットと通信回線を介して接続された別の装置で実現する形態でもよい。
【0194】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
【0195】
以上の第1~第4実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
ロボットに発話させる発話文と該発話に合わせたアクションとを指定するスクリプトに基づいて、前記発話文内で該アクションを開始させる第一の単語と前記アクションとの紐づけ情報を記憶部に記憶する取得部と、
前記第一の単語に対応する翻訳結果である第二の単語と、前記第二の単語が発話される開始位置に前記アクションを紐づけて、前記記憶部に記憶された前記紐づけ情報を変更する変更部と
を有するコミュニケーション装置。
(付記2)
前記変更部は、
前記スクリプトによって指定される前記アクションが、翻訳後の該アクションの紐づけにより開始位置が変更され翻訳後の発話文の終了後も該アクションが継続する場合、該アクションの終了時間を調整する
ことを特徴とする付記1記載のコミュニケーション装置。
(付記3)
前記変更部は、
前記アクションを分割し、翻訳後の発話文において、前記第二の単語が発話される前記開始位置より前の単語から開始し、翻訳後の各単語に対応する分割アクションを割り当てて、分割により取得した複数の分割アクションを実行させる
ことを特徴とする付記2記載のコミュニケーション装置。
(付記4)
前記変更部は、
前記スクリプトによって前記第一の単語に複数のアクションが組み合わせて指定される場合、該複数のアクション間の繋ぎに影響する動作が存在する場合、2以上のアクションの姿勢を補正する
ことを特徴とする付記1記載のコミュニケーション装置。
(付記5)
前記変更部は、
前記スクリプトによって前記第一の単語に複数のアクションが組み合わせて指定される場合、該複数のアクションのうち、最初のアクションの開始姿勢と、最後のアクションの終了姿勢とが定めた初期姿勢でない場合、該複数のアクションの動作を置き換えて該開始姿勢と該終了姿勢とが該定めた初期姿勢となるように前記ロボットの姿勢を補正する
ことを特徴とする付記4記載のコミュニケーション装置。
(付記6)
前記変更部は、
前記第一の単語を翻訳した単語が存在しない場合、翻訳前の前記発話文と翻訳後の発話文との間の単語の位置関係に基づいて、該翻訳後の発話文において、前記第一の単語の位置に近い位置に、前記紐づけ情報を変更する
ことを特徴とする付記1記載のコミュニケーション装置。
(付記7)
複数の言語への翻訳ごとに、前記第一の単語に対応する翻訳結果の単語と、該単語が発話される開始位置に前記アクションを紐づける
ことを特徴とする付記1乃至4のいずれか一項記載のコミュニケーション装置。
(付記8)
ロボットに発話させる発話文と該発話に合わせてアクションとを指定するスクリプトに基づいて、該発話文内で該アクションを開始させる第一の単語と該アクションとの紐づけ情報を取得し、記憶部に記憶し、
前記発話文の翻訳が行われる場合は、前記第一の単語に対応する翻訳結果の単語と、該単語が発話される開始位置に前記アクションを紐づけて、前記記憶部に記憶された前記紐づけ情報を変更する
処理をコンピュータが行うコミュニケーション方法。
(付記9)
ロボットに発話させる発話文と該発話に合わせてアクションとを指定するスクリプトに基づいて、該発話文内で該アクションを開始させる第一の単語と該アクションとの紐づけ情報を取得し、記憶部に記憶し、
前記発話文の翻訳が行われる場合は、前記第一の単語に対応する翻訳結果の単語と、該単語が発話される開始位置に前記アクションを紐づけて、前記記憶部に記憶された前記紐づけ情報を変更する
処理をコンピュータに行わせるコミュニケーションプログラム。
【符号の説明】
【0196】
9 ロボット
41 スクリプト入力部
42 アクション位置決定部
43、43-2、43-3、43-4 スクリプト翻訳部
80、80-4 変換テーブル
87 スクリプトDB
88、88-2、88-4 アクション定義テーブル