(57)【要約】【課題】動作パターンの学習領域を拡げ学習速度を向上する。【解決手段】コントローラ１０において、未登録語区間処理部２７は、特徴抽出部２２から供給される特徴ベクトルの系列（特徴ベクトル系列）を一時記憶すし、マッチング部２３から未登録語の音声区間と音韻系列を受信すると、その音声区間における音声の特徴ベクトル系列を一時記憶している特徴ベクトル系列から検出し、マッチング部２３からの音韻系列（未登録語）に、ユニークなＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を付し、未登録語の音韻系列と、その音声区間における特徴ベクトル系列とともに、ロボットＩＤを付加して動作パターン蓄積サーバ１０２の特徴ベクトルバッファ３２に供給する。【選択図】  図５
2004309523.tif 000002
【特許請求の範囲】
【請求項１】
外部情報及び／又は内部状態に基づく自律的動作を実行する複数のロボット装置と、上記外部情報に応じたロボット装置の動作パターンを蓄積する動作パターン蓄積装置とが互いに接続され、
上記ロボット装置の各々は、上記外部情報に基づく動作のうち新たに学習した動作パターンを新規動作パターンとして上記動作パターン蓄積装置に送信する、及び上記動作パターン蓄積装置に蓄積された動作パターンを取得して使用する
ことを特徴とするロボット装置の動作パターン共有システム。
【請求項２】
上記複数のロボット装置の各々は、
外部情報を取得する外部情報取得手段と、
外部情報に基づく動作パターンを予め記憶した動作記憶手段と、
上記取得された外部情報に応じて上記動作記憶手段に記憶された動作パターンから動作パターンを選択する動作選択手段と、
上記取得した外部情報と上記動作記憶手段に予め記憶された情報とを比較する比較手段と、
上記動作パターン蓄積装置との間で通信する通信制御手段と、
上記外部情報に基づく動作を生成する動作生成手段を備え、
上記取得した外部情報が上記比較手段によって上記動作記憶手段に記憶されていないと判断された場合、上記通信制御手段は、上記取得した外部情報と該外部情報に基づいて生成した動作とを新規動作パターンとして上記動作パターン蓄積装置に対して送信することを特徴とする請求項１記載のロボット装置の動作パターン共有システム。
【請求項３】
上記複数のロボット装置の各々は、上記動作パターン蓄積装置に蓄積された動作パターンを抽出して上記動作記憶手段に記憶することを特徴とする請求項２記載のロボット装置の動作パターン共有システム。
【請求項４】
上記動作パターン蓄積装置は、上記動作記憶手段に上記新規動作パターンをロボット装置毎の認証情報と対応付けて記憶することを特徴とする請求項２記載のロボット装置の動作パターン共有システム。
【請求項５】
上記ロボット装置の各々と上記動作パターン蓄積装置は、コンピュータネットワークを介して互いに接続されていることを特徴とする請求項１記載のロボット装置の動作パターン共有システム。
【請求項６】
外部情報及び／又は内部状態に基づく自律的動作を実行する複数のロボット装置の動作パターンを複数のロボット装置間にて共有して保有する動作パターン共有方法であって、
上記外部情報に基づく動作のうち上記ロボット装置の各々において新たに学習された動作パターンを新規動作パターンとして蓄積する動作パターン蓄積工程と、
動作パターン蓄積工程において蓄積された動作パターンを抽出する工程と
を有することを特徴とするロボット装置の動作パターン共有方法。
【請求項７】
上記複数のロボット装置の各々において、外部情報を取得する外部情報取得工程と、
上記取得した外部情報と動作記憶手段に予め記憶された外部情報に基づく動作パターンとを比較する比較工程と、
上記外部情報に応じて上記動作記憶手段から動作パターンを選択する動作選択工程と、
上記外部情報に応じて動作を生成する動作生成工程とを有し、
上記比較工程において、上記取得した外部情報が上記動作記憶手段に記憶されていると判断された場合、上記動作選択工程にて上記取得された外部情報に応じて動作パターンを選択し、
上記比較工程において、上記取得した外部情報が上記動作記憶手段に記憶されていないと判断された場合、上記動作生成工程にて動作パターンを生成し、
上記取得した外部情報と該外部情報に基づいて生成した動作とを新規動作パターンとして蓄積する動作パターン蓄積工程を有することを特徴とする請求項６記載のロボット装置の動作パターン共有方法。
【請求項８】
上記動作パターン蓄積工程では、上記動作記憶手段に上記新規動作パターンをロボット装置毎の認証情報と対応付けて記憶することを特徴とする請求項８記載のロボット装置の動作パターン共有方法。
【請求項９】
外部情報及び／又は内部状態に基づく自律的動作を実行するロボット装置において、
上記外部情報に基づく動作のうち新たに学習した動作パターンを新規動作パターンとして他のロボット装置と共有する外部動作パターン蓄積手段に送信する、及び該外部動作パターン蓄積手段に蓄積された動作パターンを取得して使用することを特徴とするロボット装置。
【請求項１０】
外部情報を取得する外部情報取得手段と、
外部情報に基づく動作パターンを予め記憶した動作記憶手段と、
上記取得された外部情報に応じて上記動作記憶手段に記憶された動作パターンから動作パターンを選択する動作選択手段と、
上記取得した外部情報と上記動作記憶手段に予め記憶された情報とを比較する比較手段と、
上記外部動作パターン蓄積手段との間で通信する通信制御手段と、
上記外部情報に基づく動作を生成する動作生成手段を備え、
上記取得した外部情報が上記比較手段によって上記動作記憶手段に記憶されていないと判断された場合、上記通信制御手段は、上記取得した外部情報と該外部情報に基づいて生成した動作とを新規動作パターンとして上記動作パターン蓄積手段に送信することを特徴とする請求項１０記載のロボット装置。
【請求項１１】
上記外部動作パターン蓄積手段に蓄積された動作パターンを抽出して上記動作記憶手段に記憶することを特徴とする請求項１１記載のロボット装置。
【請求項１２】
上記外部動作パターン蓄積手段は、上記動作記憶手段に上記新規動作パターンをロボット装置毎の認証情報と対応付けて記憶することを特徴とする請求項１１記載のロボット装置。
【請求項１３】
上記外部動作パターン蓄積手段は、コンピュータネットワークを介して接続されていることを特徴とする請求項１０記載のロボット装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボット装置の動作パターン共有システム、動作パターン共有方法、及びこの方法に基づいて動作パターンを互いに共有するロボット装置に関する。
【０００２】
【従来の技術】
最近では、人間のパートナーとして生活を支援する、すなわち住環境そのほかの日常生活上の様々な場面における人的活動を支援する実用ロボット装置の開発が進められている。このような実用ロボット装置は、産業用ロボット装置とは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように４足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット装置、或いは足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット装置（Ｈｕｍａｎｏｉｄ  Ｒｏｂｏｔ）等の脚式移動ロボット装置は、既に実用化されつつある。これらの脚式移動ロボット装置は、動物や人間により近い身体的形状を有する程、動物や人間に近い動作が実現でき、産業用ロボット装置と比較してエンターテインメント性を重視した様々な動作を行うことができる。そのため、エンターテインメントロボット装置と呼称されることがある。エンターテインメントロボット装置は、他のロボット装置や人間とコミュニケーションを交わしたり、身振り・手振りで内部状態を表現したりできる。
【０００３】
このようなロボット装置におけるエンターテインメント性を重視した様々な動作は、動作データベース等によって予め用意されていたり、ロボット装置自身が新規動作パターンを学習して新たに追加できるようになっている。
【０００４】
例えば、会話動作（音声認識）を例に挙げると、ロボット装置は、音声認識の対象とする単語が登録された辞書を用意しており、これを参照して外部から得た発話を音声認識している。しかし、音声認識において音声認識の対象となり得る単語は、辞書に登録された単語（以下、適宜、登録語という）だけであって、辞書に登録されていない単語、つまりロボット装置自身が知らない単語は認識できない。
【０００５】
辞書に登録されていない語彙を未登録語（Ｏｕｔ  Ｏｆ  Ｖｏｃａｂｌａｒｙ；ＯＯＶ）とすると、従来の音声認識では、ユーザの発話に未登録語が含まれる場合、この未登録語が辞書に登録されて登録語の範囲で認識されるため、未登録語は、誤認識されてしまう。さらに未登録語が誤認識されると、この誤認識結果が未登録語の前後の単語の認識に影響し、未登録語の前後の単語等も誤認識されることがあった。
【０００６】
そこで、未登録語の誤認識を解消するために、種々の方法が提案されている。例えば、未登録語を検出するためのガーベジモデルと、母音等の幾つかの音素毎にクラスタリングされたＨＭＭ（ＨｉｄｄｅｎＭａｒｋｏｖ  Ｍｏｄｅｌ）とを同時に用い、未登録語に許可する音韻系列を制限することによって、未登録語の検出を、そのための計算量を低減して行う音声認識装置も提供されている（例えば、特許文献１参照。）。
【０００７】
また、データベースにない未登録語について、単語の概念に基づいてデータベースにある単語との間の類似度を計算し、未登録語を含む単語の集合について、適切な並びの単語列を構成して出力する情報処理装置が提供されている（例えば、特許文献２参照。）。
【０００８】
さらに、単語の音声区間に対応する音韻系列を検出し、コンフュージョンマトリクス（ｃｏｎｆｕｓｉｏｎ  ｍａｔｒｉｘ）によって、音声的に近い音韻系列を削除することにより、効果的に、異音（ｖａｒｉａｎｔｓ）を含む辞書を構成する方法も開示されている（例えば、非特許文献１参照。）。
【０００９】
また、複数の音声サンプルから音韻系列を推定し、未知語（未登録語）を辞書に登録する際の音韻系列の推定精度を向上させる方法が開示されている（例えば、非特許文献２参照。）。
【００１０】
さらには、これら従来例において問題点となり得る、登録語辞書の大規模化を回避して、未登録語の辞書への登録を容易に行えるようにした技術も開示されている（例えば、特許文献３参照。）。
【００１１】
【特許文献１】
特開平９−８１１８１号公報
【特許文献２】
特開平１３−７５９６４号公報
【特許文献３】
特開２００２−３５８０９５号公報
【非特許文献１】
Ｄｉｃｔｉｏｎａｒｙ  Ｌｅａｒｎｉｎｇ：  Ｐｅｒｆｏｒｍａｎｃｅ  Ｔｈｒｏｕｇｈ  Ｃｏｎｓｉｓｔｅｎｃｙ”，  Ｔｉｌｏ  Ｓｌｏｂｏｄａ，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＣＡＳＳＰ  ９５，  ｖｏｌ．  １  ｐｐ．４５３−４５６，  １９９５
【非特許文献２】
「単語発声の複数サンプルを利用した未知語の音韻系列の推定」、伊藤克亘  他、電子情報通信学会論文誌、Ｖｏｌ．  Ｊ８３−Ｄ−ＩＩ  Ｎｏ．  １１  ｐｐ．２１５２−２１５９，
【００１２】
【発明が解決しようとする課題】
ところが、未登録語を次々学習して登録し、新規語として登録語データベースに追加する方法の場合、あるロボット装置が単体で未登録語を収集するには時間がかかり辞書構築の効率が悪い、例えば、家庭、店舗等の特定環境下で使用されるロボット装置であれば、辞書に格納される語彙が限定されてしまう等の問題点があった。
【００１３】
また、動作パターンのほかの例としてロボット装置の歩行動作が挙げられる。この場合、ロボット装置は、足底部が接する平面の違い、例えば、絨毯、畳、床、土等に応じて歩行動作を変えているが、このような動作情報も音声認識の場合と同様に新規歩行動作パターンを登録する（学習する）ようにしても、使用環境に応じて歩行パターンが限定されてしまう。
【００１４】
そこで、本発明は、このような状況に鑑みてなされたものであり、個々のロボット装置の動作パターンの学習領域を拡げ学習速度を向上する動作パターン共有システム、ロボット装置の動作パターンの学習領域を拡げ学習速度を向上するための動作パターン共有方法、及びこの方法によって動作パターンを共有するロボット装置を提供することを目的とする。
【００１５】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係るロボット装置の動作パターン共有システムは、外部情報及び／又は内部状態に基づく自律的動作を実行する複数のロボット装置と、外部情報に応じたロボット装置の動作パターンを蓄積する動作パターン蓄積装置とが互いに接続され、ロボット装置の各々は、外部情報に基づく動作のうち新たに学習した動作パターンを新規動作パターンとして動作パターン蓄積装置に送信する、及び動作パターン蓄積装置に蓄積された動作パターンを取得して使用することを特徴とする。
【００１６】
ここで、複数のロボット装置の各々は、外部情報を取得する外部情報取得手段と、外部情報に基づく動作パターンを予め記憶した動作記憶手段と、取得された外部情報に応じて動作記憶手段に記憶された動作パターンから動作パターンを選択する動作選択手段と、取得した外部情報と動作記憶手段に予め記憶された情報とを比較する比較手段と、動作パターン蓄積装置との間で通信する通信制御手段と、外部情報に基づく動作を生成する動作生成手段を備え、取得した外部情報が比較手段によって動作記憶手段に記憶されていないと判断された場合、通信制御手段は、取得した外部情報と該外部情報に基づいて生成した動作とを新規動作パターンとして動作パターン蓄積装置に対して送信することを特徴とする。
【００１７】
また、複数のロボット装置の各々は、動作パターン蓄積装置に蓄積された動作パターンを抽出して動作記憶手段に記憶することができる。
【００１８】
また、動作パターン蓄積装置は、動作記憶手段に新規動作パターンをロボット装置毎の認証情報と対応付けて記憶することが好ましい。
【００１９】
ここで、ロボット装置の各々と動作パターン蓄積装置は、コンピュータネットワークを介して互いに接続されていることが好ましい。
【００２０】
上述した目的を達成するために、本発明に係るロボット装置の動作パターン共有方法は、外部情報及び／又は内部状態に基づく自律的動作を実行する複数のロボット装置の動作パターンを複数のロボット装置間にて共有して保有する動作パターン共有方法であって、外部情報に基づく動作のうちロボット装置の各々において新たに学習された動作パターンを新規動作パターンとして蓄積する動作パターン蓄積工程と、動作パターン蓄積工程において蓄積された動作パターンを抽出する工程とを有することを特徴とする。
【００２１】
また、複数のロボット装置の各々における処理として、外部情報を取得する外部情報取得工程と、取得した外部情報と動作記憶手段に予め記憶された外部情報に基づく動作パターンとを比較する比較工程と、外部情報に応じて動作記憶手段から動作パターンを選択する動作選択工程と、外部情報に応じて動作を生成する動作生成工程とを有し、比較工程において、取得した外部情報が動作記憶手段に記憶されていると判断された場合、動作選択工程にて取得された外部情報に応じて動作パターンを選択し、比較工程において、取得した外部情報が動作記憶手段に記憶されていないと判断された場合、動作生成工程にて動作パターンを生成し、取得した外部情報と該外部情報に基づいて生成した動作とを新規動作パターンとして蓄積する動作パターン蓄積工程を有する。
【００２２】
動作パターン蓄積工程では、動作記憶手段に新規動作パターンをロボット装置毎の認証情報と対応付けて記憶することが好ましい。
【００２３】
上述した目的を達成するために、本発明に係るロボット装置は、外部情報及び／又は内部状態に基づく自律的動作を実行するロボット装置において、外部情報に基づく動作のうち新たに学習した動作パターンを新規動作パターンとして他のロボット装置と共有する外部動作パターン蓄積手段に送信する、及び該外部動作パターン蓄積手段に蓄積された動作パターンを取得して使用することを特徴とする。
【００２４】
ここで、このロボット装置は、外部情報を取得する外部情報取得手段と、外部情報に基づく動作パターンを予め記憶した動作記憶手段と、取得された外部情報に応じて動作記憶手段に記憶された動作パターンから動作パターンを選択する動作選択手段と、取得した外部情報と動作記憶手段に予め記憶された情報とを比較する比較手段と、外部動作パターン蓄積手段との間で通信する通信制御手段と、外部情報に基づく動作を生成する動作生成手段を備え、取得した外部情報が比較手段によって動作記憶手段に記憶されていないと判断された場合、通信制御手段は、取得した外部情報と該外部情報に基づいて生成した動作とを新規動作パターンとして動作パターン蓄積手段に送信する。
【００２５】
また、このロボット装置は、外部動作パターン蓄積手段に蓄積された動作パターンを抽出して動作記憶手段に記憶する。外部動作パターン蓄積手段では、動作記憶手段に新規動作パターンをロボット装置毎の認証情報と対応付けて記憶している。また、このロボット装置は、外部動作パターン蓄積手段とコンピュータネットワークを介して接続される。
【００２６】
【発明の実施の形態】
本発明は、ロボット装置が外部情報に基づく動作のうち新たに学習した動作パターンを新規動作パターンとして動作パターン蓄積装置に送信し記憶することにより、複数のロボット装置において学習された動作パターンを共有し、場合によっては、個々のロボット装置が動作パターン蓄積装置に蓄積された動作パターンを取得して使用できるようにしたことにより、ロボット装置の行動学習速度を向上するとともに学習領域を拡げることができるシステムである。
【００２７】
以下、本発明の具体例について、図面を参照して詳細に説明する。図１は、本発明の一具体例を表す動作パターン共有システム１００を示す。図２は、このシステムに適用される２足歩行タイプのロボット装置を示している。
【００２８】
動作パターン共有システム１００は、外部情報及び／又は内部状態に基づく自律的動作を実行する複数のロボット装置１０１１，１０１２，・・・，１０１ｎと、これらロボット装置の動作パターンを蓄積する動作パターン蓄積サーバ１０２とを備え、これらがネットワーク１０３によって接続されている。ネットワーク１０３は、本具体例では、有線ＬＡＮ、無線ＬＡＮ、赤外線通信手段、或いはブルートゥース（登録商標）等を用いて構築される無線通信ネットワークである。いわゆるインターネットのような大規模ネットワークであってもよい。このシステムを構成する各ロボット装置、動作蓄積サーバとの間の動作パターン登録処理に関しては後述する。
【００２９】
図２に示すロボット装置１は、図１のロボット装置１０１に相当するものである。このロボット装置１は、体幹部ユニット２の所定の位置に頭部ユニット３が連結されるとともに、左右２つの腕部ユニット４Ｒ／Ｌと、左右２つの脚部ユニット５Ｒ／Ｌが連結されて構成されている（ただし、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下において同じ。）。この人間型のロボット装置１は、住環境そのほかの日常生活上の様々な場面における人的活動を支援する実用ロボット装置であり、内部状態（怒り、悲しみ、喜び、楽しみ等）に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボット装置である。
【００３０】
図３に示すように体幹部ユニット２には、ロボット装置全体の制御を行うコントローラ１０、ロボット装置の動力源となるバッテリ１１、並びにバッテリセンサ１２及び熱センサ１３からなる内部センサ部１４などが収納されている。
【００３１】
頭部ユニット３には、「耳」に相当するマイク（マイクロフォン）１５、「目」に相当するＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）カメラ１６、触覚に相当するタッチセンサ１７、「口」に相当するスピーカ１８などが、それぞれ所定位置に配設されている。
【００３２】
腕部ユニット４Ｒ／Ｌ、脚部ユニット５Ｒ／Ｌそれぞれの関節部分や、腕部ユニット４Ｒ／Ｌ、脚部ユニット５Ｒ／Ｌと体幹部ユニット２の連結部分、頭部ユニット３と体幹部ユニット２の連結部分などには、図３に示すように、それぞれアクチュエータ３Ａ１〜３ＡＫ、４ＲＡ１〜４ＲＡＫ、４ＬＡ１〜４ＬＡＫ、５ＲＡ１〜５ＲＡＫ、５ＬＡ１〜５ＬＡＫが配設されている。
【００３３】
頭部ユニット３におけるマイク１５は、ユーザからの発話を含む周囲の音声（音）を集音し、得られた音声信号を、コントローラ１０に送出する。ＣＣＤカメラ１６は、周囲の状況を撮像し、得られた画像信号をコントローラ１０に送出する。
【００３４】
タッチセンサ１７は、例えば、頭部ユニット３の上部に設けられており、ユーザからの「なでる」や「たたく」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を圧力検出信号としてコントローラ１０に送出する。
【００３５】
体幹部ユニット２におけるバッテリセンサ１２は、バッテリ１１の残量を検出し、その検出結果を、バッテリ残量検出信号としてコントローラ１０に送出する。熱センサ１３は、ロボット装置内部の熱を検出し、その検出結果を、熱検出信号としてコントローラ１０に送出する。
【００３６】
また、ロボット装置１は、ネットワークコントローラ１９を備えている。ネットワークコントローラ１９は、ネットワーク１０３に対するインターフェイスを備えており、データをネットワーク１０３に適応した伝送形式に変換して送信する。また、ネットワーク１０３を介してデータを受信する。
【００３７】
コントローラ１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０Ａやメモリ１０Ｂ等を内蔵しており、上述の構成を統括して管理し、また、ＣＰＵ１０Ａにおいてメモリ１０Ｂに記憶された制御プログラムが実行されることにより各種の処理を行う。
【００３８】
処理の一例としては、コントローラ１０は、マイク１５や、ＣＣＤカメラ１６、タッチセンサ１７、バッテリセンサ１２、熱センサ１３から与えられる音声信号、画像信号、圧力検出信号、バッテリ残量検出信号、熱検出信号に基づいて、周囲の状況やユーザからの指令、ユーザからの働きかけなどの有無を判断する。
【００３９】
さらに、コントローラ１０は、この判断結果等に基づいて続く行動を決定し、その決定結果に基づいて、アクチュエータ３Ａ１〜３ＡＫ、４ＲＡ１〜４ＲＡＫ、４ＬＡ１〜４ＬＡＫ、５ＲＡ１〜５ＲＡＫ、５ＬＡ１〜５ＬＡＫのうちの必要なものを駆動させる。これにより頭部ユニット３を上下左右に動かしたり、各腕部ユニット、各脚部ユニットを駆動して歩行させるなどの行動を行わせる。
【００４０】
また、コントローラ１０は、必要に応じて合成音を生成し、スピーカ１８に供給して出力させたり、ロボット装置の「目」の位置に設けられた図示しないＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）を点灯、消灯又は点滅させる。
【００４１】
また、本具体例では、コントローラ１０は、上述した役割のほかに、外部情報や外部情報に応じて生成した動作等を必要に応じてネットワークコントローラ１９及びネットワーク１０３を介して動作パターン蓄積サーバ１０２に対して送信したり、動作パターン蓄積サーバ１０２から動作パターンを取得したする処理を実行している。このようにして、ロボット装置１は、外部情報及び／又は内部状態に基づいて自律的動作を実行することができる。
【００４２】
図４では、このロボット装置１のコントローラ１０の機能的構成例について説明する。なお、図４に示すコントローラ１０の機能的構成は、ＣＰＵ１０Ａがメモリ１０Ｂに記憶された制御プログラムを実行することで実現される。
【００４３】
コントローラ１０は、特定の外部状態を認識するセンサ入力処理部５０、センサ入力処理部５０の認識結果を累積して、感情や、本能、成長の状態を表現するモデル記憶部５１、センサ入力処理部５０の認識結果等に基づいて、続く行動を決定する行動決定機構部５２、行動決定機構部５２の決定結果に基づいて、実際にロボット装置に行動を起こさせる姿勢遷移機構部５３、各アクチュエータを駆動制御する制御機構部５４、合成音を生成する音声合成部５５から構成され、ネットワークコントローラ１９に接続されている。
【００４４】
センサ入力処理部５０は、マイク１５や、ＣＣＤカメラ１６、タッチセンサ１７等から与えられる音声信号、画像信号、圧力検出信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報をモデル記憶部５１及び行動決定機構部５２に通知する。
【００４５】
センサ入力処理部５０は、音声認識のための構成として音声認識部５０Ａを有している。音声認識部５０Ａは、マイク１５から与えられる音声信号について音声認識を行い、その音声認識結果として、例えば、「歩け」、「ボールを追いかけろ」といった指令や文章の発話を状態認識情報としてモデル記憶部５１及び行動決定機構部５２に通知する。
【００４６】
また、センサ入力処理部５０は、視覚認識系として画像認識部５０Ｂを有している。画像認識部５０Ｂは、ＣＣＤカメラ１６から与えられる画像信号を用いて画像認識処理を行い、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直なかつ所定高さ以上の平面」等を検出したときには、「ボールがある」や「壁がある」といった画像認識結果を状態認識情報としてモデル記憶部５１及び行動決定機構部５２に通知する。
【００４７】
また、センサ入力処理部５０は、触覚認識系として圧力処理部５０Ｃを有している。圧力処理部５０Ｃは、タッチセンサ１７から与えられる圧力検出信号を処理する。圧力処理部５０Ｃは、その処理の結果、所定の閾値以上かつ短時間の圧力を検出したときには、「たたかれた（しかられた）」と認識し、所定の閾値未満で、かつ長時間の圧力を検出したときには、「なでられた（ほめられた）」と認識する。また、この認識結果を状態認識情報としてモデル記憶部５１及び行動決定機構部５２に通知する。
【００４８】
モデル記憶部５１は、ロボット装置の感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶、管理している。
【００４９】
ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態（度合い）を、所定の範囲（例えば、−１．０乃至１．０等）の値によってそれぞれ表し、センサ入力処理部５０からの状態認識情報や時間経過等に基づいて、その値を変化させる。本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態（度合い）を所定の範囲の値によってそれぞれ表し、センサ入力処理部５０からの状態認識情報や時間経過等に基づいて、その値を変化させる。成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態（度合い）を所定の範囲の値によってそれぞれ表し、センサ入力処理部５０からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【００５０】
モデル記憶部５１は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を状態情報として行動決定機構部５２に送出する。
【００５１】
なお、モデル記憶部５１には、センサ入力処理部５０から状態認識情報が供給されるほか、行動決定機構部５２から、ロボット装置の現在又は過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部５１は、同一の状態認識情報が与えられても、行動情報が示すロボット装置の行動に応じて、異なる状態情報を生成するようになっている。
【００５２】
例えば、ロボット装置がユーザに挨拶をし、ユーザに頭をなでられた場合には、ユーザに挨拶をしたという行動情報と、頭をなでられたという状態認識情報とが、モデル記憶部５１に与えられ、この場合、モデル記憶部５１では、「うれしさ」を表す感情モデルの値が増加される。
【００５３】
一方、ロボット装置が、何らかの仕事を実行中に頭をなでられた場合には、仕事を実行中であるという行動情報と、頭をなでられたという状態認識情報とが、モデル記憶部５１に与えられ、この場合、モデル記憶部５１では、「うれしさ」を表す感情モデルの値は変化されない。
【００５４】
このように、モデル記憶部５１は、状態認識情報だけでなく、現在又は過去のロボット装置の行動を示す行動情報も参照しながら、感情モデルの値を設定する。これにより、例えば、何らかのタスクを実行中に、ユーザが、いたずらするつもりで頭をなでたときに、「うれしさ」を表す感情モデルの値を増加させるような、不自然な感情の変化が生じることを回避することができる。
【００５５】
なお、モデル記憶部５１は、本能モデル及び成長モデルについても、感情モデルにおける場合と同様に、状態認識情報及び行動情報の両方に基づいて、その値を増減させるようになっている。また、モデル記憶部５１は、感情モデル、本能モデル、成長モデルそれぞれの値を、他のモデルの値にも基づいて増減させるようになっている。
【００５６】
行動決定機構部５２は、センサ入力処理部５０からの状態認識情報や、モデル記憶部５１からの状態情報、時間経過等に基づいて次の行動を決定し、決定された行動の内容を行動指令情報として姿勢遷移機構部５３に送出する。
【００５７】
すなわち、行動決定機構部５２は、ロボット装置がとり得る行動をステート（状態）（ｓｔａｔｅ）に対応させた有限オートマトンをロボット装置の行動を規定する行動モデルとして管理しており、この行動モデルとしての有限オートマトンにおけるステートを、センサ入力処理部５０からの状態認識情報や、モデル記憶部５１における感情モデル、本能モデル、又は成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を、次にとるべき行動として決定する。
【００５８】
ここで、行動決定機構部５２は、所定のトリガ（ｔｒｉｇｇｅｒ）があったことを検出すると、ステートを遷移させる。すなわち、行動決定機構部５２は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部５１から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下又は以上になったとき等に、ステートを遷移させる。
【００５９】
なお、行動決定機構部５２は、上述したように、センサ入力処理部５０からの状態認識情報だけでなく、モデル記憶部５１における感情モデルや、本能モデル、成長モデルの値等にも基づいて、行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても、感情モデルや、本能モデル、成長モデルの値（状態情報）によっては、ステートの遷移先は異なるものとなる。
【００６０】
その結果、行動決定機構部５２は、例えば、状態情報が、「怒っていない」こと、及び「お腹がすいていない」ことを表している場合において、状態認識情報が「目の前に手のひらが差し出された」ことを表しているときには、目の前に手のひらが差し出されたことに応じて「握手」という行動をとらせる行動指令情報を生成し、これを姿勢遷移機構部５３に送出する。
【００６１】
また、行動決定機構部５２は、例えば、状態情報が、「怒っている」ことを表している場合において、状態認識情報が、「目の前に手のひらが差し出された」ことを表しているときには、状態情報が「お腹がすいている」ことを表していても、また、「お腹がすいていない」ことを表していても「ぷいと横を向く」ような行動を行わせるための行動指令情報を生成し、これを姿勢遷移機構部５３に送出する。
【００６２】
行動決定機構部５２では、上述したように、ロボット装置の頭部や手足等を動作させる行動指令情報のほか、ロボット装置に発話を行わせる行動指令情報も生成される。ロボット装置に発話を行わせる行動指令情報は、音声合成部５５に供給されるようになっており、音声合成部５５に供給される行動指令情報には、音声合成部５５に生成させる合成音に対応するテキスト等が含まれる。
【００６３】
音声合成部５５は、行動決定部５２から行動指令情報を受信すると、その行動指令情報に含まれるテキストに基づいて合成音を生成し、スピーカ１８に供給して出力する。これにより、スピーカ１８からは、例えば、ロボット装置の鳴き声、さらには、「お腹がすいた」等のユーザへの各種の要求、「何？」等のユーザの呼びかけに対する応答その他の音声出力が行われる。
【００６４】
姿勢遷移機構部５３は、行動決定機構部５２から供給される行動指令情報に基づいて、ロボット装置の姿勢を現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これを制御機構部５４に送出する。
【００６５】
制御機構部５４は、姿勢遷移機構部５３からの姿勢遷移情報にしたがって、各アクチュエータを駆動するための制御信号を生成し、これを、各アクチュエータに送出する。これにより、各アクチュエータは、制御信号にしたがって駆動し、ロボット装置の動作が表出される。
【００６６】
続いて、この動作パターン共有システム１００においてロボット装置１（１０１）が音声認識動作を行う場合について説明する。音声認識動作を実行するロボット装置におけるコントローラ１０及び動作パターン共有サーバ１０２の機能的構成例を図５に示す。
【００６７】
マイク１５から入力した音声信号は、ＡＤ（Ａｎａｌｏｇ  Ｄｉｇｉｔａｌ）変換部２１に供給される。ＡＤ変換部２１は、マイク１５からのアナログ信号である音声信号をサンプリング、量子化し、ディジタル信号である音声データにＡ／Ｄ変換する。この音声データは、特徴抽出部２２に供給される。
【００６８】
特徴抽出部２２は、そこに入力される音声データについて、適当なフレーム毎に、例えば、ＭＦＣＣ（Ｍｅｌ  Ｆｒｅｑｕｅｎｃｙ  Ｃｅｐｓｔｒｕｍ  Ｃｏｅｆｆｉｃｉｅｎｔ）分析を行い、その分析の結果得られるＭＦＣＣを、特徴ベクトル（特徴パラメータ）として、マッチング部２３と未登録語区間処理部２７に出力する。なお、特徴抽出部２２では、その他、例えば、線形予測係数、ケプストラム係数、線スペクトル対、所定の周波数帯域毎のパワー（フィルタバンクの出力）等を、特徴ベクトルとして抽出することが可能である。
【００６９】
マッチング部２３は、特徴抽出部２２からの特徴ベクトルを用いて、音響モデル記憶部２４、辞書記憶部２５、及び文法記憶部２６を必要に応じて参照しながら、マイク１５に入力された音声（入力音声）を、例えば、連続分布ＨＭＭ（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ）法に基づいて音声認識する。
【００７０】
音響モデル記憶部２４は、音声認識する音声の言語における個々の音素や、音節、音韻などのサブワードについて音響的な特徴を表す音響モデル（例えば、ＨＭＭのほか、ＤＰ（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｉｎｇ）マッチングに用いられる標準パターン等を含む）を記憶している。なお、ここでは、連続分布ＨＭＭ法に基づいて音声認識を行うため、音響モデルとしてＨＭＭ（Ｈｉｄｄｅｎ  ＭａｒｋｏｖＭｏｄｅｌ）を用いる。
【００７１】
辞書記憶部２５は、認識対象の各単語毎にクラスタリングされた、その単語の発音に関する情報（音韻情報）と、その単語の見出しとが対応付けられた単語辞書を記憶している。
【００７２】
辞書記憶部２５に記憶された単語辞書を図６に示す。単語辞書には、単語の見出しと、その音韻系列とが対応付けられており、音韻系列は、対応する単語毎にクラスタリングされている。図６の単語辞書では、１つのエントリ（図６の１行）が１つのクラスタに相当する。
【００７３】
なお、図６では、見出しは、ローマ字と日本語（仮名漢字）で表してあり、音韻系列は、ローマ字で表してある。ただし、音韻系列における「Ｎ」は、撥音「ん」を表す。また、図６では、１つのエントリに、１つの音韻系列を記述してあるが、１つのエントリには、複数の音韻系列を記述することも可能である。
【００７４】
文法記憶部２６は、辞書記憶部２５の単語辞書に登録されている各単語が、どのように連鎖する（つながる）かを記述した文法規則を記憶している。
【００７５】
ここで、図７は、文法記憶部２６に記憶された文法規則を示している。なお、図７の文法規則は、ＥＢＮＦ（Ｅｘｔｅｎｄｅｄ  Ｂａｃｋｕｓ  Ｎａｕｒ  Ｆｏｒｍ）で記述されている。
【００７６】
図７においては、行頭から、最初に現れる「；」までが、１つの文法規則を表している。また、先頭に「＄」が付されたアルファベット（列）は、変数を表し、「＄」が付されていないアルファベット（列）は、単語の見出し（図６に示したローマ字による見出し）を表す。さらに、［］で囲まれた部分は、省略可能であることを表し、「｜」は、その前後に配置された見出しの単語（或いは変数）のうちのいずれか一方を選択することを表す。
【００７７】
従って、図７において、例えば、第１行（上から１行目）の文法規則「＄ｃｏｌ  ＝［ｋｏｎｏ  ｜  ｓｏｎｏ］  ｉｒｏ  ｗａ；」は、変数＄ｃｏｌが、「このいろ（色）は」又は「そのいろ（色）は」という単語列であることを表す。
【００７８】
なお、図７に示した文法規則においては、変数＄ｓｉｌと＄ｇａｒｂａｇｅが定義されていないが、変数＄ｓｉｌは、無音の音響モデル（無音モデル）を表し、変数＄ｇａｒｂａｇｅは、基本的には、音韻どうしの間での自由な遷移を許可したガーベジモデルを表す。
【００７９】
マッチング部２３は、辞書記憶部２５の単語辞書を参照することにより、音響モデル記憶部２４に記憶されている音響モデルを接続することで、単語の音響モデル（単語モデル）を構成する。さらに、マッチング部２３は、幾つかの単語モデルを、文法記憶部２６に記憶された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、特徴ベクトルに基づき、連続分布ＨＭＭ法によって、マイク１５に入力された音声を認識する。
【００８０】
すなわち、マッチング部２３は、特徴抽出部２２が出力する時系列の特徴ベクトルが観測されるスコア（尤度）が最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列の見出しを、音声の認識結果として出力する。
【００８１】
より具体的には、マッチング部２３は、接続された単語モデルに対応する単語列について、各特徴ベクトルの出現確率（出力確率）を累積し、その累積値をスコアとして、そのスコアを最も高くする単語列の見出しを、音声認識結果として出力する。
【００８２】
以上のように、マイク１５に入力された音声の認識結果は、状態認識情報としてモデル記憶部５１及び行動決定機構部５２に出力される。
【００８３】
ここで、図７の具体例では、第９行（上から９行目）に、ガーベジモデルを表す変数＄ｇａｒｂａｇｅを用いた文法規則（以下、適宜、未登録語用規則という）「＄ｐａｔ１  ＝  ＄ｃｏｌｏｒ１  ＄ｇａｒｂａｇｅ  ＄ｃｏｌｏｒ２；」があるが、マッチング部２３は、この未登録語用規則が適用された場合には、変数＄ｇａｒｂａｇｅに対応する音声区間を、未登録語（Ｏｕｔ  Ｏｆ  Ｖｏｃａｂｌａｒｙ）の音声区間として検出する。さらに、マッチング部２３は、未登録語用規則が適用された場合における変数＄ｇａｒｂａｇｅが表すガーベジモデルにおける音韻の遷移としての音韻系列を未登録語の音韻系列として検出する。そして、マッチング部２３は、未登録語用規則が適用された音声認識結果が得られた場合に検出される未登録語の音声区間と音韻系列を未登録語区間処理部２７に供給する。
【００８４】
なお、上述の未登録語用規則「＄ｐａｔ１  ＝  ＄ｃｏｌｏｒ１  ＄ｇａｒｂａｇｅ  ＄ｃｏｌｏｒ２；」によれば、変数＄ｃｏｌｏｒ１で表される、単語辞書に登録されている単語（列）の音韻系列と、変数＄ｃｏｌｏｒ２で表される、単語辞書に登録されている単語（列）の音韻系列との間にある１つの未登録語が検出されるが、本発明は、発話に、複数の未登録語が含まれている場合や、未登録語が、単語辞書に登録されている単語（列）の間に挟まれていない場合であっても適用可能である。
【００８５】
未登録語区間処理部２７は、特徴抽出部２２から供給される特徴ベクトルの系列（特徴ベクトル系列）を一時記憶する。さらに、未登録語区間処理部２７は、マッチング部２３から未登録語の音声区間と音韻系列を受信すると、その音声区間における音声の特徴ベクトル系列を、一時記憶している特徴ベクトル系列から検出する。そして、未登録語区間処理部２７は、マッチング部２３からの音韻系列（未登録語）に、ユニークなＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を付し、未登録語の音韻系列と、その音声区間における特徴ベクトル系列とともに、動作パターン蓄積サーバ１０２の特徴ベクトルバッファ３２に供給する。
【００８６】
特徴ベクトルバッファ３２は、未登録語区間処理部２７からネットワーク１０３を介して供給される、例えば、図８に示す未登録語のＩＤ、音韻系列、及び特徴ベクトル系列をそれぞれ対応付けして一時記憶する。
【００８７】
図８では、未登録語に対して、１からのシーケンシャルな数字が、ＩＤとして付されている。従って、例えば、いま、特徴ベクトルバッファ３２において、Ｎ個の未登録語のＩＤ、音韻系列、及び特徴ベクトル系列が記憶されている場合において、マッチング部２３が未登録語の音声区間と音韻系列を検出すると、未登録語区間処理部２７では、その未登録語に対して、Ｎ＋１が、ＩＤとして付され、特徴ベクトルバッファ３２では、図９に点線で示すように、その未登録語のＩＤ、音韻系列、及び特徴ベクトル系列が記憶される。ここでは、上述の系列に対して、ネットワーク１０２に接続されるロボット装置のうちどのロボット装置によって登録されたかを示すロボット装置ＩＤも付けられる。
【００８８】
クラスタリング部３３は、特徴ベクトルバッファ３２に新たに記憶された未登録語（以下、適宜、新未登録語という）について、特徴ベクトルバッファ３２に既に記憶されているほかの未登録語（以下、適宜、既記憶未登録語という）それぞれに対するスコアを計算する。
【００８９】
クラスタリング部３３は、新未登録語を入力音声とし、かつ、既記憶未登録語を、単語辞書に登録されている単語とみなして、マッチング部２３における場合と同様にして、新未登録語について、各既記憶未登録語に対するスコアを計算する。具体的には、クラスタリング部３３は、特徴ベクトルバッファ３２を参照することで、新未登録語の特徴ベクトル系列を認識するとともに、既記憶未登録語の音韻系列にしたがって音響モデルを接続し、その接続された音響モデルから、新未登録語の特徴ベクトル系列が観測される尤度としてのスコアを計算する。
【００９０】
なお、音響モデルは、音響モデル記憶部２４に記憶されているものが用いられる。
【００９１】
クラスタリング部３３は、同様にして、各既記憶未登録語について、新未登録語に対するスコアも計算し、そのスコアによって、スコアシート記憶部３４に記憶されたスコアシートを更新する。
【００９２】
さらに、クラスタリング部３３は、更新したスコアシートを参照することにより、既に求められている、未登録語（既記憶未登録語）をクラスタリングしたクラスタの中から、新未登録語を新たなメンバとして加えるクラスタを検出する。さらに、クラスタリング部３３は、新未登録語を、検出したクラスタの新たなメンバとし、そのクラスタを、そのクラスタのメンバに基づいて分割し、その分割結果に基づいて、スコアシート記憶部３４に記憶されているスコアシートを更新する。
【００９３】
スコアシート記憶部３４は、新未登録語についての、既記憶未登録語に対するスコアや、既記憶未登録語についての、新未登録語に対するスコア等が登録されたスコアシートを記憶する。
【００９４】
図９には、スコアシートが示されている。スコアシートは、ロボット装置の「ロボット装置ＩＤ」、未登録語の「ＩＤ」、「音韻系列」、「クラスタナンバ」、「代表メンバＩＤ」、及び「スコア」が記述されたエントリから構成される。
【００９５】
未登録語の「ＩＤ」と「音韻系列」としては、特徴ベクトルバッファ３２に記憶されたものと同一のものが、クラスタリング部３３によって登録される。「クラスタナンバ」は、そのエントリの未登録語がメンバとなっているクラスタを特定するための数字で、クラスタリング部３３によって付され、スコアシートに登録される。「代表メンバＩＤ」は、そのエントリの未登録語がメンバとなっているクラスタを代表する代表メンバとしての未登録語のＩＤであり、この代表メンバＩＤによって、未登録語がメンバとなっているクラスタの代表メンバを認識することができる。なお、クラスタの代表メンバは、クラスタリング部３３によって求められ、その代表メンバのＩＤが、スコアシートの代表メンバＩＤに登録される。「スコア」は、そのエントリの未登録語についての、他の未登録語それぞれに対するスコアであり、上述したように、クラスタリング部３３によって計算される。
【００９６】
例えば、いま、特徴ベクトルバッファ３２において、Ｎ個の未登録語のＩＤ、音韻系列、及び特徴ベクトル系列が記憶されているとすると、スコアシートには、そのＮ個の未登録語のＩＤ、音韻系列、クラスタナンバ、代表メンバＩＤ、及びスコアが登録されている。
【００９７】
そして、特徴ベクトルバッファ３２に、新未登録語のＩＤ、音韻系列、及び特徴ベクトル系列が新たに記憶されると、クラスタリング部３３では、スコアシートが、図９において点線で示すように更新される。
【００９８】
すなわち、スコアシートには、新未登録語のＩＤ、音韻系列、クラスタナンバ、代表メンバＩＤ、新未登録語についての、既記憶未登録語それぞれに対するスコア（図８におけるスコアｓ（Ｎ＋１，１），ｓ（Ｎ＋１，２），・・・，ｓ（Ｎ＋１，Ｎ））が追加される。さらに、スコアシートには、既記憶未登録語それぞれについての、新未登録語に対するスコア（図９におけるｓ（１，Ｎ＋１），ｓ（２，Ｎ＋１），・・・，ｓ（Ｎ，Ｎ＋１））が追加される。さらに、後述するように、スコアシートにおける未登録語のクラスタナンバと代表メンバＩＤが、必要に応じて変更される。
【００９９】
なお、図９では、ＩＤがｉの未登録語（の発話）についての、ＩＤがｊの未登録語（の音韻系列）に対するスコアを、ｓ（ｉ，ｊ）として表してある。
【０１００】
また、スコアシート（図９）には、ＩＤがｉの未登録語（の発話）についての、ＩＤがｉの未登録語（の音韻系列）に対するスコアｓ（ｉ，ｉ）も登録される。ただし、このスコアｓ（ｉ，ｉ）は、マッチング部２３において、未登録語の音韻系列が検出されるときに計算されるため、クラスタリング部３３で計算する必要はない。
【０１０１】
メンテナンス部３５は、スコアシート記憶部３４における、更新後のスコアシートに基づいて、辞書記憶部２５に記憶された単語辞書を更新する。
【０１０２】
ここで、クラスタの代表メンバは、次のように決定される。すなわち、例えば、クラスタのメンバとなっている未登録語のうち、他の未登録語それぞれについてのスコアの総和（その他、例えば、総和を、他の未登録語の数で除算した平均値でもよい）を最大にするものが、そのクラスタの代表メンバとされる。従って、この場合、クラスタに属するメンバのメンバＩＤをｋで表すこととすると、次式で示される値Ｋ（∈ｋ）をＩＤとするメンバが、代表メンバとされることになる。
【０１０３】
Ｋ＝ｍａｘｋ｛Σｓ（ｋ’，ｋ）｝  ・・・（１）
【０１０４】
ただし、式（１）において、ｍａｘｋ｛｝は、｛｝内の値を最大にするｋを意味する。また、ｋ’は、ｋと同様に、クラスタに属するメンバのＩＤを意味する。さらに、Σは、ｋ’をクラスタに属するメンバすべてのＩＤに亘って変化させての総和を意味する。
【０１０５】
なお、上述のように代表メンバを決定する場合、クラスタのメンバが、１又は２つの未登録語であるときには、代表メンバを決めるにあたって、スコアを計算する必要はない。すなわち、クラスタのメンバが、１つの未登録語である場合には、その１つの未登録語が代表メンバとなり、クラスタのメンバが、２つの未登録語である場合には、その２つの未登録語のうちのいずれを、代表メンバとしてもよい。
【０１０６】
また、代表メンバの決定方法は、上述したものに限定されるものではなく、その他、例えば、クラスタのメンバとなっている未登録語のうち、他の未登録語それぞれとの特徴ベクトル空間における距離の総和を最小にするもの等を、そのクラスタの代表メンバとすることも可能である。
【０１０７】
以上のように構成される音声認識部５０Ａでは、マイク１５に入力された音声を認識する音声認識処理と、ネットワーク１０３を介して動作パターン蓄積サーバ１０２への未登録語の登録語処理が行われる。この音声認識処理を図１０のフローチャートを参照して説明する。
【０１０８】
まず、ステップＳ１において、ユーザからの発話が入力される。ステップＳ２において、入力された音声は、マイク１５及びＡＤ変換部２１を介してディジタルの音声データとされ、特徴抽出部２２に供給される。特徴抽出部２２は、音声データを所定のフレーム単位で音響分析することにより特徴ベクトルを抽出し、この特徴ベクトルの系列をマッチング部２３及び未登録語区間処理部２７に供給する。
【０１０９】
マッチング部２３は、ステップＳ３において、スコア計算の結果得られるスコアに基づいて、未登録語が含まれるか否か判別する。未登録語が含まれない場合、未登録語の登録は行わない。すなわち、上述の未登録語用規則「＄ｐａｔ１  ＝  ＄ｃｏｌｏｒ１  ＄ｇａｒｂａｇｅ  ＄ｃｏｌｏｒ２；」が適用されずに音声認識結果が得られた場合、処理を終了する。
【０１１０】
一方、ステップＳ３において未登録語が含まれると判別された場合、すなわち、未登録語用規則「＄ｐａｔ１  ＝  ＄ｃｏｌｏｒ１  ＄ｇａｒｂａｇｅ  ＄ｃｏｌｏｒ２；」が適用されて、音声認識結果が得られた場合、ステップＳ４において、マッチング部２３は、未登録語用規則の変数＄ｇａｒｂａｇｅに対応する音声区間を未登録語の音声区間として検出するとともに、その変数＄ｇａｒｂａｇｅが表すガーベジモデルにおける音韻の遷移としての音韻系列を未登録語の音韻系列として検出する。続くステップＳ５にて、この未登録語の音声区間と音韻系列とを未登録語区間処理部２７に送る。未登録語区間処理部２７は、特徴抽出部２２から供給される特徴ベクトル系列を一時記憶しており、マッチング部２３から未登録語の音声区間と音韻系列が供給されると、その音声区間における音声の特徴ベクトル系列を検出する。さらに、未登録語区間処理部２７は、マッチング部２３からの未登録語（の音韻系列）に登録語ＩＤを付ける。
【０１１１】
この未登録語に関する情報（未登録語の音韻系列と、その音声区間における特徴ベクトル系列）は、ロボット装置ＩＤとともに、ネットワークコントローラ１９によってネットワーク１０３を介して、動作パターン蓄積サーバ１０２へ送られる。ここで、同時に辞書記憶部２５に記憶するようにもできる（ステップＳ６）。
【０１１２】
ロボット装置１は、ステップＳ７において、入力した発話に対する応答を実行する。
【０１１３】
以上のようにして、未登録語に関する情報を動作パターン蓄積サーバ１０２の特徴ベクトルバッファ３２に、新たな未登録語（新未登録語）のＩＤ、音韻系列、及び特徴ベクトル系列がネットワーク１０３を介して送られ記憶される。
【０１１４】
入力した音声（発話）に対して図１０に示す処理を施すことによって、未知の単語（未登録語）があっても、例えば、他のロボット装置によって、動作パターン蓄積サーバ１０２に記憶されていれば、既知の単語として応答できる。
【０１１５】
一方、これを受けて動作パターン蓄積サーバ１０２では、未登録語の登録処理が実行される。続いて、図１１に登録処理を示す。具体的には、未登録語の登録処理として、まず最初に、ステップＳ１１において、クラスタリング部３３が、特徴ベクトルバッファ３２から、新未登録語のＩＤと音韻系列を読み出し、ステップＳ１２に進む。
【０１１６】
ステップＳ１２では、クラスタリング部３３が、スコアシート記憶部３４のスコアシートを参照することにより、既に求められている（生成されている）クラスタが存在するかどうかを判定する。
【０１１７】
ステップＳ１２において、既に求められているクラスタが存在しないと判定された場合、すなわち、新未登録語が、初めての未登録語であり、スコアシートに、既記憶未登録語のエントリが存在しない場合、ステップＳ１３に進み、クラスタリング部３３は、その新未登録語を代表メンバとするクラスタを新たに生成し、その新たなクラスタに関する情報と、新未登録語に関する情報とを、スコアシート記憶部３４のスコアシートに登録することにより、スコアシートを更新する。
【０１１８】
すなわち、クラスタリング部３３は、特徴ベクトルバッファ３２から読み出した新未登録語のＩＤ及び音韻系列を、スコアシート（図８）に登録する。さらに、クラスタリング部３３は、ユニークなクラスタナンバを生成し、新未登録語のクラスタナンバとして、スコアシートに登録する。また、クラスタリング部３３は、新未登録語のＩＤを、その新未登録語の代表メンバＩＤとして、スコアシートに登録する。従って、この場合は、新未登録語は、新たなクラスタの代表メンバとなる。
【０１１９】
なお、いまの場合、新未登録語とのスコアを計算する既記憶未登録語が存在しないため、スコアの計算は行われない。
【０１２０】
ステップＳ１３の処理後は、ステップＳ２２に進み、メンテナンス部３５は、ステップＳ１３で更新されたスコアシートに基づいて、辞書記憶部２５の単語辞書を更新し、処理を終了する。
【０１２１】
すなわち、いまの場合、新たなクラスタが生成されているので、メンテナンス部３５は、スコアシートにおけるクラスタナンバを参照し、その新たに生成されたクラスタを認識する。そして、メンテナンス部３５は、そのクラスタに対応するエントリを、辞書記憶部２５の単語辞書に追加し、そのエントリの音韻系列として、新たなクラスタの代表メンバの音韻系列、つまり、いまの場合は、新未登録語の音韻系列を登録する。
【０１２２】
一方、ステップＳ１２において、既に求められているクラスタが存在すると判定された場合、すなわち、新未登録語が、初めての未登録語ではなく、従って、スコアシート（図９）に、既記憶未登録語のエントリ（行）が存在する場合、ステップＳ１４に進み、クラスタリング部３３は、新未登録語について、各既記憶未登録語それぞれに対するスコアを計算するとともに、各既記憶未登録語それぞれについて、新未登録語に対するスコアを計算する。
【０１２３】
すなわち、例えば、いま、ＩＤが１乃至ＮのＮ個の既記憶未登録語が存在し、新未登録語のＩＤをＮ＋１とすると、クラスタリング部３３では、図９において点線で示した部分の新未登録語についてのＮ個の既記憶未登録語それぞれに対するスコアｓ（Ｎ＋１，１），ｓ（Ｎ＋１，２），・・・，ｓ（Ｎ＋１，Ｎ）と、Ｎ個の既記憶未登録語それぞれについての新未登録語に対するスコアｓ（１，Ｎ＋１），ｓ（２，Ｎ＋１），・・・，ｓ（Ｎ，Ｎ＋１）が計算される。なお、クラスタリング部３３において、これらのスコアを計算するにあたっては、新未登録語とＮ個の既記憶未登録語それぞれの特徴ベクトル系列が必要となるが、これらの特徴ベクトル系列は、特徴ベクトルバッファ３２を参照することで認識される。
【０１２４】
そして、クラスタリング部３３は、計算したスコアを、新未登録語のＩＤ及び音韻系列とともに、スコアシート（図９）に追加し、ステップＳ１５に進む。
【０１２５】
ステップＳ１５では、クラスタリング部３３は、スコアシート（図８）を参照することにより、新未登録語についてのスコアｓ（Ｎ＋１，ｉ）（ｉ＝１，２，・・・，Ｎ）を最も高く（大きく）する代表メンバを有するクラスタを検出する。すなわち、クラスタリング部３３は、スコアシートの代表メンバＩＤを参照することにより、代表メンバとなっている既記憶未登録語を認識し、さらに、スコアシートのスコアを参照することで、新未登録語についてのスコアを最も高くする代表メンバとしての既記憶未登録語を検出する。そして、クラスタリング部３３は、その検出した代表メンバとしての既記憶未登録語のクラスタナンバのクラスタを検出する。
【０１２６】
その後、ステップＳ１６に進み、クラスタリング部３３は、新未登録語を、ステップＳ１５で検出したクラスタ（以下、適宜、検出クラスタという）のメンバに加える。すなわち、クラスタリング部３３は、スコアシートにおける新未登録語のクラスタナンバとして、検出クラスタの代表メンバのクラスタナンバを書き込む。
【０１２７】
そして、クラスタリング部３３は、ステップＳ１７において、検出クラスタを、例えば、２つのクラスタに分割するクラスタ分割処理を行い、ステップＳ１８に進む。ステップＳ１８では、クラスタリング部３３は、ステップＳ１７のクラスタ分割処理によって、検出クラスタを２つのクラスタに分割することができたかどうかを判定し、分割することができた判定した場合、ステップＳ１９に進む。ステップＳ１９では、クラスタリング部３３は、検出クラスタの分割により得られる２つのクラスタ（この２つのクラスタを、以下、適宜、第１の子クラスタと第２の子クラスタという）どうしの間のクラスタ間距離を求める。
【０１２８】
ここで、第１と第２の子クラスタどうしの間のクラスタ間距離とは、例えば、次のように定義される。
【０１２９】
すなわち、第１の子クラスタと第２の子クラスタの両方の任意のメンバ（未登録語）のＩＤを、ｋで表すとともに、第１と第２の子クラスタの代表メンバ（未登録語）のＩＤを、それぞれｋ１又はｋ２で表すこととすると、次式で表される値Ｄ（ｋ１，ｋ２）を、第１と第２の子クラスタどうしの間のクラスタ間距離とする。
【０１３０】
Ｄ（ｋ１，ｋ２）＝ｍａｘｖａｌｋ｛ａｂｓ（ｌｏｇ（ｓ（ｋ，ｋ１））−ｌｏｇ（ｓ（ｋ，ｋ２）））｝  ・・・（２）
【０１３１】
ただし、式（２）において、ａｂｓ（）は、（）内の値の絶対値を表す。また、ｍａｘｖａｌｋ｛｝は、ｋを変えて求められる｛｝内の値の最大値を表す。また、ｌｏｇは、自然対数又は常用対数を表す。
【０１３２】
いま、ＩＤがｉのメンバを、メンバ＃ｉと表すこととすると、式（２）におけるスコアの逆数１／ｓ（ｋ，ｋ１）は、メンバ＃ｋと代表メンバｋ１との距離に相当し、スコアの逆数１／ｓ（ｋ，ｋ２）は、メンバ＃ｋと代表メンバｋ２との距離に相当する。従って、式（２）によれば、第１と第２の子クラスタのメンバのうち、第１の子クラスタの代表メンバ＃ｋ１との距離と、第２の子クラスタの代表メンバ＃ｋ２との距離との差の最大値が、第１と第２の子クラスタどうしの間の子クラスタ間距離とされることになる。
【０１３３】
なお、クラスタ間距離は、上述したものに限定されるものではなく、その他、例えば、第１の子クラスタの代表メンバと、第２の子クラスタの代表メンバとのＤＰマッチングを行うことにより、特徴ベクトル空間における距離の積算値を求め、その距離の積算値を、クラスタ間距離とすることも可能である。
【０１３４】
ステップＳ１９の処理後は、ステップＳ２０に進み、クラスタリング部３３は、第１と第２の子クラスタどうしのクラスタ間距離が、所定の閾値εより大である（或いは、閾値ε以上である）かどうかを判定する。
【０１３５】
ステップＳ２０において、クラスタ間距離が、所定の閾値εより大であると判定された場合、すなわち、検出クラスタのメンバとしての複数の未登録語が、その音響的特徴からいって、２つのクラスタにクラスタリングすべきものであると考えられる場合、ステップＳ２１に進み、クラスタリング部３３は、第１と第２の子クラスタを、スコアシート記憶部３４のスコアシートに登録する。
【０１３６】
すなわち、クラスタリング部３３は、第１と第２の子クラスタに、ユニークなクラスタナンバを割り当て、検出クラスタのメンバのうち、第１の子クラスタにクラスタリングされたもののクラスタナンバを、第１の子クラスタのクラスタナンバにするとともに、第２の子クラスタにクラスタリングされたもののクラスタナンバを、第２の子クラスタのクラスタナンバにするように、スコアシートを更新する。
【０１３７】
さらに、クラスタリング部３３は、第１の子クラスタにクラスタリングされたメンバの代表メンバＩＤを、第１の子クラスタの代表メンバのＩＤにするとともに、第２の子クラスタにクラスタリングされたメンバの代表メンバＩＤを、第２の子クラスタの代表メンバのＩＤにするように、スコアシートを更新する。
【０１３８】
なお、第１と第２の子クラスタのうちのいずれか一方には、検出クラスタのクラスタナンバを割り当てるようにすることが可能である。
【０１３９】
クラスタリング部３３が、以上のようにして、第１と第２の子クラスタを、スコアシートに登録すると、ステップＳ２１からＳ２２に進み、メンテナンス部３５が、スコアシートに基づいて、辞書記憶部２５の単語辞書を更新し、処理を終了する。
【０１４０】
すなわち、この場合、検出クラスタが第１と第２の子クラスタに分割されたため、メンテナンス部３５は、まず、単語辞書における、検出クラスタに対応するエントリを削除する。さらに、メンテナンス部３５は、第１と第２の子クラスタそれぞれに対応する２つのエントリを、単語辞書に追加し、第１の子クラスタに対応するエントリの音韻系列として、その第１の子クラスタの代表メンバの音韻系列を登録するとともに、第２の子クラスタに対応するエントリの音韻系列として、その第２の子クラスタの代表メンバの音韻系列を登録する。
【０１４１】
一方、ステップＳ１８において、ステップＳ１７のクラスタ分割処理によって、検出クラスタを２つのクラスタに分割することができなかったと判定された場合、或いは、ステップＳ２０において、第１と第２の子クラスタのクラスタ間距離が、所定の閾値εより大でないと判定された場合（従って、検出クラスタのメンバとしての複数の未登録語の音響的特徴が、第１と第２の２つの子クラスタにクラスタリングするほど似ていないものではない場合）、ステップＳ２３に進み、クラスタリング部３３は、検出クラスタの新たな代表メンバを求め、スコアシートを更新する。
【０１４２】
すなわち、クラスタリング部３３は、新未登録語をメンバとして加えた検出クラスタの各メンバについて、スコアシート記憶部３４のスコアシートを参照することにより、式（１）の計算に必要なスコアｓ（ｋ’，ｋ）を認識する。さらに、クラスタリング部３３は、その認識したスコアｓ（ｋ’，ｋ）を用い、式（１）に基づき、検出クラスタの新たな代表メンバとなるメンバのＩＤを求める。そして、クラスタリング部３３は、スコアシート（図９）における、検出クラスタの各メンバの代表メンバＩＤを、検出クラスタの新たな代表メンバのＩＤに書き換える。
【０１４３】
その後、ステップＳ２２に進み、メンテナンス部３５が、スコアシートに基づいて、辞書記憶部２５の単語辞書を更新し、処理を終了する。
【０１４４】
すなわち、いまの場合、メンテナンス部３５は、スコアシートを参照することにより、検出クラスタの新たな代表メンバを認識し、さらに、その代表メンバの音韻系列を認識する。そして、メンテナンス部３５は、単語辞書における、検出クラスタに対応するエントリの音韻系列を、検出クラスタの新たな代表メンバの音韻系列に変更する。
【０１４５】
次に、図１２のフローチャートを参照して、図１１のステップＳ１７のクラスタ分割処理の詳細について説明する。
【０１４６】
クラスタ分割処理では、まず最初に、ステップＳ３１において、クラスタリング部３３が、新未登録語がメンバとして加えられた検出クラスタから、まだ選択していない任意の２つのメンバの組み合わせを選択し、それぞれを、仮の代表メンバとする。ここで、この２つの仮の代表メンバを、以下、適宜、第１の仮代表メンバと第２の仮代表メンバという。
【０１４７】
そして、ステップＳ３２に進み、クラスタリング部３３は、第１の仮代表メンバと、第２の仮代表メンバを、それぞれ代表メンバとすることができるように、検出クラスタのメンバを、２つのクラスタに分割することができるかどうかを判定する。
【０１４８】
ここで、第１又は第２の仮代表メンバを代表メンバとすることができるかどうかは、式（１）の計算を行う必要があるが、この計算に用いられるスコアｓ（ｋ’，ｋ）は、スコアシートを参照することで認識される。
【０１４９】
ステップＳ３２において、第１の仮代表メンバと、第２の仮代表メンバを、それぞれ代表メンバとすることができるように、検出クラスタのメンバを、２つのクラスタに分割することができないと判定された場合、ステップＳ３３をスキップして、ステップＳ３４に進む。
【０１５０】
また、ステップＳ３２において、第１の仮代表メンバと、第２の仮代表メンバを、それぞれ代表メンバとすることができるように、検出クラスタのメンバを、２つのクラスタに分割することができると判定された場合、ステップＳ３３に進み、クラスタリング部３３は、第１の仮代表メンバと、第２の仮代表メンバが、それぞれ代表メンバとなるように、検出クラスタのメンバを、２つのクラスタに分割し、その分割後の２つのクラスタの組を、検出クラスタの分割結果となる第１及び第２の子クラスタの候補（以下、適宜、候補クラスタの組という）として、ステップＳ３４に進む。
【０１５１】
ステップＳ３４では、クラスタリング部３３は、検出クラスタのメンバの中で、まだ、第１と第２の仮代表メンバの組として選択していない２つのメンバの組があるかどうかを判定し、あると判定した場合、ステップＳ３１に戻り、まだ、第１と第２の仮代表メンバの組として選択していない、検出クラスタの２つのメンバの組が選択され、以下、同様の処理が繰り返される。
【０１５２】
また、ステップＳ３４において、第１と第２の仮代表メンバの組として選択していない、検出クラスタの２つのメンバの組がないと判定された場合、ステップＳ３５に進み、クラスタリング部３３は、候補クラスタの組が存在するかどうかを判定する。
【０１５３】
ステップＳ３５において、候補クラスタの組が存在しないと判定された場合、ステップＳ３６をスキップして、リターンする。この場合は、図１０のステップＳ１８において、検出クラスタを分割することができなかったと判定される。
【０１５４】
一方、ステップＳ３５において、候補クラスタの組が存在すると判定された場合、ステップＳ３６に進み、クラスタリング部３３は、候補クラスタの組が複数存在するときには、各候補クラスタの組の２つのクラスタどうしの間のクラスタ間距離を求める。そして、クラスタリング部３３は、クラスタ間距離が最小の候補クラスタの組を求め、その候補クラスタの組を、検出クラスタの分割結果として、すなわち、第１と第２の子クラスタとして、リターンする。なお、候補クラスタの組が１つだけの場合は、その候補クラスタの組が、そのまま、第１と第２の子クラスタとされる。
【０１５５】
この場合は、図１１のステップＳ１８において、検出クラスタを分割することができたと判定される。
【０１５６】
以上のように、クラスタリング部３３において、既に求められた未登録語をクラスタリングしたクラスタの中から、新未登録語を新たなメンバとして加えるクラスタ（検出クラスタ）を検出し、新未登録語をその検出クラスタの新たなメンバとして、検出クラスタをその検出クラスタのメンバに基づいて分割するようにしたことにより、未登録語を音響的特徴が近似しているものどうしに容易にクラスタリングできる。
【０１５７】
さらに、メンテナンス部３５において、そのようなクラスタリング結果に基づいて、単語辞書を更新するようにしたので、単語辞書の大規模化を避けながら、未登録語の単語辞書への登録を、容易に行うことができる。
【０１５８】
また、例えば、仮に、マッチング部２３において、未登録語の音声区間の検出を誤ったとしても、そのような未登録語は、検出クラスタの分割によって、音声区間が正しく検出された未登録語とは別のクラスタにクラスタリングされる。そして、このようなクラスタに対応するエントリが、単語辞書に登録されることになるが、このエントリの音韻系列は、正しく検出されなかった音声区間に対応するものとなるから、その後の音声認識において、大きなスコアを与えることはない。従って、仮に、未登録語の音声区間の検出を誤ったとしても、その誤りは、その後の音声認識には、ほとんど影響しない。
【０１５９】
以上のように、図１０及び図１１の処理を行うことによって、ロボット装置１０１は、未登録語を動作パターン蓄積サーバ１０２上に蓄積することができる。しかも、複数のロボット装置が接続されるネットワーク１０３であれば、各ロボット装置によって学習された新規の登録語を共有できる。
【０１６０】
図１０及び図１１にて示した動作パターン蓄積サーバ１０２とロボット装置１０１との間のデータ送受信は、ここでは、ＨＴＴＰを用いてＸＭＬ−ＲＰＣにて行う。以下に、実際のＸＭＬ文章を示す。
【０１６１】
ロボット装置１０１から動作パターン蓄積サーバ１０２に対して、未登録語（ＯＯＶ）の特徴ベクトルを以下の文章（コール）によって送信する。
【０１６２】
2004309523.tif 000003
2004309523.tif 000004
【０１６３】
動作パターン蓄積サーバ１０２は、上述のコールを受け取ると、以下のＸＭＬ−ＲＰＣを返信する。
【０１６４】
2004309523.tif 000005
【０１６５】
ロボット装置が、仮に全ての登録語辞書を要求する場合には、例えば、以下のコールを行えばよい。
【０１６６】
2004309523.tif 000006
【０１６７】
また、このコールに対しては、動作パターン蓄積サーバ１０２は、以下のコールを送ることによって応答する。
【０１６８】
2004309523.tif 000007
【０１６９】
次に、図１３は、未登録語の発話を行って得られたクラスタリング結果を示している。なお、図１３においては、各エントリ（各行）が、１つのクラスタを表している。また、図１３の左欄は、各クラスタの代表メンバ（未登録語）の音韻系列を表しており、図１３の右欄は、各クラスタのメンバとなっている未登録語の発話内容と数を表している。
【０１７０】
すなわち、図１３において、例えば、第１行のエントリは、未登録語「風呂」の１つの発話だけがメンバとなっているクラスタを表しており、その代表メンバの音韻系列は、「ｄｏｒｏａ：」（ドロアー）になっている。また、例えば、第２行のエントリは、未登録語「風呂」の３つの発話がメンバとなっているクラスタを表しており、その代表メンバの音韻系列は、「ｋｕｒｏ」（クロ）になっている。
【０１７１】
さらに、例えば、第７行のエントリは、未登録語「本」の４つの発話がメンバとなっているクラスタを表しており、その代表メンバの音韻系列は、「ＮｈｏＮｄｅ：ｓｕ」（ンホンデース）になっている。また、例えば、第８行のエントリは、未登録語「オレンジ」の１つの発話と、未登録語「本」の１９の発話がメンバとなっているクラスタを表しており、その代表メンバの音韻系列は、「ｏｈｏＮ」（オホン）になっている。他のエントリも、同様のことを表している。
【０１７２】
図１３によれば、同一の未登録語の発話について、良好にクラスタリングされていることが分かる。
【０１７３】
なお、図１３の第８行のエントリにおいては、未登録語「オレンジ」の１つの発話と、未登録語「本」の１９の発話が、同一のクラスタにクラスタリングされている。このクラスタは、そのメンバとなっている発話から、未登録語「本」のクラスタとなるべきであると考えられるが、未登録語「オレンジ」の発話も、そのクラスタのメンバとなっている。しかしながら、このクラスタも、その後に、未登録語「本」の発話がさらに入力されていくと、クラスタ分割され、未登録語「本」の発話だけをメンバとするクラスタと、未登録語「オレンジ」の発話だけをメンバとするクラスタにクラスタリングされると考えられる。
【０１７４】
以上は、動作パターン共有システム１００においてロボット装置１０１の音声認識動作における未知動作（未登録語）の登録処理に関してであるが、本発明は、音声認識以外の動作に対しても適用できる。
【０１７５】
ロボット装置１０１（ロボット装置１）が辞書記憶部１５に相当する行動記憶領域に予め登録されていない動作を新たに学習する方法として、従来、ニューラルネットワークが研究されている。ニューラルネットワークにおいては、所定のパターンを予め学習しておくことにより、学習済みのパターンの線形和で表現されるパターン、及び非線形和で表現されるパターンを、既に学習した所定パターンとの関係性に基づいて分類できるようにした技術が本願出願人によってなされている（特願２００２−１３５２３７）。本具体例では、このニューラルネットワークを適用して動作パターンを共有することもできる。
【０１７６】
図１４は、リカレント型ニューラルネットワークの構成例を表している。このリカレント型ニューラルネットワーク（ＲＮＮ）２００は、入力層２０１、中間層（隠れ層）２０２、及び出力層２０３により構成されている。これらの入力層２０１、中間層２０２、及び出力層２０３は、それぞれ任意数のニューロンにより構成されている。
【０１７７】
入力層２０１の一部のニューロン２０１−１には、データｘｔが入力される。入力層２０１の一部のニューロンであるパラメトリックバイアスノード２０１−２には、パラメータｘｔが入力される。さらに、入力層２０１の一部のニューロン２０１−３には、出力層２０３の一部のニューロン２０３−２より出力されたデータが、ＲＮＮ２００の内部の状態を表すコンカレントＣｔとしてフィードバックされている。
【０１７８】
中間層２０２のニューロンは、入力されたデータに対して重み付け加算処理を行い、順次後段に出力する処理を実行する。すなわち、データｘｔ，Ｘｔ，ｃｔに対して所定の重み付け係数に対する演算処理（非線形関数に基づく演算処理）を行った後、出力層２０３に出力する。
【０１７９】
出力層２０３を構成する一部のニューロン２０３−１は、入力データに対応するデータｘ＊ｔ＋１を出力する。また、ＲＮＮ２００は、バックプロパケーションによる学習のための演算器２２１を有している。演算部２２２は、ＲＮＮ２００に対する重み付け係数の設定処理を行う。
【０１８０】
本具体例では、このリカレント型ニューラルネットワークをロボット装置１０１と動作パターン蓄積サーバ１０２との間に構築することにより、ネットワーク１０３に接続されるロボット装置間で動作パターンを共有できる。例えば、歩行動作であれば、ロボット装置の足底部が接する平面の違い、例えば、絨毯、畳、床、土等といった歩行条件に応じた歩行動作パターンを効率的に学習できる。
【０１８１】
以上、本発明をエンターテインメントロボット（疑似ペットとしてのロボット装置）に適用した場合について説明したが、本発明は、これに限らず、例えば、音声認識装置を搭載した音声対話システムそのほかに広く適用することが可能である。また、本発明は、現実世界のロボット装置だけでなく、例えば、液晶ディスプレイ等の表示装置に表示される仮想的なロボット装置にも適用可能である。
【０１８２】
なお、上述した一連の処理をＣＰＵ１０Ａにプログラムを実行させることにより行うようにしたが、一連の処理は、それ専用のハードウェアによって行うことも可能である。
【０１８３】
ここで、プログラムは、予めメモリ１０Ｂ（図３）に記憶させておくほか、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＭＯ（Ｍａｇｎｅｔｏ  ｏｐｔｉｃａｌ）ディスク，ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的或いは永続的に格納（記録）しておくことができる。そして、このようなリムーバブル記録媒体を、いわゆるパッケージソフトウェアとして提供し、ロボット装置（メモリ１０Ｂ）にインストールするようにすることができる。
【０１８４】
また、プログラムは、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、無線で転送したり、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介して、有線で転送し、メモリ１０Ｂにインストールすることができる。
【０１８５】
この場合、プログラムがバージョンアップされたとき等に、そのバージョンアップされたプログラムを、メモリ１０Ｂに、容易にインストールすることができる。
【０１８６】
なお、上述した例において、ＣＰＵ１０Ａに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的或いは個別に実行される処理（例えば、並列処理或いはオブジェクトによる処理）も含むものである。プログラムは、１のＣＰＵにより処理されるものであってもよいし、複数のＣＰＵによって分散処理されるものであってもよい。
【０１８７】
図４の音声認識部５０Ａは、専用のハードウェアにより実現することもできるし、ソフトウェアにより実現することもできる。音声認識部５０Ａをソフトウェアによって実現する場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０１８８】
なお、本発明は上述した具体例のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、ロボット装置１は、４足歩行タイプのロボット装置であってもよい。
【０１８９】
【発明の効果】
以上詳細に説明したように、本発明に係るロボット装置の動作パターン共有システムは、ロボット装置が新たに学習した動作パターンを新規動作パターンとして動作パターン蓄積装置に送信する、及び動作パターン蓄積装置に蓄積された動作パターンを取得して使用することにより、個々のロボット装置が収集及び学習した動作パターンを共有でき、ロボット装置の学習領域の範囲が拡がり、学習速度が向上する。
【０１９０】
また、本発明に係る動作パターン共有方法によれば、個々のロボット装置が収集及び学習した動作パターンを共有でき、ロボット装置の学習領域の範囲が拡がり、学習速度が向上する。
【０１９１】
また、本発明に係るロボット装置は、動作パターンを共有できるため、学習領域の範囲が拡がり学習速度が向上する。
【図面の簡単な説明】
【図１】本発明の具体例として示す動作パターン共有システムの構成を説明する概略図である。
【図２】本発明の具体例として示すロボット装置の外観斜視図である。
【図３】上記ロボット装置の電気的な構成を説明する構成図である。
【図４】上記ロボット装置のコントローラの機能を説明する構成図である。
【図５】上記動作パターン共有システムにおけるロボット装置のコントローラ及び動作パターン共有サーバを具体的に説明する構成図である。
【図６】上記ロボット装置の辞書記憶部に記憶される単語辞書を説明する図である。
【図７】上記ロボット装置の文法記憶部に記憶される文法規則を説明する図である。
【図８】未登録語のＩＤ、音韻系列、及び特徴ベクトル系列をそれぞれ対応付けして一時記憶する特徴ベクトルバッファを説明する図である。
【図９】スコアシート記憶部に記憶されるスコアシートを説明する図である。
【図１０】上記動作パターン共有システムにおける未登録語の登録語処理を説明するフローチャートである。
【図１１】上記動作パターン共有システムにおいて、動作パターン蓄積サーバにおいて行われる未登録語の登録処理を説明するフローチャートである。
【図１２】上記図１１のステップＳ１７のクラスタ分割処理を説明するフローチャートである。
【図１３】未登録語の発話を行って得られたクラスタリング結果を説明する図である。
【図１４】リカレント型ニューラルネットワークの構成例を説明する図である。
【符号の説明】
１  ロボット装置、１９  ネットワークコントローラ、２１  ＡＤ変換部、２２  特徴抽出部、２３  マッチング部、２４  音響モデル記憶部、２５  辞書記憶部、２６  文法記憶部、２７  未登録語区間処理部、３１  ネットワークコントローラ、３２  特徴ベクトルバッファ、３３  クラスタリング部、３４  スコアシート記憶部、３５  メンテナンス部、１００  動作パターン共有システム、１０１  ロボット装置、１０２  動作パターン蓄積サーバ、１０３  ネットワーク
【図１】
2004309523.tif 000008
【図２】
2004309523.tif 000009
【図３】
2004309523.tif 000010
【図４】
2004309523.tif 000011
【図５】
2004309523.tif 000012
【図６】
2004309523.tif 000013
【図７】
2004309523.tif 000014
【図８】
2004309523.tif 000015
【図９】
2004309523.tif 000016
【図１０】
2004309523.tif 000017
【図１１】
2004309523.tif 000018
【図１２】
2004309523.tif 000019
【図１３】
2004309523.tif 000020
【図１４】
2004309523.tif 000021