(57)【特許請求の範囲】
【請求項１】
音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかを少なくとも音声にて確認するコミュニケーションロボットを備えるコミュニケーションシステムであって、
物品の名称および当該物品に関連する複数の単語を記憶する記憶手段、
前記特定した物品に関連する複数の単語を前記記憶手段から読み出して、当該特定した物品を音声にて確認する際の発話内容を生成する発話内容生成手段、
前記特定した物品を前記コミュニケーションロボットの顔の向きで指示させる顔向け動作を生成する顔向き動作生成手段、
少なくとも、前記特定した物品を含み、当該特定した物品を顔の向きで指示可能な第１範囲に他の物品が存在するかどうかに応じて、前記コミュニケーションロボットに指差しで指示させる指差し動作を実行させるかどうかを判断する指差し実行判断手段、および
前記指差し実行判断手段によって指差し動作を実行させることが判断された場合に、当該指差し動作を生成する指差し動作生成手段を備える、コミュニケーションシステム。
【請求項２】
前記指差し実行判断手段は、前記第１範囲に前記他の物品が存在しないことが判断されたとき、前記指差し動作を実行させないことを判断する、請求項１記載のコミュニケーションシステム。
【請求項３】
前記第１範囲に前記他の物品が存在するとき、前記特定した物品を前記指差しで指示可能であり、前記第１範囲よりも狭い第２範囲に当該他の物品が存在するかどうかを判断する他物品存在判断手段をさらに備え、
前記指差し実行判断手段は、前記他物品存在判断手段によって前記他の物品が前記第２範囲に存在しないことが判断されたとき、前記指差し動作を実行させることを判断する、請求項２記載のコミュニケーションシステム。
【請求項４】
前記他物品存在判断手段によって前記他の物品が前記第２範囲に存在することが判断されたとき、前記第２範囲内の物品の数が前記第１範囲内の物品の数の半数以上であるかどうかを判断する物品数判断手段をさらに備え、
前記指差し実行判断手段は、前記物品数判断手段によって前記半数以上であることが判断されたとき、前記指差し動作を実行させないことを判断し、前記物品数判断手段によって前記半数未満であることが判断されたとき、前記指差し動作を実行させることを判断する、請求項３記載のコミュニケーションシステム。
【請求項５】
音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかを少なくとも音声にて確認するコミュニケーションロボットの確認行動決定装置であって、
物品の名称および当該物品に関連する複数の単語を記憶する記憶手段、
前記特定した物品に関連する複数の単語を前記記憶手段から読み出して、当該特定した物品を音声にて確認する際の発話内容を生成する発話内容生成手段、
前記特定した物品を前記コミュニケーションロボットの顔の向きで指示させる動作を生成する顔向き動作生成手段、
少なくとも、前記特定した物品を含み、当該特定した物品を顔の向きで指示可能な第１範囲に他の物品が存在するかどうかに応じて、前記コミュニケーションロボットに指差しで指示させる動作を実行させるかどうかを判断する指差し実行判断手段、および
前記指差し実行判断手段によって指差しで指示させる動作を実行させることが判断された場合に、当該指差しで指示させる動作を生成する指差し動作生成手段を備える、確認行動決定装置。
【請求項６】
物品の名称および当該物品に関連する複数の単語を記憶する記憶手段を備え、音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかを少なくとも音声にて確認するコミュニケーションロボットの確認行動を決定するコンピュータで実行される確認行動決定プログラムであって、
前記コンピュータのプロセッサに、
前記特定した物品に関連する複数の単語を前記記憶手段から読み出して、当該特定した物品を音声にて確認する際の発話内容を生成する発話内容生成ステップ、
前記特定した物品を前記コミュニケーションロボットの顔の向きで指示させる顔向け動作を生成する顔向き動作生成ステップ、
少なくとも、前記特定した物品を含み、当該特定した物品を顔の向きで指示可能な第１範囲に他の物品が存在するかどうかに応じて、前記コミュニケーションロボットに指差しで指示させる指差し動作を実行させるかどうかを判断する指差し実行判断ステップ、および
前記指差し実行判断ステップにおいて指差し動作を実行させることを判断した場合に、当該指差し動作を生成する指差し動作生成ステップを実行させる、確認行動決定プログラム。
【請求項７】
物品の名称および当該物品に関連する複数の単語を記憶する記憶手段を備え、音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかを少なくとも音声にて確認するコミュニケーションロボットの確認行動を決定するコンピュータの確認行動決定方法であって、
前記コンピュータは、
（ａ）前記特定した物品に関連する複数の単語を前記記憶手段から読み出して、当該特定した物品を音声にて確認する際の発話内容を生成し、
（ｂ）前記特定した物品を前記コミュニケーションロボットの顔の向きで指示させる顔向け動作を生成し、
（ｃ）少なくとも、前記特定した物品を含み、当該特定した物品を顔の向きで指示可能な第１範囲に他の物品が存在するかどうかに応じて、前記コミュニケーションロボットに指差しで指示させる指差し動作を実行させるかどうかを判断し、そして
（ｄ）前記ステップ（ｃ）において指差し動作を実行させることを判断した場合に、当該指差し動作を生成する、確認行動決定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はコミュニケーションシステム、確認行動決定装置、確認行動決定プログラムおよび確認行動決定方法に関し、特にたとえば、音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかどうかを少なくとも音声によって確認する、コミュニケーションシステム、確認行動決定装置、確認行動決定プログラムおよび確認行動決定方法に関する。
【背景技術】
【０００２】
この種の従来のコミュニケーションシステムの一例が特許文献１に開示されている。この特許文献１に開示されるコミュニケーションシステムでは、ロボットがユーザに指示された物品を特定し、サーバがロボットからの要求に応じて、特定した物品を確認するための指差し動作および発話内容を生成し、当該ロボットに生成した指差し動作および発話内容を送信する。したがって、ロボットは、サーバから指示された指差し動作を実行するとともに、サーバから指示された発話内容を発話（音声出力）する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１１４１０７号［G10L 15/22, G10L 13/00,G06F 3/16］
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１のコミュニケーションシステムでは、特定した物品の周辺の状況に拘わらず指差し動作を必ず実行するため、たとえば、特定した物品の近傍に複数の他の物品が存在する状況においては、どの物品を指示しているのか分かり難くいことがあり、ロボットによる指差し動作が、人間が物品を特定するための情報として機能していない場合があった。
【０００５】
それゆえに、この発明の主たる目的は、新規な、コミュニケーションシステム、確認行動決定装置、確認行動決定プログラムおよび確認行動決定方法を提供することである。
【０００６】
また、この発明の他の目的は、有効な確認動作をコミュニケーションロボットに実行させることができる、コミュニケーションシステム、確認行動決定装置、確認行動決定プログラムおよび確認行動決定方法を提供することである。
【課題を解決するための手段】
【０００７】
第１の発明は、音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかを少なくとも音声にて確認するコミュニケーションロボットを備えるコミュニケーションシステムである。コミュニケーションシステムは、記憶手段、発話内容生成手段、顔向き動作生成手段、指差し実行判断手段、および指差し動作生成手段を備える。記憶手段は、物品の名称および当該物品に関連する複数の単語を記憶する。発話内容生成手段は、特定した物品に関連する複数の単語を記憶手段から読み出して、当該特定した物品を音声にて確認する際の発話内容を生成する。顔向き動作生成手段は、特定した物品をコミュニケーションロボットの顔の向きで指示させる顔向け動作を生成する。指差し実行判断手段は、少なくとも、特定した物品を含み、当該特定した物品を顔の向きで指示可能な第１範囲に他の物品が存在するかどうかに応じて、コミュニケーションロボットに指差しで指示させる指差し動作を実行させるかどうかを判断する。そして、指差し動作生成手段は、指差し実行判断手段によって指差し動作を実行させることが判断された場合に、当該指差し動作を生成する。
【０００８】
第１の発明によれば、特定した物品の周辺に存在する他の物品を考慮して指差し動作をコミュニケーションロボットに実行させるかどうかを決定するので、指差し動作を、人間が物品を特定するのに有効な情報として使用することができる。したがって、有効な確認動作をコミュニケーションロボットに実行させることができる。
【０００９】
第２の発明は第１の発明に従属し、指差し実行判断手段は、第１範囲に他の物品が存在しないことが判断されたとき、指差し動作を実行させないことを判断する。顔向け動作で物品を識別可能な第１範囲において、特定した物品以外の物品が存在しない場合には、コミュニケーションロボットが特定した物品を指示するように顔向け動作を実行すれば、指差しを実行しなくても、人間は指示された物品を特定可能である。
【００１０】
第２の発明によれば、必要に応じて、コミュニケーションロボットに指差し動作を実行させることができる。
【００１１】
第３の発明は、第２の発明に従属し、コミュニケーションシステムは、他物品存在判断手段をさらに備える。他物品存在判断手段は、第１範囲に他の物品が存在するとき、特定した物品を指差しで指示可能であり、第１範囲よりも狭い第２範囲に当該他の物品が存在するかどうかを判断する。指差し実行判断手段は、他物品存在判断手段によって他の物品が第２範囲に存在しないことが判断されたとき、指差し動作を実行させることを判断する。他の物品が存在する場合には、当該他の物品が第２範囲に存在するかどうかを判断し、第２範囲に他の物品が存在しない場合には、指差し動作を実行させれば、第１範囲および第２範囲の中心に位置する特定した物品を指示することが可能である。
【００１２】
第３の発明においても、必要に応じて、コミュニケーションロボットに指差し動作を実行させることができる。
【００１３】
第４の発明は、第３の発明に従属し、コミュニケーションシステムは、物品数判断手段をさらに備える。物品数判断手段は、他物品存在判断手段によって他の物品が第２範囲に存在することが判断されたとき、第２範囲内の物品の数が第１範囲内の物品の数の半数以上であるかどうかを判断する。指差し実行判断手段は、物品数判断手段によって半数以上であることが判断されたとき、指差し動作を実行させないことを判断し、物品数判断手段によって半数未満であることが判断されたとき、指差し動作を実行させることを判断する。第１範囲および第２範囲に他の物品が存在する場合には、第２範囲内に存在する物品数が第１範囲内に存在する物品数の半数以上であれば、指差し動作を実行すれば、半数以上の物品を除外して、特定した物品を指示することが可能である。この場合に、指差し動作は、特定した物品を指示するのに役立つ情報として機能する。
【００１４】
第４の発明においても、必要に応じて、コミュニケーションロボットに指差し動作を実行させることができる。
【００１５】
第５の発明は、音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかを少なくとも音声にて確認するコミュニケーションロボットの確認行動決定装置であって、物品の名称および当該物品に関連する複数の単語を記憶する記憶手段、特定した物品に関連する複数の単語を記憶手段から読み出して、当該特定した物品を音声にて確認する際の発話内容を生成する発話内容生成手段、特定した物品をコミュニケーションロボットの顔の向きで指示させる動作を生成する顔向き動作生成手段、少なくとも、特定した物品を含み、当該特定した物品を顔の向きで指示可能な第１範囲に他の物品が存在するかどうかに応じて、コミュニケーションロボットに指差しで指示させる動作を実行させるかどうかを判断する指差し実行判断手段、および
指差し実行判断手段によって指差しで指示させる動作を実行させることが判断された場合に、当該指差しで指示させる動作を生成する指差し動作生成手段を備える、確認行動決定装置である。
【００１６】
第６の発明は、物品の名称および当該物品に関連する複数の単語を記憶する記憶手段を備え、音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかを少なくとも音声にて確認するコミュニケーションロボットの確認行動を決定するコンピュータで実行される確認行動決定プログラムであって、コンピュータのプロセッサに、特定した物品に関連する複数の単語を記憶手段から読み出して、当該特定した物品を音声にて確認する際の発話内容を生成する発話内容生成ステップ、特定した物品をコミュニケーションロボットの顔の向きで指示させる顔向け動作を生成する顔向き動作生成ステップ、少なくとも、特定した物品を含み、当該特定した物品を顔の向きで指示可能な第１範囲に他の物品が存在するかどうかに応じて、コミュニケーションロボットに指差しで指示させる指差し動作を実行させるかどうかを判断する指差し実行判断ステップ、および指差し実行判断ステップにおいて指差し動作を実行させることを判断した場合に、当該指差し動作を生成する指差し動作生成ステップを実行させる、確認行動決定プログラムである。
【００１７】
第７の発明は、物品の名称および当該物品に関連する複数の単語を記憶する記憶手段を備え、音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかを少なくとも音声にて確認するコミュニケーションロボットの確認行動を決定するコンピュータの確認行動決定方法であって、コンピュータは、（ａ）特定した物品に関連する複数の単語を記憶手段から読み出して、当該特定した物品を音声にて確認する際の発話内容を生成し、（ｂ）特定した物品をコミュニケーションロボットの顔の向きで指示させる顔向け動作を生成し、（ｃ）少なくとも、特定した物品を含み、当該特定した物品を顔の向きで指示可能な第１範囲に他の物品が存在するかどうかに応じて、コミュニケーションロボットに指差しで指示させる指差し動作を実行させるかどうかを判断し、そして（ｄ）ステップ（ｃ）において指差し動作を実行させることを判断した場合に、当該指差し動作を生成する、確認行動決定プログラムである。
【００１８】
第５−第７の発明においても、第１の発明と同様に、有効な確認動作をコミュニケーションロボットに実行させることができる。
【発明の効果】
【００１９】
この発明によれば、特定した物品の周辺に存在する他の物品を考慮して指差し動作をコミュニケーションロボットに実行させるかどうかを決定するので、指差し動作を、人間が物品を特定するのに有効な情報として使用することができる。したがって、有効な確認動作をコミュニケーションロボットに実行させることができる。
【００２０】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２１】
【図１】図１はこの発明の一実施例を示すコミュニケーションシステムの概要を示す図解図である。
【図２】図２は図１に示すロボットの外観を正面から見た図解図である。
【図３】図３は図１に示すロボットの電気的な構成を示すブロック図である。
【図４】図４は図１に示すサーバの電気的な構成を示すブロック図である。
【図５】図５は図１の実施例で用いられる物品辞書の一例を示す図解図である。
【図６】図６は図１の実施例で用いられる物品ローカル辞書の一例を示す図解図である。
【図７】図７は図１の実施例で用いられる単語の一覧の一例を示す図解図である。
【図８】図８は図１の実施例の確認行動で用いられる単語を決定する方法を説明するための図解図である。
【図９】図９は図１の実施例で確認行動を行う場合に指差し動作を実行するかどうかを判断する方法の一例を説明するための図解図である。
【図１０】図１０は図１の実施例で確認行動を行う場合に指差し動作を実行するかどうかを判断する方法の他の例を説明するための図解図である。
【図１１】図１１は図９および図１０に示した指差し動作による指示範囲Ｐと、顔向け動作（視線）による指示範囲Ｆとを決定する方法を説明するための図解図である。
【図１２】図１２は図４に示すＲＡＭのメモリマップの一例を示す図解図である。
【図１３】図１３は図４に示すＣＰＵの確認行動決定処理を示すフロー図である。
【図１４】図１４は図４に示すＣＰＵの指差し動作生成処理を示すフロー図である。
【図１５】図１５は図４に示すＣＰＵの単語選択処理を示すフロー図である。
【図１６】図１６は図４に示すＣＰＵの物品Ｘの属性組を生成する処理を示すフロー図である。
【図１７】図１７は図４に示すＣＰＵの近傍の他の物品の属性組を生成する処理を示すフロー図である。
【図１８】図１８は図４に示すＣＰＵの物品Ｘの属性組を低減する処理を示すフロー図である。
【図１９】図１９は図４に示すＣＰＵの単語の決定（１）処理を示すフロー図である。
【図２０】図２０は図４に示すＣＰＵの物品Ｘの呼び名の候補を生成する処理を示すフロー図である。
【図２１】図２１は図４に示すＣＰＵの単語の決定（２）処理を示すフロー図である。
【発明を実施するための形態】
【００２２】
図１を参照して、この実施例のコミュニケーションシステム（以下、単に「システム」という。）１０は、コミュニケーションロボット(以下、単に「ロボット」という。)１２を含む。このロボット１２は、音声および身体動作（ジェスチャ）の少なくとも一方を用いて、人間１６や他のロボットとコミュニケーションを行うことができる。また、ロボット１２は、たとえば無線ＬＡＮなどのネットワーク１４を介してサーバ２０にアクセスすることができる。この実施例のロボット１２は、サーバ２０と協働して、人間１６が音声、視線、および指差しで指示する物品を特定し、たとえばその物品を人間１６に持って行くなどの動作を実行する。
【００２３】
人間１６には、無線タグ１８が装着されるとともに、図示しないが、モーションキャプチャのためのマーカが付着されている。無線タグ１８は、識別情報を含む電波信号を発信する。ここでは、電波信号に含まれる識別情報は、人間１６を個別に識別するために用いられる。マーカは、典型的には、人間１６の頭頂、両肩、両肘、両手の人差し指の先端などに設定されていて、それらのマーカが、人間１６の全体とともに、サーバ２０に制御されるカメラ１２０によって撮影される。カメラ１２０は、実施例では、３つ設けられ、人間１６を３方向から撮影し、そのカメラ映像についてのデータ（カメラ映像データ）をサーバ２０に供給する。
【００２４】
サーバ２０は、ネットワーク１４に接続され、上述のようにして入力されるカメラ映像データに基づいて、マーカの動きを検出するモーションキャプチャ処理を実行するとともに、たとえば肌色領域を検出することによって、人間１６の顔の位置を特定することができる。
【００２５】
このシステム１０では、上述のように、ロボット１２が人間１６の指示する物品を対象物として特定するものである。対象物となり得る物品の例として、この実施例では、本（書籍）２４を用いる。本２４（図１では、「ＯＢＪ」と表記してある。）には、その本を識別可能な情報（識別情報）を電波信号に含んで発信する無線タグ１８が付着されている。
【００２６】
ただし、対象物となり得る物品は実施例の書籍だけでなく、もし家庭用のシステムであれば、家庭内のあらゆる物品が考えられる。また、当然、家庭用としてだけではなく、人間１６と一緒に働く任意の場所（会社、事務所、工場など）での利用が考えられる。かかる場合には、任意の場所に存在する種々の物品が対象物となり得る。
【００２７】
そして、このシステム１０が対象とするすべての物品（本２４）についての情報は、サーバ２０に接続された物品辞書データベース（ＤＢ）１２２に登録される。物品辞書ＤＢ１２２については後述する。
【００２８】
また、システム１０が対象とする人間１６に装着された無線タグ１８から発信された識別情報は、複数存在するアンテナ１２４のいずれかを介して無線タグ読取装置２０８（図４参照）で読み取られる。そして、無線タグ読取装置２０８で読み取られた識別情報はサーバ２０に与えられる。これに応じて、サーバ２０は、識別情報から人間１６を特定するとともに、識別情報を受信した（読み取った）アンテナ１２４が配置されている位置から人間１６の若干大まかな位置を把握（検出）する。
【００２９】
なお、図１では、簡単のため、１台のロボット１２を示してあるが、２台以上であってよい。また、人間１６は１人に限定される必要はなく、無線タグ１８で識別できるので、複数であってよい。
【００３０】
また、図１に示す実施例では、このシステム１０を設置している空間のワールド座標を用いてロボット１２、人間１６、物品２４などの位置が表現されていて、他方、ロボット１２の制御はロボット座標で行なわれるので、詳細は説明しないが、ロボット１２は、後述の処理における必要に応じて、ロボット座標とワールド座標との間の座標変換処理を実行するものである。
【００３１】
図２を参照して、ロボット１２のハードウェアの構成について説明する。図２は、この実施例のロボット１２の外観を示す正面図である。ロボット１２は台車３０を含み、台車３０の下面にはロボット１２を自律移動させる２つの車輪３２および１つの従輪３４が設けられる。２つの車輪３２は車輪モータ３６（図３参照）によってそれぞれ独立に駆動され、台車３０すなわちロボット１２を前後左右の任意方向に動かすことができる。また、従輪３４は車輪３２を補助する補助輪である。したがって、ロボット１２は、配置された空間内を自律制御によって移動可能である。
【００３２】
台車３０の上には、円柱形のセンサ取り付けパネル３８が設けられ、このセンサ取り付けパネル３８には、多数の赤外線距離センサ４０が取り付けられる。これらの赤外線距離センサ４０は、センサ取り付けパネル３８すなわちロボット１２の周囲の物体（人間１６や障害物など）との距離を測定するものである。
【００３３】
なお、この実施例では、距離センサとして、赤外線距離センサを用いるようにしてあるが、赤外線距離センサに代えて、超音波距離センサやミリ波レーダなどを用いることもできる。
【００３４】
センサ取り付けパネル３８の上には、胴体４２が直立するように設けられる。また、胴体４２の前方中央上部（人の胸に相当する位置）には、上述した赤外線距離センサ４０がさらに設けられ、ロボット１２の前方の主として人間１６との距離を計測する。また、胴体４２には、その側面側上端部のほぼ中央から伸びる支柱４４が設けられ、支柱４４の上には、全方位カメラ４６が設けられる。全方位カメラ４６は、ロボット１２の周囲を撮影するものであり、後述する眼カメラ７０とは区別される。この全方位カメラ４６としては、たとえばＣＣＤやＣＭＯＳのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ４０および全方位カメラ４６の設置位置は、当該部位に限定されず適宜変更され得る。
【００３５】
胴体４２の両側面上端部（人の肩に相当する位置）には、それぞれ、肩関節４８Ｒおよび肩関節４８Ｌによって、上腕５０Ｒおよび上腕５０Ｌが設けられる。図示は省略するが、肩関節４８Ｒおよび肩関節４８Ｌは、それぞれ、直交する３軸の自由度を有する。すなわち、肩関節４８Ｒは、直交する３軸のそれぞれの軸廻りにおいて上腕５０Ｒの角度を制御できる。肩関節４８Ｒの或る軸（ヨー軸）は、上腕５０Ｒの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節４８Ｌは、直交する３軸のそれぞれの軸廻りにおいて上腕５０Ｌの角度を制御できる。肩関節４８Ｌの或る軸（ヨー軸）は、上腕５０Ｌの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。
【００３６】
また、上腕５０Ｒおよび上腕５０Ｌのそれぞれの先端には、肘関節５２Ｒおよび肘関節５２Ｌが設けられる。図示は省略するが、肘関節５２Ｒおよび肘関節５２Ｌは、それぞれ１軸の自由度を有し、この軸（ピッチ軸）の軸回りにおいて前腕５４Ｒおよび前腕５４Ｌの角度を制御できる。
【００３７】
前腕５４Ｒおよび前腕５４Ｌのそれぞれの先端には、人の手に相当するハンド５６Ｒおよびハンド５６Ｌがそれぞれ設けられる。これらのハンド５６Ｒおよび５６Ｌは、詳細な図示は省略するが、開閉可能に構成され、それによってロボット１２は、ハンド５６Ｒおよび５６Ｌを用いて物体を把持または挟持することができる。ただし、ハンド５６Ｒ，５６Ｌの形状は実施例の形状に限らず、人間１６の手に酷似した形状や機能を持たせるようにしてもよい。
【００３８】
また、図示は省略するが、台車３０の前面，肩関節４８Ｒと肩関節４８Ｌとを含む肩に相当する部位，上腕５０Ｒ，上腕５０Ｌ，前腕５４Ｒ，前腕５４Ｌ，ハンド５６Ｒおよびハンド５６Ｌには、それぞれ、接触センサ５８（図３で包括的に示す）が設けられる。台車３０の前面の接触センサ５８は、台車３０への人間１６や他の障害物の接触を検知する。したがって、ロボット１２は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪３２の駆動を停止してロボット１２の移動を急停止させることができる。また、その他の接触センサ５８は、当該各部位に触れたかどうかを検知する。なお、接触センサ５８の設置位置は、当該部位に限定されず、適宜な位置（人の胸，腹，脇，背中および腰に相当する位置）に設けられてもよい。
【００３９】
胴体４２の中央上部（人の首に相当する位置）には首関節６０が設けられ、さらにその上には頭部６２が設けられる。図示は省略するが、首関節６０は、３軸の自由度を有し、３軸の各軸廻りに角度制御可能である。或る軸（ヨー軸）はロボット１２の真上（鉛直上向き）に向かう軸であり、他の２軸（ピッチ軸、ロール軸）は、それぞれ、それと異なる方向で直交する軸である。
【００４０】
頭部６２には、人の口に相当する位置に、スピーカ６４が設けられる。スピーカ６４は、ロボット１２が、それの周辺の人間１６に対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク６６Ｒおよびマイク６６Ｌが設けられる。以下、右のマイク６６Ｒと左のマイク６６Ｌとをまとめてマイク６６ということがある。マイク６６は、周囲の音、とりわけコミュニケーションを実行する対象である人間１６の音声を取り込む。さらに、人の目に相当する位置には、右の眼球部６８Ｒおよび左の眼球部６８Ｌが設けられる。右の眼球部６８Ｒおよび左の眼球部６８Ｌは、それぞれ右の眼カメラ７０Ｒおよび左の眼カメラ７０Ｌを含む。以下、右の眼球部６８Ｒと左の眼球部６８Ｌとをまとめて眼球部６８ということがある。また、右の眼カメラ７０Ｒと左の眼カメラ７０Ｌとをまとめて眼カメラ７０ということがある。
【００４１】
眼カメラ７０は、ロボット１２に接近した人間１６の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。この実施例では、ロボット１２は、この眼カメラ７０からの映像信号によって、人間１６の左右両目のそれぞれの視線方向（ベクトル）を検出する。その視線検出方法は具体的には、２つのカメラを用いるものとして特開２００４‐２５５０７４号公報に、１つのカメラを用いるものとして特開２００６‐１７２２０９号公報や特開２００６‐２８５５３１号公報に開示されるが、ここではその詳細は重要ではないので、これらの公開公報を引用するにとどめる。
【００４２】
ただし、人間１６の視線ベクトルの検出のためには、よく知られているアイマークレコーダなどが利用されてもよい。
【００４３】
また、眼カメラ７０は、上述した全方位カメラ４６と同様のカメラを用いることができる。たとえば、眼カメラ７０は、眼球部６８内に固定され、眼球部６８は、眼球支持部（図示せず）を介して頭部６２内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、２軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この２軸の一方は、頭部６２の上に向かう方向の軸（ヨー軸）であり、他方は、一方の軸に直交しかつ頭部６２の正面側（顔）が向く方向に直行する方向の軸（ピッチ軸）である。眼球支持部がこの２軸の各軸廻りに回転されることによって、眼球部６８ないし眼カメラ７０の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ６４，マイク６６および眼カメラ７０の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
【００４４】
このように、この実施例のロボット１２は、車輪３２の独立２軸駆動，肩関節４８の３自由度（左右で６自由度），肘関節５２の１自由度（左右で２自由度），首関節６０の３自由度および眼球支持部の２自由度（左右で４自由度）の合計１７自由度を有する。
【００４５】
図３はロボット１２の電気的な構成を示すブロック図である。この図３を参照して、ロボット１２は、ＣＰＵ８０を含む。ＣＰＵ８０は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス８２を介して、メモリ８４，モータ制御ボード８６，センサ入力／出力ボード８８および音声入力／出力ボード９０に接続される。
【００４６】
メモリ８４は、図示は省略をするが、ＲＯＭ，ＨＤＤおよびＲＡＭを含む。ＲＯＭおよびＨＤＤには、ロボット１２の動作を制御するための制御プログラムが予め記憶される。たとえば、各センサの出力（センサ情報）を検知するための検知プログラムや、外部コンピュータとの間で必要なデータやコマンドを送受信するための通信プログラムなどが記録される。また、ＲＡＭは、ワークメモリやバッファメモリとして用いられる。
【００４７】
さらに、この実施例では、ロボット１２は、人間１６とのコミュニケーションをとるために発話したり、ジェスチャしたりできるように構成されているが、メモリ８４に、このような発話やジェスチャのための発話／ジェスチャ辞書８５Ａが設定されている。
【００４８】
モータ制御ボード８６は、たとえばＤＳＰで構成され、各腕や首関節６０および眼球部６８などの各軸モータの駆動を制御する。すなわち、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、右眼球部６８Ｒの２軸のそれぞれの角度を制御する２つのモータ（図３では、まとめて「右眼球モータ９２」と示す）の回転角度を制御する。同様にして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、左眼球部６８Ｌの２軸のそれぞれの角度を制御する２つのモータ（図３では、まとめて「左眼球モータ９４」と示す）の回転角度を制御する。
【００４９】
また、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、肩関節４８Ｒの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節５２Ｒの角度を制御する１つのモータとの計４つのモータ（図３では、まとめて「右腕モータ９６」と示す）の回転角度を制御する。同様にして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、肩関節４８Ｌの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節５２Ｌの角度を制御する１つのモータとの計４つのモータ（図３では、まとめて「左腕モータ９８」と示す）の回転角度を制御する。
【００５０】
さらに、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、首関節６０の直交する３軸のそれぞれの角度を制御する３つのモータ（図３では、まとめて「頭部モータ１００」と示す）の回転角度を制御する。そして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、車輪３２を駆動する２つのモータ（図３では、まとめて「車輪モータ３６」と示す）の回転角度を制御する。
【００５１】
モータ制御ボード８６にはさらにハンドアクチュエータ１０８が結合され、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、ハンド５６Ｒ，５６Ｌの開閉を制御する。
【００５２】
なお、この実施例では、車輪モータ３６を除くモータは、制御を簡素化するためにステッピングモータ（すなわち、パルスモータ）を用いる。ただし、車輪モータ３６と同様に直流モータを用いるようにしてもよい。また、ロボット１２の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更された、たとえば、他の実施例では、エアアクチュエータが適用されてもよい。
【００５３】
センサ入力／出力ボード８８は、モータ制御ボード８６と同様に、ＤＳＰで構成され、各センサからの信号を取り込んでＣＰＵ８０に与える。すなわち、赤外線距離センサ４０のそれぞれからの反射時間に関するデータがこのセンサ入力／出力ボード８８を通じてＣＰＵ８０に入力される。また、全方位カメラ４６からの映像信号が、必要に応じてセンサ入力／出力ボード８８で所定の処理を施してからＣＰＵ８０に入力される。眼カメラ７０からの映像信号も、同様にして、ＣＰＵ８０に入力される。また、上述した複数の接触センサ５８（図３では、まとめて「接触センサ５８」と示す）からの信号がセンサ入力／出力ボード８８を介してＣＰＵ８０に与えられる。音声入力／出力ボード９０もまた、同様に、ＤＳＰで構成され、ＣＰＵ８０から与えられる音声合成データに従った音声または声がスピーカ６４から出力される。また、マイク６６からの音声入力が、音声入力／出力ボード９０を介してＣＰＵ８０に与えられる。
【００５４】
また、ＣＰＵ８０は、バス８２を介して通信ＬＡＮボード１０２に接続される。通信ＬＡＮボード１０２は、たとえばＤＳＰで構成され、ＣＰＵ８０から与えられた送信データを無線通信装置１０４に与え、無線通信装置１０４は送信データを、ネットワーク１４を介してサーバ２０に送信する。また、通信ＬＡＮボード１０２は、無線通信装置１０４を介してデータを受信し、受信したデータをＣＰＵ８０に与える。たとえば、送信データとしては、ロボット１２からサーバ２０への信号（コマンド）であったり、ロボット１２が行ったコミュニケーションについての動作履歴情報（履歴データ）などであったりする。このように、コマンドのみならず履歴データを送信するのは、メモリ８４の容量を少なくするためと、消費電力を抑えるためである。この実施例では、履歴データはコミュニケーションが実行される度に、サーバ２０に送信されたが、一定時間または一定量の単位でサーバ２０に送信されるようにしてもよい。
【００５５】
さらに、ＣＰＵ８０は、バス８２を介して無線タグ読取装置１０６が接続される。無線タグ読取装置１０６は、アンテナ（図示せず）を介して、無線タグ１８（ＲＦＩＤタグ）から送信される識別情報の重畳された電波を受信する。そして、無線タグ読取装置１０６は、受信した電波信号を増幅し、当該電波信号から識別信号を分離し、当該識別情報を復調（デコード）してＣＰＵ８０に与える。図１によれば無線タグ１８は、ロボット１２が配置された会社の受付や一般家庭の居間などに居る人間１６や物品（この実施例では、本２４）に装着され、無線タグ読取装置１０６は、通信可能範囲内の無線タグ１８から発信される電波信号を検出する。
【００５６】
なお、無線タグ１８は、アクティブ型であってもよいし、無線タグ読取装置１０６から送信される電波に応じて駆動されるパッシブ型であってもよい。
【００５７】
図４を参照して、サーバ２０のハードウェアの構成について説明する。図４に示すように、サーバ２０は、ＣＰＵ２００を含む。ＣＰＵ２００は、プロセッサとも呼ばれ、バス２０２を介して、メモリ２０４、カメラ制御ボード２０６、無線タグ読取装置２０８、ＬＡＮ制御ボード２１０、入力装置制御ボード２１２、およびモニタ制御ボード２１４に接続される。
【００５８】
ＣＰＵ２００は、サーバ２０の全体の制御を司る。メモリ２０４は、ＲＯＭ、ＲＡＭ、およびＨＤＤなどを包括的に示したものであり、サーバ２０の動作のためのプログラムを記録したり、ＣＰＵ２００が動作する際のワークエリアとして機能したりする。カメラ制御ボード２０６は、当該制御ボード２０６に接続されるカメラ１２０を制御するためのものである。
【００５９】
無線タグ読取装置２０８は、当該制御ボード２０８に接続されるアンテナ１２４を介して人間１６や物品（本）２４に装着された無線タグ１８から送信される識別情報の重畳された電波を受信する。そして、無線タグ読取装置２０８は、受信した電波信号を増幅し、当該電波信号から識別信号を分離し、当該識別情報を復調（デコード）してＣＰＵ２００に与える。アンテナ１２４は、ロボット１２が配置された会社の受付や一般家庭の各部屋などにくまなく配置され、システム１０が対象とするすべての物品（本）２４および人間１６の無線タグ１８から電波を受信できるようになっている。したがって、アンテナ１２４は複数存在するが、図１および図４では包括的に示している。
【００６０】
また、ＬＡＮ制御ボード２１０は、当該制御ボード２１０に接続される無線通信装置２１６を制御し、サーバ２０が外部のネットワーク１４に無線によってアクセスできるようにするものである。さらに、入力装置制御ボード２１２は、当該制御ボード２１２に接続される入力装置としてのたとえば、キーボードやマウスなどによる入力を制御するものである。そして、モニタ制御ボード２１４は、当該制御ボード２１４に接続されるモニタ２２０への出力を制御するものである。
【００６１】
また、サーバ２０は、図示しないインターフェースによって、物品辞書ＤＢ１２２および音声認識辞書ＤＢ１２６（図１参照）に接続されている。
【００６２】
メモリ２０４（ＲＡＭ）には、後述するように、物品ローカル辞書データ５０４ａ、音声認識ローカル辞書データ５０４ｂ、発話辞書データ５０４ｃおよび個人正誤情報データ５０４ｄが設定（記憶）されている。
【００６３】
物品ローカル辞書データ５０４ａに対応する物品ローカル辞書は、後述するように、物品辞書ＤＢ１２２から抽出された内容が登録される辞書である。サーバ２０は、ロボット１２が人間１６を認識した際に、当該人間１６の近傍に存在する物品（本）２４の情報だけを物品辞書ＤＢ１２２から抽出して物品ローカル辞書に登録する。音声認識ローカル辞書データ５０４ｂに対応する音声認識ローカル辞書は、後述するように、音声認識辞書ＤＢ１２６から抽出された内容が登録される辞書である。サーバ２０は、ロボット１２が人間１６を認識して物品ローカル辞書を作成すると、当該物品ローカル辞書に登録されている単語を音声認識するために必要な情報を音声認識辞書ＤＢ１２６から抽出して音声認識ローカル辞書に登録する。したがって、物品ローカル辞書および音声認識ローカル辞書は、人間１６の位置の変化に応じて動的に書き換えられる。このように、音声認識辞書ＤＢ１２６に記憶された音声認識辞書から音声認識ローカル辞書を作成し、音声認識に使用する辞書を小さくすることによって音声認識の対象となる単語（音素記号列）の数を少なくし、音声認識の処理にかかる時間を短くするとともに正しく音声認識できる割合を高めることができる。
【００６４】
発話辞書データ５０４ｃに対応する発話辞書は、サーバ２０がロボット１２に、人間１６に対して発話させる音声の内容を決定するために必要な情報を記憶している。また、個人正誤情報データ５０４ｄに対応する個人正誤情報は、システム１０が、人間１６が指示した物品（本）２４を特定することに最終的に成功したか否かを示す情報（音声認識の成功率）を、人間１６の識別情報（ユーザＩＤ）別に記憶している。
【００６５】
次に、図５を参照して、物品辞書ＤＢ１２２に記憶される物品辞書は、たとえばユーコード（Ucode）のようなＩＤをそれぞれの物品の１つに割り当て、物品毎にその名称および属性などの必要な情報を登録している。なお、ユーコードは、具体的には、１２８ビットの数字からなり、３４０兆の１兆倍のさらに１兆倍の数の物品を個別に識別できるものである。ただし、この物品辞書ＤＢ１２２に使うＩＤは必ずしもこのようなユーコードである必要はなく、適宜の数字や記号の組み合わせからなるものであってよい。
【００６６】
このような物品辞書は、システム１０（ロボット１２およびサーバ２０）が識別すべき対象物となるすべての、たとえば家庭内の物品をＩＤと文字列とで登録するものであり、いわばグローバル辞書に相当する。
【００６７】
物品辞書には、１つの物品（本）２４についての情報が１つのレコードとして登録されている。そして、上述したように、たとえば、１つのレコードには、本のＩＤ以外に「名称」および「属性」が記憶される。また、物品辞書には、当該物品が存在する（置かれている）位置がワールド座標（３次元座標）で特定される。
【００６８】
なお、図示は省略するが、本２４についての情報として、「著者」および「出版社」などがさらに記憶されてもよい。
【００６９】
「名称」は、対応する本２４の表題（題号）である。また、「属性」は、本２４に関連する情報であり、この実施例では、本２４を補足的に説明する内容である。この実施例では、「属性」の項目には、本２４の種類（漫画、小説、雑誌など）、カバーの色および厚み（厚い、薄い）の情報が記憶されている。図５では分かり易く示すために、名称および属性の両方について、テキスト形式の文字列で記載してあるが、実際には、属性については、ローマ字で表記した文字列が記述されている。
【００７０】
ただし、位置の欄に記載される３次元座標では、ＩＤの一部に対応する数字を付加して各物品間で識別可能に示してあるが、すべての物品の位置が異なるという意味ではなく、一部の複数の物品が重ねて配置されたり、一部の複数の物品が並べて配置されたりする場合もあり得る。
【００７１】
次に、音声認識辞書ＤＢ１２６について説明する。一般的に、音声認識辞書には、単語辞書と文法辞書とが存在するが、音声認識辞書ＤＢ１２６は単語辞書についてのデータを記憶する。文法辞書についての説明は省略する。図示は省略するが、音声認識辞書ＤＢ１２６には、物品の名称（この実施例では、本２４の名称）についてのテキスト形式の単語（または物品の識別情報）の各々に対応して、テキスト形式の単語に対応する音素記号形式（音素記号列）が記述されたテーブルのデータ（音声認識辞書データ）が記憶される。
【００７２】
音声認識の処理では、入力された音声を音素に分解し、分解した各音素について当該音素を表す記号を生成する。これによって、入力された音声の単語に相当する音素記号列が生成される。次に、入力された音声の単語に相当する音素記号列が、音声認識辞書ＤＢ１２６（実際には、後述する音声認識ローカル辞書）に記憶されている音素記号列と比較される。そして、入力された音声の単語に相当する音素記号列ともっとも近い音素記号列を音声認識辞書ＤＢ１２６（音声認識ローカル辞書）内で特定し、この特定した音素記号列に対応して記述されている単語を音声認識結果として出力する。
【００７３】
上述したように、このシステム１０では、人間１６が音声と視線および指差しによって物品（本）２４を指示すると、ロボット１２とサーバ２０とが協働して、人間１６が指示した物品（本）２４を特定し、その特定した物品（本）２４をロボット１２が人間１６のところに運搬などする。以下において、この人間１６とシステム１０とのやり取りをコミュニケーションと呼ぶことがある。
【００７４】
より詳細に述べると、このシステム１０では、人間１６がロボット１２に近づくと、ロボット１２が人間１６を無線タグ１８によって認識する。サーバ２０には、システム１０が対象とする物品（本）２４のすべてが登録された物品辞書ＤＢ１２２、および音声認識によって物品（本）２４を特定するための単語が登録された音声認識辞書ＤＢ１２６が接続されている。ロボット１２は、人間１６を認識すると、当該人間１６の識別情報（ユーザＩＤ）をサーバ２０に送信するとともに、サーバ２０に対して物品辞書ＤＢ１２２および音声認識辞書ＤＢ１２６のローカル辞書（物品ローカル辞書、音声認識ローカル辞書）の作成を指示する。
【００７５】
ローカル辞書の作成の指示を受けると、サーバ２０では、ロボット１２が認識した人間１６の位置を特定し、特定した当該人間１６から所定の範囲内、たとえば、半径５ｍ以内にある物品（本）２４のレコードのみを物品辞書ＤＢ１２２から抽出して物品ローカル辞書を作成する。次に、音声認識辞書ＤＢ１２６から、物品ローカル辞書に登録されている物品（本）２４を音声認識するため必要な情報のみを抽出して音声認識ローカル辞書を作成する。
【００７６】
その後、ロボット１２は、認識した人間１６に対して、たとえば、「何か本を持ってきましょうか？」という発話を行う。この発話に対し、人間１６は、持ってきてほしい物品（本）２４に視線を向けつつ当該物品（本）２４を指差しながら、「漫画Ａを持ってきて」などと答える。
【００７７】
すると、ロボット１２は、「漫画Ａを持ってきて」という人間１６の声を音声認識し、人間１６の視線を推定し、指差した指が向かっている方向を推定することによって、人間１６が指示している物品（本）２４を特定する。
【００７８】
人間１６が指示している物品（本）２４を特定すると、サーバ２０は、人間１６に特定した物品（本）２４を確認するためにロボット１２が発話する音声の内容、たとえば、「赤色の漫画ですか？」を決定し、ロボット１２が当該物品（本）２４（名称「漫画Ａ」）の方を向いて、必要に応じて指差しすることにより、指し示しながらこれを発話する。つまり、ロボット１２は、特定した物品（本）２４を確認するための行動（確認行動）を行う。
【００７９】
このとき、サーバ２０は、発話の内容を、ロボット１２が認識した人間１６の近傍や特定した物品（本）２４の近傍に存在する他の物品とは異なる特徴（属性）を用いるとともに、音声認識し易い言葉で、物品（本）２４を確認するための発話内容を生成する。
【００８０】
ここで、音声認識し易い言葉を選択するようにしてあるのは、人間１６はロボットの発話内容を真似する傾向があるとの知見に基づき、次回以降に、人間１６が音声で指示した物品（本）２４を特定し易くするためである。ただし、発話内容が短すぎる場合には、音声認識を失敗する可能性が高くなり、一方、発話内容が長過ぎる場合には、人間１６によって真似されない可能性が高くなるため、この実施例では、２〜３個の属性の単語を用いて発話内容を生成するようにしてある。
【００８１】
ただし、これは単なる一例であり、発話内容は、属性の単語が長い場合には、１つの属性の単語のみを用いて決定しても良いし、属性の単語が短い場合には、さらに多くの属性を物品辞書に登録しておくことにより、４つ以上を用いて決定してもよい。
【００８２】
また、システム１０が特定した物品（本）２４を確認するために、ロボット１２がたとえば「赤色の漫画ですか？」と発話すると、人間１６は、「そうです」あるいは「ちがいます」などと発話し、ロボット１２に返答する。サーバ２０は、この人間１６の返答における音声を音声認識し、システム１０が特定した物品（本）２４が、人間１６が指示したものであるか否かを判断する。システム１０が特定した物品（本）２４が、人間１６が指示したものでなかった場合には、次の候補である物品（本）２４が、人間１６が指示したものであるか否かを確認する。一方、システム１０が特定した物品（本）２４が、人間１６が指示したものであった場合には、ロボット１２が当該物品（本）２４を人間１６のところにまで運搬する。
【００８３】
また、サーバ２０は、特定した物品（本）２４を確認した結果（正誤の情報）を累積的に記録する。サーバ２０は、この累積的に記録した正誤の情報を成功率（音声認識の成功率）として、発話内容を生成する際に参照する。
【００８４】
なお、発話内容を生成する際に単語（発話に使用する単語）を選択する方法が異なる以外は、出願人が先に出願し既に出願公開された特開平２００９−２２３１７１号に開示された内容とほぼ同じであり、また、本願発明の本質的な内容ではないため、この実施例においては、単語を決定する方法についてのみ、詳細に説明してある。
【００８５】
まず、特定した物品（本）２４（以下、「物品Ｘ」という。）の属性Ｆｃがすべて取得される。たとえば、名称「漫画Ａ」である物品（本）２４が特定された場合には、属性Ｆｃとして｛漫画、赤、薄い｝が取得される。次に、属性についての組（属性組）が生成される。この実施例では、属性Ｆｃのべき集合(Power set)が計算され、属性組として生成される。以下、同様である。ただし、属性Ｆｃのべき集合Ｐｏｗｅｒ（Ｆｃ）は、｛｛漫画｝、｛赤｝、｛薄い｝、｛漫画、赤｝、｛赤、薄い｝、｛漫画、薄い｝、｛漫画、赤、薄い｝｝である。
【００８６】
次に、特定した物品Ｘの近傍（たとえば、３０ｃｍ以内）に存在する他の物品が検出され、検出された他の物品についての属性が取得される。他の物品が複数存在する場合には、他の物品毎に属性組が生成（べき集合が計算）される。
【００８７】
たとえば、物品Ｘの近傍に、名称「漫画Ｂ」の本２４（以下、「物品１」という。）と、名称「雑誌Ｂ」の本２４（以下、「物品２」という。）が存在する場合には、これら他の物品１および物品２のそれぞれについて属性が取得され、それぞれについてべき集合が計算され、それぞれの属性組が生成される。ここで、物品１の属性は｛漫画、青、薄い｝であり、物品２の属性は｛雑誌、赤、厚い｝である。したがって、物品１のべき集合Ｐｏｗｅｒ（Ｆ１）は、｛｛漫画｝、｛青｝、｛薄い｝、｛漫画、青｝、｛青、薄い｝、｛漫画、薄い｝、｛漫画、青、薄い｝｝である。また、物品２のべき集合Ｐｏｗｅｒ（Ｆ２）は、｛｛雑誌｝、｛赤｝、｛厚い｝、｛雑誌、赤｝、｛赤、厚い｝、｛雑誌、厚い｝、｛雑誌、赤、厚い｝｝である。
【００８８】
次に、特定した物品２４の属性組と、近傍の他の物品２４の属性組とで共通する要素（共通要素）が抽出され、特定した物品２４の属性組から共通要素が削除される。具体的には、物品Ｘの属性組と物品１の属性組とから共通要素Ｅ１が抽出されるとともに、物品Ｘの属性組と物品２の属性組とから共通要素Ｅ２が抽出される。
【００８９】
この実施例においては、共通要素Ｅ１は、｛｛漫画｝、｛薄い｝、｛漫画、薄い｝｝である。また、共通要素Ｅ２は、｛赤｝である。したがって、共通要素の集合Ｓは、共通要素Ｅ１と共通要素Ｅ２との和であり、具体的には、｛｛漫画｝、｛赤｝、｛薄い｝、｛漫画、薄い｝｝である。したがって、特定した物品Ｘのべき集合Ｐｏｗｅｒ（Ｆｃ）の要素から集合Ｓの要素が削除（Ｐｏｗｅｒ（Ｆｃ）−Ｓ）されると、｛｛漫画、赤｝、｛赤、薄い｝、｛漫画、赤、薄い｝｝となる。
【００９０】
次に、Ｐｏｗｅｒ（Ｆｃ）−Ｓの要素のうち、単語数が最小となるものを抽出する。この演算子をたとえばｍｉｎ（）と定義する。したがって、ｍｉｎ（Ｐｏｗｅｒ（Ｆｃ）−Ｓ）は、｛｛漫画、赤｝、｛赤、薄い｝｝となる。
【００９１】
このように、単語数が最小となる要素を選択するのは、上述したように、発話内容を、音声認識を容易にする長さであり、かつ、人間１６に真似される程度の長さにするためである。
【００９２】
そして、ｍｉｎ（）の要素のうち、１つの要素が発話内容に使用される単語として選択される。この実施例では、特定した物品２４の近傍に存在する他の物品２４の属性との類似性が最も低い要素（非類似性が最も高い要素）が選択される。ただし、ここでの類似性は、音声で発音する場合に対比する単語が似ている度合を意味する。
【００９３】
具体的には、要素に含まれる属性を示す単語（文字列）についてのレーベンシュタイン距離の和を算出し、和が最大となる要素に含まれる属性を示す単語が発話内容に使用する単語として選択される。レーベンシュタイン距離（編集距離）は、２つの文字列がどの程度異なっているかを示す数値である。具体的には、文字の挿入や削除、置換によって、１つの文字列を別の文字列に変形するのに必要な手順の最小回数として与えられる。
【００９４】
ただし、この実施例では、正しく音声認識するようにするために、レーベンシュタイン距離を算出する場合には、ローマ字で示された文字列を用いるようにしてある。このローマ字で示された文字列は、物品辞書（物品ローカル辞書）に登録されている。ただし、属性に含まれる種類、色および厚みのそれぞれについて（同じ属性同士で）レーベンシュタイン距離が算出され、合計される。
【００９５】
図８（Ａ）に示すように、上記のように選出された｛漫画、赤｝についてレーベンシュタイン距離を算出する場合には、属性のうち、｛種類、色｝が対比される。したがって、特定した物品Ｘと物品１では、種類については“ｍａｎｇａ”ですべて一致し、色については“ａｋａ”と“ａｏ“とで２文字の置き換えが必要であるため、レーベンシュタイン距離ＬＤは「２」となる。また、特定した物品Ｘと物品２とでは、種類については“ｍａｎｇａ”と“ｚａｓｓｈｉ”で４文字の置き換えと１文字の追加が必要であり、色については“ａｋａ”ですべて一致するため、レーベンシュタイン距離ＬＤは「５」となる。したがって、発話内容として｛種類、色｝である｛漫画、赤｝を用いる場合のレーベンシュタイン距離ＬＤの合計は「７」となる。
【００９６】
一方、図８（Ｂ）に示すように、上記のように選出された｛赤、薄い｝についてレーベンシュタイン距離を算出する場合には、属性のうち、｛色、厚み｝が対比される。したがって、特定した物品Ｘと物品１とでは、色については“ａｋａ”と“ａｏ”で２文字の置き換えが必要であり、厚みについては“ｕｓｕｉ”ですべて一致するため、レーベンシュタイン距離ＬＤは「２」となる。また、特定した物品Ｘと物品２とでは、色については“ａｋａ”ですべて一致し、厚みについては“ｕｓｕｉ”と“ａｔｓｕｉ”で１文字の追加と１文字の置き換えが必要であるため、レーベンシュタイン距離は「２」となる。したがって、発話内容として｛色、厚み｝である｛赤、薄い｝を用いる場合のレーベンシュタイン距離ＬＤの合計は「４」となる。
【００９７】
以上より、発話内容としては、レーベンシュタイン距離ＬＤの合計が大きい｛漫画、赤｝が選択される。
【００９８】
次に、特定した物品（本）Ｘの近傍に他の物品（本）２４が存在しない場合についての発話内容に使用する単語の選択方法につい説明する。
【００９９】
物品Ｘの近傍に他の物品（本）２４が存在しない場合には、物品Ｘのすべての属性が取得される。物品Ｘの近傍に他の物品（本）２４が存在しない場合には、基本的には、属性のうち、種類、色および厚みの文字列のいずれを用いても、当該物品Ｘを確認することができるからである。
【０１００】
ただし、人間１６の近傍に他の物品（本）２４が存在する場合には、当該他の物品（本）２４の属性の文字列とのレーベンシュタイン距離の和が最大となる属性の単語を発話内容に使用する単語として選択（決定）する。ここでは、他の物品との間で、属性の種類、色、厚みのそれぞれについてレーベンシュタイン距離ＬＤを算出し、種類、色、厚みについてのレーベンシュタイン距離ＬＤの和を算出する。そして、最も和の大きい単語（種類、色、厚みについての単語）を、発話内容に使用する単語として選択する。
【０１０１】
なお、レーベンシュタイン距離ＬＤを求める方法は、図８（Ａ）および（Ｂ）を用いて説明したとおりであり、重複した説明は省略する。
【０１０２】
また、上述したように、この実施例では、ロボット１２は、物品Ｘを人間１６に確認する場合、物品Ｘの方を向く（この実施例では、顔を向ける）動作が実行されるとともに、必要に応じて、物品Ｘを指差しする動作（指差し動作）が実行される。指差し動作が必要に応じて実行されるのは、物品Ｘの近傍に他の物品２４が複数存在する（物品が密集している）状況においては、ロボット１２がどの物品２４を指示しているのかを人間１６が分かり難くいことがあり、指差し動作が、人間１６が物品Ｘを特定するための情報として機能しない場合があるからである。一方で、物品Ｘの近傍に他の物品２４が存在しない状況および物品Ｘの近傍に他の物品２４が存在するが当該他の物品２４が少ない（物品が分散している）状況においては、指差し動作は、人間１６が物品（本）２４を特定するための有効な情報として機能するからである。
【０１０３】
ただし、この実施例では、ロボット１２が顔を向ける動作（顔向け動作）を実行したり、指差し動作を実行したりする前提として、ロボット１２は物品Ｘに対して正面を向くようにしてある。また、ロボット１２の眼も物品Ｘに対して正面を向くようにしてある。
【０１０４】
ここで、図９（Ａ）、（Ｂ）および図１０（Ａ）、（Ｂ）に示すような具体的な状況を用いて、指差し動作が必要な場合と不要な場合とについて説明する。ただし、図９（Ａ）〜図１０（Ｂ）は、ロボット１２、人間１６および物品（Ｘ、２４）が配置される空間を真上方向から見た状態の２次元平面（ＸＹ平面）で示してある。
【０１０５】
たとえば、図９（Ａ）では、ロボット１２と人間１６の間に物品Ｘのみが存在し、ロボット１２が当該物品Ｘを指差し動作により指示した場合の指示範囲Ｐおよびロボット１２が当該物品Ｘを顔向け動作により指示した場合の指示範囲Ｆが示される。ただし、図９（Ａ）〜図１０（Ｂ）に示すように、この実施例では、指示範囲Ｐおよび指示範囲ＦはＸＹ平面上に決定され、物品Ｘおよび他の物品２４の位置については、Ｚ座標（高さ方向）は考慮されない。なお、指差し動作の指示範囲Ｐおよび顔向け動作の指示範囲Ｆについては、図９（Ｂ）、図１０（Ａ）および図１０（Ｂ）についても同じである。
【０１０６】
このような状況（第１の状況）では、顔向け動作の指示範囲Ｆに他の物品２４が存在しないため、ロボット１２が物品Ｘを指示するように顔向け動作だけを実行すれば、人間１６は指示された物品Ｘを特定することができる。
【０１０７】
ただし、この実施例では、指差し動作による指示範囲Ｐおよび顔向け動作による指示範囲Ｆは、予め決定されている。たとえば、指差し動作は、ハンド５６Ｒによって物品Ｘを指すように右腕（上腕５０Ｒ、肘関節５２Ｒ、前腕５４Ｒ）を延ばした状態で、肩関節４８Ｒの３軸のうちの少なくとも１軸周りに上腕５０Ｒを回動させる動作を意味する。ただし、指差し動作は、ハンド５６Ｌによって行われてもよい。かかる場合には、左腕（上腕５０Ｌ、肘関節５２Ｌ、前腕５４Ｌ）を延ばした状態で、肩関節４８Ｌが動作される。
【０１０８】
また、顔向け動作は、上述したように眼は正面を向いた状態で、顔の向き（視線方向）によって物品Ｘを指示するように、首関節６０の３軸のうちの少なくとも１軸周りに頭部６２を回動させる動作を意味する。
【０１０９】
この実施例では、指差し動作による指示範囲Ｐは、図１１（Ａ）に示すように、指差し方向が床面（地面）とぶつかる位置を中心とする円形状の範囲であり、右腕（ヨー軸）が床面ないし地面に垂直な直線Ｌ１に対する角度θに応じてその範囲（円）の大きさが決定される。ただし、ロボット１２が右腕を胴体４２に沿うように降ろした状態のピッチ軸の回転方向の位置を基準（０°）とした場合には、ピッチ軸周りの回転角度θに応じて、指示範囲Ｐの大きさを決定することもできる。この実施例では、指示範囲Ｐの大きさは、角度θが０°よりも大きく３０°未満の場合に、半径３０ｃｍの円で規定され、角度θが３０°以上６０°未満の場合に、半径６０ｃｍの円で規定され、そして、角度θが６０°以上９０°未満の場合に、半径９０ｃｍの円で規定される。
【０１１０】
なお、図１１（Ａ）では、ロボット１２の右腕以外については図示を省略してある。
【０１１１】
また、顔向け動による指示範囲Ｆは、図１１（Ｂ）に示すように、顔向け方向（視線方向）が床面（地面）とぶつかる位置を中心とする円形状の範囲であり、顔向け方向に平行であり、首関節６０のピッチ軸を始点（起点）とする直線（線分）Ｌ２がヨー軸（床面ないし地面に垂直な直線Ｌ１）に対する角度αに応じてその範囲（円）の大きさが決定される。ただし、ロボット１２の顔が正面を向いている場合の首関節６０のピッチ軸の回転方向の位置を基準（０°）とした場合には、図示は省略するが、ピッチ軸周りの回転角度β（このとき、α＝９０−β）に応じて、指示範囲Ｆを決定することもできる。この実施例では、指示範囲Ｆの大きさは、角度αが０°よりも大きく３０°未満の場合に、半径１ｍの円で規定され、角度αが３０°以上６０°未満の場合に、半径２ｍの円で規定され、そして、角度αが６０°以上９０°未満の場合に、半径３ｍの円で規定される。
【０１１２】
なお、図１１（Ｂ）では、ロボット１２の頭部６２以外については図示を省略してある。
【０１１３】
このように、指差し動作の指示範囲Ｐが顔向け動作の指示範囲Ｆよりも小さい（狭い）のは、ロボット１２が物品Ｘを人間１６に確認する場合に、ロボット１２が顔向け動作を必ず実行するためである。つまり、指差し動作と顔向け動作の両方が実行される場合には、人間１６が指示された方向を正しく認識することができるからである。
【０１１４】
このことは、文献（安田哲也, 小林春美, 茂木洋介: 幼児における視線一致映像対話を利用した共同注意−語意推測課題を使って−, 日本認知科学会第23回大会論文集2006, pp.132-133）において開示（紹介）される知見に基づいている。簡単に説明すると、この文献によれば、映像対話において、視線だけで物体に注意を向けるときと、視線と指差しで注意を向けるときを比較すると、視線と指差しの両方を使う方が、物体の認識率が高いことが示されている。つまり、ロボット１２が顔向け動作だけを実行する場合に比べて、顔向け動作と指差し動作の両方を実行する場合の方が、人間１６は指示される物品Ｘを特定し易いと言える。
【０１１５】
ただし、指示範囲Ｐを規定する円の半径の大きさは、顔向け動作と指差し動作を実行した場合に、複数の物品を個別に識別可能に指示できるような値（物品間の距離）に設定される。同様に、指示範囲Ｆを規定する円の半径の大きさは、顔向け動作を実行した場合に、複数の物品を個別に識別可能に指示できるような値（物品間の距離）に設定される。
【０１１６】
なお、指示範囲Ｐおよび指示範囲Ｆは一例であり、限定される必要はない。指示範囲Ｐおよび指示範囲Ｆの大きさは、さらに多段階で設定することも可能である。また、この実施例では、腕の角度に応じて指示範囲Ｐの大きさを決定し、首の角度に応じて指示範囲Ｆの大きさを決定するようにしてあるが、ロボット１２と物品Ｘとの距離に応じて指示範囲Ｐの大きさおよび指示範囲Ｆの大きさを決定するようにしてもよい。
【０１１７】
図９（Ｂ）に戻って、顔向け動作による指示範囲Ｆに特定した物品Ｘおよび他の物品が１つずつ存在する場合には、顔向け動作だけでは人間１６は物品Ｘを特定するのは困難である。したがって、図９（Ｂ）に示すような状況（第２の状況）においては、指差し動作を実行することにより、物品Ｘを特定（指示）することができる。
【０１１８】
さらに、図１０（Ａ）に示すように、顔向け動作による指示範囲Ｆに特定した物品Ｘおよび４つの他の物品が存在し、そのうち、指差し動作による指示範囲Ｐに物品Ｘおよび２つの他の物品が存在する場合には、指差し動作を実行したとしても、指示範囲Ｐに全物品の５分の３の物品が存在するため、指差し動作は、人間１６が物品Ｘを特定するための有効な情報とは言えない。つまり、物品Ｘの近傍に複数の物品が存在する場合には、指差し動作は実行しない。
【０１１９】
ただし、図１０（Ｂ）に示すように、顔向け動作による指示範囲Ｆに特定した物品Ｘおよび４つの他の物品が存在し、そのうち、指差し動作による指示範囲Ｐに物品Ｘおよび１つの他の物品が存在する場合には、指差し動作が実行されると、人間１６は指示範囲Ｆから半分以上の物品を絞り込むことができるので、指差し動作は、人間１６が物品Ｘを特定するのに有効な情報として機能する。つまり、指差し動作は、物品Ｘを絞り込むのに役立つ。したがって、このような場合には、指差し動作は実行される。
【０１２０】
このように、この実施例では、指差し動作だけで物品Ｘを特定できる状況や物品Ｘを特定するのに役立つ状況において、指差し動作が実行され、それ以外にでは、指差しは実行されない。
【０１２１】
図１２は図４に示したメモリ２０４（ＲＡＭ）のメモリマップ５００の一例を示す図解図である。図１２に示すように、ＲＡＭは、プログラム記憶領域５０２およびデータ記憶領域５０４を含む。
【０１２２】
プログラム記憶領域５０２には、サーバ２０の全体制御を実行するための情報処理プログラムが記憶され、この情報処理プログラムは、動作制御プログラム５０２ａ、音声認識プログラム５０２ｂ、発話内容生成プログラム５０２ｃおよび指示動作生成プログラム５０２ｄなどによって構成される。これらのプログラムは、一度に全部または必要に応じて部分的に、ＨＤＤから読み出され、ＲＡＭのプログラム記憶領域５０２に記憶される。ただし、プログラムは、図示しないＲＯＭに記憶しておき、そこから読み出してもよい。
【０１２３】
動作制御プログラム５０２ａは、ロボット１２の指差し動作をなどの身体動作についての制御情報を算出し、ロボット１２に指示するためのプログラムである。音声認識プログラム５０２ｂは、ロボット１２から送信される音声信号に対応する音声を認識するためのプログラムである。発話内容生成プログラム５０２ｃは、確認行動における発話内容を生成するためのプログラムである。指示動作生成プログラム５０２ｄは、顔向け動作を生成するとともに、指差し動作を実行するかどうかを判断するとともに、指差し動作を実行することを判断した場合に、ロボット１２の位置と、特定した物品Ｘの位置とから指差し動作を生成するためのプログラムである。
【０１２４】
図示は省略するが、プログラム記憶領域５０２には、人間１６の視線方向を検出するためのプログラムなどの他のプログラムも記憶される。
【０１２５】
また、データ記憶領域５０４には、物品ローカル辞書データ５０４ａ、音声認識ローカル辞書データ５０４ｂ、発話辞書データ５０４ｃ、個人正誤情報データ５０４ｄ、指差し指示範囲データ５０４ｅおよび顔向け指示範囲データ５０４ｆなどが記憶される。さらに、データ記憶領域５０４には、辞書登録フラグ５０４ｇおよび指差しフラグ５０４ｈが設けられる。
【０１２６】
物品ローカル辞書データ５０４ａは、物品辞書ＤＢ１２２に記憶されたオリジナルの物品辞書（グローバル辞書）から、ロボット１２から送信されたユーザＩＤで特定される人間１６を中心として所定の範囲内に存在する物品（本）２４のレコードを抽出した一部の物品辞書のデータである。音声認識ローカル辞書データ５０４ｂは、音声認識辞書ＤＢ１２６に記憶されたオリジナルの音声認識辞書（グローバル辞書）から、物品ローカル辞書データ５０４ａに対応する一部の物品辞書に登録された物品等を認識するために抽出した一部の音声認識辞書のデータである。
【０１２７】
発話辞書データ５０４ｃは、サーバ２０がロボット１２に、人間１６に対して発話させる音声の内容すなわち発話内容を生成するために必要な情報についてのデータである。
【０１２８】
この実施例では、物品の属性として、種類、色および厚みを含むようにしてあるため、発話内容は、次のような定型の文章で決定されている。たとえば、色と種類についての単語を使用する場合には、「○○の△△ですか？」という発話内容に決定されている。ただし、「○○」のところには、特定した物品Ｘの属性に記述された色（赤色、青色、黄色、茶色、白色、黒色など）についての単語が入り、「△△」のところには、特定した物品Ｘの属性に記述された種類（漫画、小説、雑誌など）の単語が入る。以下、同じ。
【０１２９】
また、厚みと種類についての単語が使用される場合には、「××△△ですか？」という発話内容に決定されている。ただし、「××」のところには、特定した物品Ｘの属性に記述された厚み（厚い、薄い）の単語が入る。以下、同じ。
【０１３０】
さらに、色と厚みについての単語が使用される場合には、「○○の××本ですか？」という発話内容に決定されている。ただし、この実施例では、物品として本２４を用いて説明してあるため、「本」を発話するようにしてあるが、他の物品を用いる場合には、その普通名詞が用いられる。
【０１３１】
個人正誤情報データ５０４ｄは、ユーザＩＤに対応して音声認識の成功率が記述されたテーブルについてのデータである。たとえば、音声認識の正誤は、コミュニケーションの回数（累計）における音声認識を成功した回数（特定した物品（本）２４が正しかった回数）の割合（パーセンテージ）で表される。
【０１３２】
指差し指示範囲データ５０４ｅは、指差し動作による指示範囲Ｐについてのデータであり、上述したように、直線Ｌ１に対する指差し方向の角度θに応じて指示範囲Ｐの半径の大きさが記述されたテーブルデータである。
【０１３３】
顔向け指示範囲データ５０４ｆは、顔向け動作による指示範囲Ｆについてのデータであり、上述したように、首関節６０のヨー軸（直線Ｌ１）に対する顔向き方向に平行な直線（線分）Ｌ２の角度αに応じた指示範囲Ｆの半径の大きさが記述されたテーブルデータである。
【０１３４】
辞書登録フラグ５０４ｇは、確認行動における発話で使用することが決定され、物品Ｘを指示するための１つの属性についての単語と物品Ｘの普通名詞についての単語とで構成される語または複数の属性についての単語で構成される語（以下、これらを「特定語」という。）を音声認識辞書に登録するかどうかを判断するためのフラグである。辞書登録フラグ５０４ｇは、１ビットのレジスタで構成されて、当該フラグがオンであれば、レジスタにデータ値「１」が設定され、当該フラグがオフであれば、レジスタにデータ値「０」が設定される。ただし、特定語を音声認識辞書に登録する場合に、辞書登録フラグ５０４ｇはオンされ、それを音声認識辞書に登録しない場合には、辞書登録フラグ５０４ｇはオフされる。
【０１３５】
たとえば、確認行動の発話において、物品Ｘの種類（ここでは、“漫画”）と色（ここでは、“赤”）の単語が使用される場合には、特定語として“赤色の漫画”が登録される。同様に、物品Ｘの種類と厚み（ここでは“厚い”）の単語が使用される場合には、特定語として“厚い漫画”が登録される。また、確認行動の発話において、物品Ｘの色と厚みの単語が使用される場合には、さらに物品Ｘの普通名詞の単語が用いられ、特定語として“赤色の厚い本”が登録される。説明は省略するが、他の種類、色および厚みの単語が使用される場合についても同様である。
【０１３６】
指差しフラグ５０４ｈは、指差し動作を実行するかどうかを判断するためのフラグである。この指差しフラグ５０４ｈもまた、１ビットのレジスタで構成され、当該フラグがオンであれば、レジスタにデータ値「１」が設定され、当該フラグがオフであれば、レジスタにデータ値「０」が設定される。ただし、指示動作生成プログラム５０２ｄに従って、指差し動作を実行することが判断された場合に、指差しフラグ５０４ｈはオンされ、指差し動作を実行しないことが判断された場合に、指差しフラグ５０４ｈはオフされる。
【０１３７】
なお、図示は省略するが、データ記憶領域５０４には、情報処理プログラムの実行に必要な他のデータが記憶され、必要に応じて、カウンタ（タイマ）や他のフラグ等も設けられる。
【０１３８】
図１３は、図４に示したＣＰＵ２００の確認行動決定処理のフロー図である。以下、確認行動決定処理について説明するが、ロボット１２は、上述したように、指差し動作前提として、その胴体４２および顔が物品Ｘに対して正面を向くように向きが変更される（旋回される）。
【０１３９】
図１３に示すように、ＣＰＵ２００は、確認行動決定処理を開始すると、ステップＳ１で、後述する指差し動作の生成処理（図１４参照）を実行し、ステップＳ２で、ロボット１２の位置と物品Ｘの位置とから顔向け動作を生成する。ここでは、物品Ｘの位置を、物品ローカル辞書データ５０４ａを参照して取得し、ロボット１２の位置から物品Ｘの位置に当該ロボット１２の顔を向ける場合の首関節６０のピッチ軸周りの角度βを算出する。
【０１４０】
次のステップＳ３では、初対面のユーザであるかどうかを判断する。ここでは、ＣＰＵ２００は、ロボット１２が認識した人間１６とコミュニケーションをとるのがはじめてであるか否か、つまり、当該人間１６の指示する物品（本）２４を特定するのがはじめてであるか否かを判断する。具体的には、ＣＰＵ２００は、ロボット１２から送信されたユーザＩＤが、個人正誤情報データ５０４ｄに登録されているかどうかを判断する。
【０１４１】
ステップＳ３で“ＹＥＳ”であれば、つまり初対面のユーザであれば、ステップＳ５で、確認行動の発話内容に含む（発話に使用する）単語を、特定した物品Ｘの名称に決定して、ステップＳ１３に進む。一方、ステップＳ３で“ＮＯ”であれば、つまり初対面のユーザでなければ、ステップＳ７で、当該ユーザについての音声認識の成功率が７０％以上であるかどうかを判断する。ただし、ＣＰＵ２００は、個人正誤情報データ５０４ｄを参照して、ロボット１２から送信されたユーザＩＤに対応して記述された成功率を取得する。
【０１４２】
なお、ステップＳ７では、音声認識の成功率が高いか低いかを判断する閾値として７０％を設定してあるが、これに限定される必要はなく、閾値はこのシステム１０を適用する環境や使用形態等によって自由に変更することができる。
【０１４３】
ステップＳ７で“ＮＯ”であれば、つまり音声認識の成功率が７０％未満であれば、ステップＳ５に進む。一方、ステップＳ７で“ＹＥＳ”であれば、つまり音声認識の成功率が７０％以上であれば、ステップＳ９で、後述する単語選択処理（図１５参照）を実行する。そして、ステップＳ１１で、辞書登録フラグ５０４ｇをオンして、ステップＳ１３に進む。図示および説明は省略したが、ＣＰＵ２００は、確認行動決定処理を開始したときに、辞書登録フラグ５０４ｇをオフする。
【０１４４】
ステップＳ１３では、発話内容を生成する。ここでは、ＣＰＵ２００は、発話辞書データ５０４ｃを参照して、確認行動における発話内容を生成する。このとき、ステップＳ５で選択された物品Ｘの名称を示す単語またはステップＳ９で選択された属性についての単語が用いられる。
【０１４５】
次のステップＳ１５では、辞書登録フラグ５０４ｇがオンであるかどうかを判断する。ステップＳ１５で“ＮＯ”であれば、つまり辞書登録フラグ５０４ｇがオフであれば、そのままステップＳ１９に進む。一方、ステップＳ１５で“ＹＥＳ”であれば、つまり辞書登録フラグ５０４ｇがオンであれば、ステップＳ１７で、生成された発話内容に含まれる特定語を、物品Ｘに対応して当該ユーザＩＤとともに音声認識辞書ＤＢ１２６内の音声認識辞書データに記憶（登録ないし追加）して、ステップＳ１９に進む。
【０１４６】
したがって、これ以降に、当該ユーザＩＤで特定されるユーザが当該物品Ｘを指示する場合に特定語を用いると、当該特定語を音声認識することにより、対応する当該物品Ｘを特定することができる。したがって、円滑なコミュニケーションを図ることができる。このような結果をもたらすのは、上述したように、ロボット１２が発声した内容を人間１６が真似する傾向があるためである。
【０１４７】
ステップＳ１９では、指差しフラグ５０４ｈがオンであるかどうかを判断する。ステップＳ１９で“ＹＥＳ”であれば、つまり指差しフラグ５０４ｈがオンであれば、ステップＳ２１で、ステップＳ１で生成した指差し動作と、ステップＳ２で生成した顔向け動作と、ステップＳ１３で決定した発話内容とをロボット１２に送信して、確認行動決定処理を終了する。これに応じて、ロボット１２は、サーバ２０から指示された指差し動作および顔向け動作を実行するとともに、サーバ２０から指示された発話内容を発話（音声出力）する。
【０１４８】
一方、ステップＳ１９で“ＮＯ”であれば、つまり指差しフラグ５０４ｈがオフであれば、ステップＳ２３で、ステップＳ２で生成した顔向け動作と、ステップＳ１３で決定した発話内容とをロボット１２に送信して、確認行動決定処理を終了する。これに応じて、ロボット１２は、サーバ２０から指示された顔向け動作を実行するとともに、サーバ２０から指示された発話内容を発話（音声出力）する。
【０１４９】
このように、ステップＳ２１またはステップＳ２３の処理に応じて、ロボット１２は、特定した物品Ｘについての確認行動を実行する。そして、図示は省略するが、その後のロボット１２へのユーザの返答（“はい”または“いいえ”）に応じて、サーバ２０は、この返答の内容を音声認識することにより、個人正誤情報データ５０４ｄを更新する。
【０１５０】
なお、このような確認決定処理は、ロボット１２からの要求がある場合に実行され、ロボット１２からの要求が無い場合には、待機状態となっている。
【０１５１】
図１４は、図１３のステップＳ１に示した指差し動作の生成処理を示すフロー図である。図１４に示すように、ＣＰＵ２００は、指差し動作の生成処理を開始すると、ステップＳ２０１で、物品Ｘの位置を中心とする指示範囲Ｆに他の物品２４が有るかどうかを判断する。このとき、ＣＰＵ２００は、物品ローカル辞書データ５０４ａを参照し、物品Ｘの位置を中心とする指示範囲Ｆ内に位置する（座標が含まれる）他の物品２４が有るかどうかを判断する。このとき、指示範囲Ｆは、ロボット１２の顔向け方向（視線方向）が物品Ｘに向けられた場合に、顔向け方向が床面等にぶつかるときの角度αに基づいて決定される。
【０１５２】
ステップＳ２０１で“ＮＯ”であれば、つまり物品Ｘの位置を中心とする指示範囲Ｆに他の物品２４が無い場合には、顔向け動作のみを実行すれば、人間１６が物品Ｘを特定することができるため、そのままステップＳ２０７に進む。
【０１５３】
一方、ステップＳ２０１で“ＹＥＳ”であれば、つまり物品Ｘの位置を中心とする指示範囲Ｆに他の物品２４が有る場合には、ステップＳ２０３で、物品Ｘの指示範囲Ｐに他の物品２４が有るかどうかを判断する。このとき、ＣＰＵ２００は、物品ローカル辞書データ５０４ａを参照し、物品Ｘの指示範囲Ｐ内に位置する（座標が含まれる）他の物品２４が有るかどうかを判断する。このとき、指示範囲Ｐは、ロボット１２の指差し方向が物品Ｘに向けられた場合に、指差し方向が床面等にぶつかるときの角度θに基づいて決定される。
【０１５４】
ステップＳ２０３で“ＮＯ”であれば、つまり物品Ｘの位置を中心とする指示範囲Ｐに他の物品２４が無い場合には、指差し動作を実行すると判断して、ステップＳ２０９に進む。ステップＳ２０３で“ＹＥＳ”であれば、つまり物品Ｘの位置を中心とする指示範囲Ｐに他の物品２４が有れば、ステップＳ２０５で、指示範囲Ｐ内の物品の数が、指示範囲Ｆ内の物品の数の半数以上であるかどうかを判断する。つまり、ＣＰＵ２００は、物品Ｘの近傍に複数の他の物品２４が存在していない（物品が密集していない）かどうかを判断する。
【０１５５】
ステップＳ２０５で“ＹＥＳ”であれば、つまり指示範囲Ｐ内の物品の数が、指示範囲Ｆ内の物品の数の半数以上であれば、指差し動作を実行しないと判断して、ステップＳ２０７で、指差しフラグ５０４ｈをオフし、指差し動作の生成処理を終了して、確認行動決定処理にリターンする。
【０１５６】
一方、ステップＳ２０５で“ＮＯ”であれば、つまり指示範囲Ｐ内の物品の数が、指示範囲Ｆ内の物品の数の半数未満であれば、指差し動作を実行すると判断して、ステップＳ２０９で、指差しフラグ５０４ｈをオンする。そして、ステップＳ２１１で、ロボット１２の位置と、特定した物品Ｘの位置とから指差し動作を生成して、指差し動作の生成処理を終了し、確認行動決定処理にリターンする。ただし、ステップＳ２１１では、物品Ｘの位置を、物品ローカル辞書データ５０４ａを参照して取得し、ロボット１２の位置から物品Ｘの位置に当該ロボット１２のハンド５６Ｒを向ける場合の肩関節４８Ｒのピッチ軸周りの角度θを算出する。
【０１５７】
図１５は、図１３のステップＳ９に示した単語選択処理のフロー図である。図１５に示すように、ＣＰＵ２００は、単語選択処理を開始すると、ステップＳ３１で、特定した物品Ｘの近傍に他の物品が在るかどうかを判断する。ここでは、ＣＰＵ２００は、物品Ｘに装着された無線タグ１８から発信された電波を受信したアンテナ１２４と同じアンテナ１２４によって電波を受信された物品２４が在るかどうかを判断する。
【０１５８】
ステップＳ３１で“ＹＥＳ”であれば、つまり物品Ｘの近傍に他の物品２４が在る場合には、ステップＳ３３で、後述する物品Ｘの属性組を生成する処理（図１６参照）を実行し、ステップＳ３５で、後述する物品Ｘの近傍にある他の物品の属性組を生成する処理（図１７参照）を実行する。続いて、ステップＳ３７で、後述する物品Ｘの属性組を低減する処理（図１８参照）を実行し、ステップＳ３９で、物品Ｘの属性組から単語数が最小の属性組を抽出する。そして、ステップＳ４１で、後述する単語選択（１）処理（図１９参照）を実行して、確認行動決定処理にリターンする。
【０１５９】
また、ステップＳ３１で“ＮＯ”であれば、つまり物品Ｘの近傍に他の物品２４が無い場合には、ステップＳ４３で、後述する物品Ｘの呼び名の候補を決定する処理（図２０参照）を実行する。次のステップＳ４５では、人間１６の近傍に他の物品２４が在るかどうかを判断する。ここでは、ＣＰＵ２００は、特定されたユーザＩＤが示す人間１６に装着された無線タグ１８から発信された電波を受信したアンテナ１２４と同じアンテナ１２４によって電波を受信された物品２４が在るかどうかを判断する。
【０１６０】
ステップＳ４５で“ＮＯ”であれば、つまりユーザの近傍に他の物品２４が無ければ、ステップＳ５３で、候補の呼び名から１つの単語を所定のルールで選択して、確認行動決定処理にリターンする。たとえば、ＣＰＵ２００は、ステップＳ５３では、呼び名の候補から１の単語をランダムに選択したり、予めシステム１０ないしサーバ２０の管理者等が決定した１の属性についての単語を選択したりする。
【０１６１】
一方、ステップＳ４５で“ＹＥＳ”であれば、つまりユーザの近傍に他の物品２４が在れば、ステップＳ４７で、物品ローカル辞書データ５０４ａを参照して、近傍の他の物品２４の属性を検索する。ここでは、ＣＰＵ２００は、他の物品２４の物品ＩＤを検索する。続くステップＳ４９では、検索した物品ＩＤに対応して記載されたレコードから、当該他の物品２４の属性を取得する。以下、物品２４の属性を検索したり、属性を取得したりする場合について同様である。そして、ステップＳ５１で、後述する単語選択（２）処理（図２１参照）を実行して、確認行動決定処理にリターンする。
【０１６２】
図１６に示すように、ＣＰＵ２００は、図１５のステップＳ３３に示した物品Ｘの属性組を生成する処理を開始すると、ステップＳ６１で、物品Ｘの属性を検索する。続くステップＳ６３では、物品Ｘの属性を取得する。
【０１６３】
続いて、ステップＳ６５では、属性のべき集合を計算する。ここでは、上述したように、物品Ｘの属性Ｆｃについてのべき集合Ｐｏｗｅｒ（Ｆｃ）が計算される。そして、ステップＳ６７で、べき集合Ｐｏｗｅｒ（Ｆｃ）を物品Ｘの属性組として生成して、単語選択処理にリターンする。
【０１６４】
図１７に示すように、ＣＰＵ２００は、図１５のステップＳ３５に示した近傍の他の物品の属性組を生成する処理を開始すると、ステップＳ７１で、他の物品Ｋ（Ｋは他の物品を識別するための自然数である。以下、同じ。）の属性を検索し、ステップＳ７３で、他の物品Ｋの属性を取得する。次のステップＳ７５では、属性のべき集合Ｐｏｗｅｒ（ＦＫ）を計算する。そして、ステップＳ７７で、べき集合Ｐｏｗｅｒ（ＦＫ）を他の物品Ｋの属性組として生成し、単語選択処理にリターンする。
【０１６５】
なお、図１７に示す近傍の他の物品の属性組の生成処理は、他の物品毎に実行される。
【０１６６】
図１８に示すように、ＣＰＵ２００は、図１５のステップＳ３７に示した物品Ｘの属性組を低減する処理を開始すると、ステップＳ８１で、物品Ｘの属性組のべき集合Ｐｏｗｅｒ（Ｆｃ）と、他の物品Ｋの属性組のべき集合Ｐｏｗｅｒ（Ｋ）の共通要素を抽出する。ただし、他の物品Ｋが複数存在する場合には、他の物品Ｋ毎に共通要素が抽出される。次のステップＳ８３では、物品Ｘの属性組から共通要素を削除して、単語選択処理にリターンする。
【０１６７】
図１９に示すように、ＣＰＵ２００は、図１５に示すステップＳ４１に示した単語選択（１）処理を開始すると、物品Ｘの属性組の文字列と、他の物品Ｋの属性組の文字列のレーベンシュタイン距離ＬＤの和を算出する。次のステップＳ９１では、レーベンシュタイン距離ＬＤの和が最大となる属性組を確認行動で使用する単語として選択して、単語選択処理にリターンする。
【０１６８】
なお、物品Ｘの属性組の低減処理の結果、物品Ｘの属性組が一組しか残っていない場合には、単語選択（１）処理を実行するまでもなく、当該一組の属性組が確認行動で使用する単語として選択される。
【０１６９】
図２０に示すように、ＣＰＵ２００は、図１５に示すステップＳ４３に示した物品Ｘの呼び名の候補を生成する処理を開始すると、ステップＳ１０１で、物品Ｘの属性を検索する。次のステップＳ１０３では、物品Ｘの属性（この実施例では、種類、色、厚みについての単語）を取得する。そして、ステップＳ１０５で、各属性を確認行動で使用する単語の候補として決定し、単語選択処理にリターンする。
【０１７０】
図２１に示すように、ＣＰＵ２００は、図１５に示すステップＳ５１に示した単語選択（２）処理を開始すると、ステップＳ１１１で、候補の属性の文字列と、ユーザの位置近傍の他の物品毎の属性の文字列のレーベンシュタイン距離ＬＤの和を計算する。ただし、他の物品Ｘ毎に、種類、色および厚みのそれぞれについてのレーベンシュタイン距離ＬＤが求められ、その和が計算される。そして、ステップＳ１１３では、レーベンシュタイン距離ＬＤの和が最大となる属性（種類、色または厚み）を確認行動で使用する単語として選択し、単語選択処理にリターンする。
【０１７１】
この実施例によれば、特定した物品の近傍に存在する他の物品とは異なる属性組を抽出し、さらに、他の物品の属性組とレーベンシュタイン距離が最大の属性組を確認行動で使用する単語として選択するので、予め音声認識率を検出する必要が無く、確認行動で使用する単語を簡単に決定することができる。したがって、確認行動における発話内容を簡単に生成することができる。
【０１７２】
また、この実施例によれば、抽出された属性組のうち、単語数が最小となる属性組を抽出するので、人間にとって真似し易い言葉を発話内容に含めることができる。
【０１７３】
さらに、この実施例によれば、他の物品とは異なる属性組を発話内容に含めるとともに、当該属性組で決定される言葉（特定語）を、音声認識辞書にユーザに対応して追加的に登録するので、それ以降において、特定語が使用されたとしても、音声認識により特定語が指示する物品を特定することができる。したがって、当該ユーザとのコミュニケーションを円滑に行うことができる。
【０１７４】
なお、この実施例では、サーバが音声認識処理および確認行動決定処理を実行するようにしたが、これらの処理をロボットで実行するようにしてもよい。かかる場合には、音声認識辞書データ（音声認識ローカル辞書データ）、物品辞書データ（物品ローカル辞書データ）、発話辞書データおよび個人正誤情報データをロボット内部のメモリやロボットがアクセス可能な外部メモリに記憶する必要がある。
【符号の説明】
【０１７５】
１０  …コミュニケーションシステム
１２  …コミュニケーションロボット
１４  …ネットワーク
１８  …無線タグ
２０  …サーバ
２４  …物品（本）
８０  …ＣＰＵ
１２０  …カメラ
１２４  …アンテナ
２００  …ＣＰＵ
２０８  …無線タグ読取装置
【図１】
0006468643.tif 000002
【図２】
0006468643.tif 000003
【図３】
0006468643.tif 000004
【図４】
0006468643.tif 000005
【図５】
0006468643.tif 000006
【図６】
0006468643.tif 000007
【図７】
0006468643.tif 000008
【図８】
0006468643.tif 000009
【図９】
0006468643.tif 000010
【図１０】
0006468643.tif 000011
【図１１】
0006468643.tif 000012
【図１２】
0006468643.tif 000013
【図１３】
0006468643.tif 000014
【図１４】
0006468643.tif 000015
【図１５】
0006468643.tif 000016
【図１６】
0006468643.tif 000017
【図１７】
0006468643.tif 000018
【図１８】
0006468643.tif 000019
【図１９】
0006468643.tif 000020
【図２０】
0006468643.tif 000021
【図２１】
0006468643.tif 000022