JP2004309523A - ロボット装置の動作パターン共有システム、ロボット装置の動作パターン共有方法、及びロボット装置 - Google Patents
ロボット装置の動作パターン共有システム、ロボット装置の動作パターン共有方法、及びロボット装置 Download PDFInfo
- Publication number
- JP2004309523A JP2004309523A JP2003098634A JP2003098634A JP2004309523A JP 2004309523 A JP2004309523 A JP 2004309523A JP 2003098634 A JP2003098634 A JP 2003098634A JP 2003098634 A JP2003098634 A JP 2003098634A JP 2004309523 A JP2004309523 A JP 2004309523A
- Authority
- JP
- Japan
- Prior art keywords
- operation pattern
- external information
- robot
- pattern
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Manipulator (AREA)
- Toys (AREA)
Abstract
【課題】動作パターンの学習領域を拡げ学習速度を向上する。
【解決手段】コントローラ10において、未登録語区間処理部27は、特徴抽出部22から供給される特徴ベクトルの系列(特徴ベクトル系列)を一時記憶すし、マッチング部23から未登録語の音声区間と音韻系列を受信すると、その音声区間における音声の特徴ベクトル系列を一時記憶している特徴ベクトル系列から検出し、マッチング部23からの音韻系列(未登録語)に、ユニークなID(Identification)を付し、未登録語の音韻系列と、その音声区間における特徴ベクトル系列とともに、ロボットIDを付加して動作パターン蓄積サーバ102の特徴ベクトルバッファ32に供給する。
【選択図】 図5
【解決手段】コントローラ10において、未登録語区間処理部27は、特徴抽出部22から供給される特徴ベクトルの系列(特徴ベクトル系列)を一時記憶すし、マッチング部23から未登録語の音声区間と音韻系列を受信すると、その音声区間における音声の特徴ベクトル系列を一時記憶している特徴ベクトル系列から検出し、マッチング部23からの音韻系列(未登録語)に、ユニークなID(Identification)を付し、未登録語の音韻系列と、その音声区間における特徴ベクトル系列とともに、ロボットIDを付加して動作パターン蓄積サーバ102の特徴ベクトルバッファ32に供給する。
【選択図】 図5
Description
【0001】
【発明の属する技術分野】
本発明は、ロボット装置の動作パターン共有システム、動作パターン共有方法、及びこの方法に基づいて動作パターンを互いに共有するロボット装置に関する。
【0002】
【従来の技術】
最近では、人間のパートナーとして生活を支援する、すなわち住環境そのほかの日常生活上の様々な場面における人的活動を支援する実用ロボット装置の開発が進められている。このような実用ロボット装置は、産業用ロボット装置とは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように4足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット装置、或いは足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット装置(Humanoid Robot)等の脚式移動ロボット装置は、既に実用化されつつある。これらの脚式移動ロボット装置は、動物や人間により近い身体的形状を有する程、動物や人間に近い動作が実現でき、産業用ロボット装置と比較してエンターテインメント性を重視した様々な動作を行うことができる。そのため、エンターテインメントロボット装置と呼称されることがある。エンターテインメントロボット装置は、他のロボット装置や人間とコミュニケーションを交わしたり、身振り・手振りで内部状態を表現したりできる。
【0003】
このようなロボット装置におけるエンターテインメント性を重視した様々な動作は、動作データベース等によって予め用意されていたり、ロボット装置自身が新規動作パターンを学習して新たに追加できるようになっている。
【0004】
例えば、会話動作(音声認識)を例に挙げると、ロボット装置は、音声認識の対象とする単語が登録された辞書を用意しており、これを参照して外部から得た発話を音声認識している。しかし、音声認識において音声認識の対象となり得る単語は、辞書に登録された単語(以下、適宜、登録語という)だけであって、辞書に登録されていない単語、つまりロボット装置自身が知らない単語は認識できない。
【0005】
辞書に登録されていない語彙を未登録語(Out Of Vocablary;OOV)とすると、従来の音声認識では、ユーザの発話に未登録語が含まれる場合、この未登録語が辞書に登録されて登録語の範囲で認識されるため、未登録語は、誤認識されてしまう。さらに未登録語が誤認識されると、この誤認識結果が未登録語の前後の単語の認識に影響し、未登録語の前後の単語等も誤認識されることがあった。
【0006】
そこで、未登録語の誤認識を解消するために、種々の方法が提案されている。例えば、未登録語を検出するためのガーベジモデルと、母音等の幾つかの音素毎にクラスタリングされたHMM(HiddenMarkov Model)とを同時に用い、未登録語に許可する音韻系列を制限することによって、未登録語の検出を、そのための計算量を低減して行う音声認識装置も提供されている(例えば、特許文献1参照。)。
【0007】
また、データベースにない未登録語について、単語の概念に基づいてデータベースにある単語との間の類似度を計算し、未登録語を含む単語の集合について、適切な並びの単語列を構成して出力する情報処理装置が提供されている(例えば、特許文献2参照。)。
【0008】
さらに、単語の音声区間に対応する音韻系列を検出し、コンフュージョンマトリクス(confusion matrix)によって、音声的に近い音韻系列を削除することにより、効果的に、異音(variants)を含む辞書を構成する方法も開示されている(例えば、非特許文献1参照。)。
【0009】
また、複数の音声サンプルから音韻系列を推定し、未知語(未登録語)を辞書に登録する際の音韻系列の推定精度を向上させる方法が開示されている(例えば、非特許文献2参照。)。
【0010】
さらには、これら従来例において問題点となり得る、登録語辞書の大規模化を回避して、未登録語の辞書への登録を容易に行えるようにした技術も開示されている(例えば、特許文献3参照。)。
【0011】
【特許文献1】
特開平9−81181号公報
【特許文献2】
特開平13−75964号公報
【特許文献3】
特開2002−358095号公報
【非特許文献1】
Dictionary Learning: Performance Through Consistency”, Tilo Sloboda, Proceedings of ICASSP 95, vol. 1 pp.453−456, 1995
【非特許文献2】
「単語発声の複数サンプルを利用した未知語の音韻系列の推定」、伊藤克亘 他、電子情報通信学会論文誌、Vol. J83−D−II No. 11 pp.2152−2159,
【0012】
【発明が解決しようとする課題】
ところが、未登録語を次々学習して登録し、新規語として登録語データベースに追加する方法の場合、あるロボット装置が単体で未登録語を収集するには時間がかかり辞書構築の効率が悪い、例えば、家庭、店舗等の特定環境下で使用されるロボット装置であれば、辞書に格納される語彙が限定されてしまう等の問題点があった。
【0013】
また、動作パターンのほかの例としてロボット装置の歩行動作が挙げられる。この場合、ロボット装置は、足底部が接する平面の違い、例えば、絨毯、畳、床、土等に応じて歩行動作を変えているが、このような動作情報も音声認識の場合と同様に新規歩行動作パターンを登録する(学習する)ようにしても、使用環境に応じて歩行パターンが限定されてしまう。
【0014】
そこで、本発明は、このような状況に鑑みてなされたものであり、個々のロボット装置の動作パターンの学習領域を拡げ学習速度を向上する動作パターン共有システム、ロボット装置の動作パターンの学習領域を拡げ学習速度を向上するための動作パターン共有方法、及びこの方法によって動作パターンを共有するロボット装置を提供することを目的とする。
【0015】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係るロボット装置の動作パターン共有システムは、外部情報及び/又は内部状態に基づく自律的動作を実行する複数のロボット装置と、外部情報に応じたロボット装置の動作パターンを蓄積する動作パターン蓄積装置とが互いに接続され、ロボット装置の各々は、外部情報に基づく動作のうち新たに学習した動作パターンを新規動作パターンとして動作パターン蓄積装置に送信する、及び動作パターン蓄積装置に蓄積された動作パターンを取得して使用することを特徴とする。
【0016】
ここで、複数のロボット装置の各々は、外部情報を取得する外部情報取得手段と、外部情報に基づく動作パターンを予め記憶した動作記憶手段と、取得された外部情報に応じて動作記憶手段に記憶された動作パターンから動作パターンを選択する動作選択手段と、取得した外部情報と動作記憶手段に予め記憶された情報とを比較する比較手段と、動作パターン蓄積装置との間で通信する通信制御手段と、外部情報に基づく動作を生成する動作生成手段を備え、取得した外部情報が比較手段によって動作記憶手段に記憶されていないと判断された場合、通信制御手段は、取得した外部情報と該外部情報に基づいて生成した動作とを新規動作パターンとして動作パターン蓄積装置に対して送信することを特徴とする。
【0017】
また、複数のロボット装置の各々は、動作パターン蓄積装置に蓄積された動作パターンを抽出して動作記憶手段に記憶することができる。
【0018】
また、動作パターン蓄積装置は、動作記憶手段に新規動作パターンをロボット装置毎の認証情報と対応付けて記憶することが好ましい。
【0019】
ここで、ロボット装置の各々と動作パターン蓄積装置は、コンピュータネットワークを介して互いに接続されていることが好ましい。
【0020】
上述した目的を達成するために、本発明に係るロボット装置の動作パターン共有方法は、外部情報及び/又は内部状態に基づく自律的動作を実行する複数のロボット装置の動作パターンを複数のロボット装置間にて共有して保有する動作パターン共有方法であって、外部情報に基づく動作のうちロボット装置の各々において新たに学習された動作パターンを新規動作パターンとして蓄積する動作パターン蓄積工程と、動作パターン蓄積工程において蓄積された動作パターンを抽出する工程とを有することを特徴とする。
【0021】
また、複数のロボット装置の各々における処理として、外部情報を取得する外部情報取得工程と、取得した外部情報と動作記憶手段に予め記憶された外部情報に基づく動作パターンとを比較する比較工程と、外部情報に応じて動作記憶手段から動作パターンを選択する動作選択工程と、外部情報に応じて動作を生成する動作生成工程とを有し、比較工程において、取得した外部情報が動作記憶手段に記憶されていると判断された場合、動作選択工程にて取得された外部情報に応じて動作パターンを選択し、比較工程において、取得した外部情報が動作記憶手段に記憶されていないと判断された場合、動作生成工程にて動作パターンを生成し、取得した外部情報と該外部情報に基づいて生成した動作とを新規動作パターンとして蓄積する動作パターン蓄積工程を有する。
【0022】
動作パターン蓄積工程では、動作記憶手段に新規動作パターンをロボット装置毎の認証情報と対応付けて記憶することが好ましい。
【0023】
上述した目的を達成するために、本発明に係るロボット装置は、外部情報及び/又は内部状態に基づく自律的動作を実行するロボット装置において、外部情報に基づく動作のうち新たに学習した動作パターンを新規動作パターンとして他のロボット装置と共有する外部動作パターン蓄積手段に送信する、及び該外部動作パターン蓄積手段に蓄積された動作パターンを取得して使用することを特徴とする。
【0024】
ここで、このロボット装置は、外部情報を取得する外部情報取得手段と、外部情報に基づく動作パターンを予め記憶した動作記憶手段と、取得された外部情報に応じて動作記憶手段に記憶された動作パターンから動作パターンを選択する動作選択手段と、取得した外部情報と動作記憶手段に予め記憶された情報とを比較する比較手段と、外部動作パターン蓄積手段との間で通信する通信制御手段と、外部情報に基づく動作を生成する動作生成手段を備え、取得した外部情報が比較手段によって動作記憶手段に記憶されていないと判断された場合、通信制御手段は、取得した外部情報と該外部情報に基づいて生成した動作とを新規動作パターンとして動作パターン蓄積手段に送信する。
【0025】
また、このロボット装置は、外部動作パターン蓄積手段に蓄積された動作パターンを抽出して動作記憶手段に記憶する。外部動作パターン蓄積手段では、動作記憶手段に新規動作パターンをロボット装置毎の認証情報と対応付けて記憶している。また、このロボット装置は、外部動作パターン蓄積手段とコンピュータネットワークを介して接続される。
【0026】
【発明の実施の形態】
本発明は、ロボット装置が外部情報に基づく動作のうち新たに学習した動作パターンを新規動作パターンとして動作パターン蓄積装置に送信し記憶することにより、複数のロボット装置において学習された動作パターンを共有し、場合によっては、個々のロボット装置が動作パターン蓄積装置に蓄積された動作パターンを取得して使用できるようにしたことにより、ロボット装置の行動学習速度を向上するとともに学習領域を拡げることができるシステムである。
【0027】
以下、本発明の具体例について、図面を参照して詳細に説明する。図1は、本発明の一具体例を表す動作パターン共有システム100を示す。図2は、このシステムに適用される2足歩行タイプのロボット装置を示している。
【0028】
動作パターン共有システム100は、外部情報及び/又は内部状態に基づく自律的動作を実行する複数のロボット装置1011,1012,・・・,101nと、これらロボット装置の動作パターンを蓄積する動作パターン蓄積サーバ102とを備え、これらがネットワーク103によって接続されている。ネットワーク103は、本具体例では、有線LAN、無線LAN、赤外線通信手段、或いはブルートゥース(登録商標)等を用いて構築される無線通信ネットワークである。いわゆるインターネットのような大規模ネットワークであってもよい。このシステムを構成する各ロボット装置、動作蓄積サーバとの間の動作パターン登録処理に関しては後述する。
【0029】
図2に示すロボット装置1は、図1のロボット装置101に相当するものである。このロボット装置1は、体幹部ユニット2の所定の位置に頭部ユニット3が連結されるとともに、左右2つの腕部ユニット4R/Lと、左右2つの脚部ユニット5R/Lが連結されて構成されている(ただし、R及びLの各々は、右及び左の各々を示す接尾辞である。以下において同じ。)。この人間型のロボット装置1は、住環境そのほかの日常生活上の様々な場面における人的活動を支援する実用ロボット装置であり、内部状態(怒り、悲しみ、喜び、楽しみ等)に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボット装置である。
【0030】
図3に示すように体幹部ユニット2には、ロボット装置全体の制御を行うコントローラ10、ロボット装置の動力源となるバッテリ11、並びにバッテリセンサ12及び熱センサ13からなる内部センサ部14などが収納されている。
【0031】
頭部ユニット3には、「耳」に相当するマイク(マイクロフォン)15、「目」に相当するCCD(Charge Coupled Device)カメラ16、触覚に相当するタッチセンサ17、「口」に相当するスピーカ18などが、それぞれ所定位置に配設されている。
【0032】
腕部ユニット4R/L、脚部ユニット5R/Lそれぞれの関節部分や、腕部ユニット4R/L、脚部ユニット5R/Lと体幹部ユニット2の連結部分、頭部ユニット3と体幹部ユニット2の連結部分などには、図3に示すように、それぞれアクチュエータ3A1〜3AK、4RA1〜4RAK、4LA1〜4LAK、5RA1〜5RAK、5LA1〜5LAKが配設されている。
【0033】
頭部ユニット3におけるマイク15は、ユーザからの発話を含む周囲の音声(音)を集音し、得られた音声信号を、コントローラ10に送出する。CCDカメラ16は、周囲の状況を撮像し、得られた画像信号をコントローラ10に送出する。
【0034】
タッチセンサ17は、例えば、頭部ユニット3の上部に設けられており、ユーザからの「なでる」や「たたく」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を圧力検出信号としてコントローラ10に送出する。
【0035】
体幹部ユニット2におけるバッテリセンサ12は、バッテリ11の残量を検出し、その検出結果を、バッテリ残量検出信号としてコントローラ10に送出する。熱センサ13は、ロボット装置内部の熱を検出し、その検出結果を、熱検出信号としてコントローラ10に送出する。
【0036】
また、ロボット装置1は、ネットワークコントローラ19を備えている。ネットワークコントローラ19は、ネットワーク103に対するインターフェイスを備えており、データをネットワーク103に適応した伝送形式に変換して送信する。また、ネットワーク103を介してデータを受信する。
【0037】
コントローラ10は、CPU(Central Processing Unit)10Aやメモリ10B等を内蔵しており、上述の構成を統括して管理し、また、CPU10Aにおいてメモリ10Bに記憶された制御プログラムが実行されることにより各種の処理を行う。
【0038】
処理の一例としては、コントローラ10は、マイク15や、CCDカメラ16、タッチセンサ17、バッテリセンサ12、熱センサ13から与えられる音声信号、画像信号、圧力検出信号、バッテリ残量検出信号、熱検出信号に基づいて、周囲の状況やユーザからの指令、ユーザからの働きかけなどの有無を判断する。
【0039】
さらに、コントローラ10は、この判断結果等に基づいて続く行動を決定し、その決定結果に基づいて、アクチュエータ3A1〜3AK、4RA1〜4RAK、4LA1〜4LAK、5RA1〜5RAK、5LA1〜5LAKのうちの必要なものを駆動させる。これにより頭部ユニット3を上下左右に動かしたり、各腕部ユニット、各脚部ユニットを駆動して歩行させるなどの行動を行わせる。
【0040】
また、コントローラ10は、必要に応じて合成音を生成し、スピーカ18に供給して出力させたり、ロボット装置の「目」の位置に設けられた図示しないLED(Light Emitting Diode)を点灯、消灯又は点滅させる。
【0041】
また、本具体例では、コントローラ10は、上述した役割のほかに、外部情報や外部情報に応じて生成した動作等を必要に応じてネットワークコントローラ19及びネットワーク103を介して動作パターン蓄積サーバ102に対して送信したり、動作パターン蓄積サーバ102から動作パターンを取得したする処理を実行している。このようにして、ロボット装置1は、外部情報及び/又は内部状態に基づいて自律的動作を実行することができる。
【0042】
図4では、このロボット装置1のコントローラ10の機能的構成例について説明する。なお、図4に示すコントローラ10の機能的構成は、CPU10Aがメモリ10Bに記憶された制御プログラムを実行することで実現される。
【0043】
コントローラ10は、特定の外部状態を認識するセンサ入力処理部50、センサ入力処理部50の認識結果を累積して、感情や、本能、成長の状態を表現するモデル記憶部51、センサ入力処理部50の認識結果等に基づいて、続く行動を決定する行動決定機構部52、行動決定機構部52の決定結果に基づいて、実際にロボット装置に行動を起こさせる姿勢遷移機構部53、各アクチュエータを駆動制御する制御機構部54、合成音を生成する音声合成部55から構成され、ネットワークコントローラ19に接続されている。
【0044】
センサ入力処理部50は、マイク15や、CCDカメラ16、タッチセンサ17等から与えられる音声信号、画像信号、圧力検出信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報をモデル記憶部51及び行動決定機構部52に通知する。
【0045】
センサ入力処理部50は、音声認識のための構成として音声認識部50Aを有している。音声認識部50Aは、マイク15から与えられる音声信号について音声認識を行い、その音声認識結果として、例えば、「歩け」、「ボールを追いかけろ」といった指令や文章の発話を状態認識情報としてモデル記憶部51及び行動決定機構部52に通知する。
【0046】
また、センサ入力処理部50は、視覚認識系として画像認識部50Bを有している。画像認識部50Bは、CCDカメラ16から与えられる画像信号を用いて画像認識処理を行い、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直なかつ所定高さ以上の平面」等を検出したときには、「ボールがある」や「壁がある」といった画像認識結果を状態認識情報としてモデル記憶部51及び行動決定機構部52に通知する。
【0047】
また、センサ入力処理部50は、触覚認識系として圧力処理部50Cを有している。圧力処理部50Cは、タッチセンサ17から与えられる圧力検出信号を処理する。圧力処理部50Cは、その処理の結果、所定の閾値以上かつ短時間の圧力を検出したときには、「たたかれた(しかられた)」と認識し、所定の閾値未満で、かつ長時間の圧力を検出したときには、「なでられた(ほめられた)」と認識する。また、この認識結果を状態認識情報としてモデル記憶部51及び行動決定機構部52に通知する。
【0048】
モデル記憶部51は、ロボット装置の感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶、管理している。
【0049】
ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態(度合い)を、所定の範囲(例えば、−1.0乃至1.0等)の値によってそれぞれ表し、センサ入力処理部50からの状態認識情報や時間経過等に基づいて、その値を変化させる。本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態(度合い)を所定の範囲の値によってそれぞれ表し、センサ入力処理部50からの状態認識情報や時間経過等に基づいて、その値を変化させる。成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態(度合い)を所定の範囲の値によってそれぞれ表し、センサ入力処理部50からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【0050】
モデル記憶部51は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を状態情報として行動決定機構部52に送出する。
【0051】
なお、モデル記憶部51には、センサ入力処理部50から状態認識情報が供給されるほか、行動決定機構部52から、ロボット装置の現在又は過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部51は、同一の状態認識情報が与えられても、行動情報が示すロボット装置の行動に応じて、異なる状態情報を生成するようになっている。
【0052】
例えば、ロボット装置がユーザに挨拶をし、ユーザに頭をなでられた場合には、ユーザに挨拶をしたという行動情報と、頭をなでられたという状態認識情報とが、モデル記憶部51に与えられ、この場合、モデル記憶部51では、「うれしさ」を表す感情モデルの値が増加される。
【0053】
一方、ロボット装置が、何らかの仕事を実行中に頭をなでられた場合には、仕事を実行中であるという行動情報と、頭をなでられたという状態認識情報とが、モデル記憶部51に与えられ、この場合、モデル記憶部51では、「うれしさ」を表す感情モデルの値は変化されない。
【0054】
このように、モデル記憶部51は、状態認識情報だけでなく、現在又は過去のロボット装置の行動を示す行動情報も参照しながら、感情モデルの値を設定する。これにより、例えば、何らかのタスクを実行中に、ユーザが、いたずらするつもりで頭をなでたときに、「うれしさ」を表す感情モデルの値を増加させるような、不自然な感情の変化が生じることを回避することができる。
【0055】
なお、モデル記憶部51は、本能モデル及び成長モデルについても、感情モデルにおける場合と同様に、状態認識情報及び行動情報の両方に基づいて、その値を増減させるようになっている。また、モデル記憶部51は、感情モデル、本能モデル、成長モデルそれぞれの値を、他のモデルの値にも基づいて増減させるようになっている。
【0056】
行動決定機構部52は、センサ入力処理部50からの状態認識情報や、モデル記憶部51からの状態情報、時間経過等に基づいて次の行動を決定し、決定された行動の内容を行動指令情報として姿勢遷移機構部53に送出する。
【0057】
すなわち、行動決定機構部52は、ロボット装置がとり得る行動をステート(状態)(state)に対応させた有限オートマトンをロボット装置の行動を規定する行動モデルとして管理しており、この行動モデルとしての有限オートマトンにおけるステートを、センサ入力処理部50からの状態認識情報や、モデル記憶部51における感情モデル、本能モデル、又は成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を、次にとるべき行動として決定する。
【0058】
ここで、行動決定機構部52は、所定のトリガ(trigger)があったことを検出すると、ステートを遷移させる。すなわち、行動決定機構部52は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部51から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下又は以上になったとき等に、ステートを遷移させる。
【0059】
なお、行動決定機構部52は、上述したように、センサ入力処理部50からの状態認識情報だけでなく、モデル記憶部51における感情モデルや、本能モデル、成長モデルの値等にも基づいて、行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても、感情モデルや、本能モデル、成長モデルの値(状態情報)によっては、ステートの遷移先は異なるものとなる。
【0060】
その結果、行動決定機構部52は、例えば、状態情報が、「怒っていない」こと、及び「お腹がすいていない」ことを表している場合において、状態認識情報が「目の前に手のひらが差し出された」ことを表しているときには、目の前に手のひらが差し出されたことに応じて「握手」という行動をとらせる行動指令情報を生成し、これを姿勢遷移機構部53に送出する。
【0061】
また、行動決定機構部52は、例えば、状態情報が、「怒っている」ことを表している場合において、状態認識情報が、「目の前に手のひらが差し出された」ことを表しているときには、状態情報が「お腹がすいている」ことを表していても、また、「お腹がすいていない」ことを表していても「ぷいと横を向く」ような行動を行わせるための行動指令情報を生成し、これを姿勢遷移機構部53に送出する。
【0062】
行動決定機構部52では、上述したように、ロボット装置の頭部や手足等を動作させる行動指令情報のほか、ロボット装置に発話を行わせる行動指令情報も生成される。ロボット装置に発話を行わせる行動指令情報は、音声合成部55に供給されるようになっており、音声合成部55に供給される行動指令情報には、音声合成部55に生成させる合成音に対応するテキスト等が含まれる。
【0063】
音声合成部55は、行動決定部52から行動指令情報を受信すると、その行動指令情報に含まれるテキストに基づいて合成音を生成し、スピーカ18に供給して出力する。これにより、スピーカ18からは、例えば、ロボット装置の鳴き声、さらには、「お腹がすいた」等のユーザへの各種の要求、「何?」等のユーザの呼びかけに対する応答その他の音声出力が行われる。
【0064】
姿勢遷移機構部53は、行動決定機構部52から供給される行動指令情報に基づいて、ロボット装置の姿勢を現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これを制御機構部54に送出する。
【0065】
制御機構部54は、姿勢遷移機構部53からの姿勢遷移情報にしたがって、各アクチュエータを駆動するための制御信号を生成し、これを、各アクチュエータに送出する。これにより、各アクチュエータは、制御信号にしたがって駆動し、ロボット装置の動作が表出される。
【0066】
続いて、この動作パターン共有システム100においてロボット装置1(101)が音声認識動作を行う場合について説明する。音声認識動作を実行するロボット装置におけるコントローラ10及び動作パターン共有サーバ102の機能的構成例を図5に示す。
【0067】
マイク15から入力した音声信号は、AD(Analog Digital)変換部21に供給される。AD変換部21は、マイク15からのアナログ信号である音声信号をサンプリング、量子化し、ディジタル信号である音声データにA/D変換する。この音声データは、特徴抽出部22に供給される。
【0068】
特徴抽出部22は、そこに入力される音声データについて、適当なフレーム毎に、例えば、MFCC(Mel Frequency Cepstrum Coefficient)分析を行い、その分析の結果得られるMFCCを、特徴ベクトル(特徴パラメータ)として、マッチング部23と未登録語区間処理部27に出力する。なお、特徴抽出部22では、その他、例えば、線形予測係数、ケプストラム係数、線スペクトル対、所定の周波数帯域毎のパワー(フィルタバンクの出力)等を、特徴ベクトルとして抽出することが可能である。
【0069】
マッチング部23は、特徴抽出部22からの特徴ベクトルを用いて、音響モデル記憶部24、辞書記憶部25、及び文法記憶部26を必要に応じて参照しながら、マイク15に入力された音声(入力音声)を、例えば、連続分布HMM(Hidden Markov Model)法に基づいて音声認識する。
【0070】
音響モデル記憶部24は、音声認識する音声の言語における個々の音素や、音節、音韻などのサブワードについて音響的な特徴を表す音響モデル(例えば、HMMのほか、DP(Dynamic Programing)マッチングに用いられる標準パターン等を含む)を記憶している。なお、ここでは、連続分布HMM法に基づいて音声認識を行うため、音響モデルとしてHMM(Hidden MarkovModel)を用いる。
【0071】
辞書記憶部25は、認識対象の各単語毎にクラスタリングされた、その単語の発音に関する情報(音韻情報)と、その単語の見出しとが対応付けられた単語辞書を記憶している。
【0072】
辞書記憶部25に記憶された単語辞書を図6に示す。単語辞書には、単語の見出しと、その音韻系列とが対応付けられており、音韻系列は、対応する単語毎にクラスタリングされている。図6の単語辞書では、1つのエントリ(図6の1行)が1つのクラスタに相当する。
【0073】
なお、図6では、見出しは、ローマ字と日本語(仮名漢字)で表してあり、音韻系列は、ローマ字で表してある。ただし、音韻系列における「N」は、撥音「ん」を表す。また、図6では、1つのエントリに、1つの音韻系列を記述してあるが、1つのエントリには、複数の音韻系列を記述することも可能である。
【0074】
文法記憶部26は、辞書記憶部25の単語辞書に登録されている各単語が、どのように連鎖する(つながる)かを記述した文法規則を記憶している。
【0075】
ここで、図7は、文法記憶部26に記憶された文法規則を示している。なお、図7の文法規則は、EBNF(Extended Backus Naur Form)で記述されている。
【0076】
図7においては、行頭から、最初に現れる「;」までが、1つの文法規則を表している。また、先頭に「$」が付されたアルファベット(列)は、変数を表し、「$」が付されていないアルファベット(列)は、単語の見出し(図6に示したローマ字による見出し)を表す。さらに、[]で囲まれた部分は、省略可能であることを表し、「|」は、その前後に配置された見出しの単語(或いは変数)のうちのいずれか一方を選択することを表す。
【0077】
従って、図7において、例えば、第1行(上から1行目)の文法規則「$col =[kono | sono] iro wa;」は、変数$colが、「このいろ(色)は」又は「そのいろ(色)は」という単語列であることを表す。
【0078】
なお、図7に示した文法規則においては、変数$silと$garbageが定義されていないが、変数$silは、無音の音響モデル(無音モデル)を表し、変数$garbageは、基本的には、音韻どうしの間での自由な遷移を許可したガーベジモデルを表す。
【0079】
マッチング部23は、辞書記憶部25の単語辞書を参照することにより、音響モデル記憶部24に記憶されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成する。さらに、マッチング部23は、幾つかの単語モデルを、文法記憶部26に記憶された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、特徴ベクトルに基づき、連続分布HMM法によって、マイク15に入力された音声を認識する。
【0080】
すなわち、マッチング部23は、特徴抽出部22が出力する時系列の特徴ベクトルが観測されるスコア(尤度)が最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列の見出しを、音声の認識結果として出力する。
【0081】
より具体的には、マッチング部23は、接続された単語モデルに対応する単語列について、各特徴ベクトルの出現確率(出力確率)を累積し、その累積値をスコアとして、そのスコアを最も高くする単語列の見出しを、音声認識結果として出力する。
【0082】
以上のように、マイク15に入力された音声の認識結果は、状態認識情報としてモデル記憶部51及び行動決定機構部52に出力される。
【0083】
ここで、図7の具体例では、第9行(上から9行目)に、ガーベジモデルを表す変数$garbageを用いた文法規則(以下、適宜、未登録語用規則という)「$pat1 = $color1 $garbage $color2;」があるが、マッチング部23は、この未登録語用規則が適用された場合には、変数$garbageに対応する音声区間を、未登録語(Out Of Vocablary)の音声区間として検出する。さらに、マッチング部23は、未登録語用規則が適用された場合における変数$garbageが表すガーベジモデルにおける音韻の遷移としての音韻系列を未登録語の音韻系列として検出する。そして、マッチング部23は、未登録語用規則が適用された音声認識結果が得られた場合に検出される未登録語の音声区間と音韻系列を未登録語区間処理部27に供給する。
【0084】
なお、上述の未登録語用規則「$pat1 = $color1 $garbage $color2;」によれば、変数$color1で表される、単語辞書に登録されている単語(列)の音韻系列と、変数$color2で表される、単語辞書に登録されている単語(列)の音韻系列との間にある1つの未登録語が検出されるが、本発明は、発話に、複数の未登録語が含まれている場合や、未登録語が、単語辞書に登録されている単語(列)の間に挟まれていない場合であっても適用可能である。
【0085】
未登録語区間処理部27は、特徴抽出部22から供給される特徴ベクトルの系列(特徴ベクトル系列)を一時記憶する。さらに、未登録語区間処理部27は、マッチング部23から未登録語の音声区間と音韻系列を受信すると、その音声区間における音声の特徴ベクトル系列を、一時記憶している特徴ベクトル系列から検出する。そして、未登録語区間処理部27は、マッチング部23からの音韻系列(未登録語)に、ユニークなID(Identification)を付し、未登録語の音韻系列と、その音声区間における特徴ベクトル系列とともに、動作パターン蓄積サーバ102の特徴ベクトルバッファ32に供給する。
【0086】
特徴ベクトルバッファ32は、未登録語区間処理部27からネットワーク103を介して供給される、例えば、図8に示す未登録語のID、音韻系列、及び特徴ベクトル系列をそれぞれ対応付けして一時記憶する。
【0087】
図8では、未登録語に対して、1からのシーケンシャルな数字が、IDとして付されている。従って、例えば、いま、特徴ベクトルバッファ32において、N個の未登録語のID、音韻系列、及び特徴ベクトル系列が記憶されている場合において、マッチング部23が未登録語の音声区間と音韻系列を検出すると、未登録語区間処理部27では、その未登録語に対して、N+1が、IDとして付され、特徴ベクトルバッファ32では、図9に点線で示すように、その未登録語のID、音韻系列、及び特徴ベクトル系列が記憶される。ここでは、上述の系列に対して、ネットワーク102に接続されるロボット装置のうちどのロボット装置によって登録されたかを示すロボット装置IDも付けられる。
【0088】
クラスタリング部33は、特徴ベクトルバッファ32に新たに記憶された未登録語(以下、適宜、新未登録語という)について、特徴ベクトルバッファ32に既に記憶されているほかの未登録語(以下、適宜、既記憶未登録語という)それぞれに対するスコアを計算する。
【0089】
クラスタリング部33は、新未登録語を入力音声とし、かつ、既記憶未登録語を、単語辞書に登録されている単語とみなして、マッチング部23における場合と同様にして、新未登録語について、各既記憶未登録語に対するスコアを計算する。具体的には、クラスタリング部33は、特徴ベクトルバッファ32を参照することで、新未登録語の特徴ベクトル系列を認識するとともに、既記憶未登録語の音韻系列にしたがって音響モデルを接続し、その接続された音響モデルから、新未登録語の特徴ベクトル系列が観測される尤度としてのスコアを計算する。
【0090】
なお、音響モデルは、音響モデル記憶部24に記憶されているものが用いられる。
【0091】
クラスタリング部33は、同様にして、各既記憶未登録語について、新未登録語に対するスコアも計算し、そのスコアによって、スコアシート記憶部34に記憶されたスコアシートを更新する。
【0092】
さらに、クラスタリング部33は、更新したスコアシートを参照することにより、既に求められている、未登録語(既記憶未登録語)をクラスタリングしたクラスタの中から、新未登録語を新たなメンバとして加えるクラスタを検出する。さらに、クラスタリング部33は、新未登録語を、検出したクラスタの新たなメンバとし、そのクラスタを、そのクラスタのメンバに基づいて分割し、その分割結果に基づいて、スコアシート記憶部34に記憶されているスコアシートを更新する。
【0093】
スコアシート記憶部34は、新未登録語についての、既記憶未登録語に対するスコアや、既記憶未登録語についての、新未登録語に対するスコア等が登録されたスコアシートを記憶する。
【0094】
図9には、スコアシートが示されている。スコアシートは、ロボット装置の「ロボット装置ID」、未登録語の「ID」、「音韻系列」、「クラスタナンバ」、「代表メンバID」、及び「スコア」が記述されたエントリから構成される。
【0095】
未登録語の「ID」と「音韻系列」としては、特徴ベクトルバッファ32に記憶されたものと同一のものが、クラスタリング部33によって登録される。「クラスタナンバ」は、そのエントリの未登録語がメンバとなっているクラスタを特定するための数字で、クラスタリング部33によって付され、スコアシートに登録される。「代表メンバID」は、そのエントリの未登録語がメンバとなっているクラスタを代表する代表メンバとしての未登録語のIDであり、この代表メンバIDによって、未登録語がメンバとなっているクラスタの代表メンバを認識することができる。なお、クラスタの代表メンバは、クラスタリング部33によって求められ、その代表メンバのIDが、スコアシートの代表メンバIDに登録される。「スコア」は、そのエントリの未登録語についての、他の未登録語それぞれに対するスコアであり、上述したように、クラスタリング部33によって計算される。
【0096】
例えば、いま、特徴ベクトルバッファ32において、N個の未登録語のID、音韻系列、及び特徴ベクトル系列が記憶されているとすると、スコアシートには、そのN個の未登録語のID、音韻系列、クラスタナンバ、代表メンバID、及びスコアが登録されている。
【0097】
そして、特徴ベクトルバッファ32に、新未登録語のID、音韻系列、及び特徴ベクトル系列が新たに記憶されると、クラスタリング部33では、スコアシートが、図9において点線で示すように更新される。
【0098】
すなわち、スコアシートには、新未登録語のID、音韻系列、クラスタナンバ、代表メンバID、新未登録語についての、既記憶未登録語それぞれに対するスコア(図8におけるスコアs(N+1,1),s(N+1,2),・・・,s(N+1,N))が追加される。さらに、スコアシートには、既記憶未登録語それぞれについての、新未登録語に対するスコア(図9におけるs(1,N+1),s(2,N+1),・・・,s(N,N+1))が追加される。さらに、後述するように、スコアシートにおける未登録語のクラスタナンバと代表メンバIDが、必要に応じて変更される。
【0099】
なお、図9では、IDがiの未登録語(の発話)についての、IDがjの未登録語(の音韻系列)に対するスコアを、s(i,j)として表してある。
【0100】
また、スコアシート(図9)には、IDがiの未登録語(の発話)についての、IDがiの未登録語(の音韻系列)に対するスコアs(i,i)も登録される。ただし、このスコアs(i,i)は、マッチング部23において、未登録語の音韻系列が検出されるときに計算されるため、クラスタリング部33で計算する必要はない。
【0101】
メンテナンス部35は、スコアシート記憶部34における、更新後のスコアシートに基づいて、辞書記憶部25に記憶された単語辞書を更新する。
【0102】
ここで、クラスタの代表メンバは、次のように決定される。すなわち、例えば、クラスタのメンバとなっている未登録語のうち、他の未登録語それぞれについてのスコアの総和(その他、例えば、総和を、他の未登録語の数で除算した平均値でもよい)を最大にするものが、そのクラスタの代表メンバとされる。従って、この場合、クラスタに属するメンバのメンバIDをkで表すこととすると、次式で示される値K(∈k)をIDとするメンバが、代表メンバとされることになる。
【0103】
K=maxk{Σs(k’,k)} ・・・(1)
【0104】
ただし、式(1)において、maxk{}は、{}内の値を最大にするkを意味する。また、k’は、kと同様に、クラスタに属するメンバのIDを意味する。さらに、Σは、k’をクラスタに属するメンバすべてのIDに亘って変化させての総和を意味する。
【0105】
なお、上述のように代表メンバを決定する場合、クラスタのメンバが、1又は2つの未登録語であるときには、代表メンバを決めるにあたって、スコアを計算する必要はない。すなわち、クラスタのメンバが、1つの未登録語である場合には、その1つの未登録語が代表メンバとなり、クラスタのメンバが、2つの未登録語である場合には、その2つの未登録語のうちのいずれを、代表メンバとしてもよい。
【0106】
また、代表メンバの決定方法は、上述したものに限定されるものではなく、その他、例えば、クラスタのメンバとなっている未登録語のうち、他の未登録語それぞれとの特徴ベクトル空間における距離の総和を最小にするもの等を、そのクラスタの代表メンバとすることも可能である。
【0107】
以上のように構成される音声認識部50Aでは、マイク15に入力された音声を認識する音声認識処理と、ネットワーク103を介して動作パターン蓄積サーバ102への未登録語の登録語処理が行われる。この音声認識処理を図10のフローチャートを参照して説明する。
【0108】
まず、ステップS1において、ユーザからの発話が入力される。ステップS2において、入力された音声は、マイク15及びAD変換部21を介してディジタルの音声データとされ、特徴抽出部22に供給される。特徴抽出部22は、音声データを所定のフレーム単位で音響分析することにより特徴ベクトルを抽出し、この特徴ベクトルの系列をマッチング部23及び未登録語区間処理部27に供給する。
【0109】
マッチング部23は、ステップS3において、スコア計算の結果得られるスコアに基づいて、未登録語が含まれるか否か判別する。未登録語が含まれない場合、未登録語の登録は行わない。すなわち、上述の未登録語用規則「$pat1 = $color1 $garbage $color2;」が適用されずに音声認識結果が得られた場合、処理を終了する。
【0110】
一方、ステップS3において未登録語が含まれると判別された場合、すなわち、未登録語用規則「$pat1 = $color1 $garbage $color2;」が適用されて、音声認識結果が得られた場合、ステップS4において、マッチング部23は、未登録語用規則の変数$garbageに対応する音声区間を未登録語の音声区間として検出するとともに、その変数$garbageが表すガーベジモデルにおける音韻の遷移としての音韻系列を未登録語の音韻系列として検出する。続くステップS5にて、この未登録語の音声区間と音韻系列とを未登録語区間処理部27に送る。未登録語区間処理部27は、特徴抽出部22から供給される特徴ベクトル系列を一時記憶しており、マッチング部23から未登録語の音声区間と音韻系列が供給されると、その音声区間における音声の特徴ベクトル系列を検出する。さらに、未登録語区間処理部27は、マッチング部23からの未登録語(の音韻系列)に登録語IDを付ける。
【0111】
この未登録語に関する情報(未登録語の音韻系列と、その音声区間における特徴ベクトル系列)は、ロボット装置IDとともに、ネットワークコントローラ19によってネットワーク103を介して、動作パターン蓄積サーバ102へ送られる。ここで、同時に辞書記憶部25に記憶するようにもできる(ステップS6)。
【0112】
ロボット装置1は、ステップS7において、入力した発話に対する応答を実行する。
【0113】
以上のようにして、未登録語に関する情報を動作パターン蓄積サーバ102の特徴ベクトルバッファ32に、新たな未登録語(新未登録語)のID、音韻系列、及び特徴ベクトル系列がネットワーク103を介して送られ記憶される。
【0114】
入力した音声(発話)に対して図10に示す処理を施すことによって、未知の単語(未登録語)があっても、例えば、他のロボット装置によって、動作パターン蓄積サーバ102に記憶されていれば、既知の単語として応答できる。
【0115】
一方、これを受けて動作パターン蓄積サーバ102では、未登録語の登録処理が実行される。続いて、図11に登録処理を示す。具体的には、未登録語の登録処理として、まず最初に、ステップS11において、クラスタリング部33が、特徴ベクトルバッファ32から、新未登録語のIDと音韻系列を読み出し、ステップS12に進む。
【0116】
ステップS12では、クラスタリング部33が、スコアシート記憶部34のスコアシートを参照することにより、既に求められている(生成されている)クラスタが存在するかどうかを判定する。
【0117】
ステップS12において、既に求められているクラスタが存在しないと判定された場合、すなわち、新未登録語が、初めての未登録語であり、スコアシートに、既記憶未登録語のエントリが存在しない場合、ステップS13に進み、クラスタリング部33は、その新未登録語を代表メンバとするクラスタを新たに生成し、その新たなクラスタに関する情報と、新未登録語に関する情報とを、スコアシート記憶部34のスコアシートに登録することにより、スコアシートを更新する。
【0118】
すなわち、クラスタリング部33は、特徴ベクトルバッファ32から読み出した新未登録語のID及び音韻系列を、スコアシート(図8)に登録する。さらに、クラスタリング部33は、ユニークなクラスタナンバを生成し、新未登録語のクラスタナンバとして、スコアシートに登録する。また、クラスタリング部33は、新未登録語のIDを、その新未登録語の代表メンバIDとして、スコアシートに登録する。従って、この場合は、新未登録語は、新たなクラスタの代表メンバとなる。
【0119】
なお、いまの場合、新未登録語とのスコアを計算する既記憶未登録語が存在しないため、スコアの計算は行われない。
【0120】
ステップS13の処理後は、ステップS22に進み、メンテナンス部35は、ステップS13で更新されたスコアシートに基づいて、辞書記憶部25の単語辞書を更新し、処理を終了する。
【0121】
すなわち、いまの場合、新たなクラスタが生成されているので、メンテナンス部35は、スコアシートにおけるクラスタナンバを参照し、その新たに生成されたクラスタを認識する。そして、メンテナンス部35は、そのクラスタに対応するエントリを、辞書記憶部25の単語辞書に追加し、そのエントリの音韻系列として、新たなクラスタの代表メンバの音韻系列、つまり、いまの場合は、新未登録語の音韻系列を登録する。
【0122】
一方、ステップS12において、既に求められているクラスタが存在すると判定された場合、すなわち、新未登録語が、初めての未登録語ではなく、従って、スコアシート(図9)に、既記憶未登録語のエントリ(行)が存在する場合、ステップS14に進み、クラスタリング部33は、新未登録語について、各既記憶未登録語それぞれに対するスコアを計算するとともに、各既記憶未登録語それぞれについて、新未登録語に対するスコアを計算する。
【0123】
すなわち、例えば、いま、IDが1乃至NのN個の既記憶未登録語が存在し、新未登録語のIDをN+1とすると、クラスタリング部33では、図9において点線で示した部分の新未登録語についてのN個の既記憶未登録語それぞれに対するスコアs(N+1,1),s(N+1,2),・・・,s(N+1,N)と、N個の既記憶未登録語それぞれについての新未登録語に対するスコアs(1,N+1),s(2,N+1),・・・,s(N,N+1)が計算される。なお、クラスタリング部33において、これらのスコアを計算するにあたっては、新未登録語とN個の既記憶未登録語それぞれの特徴ベクトル系列が必要となるが、これらの特徴ベクトル系列は、特徴ベクトルバッファ32を参照することで認識される。
【0124】
そして、クラスタリング部33は、計算したスコアを、新未登録語のID及び音韻系列とともに、スコアシート(図9)に追加し、ステップS15に進む。
【0125】
ステップS15では、クラスタリング部33は、スコアシート(図8)を参照することにより、新未登録語についてのスコアs(N+1,i)(i=1,2,・・・,N)を最も高く(大きく)する代表メンバを有するクラスタを検出する。すなわち、クラスタリング部33は、スコアシートの代表メンバIDを参照することにより、代表メンバとなっている既記憶未登録語を認識し、さらに、スコアシートのスコアを参照することで、新未登録語についてのスコアを最も高くする代表メンバとしての既記憶未登録語を検出する。そして、クラスタリング部33は、その検出した代表メンバとしての既記憶未登録語のクラスタナンバのクラスタを検出する。
【0126】
その後、ステップS16に進み、クラスタリング部33は、新未登録語を、ステップS15で検出したクラスタ(以下、適宜、検出クラスタという)のメンバに加える。すなわち、クラスタリング部33は、スコアシートにおける新未登録語のクラスタナンバとして、検出クラスタの代表メンバのクラスタナンバを書き込む。
【0127】
そして、クラスタリング部33は、ステップS17において、検出クラスタを、例えば、2つのクラスタに分割するクラスタ分割処理を行い、ステップS18に進む。ステップS18では、クラスタリング部33は、ステップS17のクラスタ分割処理によって、検出クラスタを2つのクラスタに分割することができたかどうかを判定し、分割することができた判定した場合、ステップS19に進む。ステップS19では、クラスタリング部33は、検出クラスタの分割により得られる2つのクラスタ(この2つのクラスタを、以下、適宜、第1の子クラスタと第2の子クラスタという)どうしの間のクラスタ間距離を求める。
【0128】
ここで、第1と第2の子クラスタどうしの間のクラスタ間距離とは、例えば、次のように定義される。
【0129】
すなわち、第1の子クラスタと第2の子クラスタの両方の任意のメンバ(未登録語)のIDを、kで表すとともに、第1と第2の子クラスタの代表メンバ(未登録語)のIDを、それぞれk1又はk2で表すこととすると、次式で表される値D(k1,k2)を、第1と第2の子クラスタどうしの間のクラスタ間距離とする。
【0130】
D(k1,k2)=maxvalk{abs(log(s(k,k1))−log(s(k,k2)))} ・・・(2)
【0131】
ただし、式(2)において、abs()は、()内の値の絶対値を表す。また、maxvalk{}は、kを変えて求められる{}内の値の最大値を表す。また、logは、自然対数又は常用対数を表す。
【0132】
いま、IDがiのメンバを、メンバ#iと表すこととすると、式(2)におけるスコアの逆数1/s(k,k1)は、メンバ#kと代表メンバk1との距離に相当し、スコアの逆数1/s(k,k2)は、メンバ#kと代表メンバk2との距離に相当する。従って、式(2)によれば、第1と第2の子クラスタのメンバのうち、第1の子クラスタの代表メンバ#k1との距離と、第2の子クラスタの代表メンバ#k2との距離との差の最大値が、第1と第2の子クラスタどうしの間の子クラスタ間距離とされることになる。
【0133】
なお、クラスタ間距離は、上述したものに限定されるものではなく、その他、例えば、第1の子クラスタの代表メンバと、第2の子クラスタの代表メンバとのDPマッチングを行うことにより、特徴ベクトル空間における距離の積算値を求め、その距離の積算値を、クラスタ間距離とすることも可能である。
【0134】
ステップS19の処理後は、ステップS20に進み、クラスタリング部33は、第1と第2の子クラスタどうしのクラスタ間距離が、所定の閾値εより大である(或いは、閾値ε以上である)かどうかを判定する。
【0135】
ステップS20において、クラスタ間距離が、所定の閾値εより大であると判定された場合、すなわち、検出クラスタのメンバとしての複数の未登録語が、その音響的特徴からいって、2つのクラスタにクラスタリングすべきものであると考えられる場合、ステップS21に進み、クラスタリング部33は、第1と第2の子クラスタを、スコアシート記憶部34のスコアシートに登録する。
【0136】
すなわち、クラスタリング部33は、第1と第2の子クラスタに、ユニークなクラスタナンバを割り当て、検出クラスタのメンバのうち、第1の子クラスタにクラスタリングされたもののクラスタナンバを、第1の子クラスタのクラスタナンバにするとともに、第2の子クラスタにクラスタリングされたもののクラスタナンバを、第2の子クラスタのクラスタナンバにするように、スコアシートを更新する。
【0137】
さらに、クラスタリング部33は、第1の子クラスタにクラスタリングされたメンバの代表メンバIDを、第1の子クラスタの代表メンバのIDにするとともに、第2の子クラスタにクラスタリングされたメンバの代表メンバIDを、第2の子クラスタの代表メンバのIDにするように、スコアシートを更新する。
【0138】
なお、第1と第2の子クラスタのうちのいずれか一方には、検出クラスタのクラスタナンバを割り当てるようにすることが可能である。
【0139】
クラスタリング部33が、以上のようにして、第1と第2の子クラスタを、スコアシートに登録すると、ステップS21からS22に進み、メンテナンス部35が、スコアシートに基づいて、辞書記憶部25の単語辞書を更新し、処理を終了する。
【0140】
すなわち、この場合、検出クラスタが第1と第2の子クラスタに分割されたため、メンテナンス部35は、まず、単語辞書における、検出クラスタに対応するエントリを削除する。さらに、メンテナンス部35は、第1と第2の子クラスタそれぞれに対応する2つのエントリを、単語辞書に追加し、第1の子クラスタに対応するエントリの音韻系列として、その第1の子クラスタの代表メンバの音韻系列を登録するとともに、第2の子クラスタに対応するエントリの音韻系列として、その第2の子クラスタの代表メンバの音韻系列を登録する。
【0141】
一方、ステップS18において、ステップS17のクラスタ分割処理によって、検出クラスタを2つのクラスタに分割することができなかったと判定された場合、或いは、ステップS20において、第1と第2の子クラスタのクラスタ間距離が、所定の閾値εより大でないと判定された場合(従って、検出クラスタのメンバとしての複数の未登録語の音響的特徴が、第1と第2の2つの子クラスタにクラスタリングするほど似ていないものではない場合)、ステップS23に進み、クラスタリング部33は、検出クラスタの新たな代表メンバを求め、スコアシートを更新する。
【0142】
すなわち、クラスタリング部33は、新未登録語をメンバとして加えた検出クラスタの各メンバについて、スコアシート記憶部34のスコアシートを参照することにより、式(1)の計算に必要なスコアs(k’,k)を認識する。さらに、クラスタリング部33は、その認識したスコアs(k’,k)を用い、式(1)に基づき、検出クラスタの新たな代表メンバとなるメンバのIDを求める。そして、クラスタリング部33は、スコアシート(図9)における、検出クラスタの各メンバの代表メンバIDを、検出クラスタの新たな代表メンバのIDに書き換える。
【0143】
その後、ステップS22に進み、メンテナンス部35が、スコアシートに基づいて、辞書記憶部25の単語辞書を更新し、処理を終了する。
【0144】
すなわち、いまの場合、メンテナンス部35は、スコアシートを参照することにより、検出クラスタの新たな代表メンバを認識し、さらに、その代表メンバの音韻系列を認識する。そして、メンテナンス部35は、単語辞書における、検出クラスタに対応するエントリの音韻系列を、検出クラスタの新たな代表メンバの音韻系列に変更する。
【0145】
次に、図12のフローチャートを参照して、図11のステップS17のクラスタ分割処理の詳細について説明する。
【0146】
クラスタ分割処理では、まず最初に、ステップS31において、クラスタリング部33が、新未登録語がメンバとして加えられた検出クラスタから、まだ選択していない任意の2つのメンバの組み合わせを選択し、それぞれを、仮の代表メンバとする。ここで、この2つの仮の代表メンバを、以下、適宜、第1の仮代表メンバと第2の仮代表メンバという。
【0147】
そして、ステップS32に進み、クラスタリング部33は、第1の仮代表メンバと、第2の仮代表メンバを、それぞれ代表メンバとすることができるように、検出クラスタのメンバを、2つのクラスタに分割することができるかどうかを判定する。
【0148】
ここで、第1又は第2の仮代表メンバを代表メンバとすることができるかどうかは、式(1)の計算を行う必要があるが、この計算に用いられるスコアs(k’,k)は、スコアシートを参照することで認識される。
【0149】
ステップS32において、第1の仮代表メンバと、第2の仮代表メンバを、それぞれ代表メンバとすることができるように、検出クラスタのメンバを、2つのクラスタに分割することができないと判定された場合、ステップS33をスキップして、ステップS34に進む。
【0150】
また、ステップS32において、第1の仮代表メンバと、第2の仮代表メンバを、それぞれ代表メンバとすることができるように、検出クラスタのメンバを、2つのクラスタに分割することができると判定された場合、ステップS33に進み、クラスタリング部33は、第1の仮代表メンバと、第2の仮代表メンバが、それぞれ代表メンバとなるように、検出クラスタのメンバを、2つのクラスタに分割し、その分割後の2つのクラスタの組を、検出クラスタの分割結果となる第1及び第2の子クラスタの候補(以下、適宜、候補クラスタの組という)として、ステップS34に進む。
【0151】
ステップS34では、クラスタリング部33は、検出クラスタのメンバの中で、まだ、第1と第2の仮代表メンバの組として選択していない2つのメンバの組があるかどうかを判定し、あると判定した場合、ステップS31に戻り、まだ、第1と第2の仮代表メンバの組として選択していない、検出クラスタの2つのメンバの組が選択され、以下、同様の処理が繰り返される。
【0152】
また、ステップS34において、第1と第2の仮代表メンバの組として選択していない、検出クラスタの2つのメンバの組がないと判定された場合、ステップS35に進み、クラスタリング部33は、候補クラスタの組が存在するかどうかを判定する。
【0153】
ステップS35において、候補クラスタの組が存在しないと判定された場合、ステップS36をスキップして、リターンする。この場合は、図10のステップS18において、検出クラスタを分割することができなかったと判定される。
【0154】
一方、ステップS35において、候補クラスタの組が存在すると判定された場合、ステップS36に進み、クラスタリング部33は、候補クラスタの組が複数存在するときには、各候補クラスタの組の2つのクラスタどうしの間のクラスタ間距離を求める。そして、クラスタリング部33は、クラスタ間距離が最小の候補クラスタの組を求め、その候補クラスタの組を、検出クラスタの分割結果として、すなわち、第1と第2の子クラスタとして、リターンする。なお、候補クラスタの組が1つだけの場合は、その候補クラスタの組が、そのまま、第1と第2の子クラスタとされる。
【0155】
この場合は、図11のステップS18において、検出クラスタを分割することができたと判定される。
【0156】
以上のように、クラスタリング部33において、既に求められた未登録語をクラスタリングしたクラスタの中から、新未登録語を新たなメンバとして加えるクラスタ(検出クラスタ)を検出し、新未登録語をその検出クラスタの新たなメンバとして、検出クラスタをその検出クラスタのメンバに基づいて分割するようにしたことにより、未登録語を音響的特徴が近似しているものどうしに容易にクラスタリングできる。
【0157】
さらに、メンテナンス部35において、そのようなクラスタリング結果に基づいて、単語辞書を更新するようにしたので、単語辞書の大規模化を避けながら、未登録語の単語辞書への登録を、容易に行うことができる。
【0158】
また、例えば、仮に、マッチング部23において、未登録語の音声区間の検出を誤ったとしても、そのような未登録語は、検出クラスタの分割によって、音声区間が正しく検出された未登録語とは別のクラスタにクラスタリングされる。そして、このようなクラスタに対応するエントリが、単語辞書に登録されることになるが、このエントリの音韻系列は、正しく検出されなかった音声区間に対応するものとなるから、その後の音声認識において、大きなスコアを与えることはない。従って、仮に、未登録語の音声区間の検出を誤ったとしても、その誤りは、その後の音声認識には、ほとんど影響しない。
【0159】
以上のように、図10及び図11の処理を行うことによって、ロボット装置101は、未登録語を動作パターン蓄積サーバ102上に蓄積することができる。しかも、複数のロボット装置が接続されるネットワーク103であれば、各ロボット装置によって学習された新規の登録語を共有できる。
【0160】
図10及び図11にて示した動作パターン蓄積サーバ102とロボット装置101との間のデータ送受信は、ここでは、HTTPを用いてXML−RPCにて行う。以下に、実際のXML文章を示す。
【0161】
ロボット装置101から動作パターン蓄積サーバ102に対して、未登録語(OOV)の特徴ベクトルを以下の文章(コール)によって送信する。
【0162】
【0163】
動作パターン蓄積サーバ102は、上述のコールを受け取ると、以下のXML−RPCを返信する。
【0164】
【0165】
ロボット装置が、仮に全ての登録語辞書を要求する場合には、例えば、以下のコールを行えばよい。
【0166】
【0167】
また、このコールに対しては、動作パターン蓄積サーバ102は、以下のコールを送ることによって応答する。
【0168】
【0169】
次に、図13は、未登録語の発話を行って得られたクラスタリング結果を示している。なお、図13においては、各エントリ(各行)が、1つのクラスタを表している。また、図13の左欄は、各クラスタの代表メンバ(未登録語)の音韻系列を表しており、図13の右欄は、各クラスタのメンバとなっている未登録語の発話内容と数を表している。
【0170】
すなわち、図13において、例えば、第1行のエントリは、未登録語「風呂」の1つの発話だけがメンバとなっているクラスタを表しており、その代表メンバの音韻系列は、「doroa:」(ドロアー)になっている。また、例えば、第2行のエントリは、未登録語「風呂」の3つの発話がメンバとなっているクラスタを表しており、その代表メンバの音韻系列は、「kuro」(クロ)になっている。
【0171】
さらに、例えば、第7行のエントリは、未登録語「本」の4つの発話がメンバとなっているクラスタを表しており、その代表メンバの音韻系列は、「NhoNde:su」(ンホンデース)になっている。また、例えば、第8行のエントリは、未登録語「オレンジ」の1つの発話と、未登録語「本」の19の発話がメンバとなっているクラスタを表しており、その代表メンバの音韻系列は、「ohoN」(オホン)になっている。他のエントリも、同様のことを表している。
【0172】
図13によれば、同一の未登録語の発話について、良好にクラスタリングされていることが分かる。
【0173】
なお、図13の第8行のエントリにおいては、未登録語「オレンジ」の1つの発話と、未登録語「本」の19の発話が、同一のクラスタにクラスタリングされている。このクラスタは、そのメンバとなっている発話から、未登録語「本」のクラスタとなるべきであると考えられるが、未登録語「オレンジ」の発話も、そのクラスタのメンバとなっている。しかしながら、このクラスタも、その後に、未登録語「本」の発話がさらに入力されていくと、クラスタ分割され、未登録語「本」の発話だけをメンバとするクラスタと、未登録語「オレンジ」の発話だけをメンバとするクラスタにクラスタリングされると考えられる。
【0174】
以上は、動作パターン共有システム100においてロボット装置101の音声認識動作における未知動作(未登録語)の登録処理に関してであるが、本発明は、音声認識以外の動作に対しても適用できる。
【0175】
ロボット装置101(ロボット装置1)が辞書記憶部15に相当する行動記憶領域に予め登録されていない動作を新たに学習する方法として、従来、ニューラルネットワークが研究されている。ニューラルネットワークにおいては、所定のパターンを予め学習しておくことにより、学習済みのパターンの線形和で表現されるパターン、及び非線形和で表現されるパターンを、既に学習した所定パターンとの関係性に基づいて分類できるようにした技術が本願出願人によってなされている(特願2002−135237)。本具体例では、このニューラルネットワークを適用して動作パターンを共有することもできる。
【0176】
図14は、リカレント型ニューラルネットワークの構成例を表している。このリカレント型ニューラルネットワーク(RNN)200は、入力層201、中間層(隠れ層)202、及び出力層203により構成されている。これらの入力層201、中間層202、及び出力層203は、それぞれ任意数のニューロンにより構成されている。
【0177】
入力層201の一部のニューロン201−1には、データxtが入力される。入力層201の一部のニューロンであるパラメトリックバイアスノード201−2には、パラメータxtが入力される。さらに、入力層201の一部のニューロン201−3には、出力層203の一部のニューロン203−2より出力されたデータが、RNN200の内部の状態を表すコンカレントCtとしてフィードバックされている。
【0178】
中間層202のニューロンは、入力されたデータに対して重み付け加算処理を行い、順次後段に出力する処理を実行する。すなわち、データxt,Xt,ctに対して所定の重み付け係数に対する演算処理(非線形関数に基づく演算処理)を行った後、出力層203に出力する。
【0179】
出力層203を構成する一部のニューロン203−1は、入力データに対応するデータx* t+1を出力する。また、RNN200は、バックプロパケーションによる学習のための演算器221を有している。演算部222は、RNN200に対する重み付け係数の設定処理を行う。
【0180】
本具体例では、このリカレント型ニューラルネットワークをロボット装置101と動作パターン蓄積サーバ102との間に構築することにより、ネットワーク103に接続されるロボット装置間で動作パターンを共有できる。例えば、歩行動作であれば、ロボット装置の足底部が接する平面の違い、例えば、絨毯、畳、床、土等といった歩行条件に応じた歩行動作パターンを効率的に学習できる。
【0181】
以上、本発明をエンターテインメントロボット(疑似ペットとしてのロボット装置)に適用した場合について説明したが、本発明は、これに限らず、例えば、音声認識装置を搭載した音声対話システムそのほかに広く適用することが可能である。また、本発明は、現実世界のロボット装置だけでなく、例えば、液晶ディスプレイ等の表示装置に表示される仮想的なロボット装置にも適用可能である。
【0182】
なお、上述した一連の処理をCPU10Aにプログラムを実行させることにより行うようにしたが、一連の処理は、それ専用のハードウェアによって行うことも可能である。
【0183】
ここで、プログラムは、予めメモリ10B(図3)に記憶させておくほか、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的或いは永続的に格納(記録)しておくことができる。そして、このようなリムーバブル記録媒体を、いわゆるパッケージソフトウェアとして提供し、ロボット装置(メモリ10B)にインストールするようにすることができる。
【0184】
また、プログラムは、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、有線で転送し、メモリ10Bにインストールすることができる。
【0185】
この場合、プログラムがバージョンアップされたとき等に、そのバージョンアップされたプログラムを、メモリ10Bに、容易にインストールすることができる。
【0186】
なお、上述した例において、CPU10Aに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的或いは個別に実行される処理(例えば、並列処理或いはオブジェクトによる処理)も含むものである。プログラムは、1のCPUにより処理されるものであってもよいし、複数のCPUによって分散処理されるものであってもよい。
【0187】
図4の音声認識部50Aは、専用のハードウェアにより実現することもできるし、ソフトウェアにより実現することもできる。音声認識部50Aをソフトウェアによって実現する場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0188】
なお、本発明は上述した具体例のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、ロボット装置1は、4足歩行タイプのロボット装置であってもよい。
【0189】
【発明の効果】
以上詳細に説明したように、本発明に係るロボット装置の動作パターン共有システムは、ロボット装置が新たに学習した動作パターンを新規動作パターンとして動作パターン蓄積装置に送信する、及び動作パターン蓄積装置に蓄積された動作パターンを取得して使用することにより、個々のロボット装置が収集及び学習した動作パターンを共有でき、ロボット装置の学習領域の範囲が拡がり、学習速度が向上する。
【0190】
また、本発明に係る動作パターン共有方法によれば、個々のロボット装置が収集及び学習した動作パターンを共有でき、ロボット装置の学習領域の範囲が拡がり、学習速度が向上する。
【0191】
また、本発明に係るロボット装置は、動作パターンを共有できるため、学習領域の範囲が拡がり学習速度が向上する。
【図面の簡単な説明】
【図1】本発明の具体例として示す動作パターン共有システムの構成を説明する概略図である。
【図2】本発明の具体例として示すロボット装置の外観斜視図である。
【図3】上記ロボット装置の電気的な構成を説明する構成図である。
【図4】上記ロボット装置のコントローラの機能を説明する構成図である。
【図5】上記動作パターン共有システムにおけるロボット装置のコントローラ及び動作パターン共有サーバを具体的に説明する構成図である。
【図6】上記ロボット装置の辞書記憶部に記憶される単語辞書を説明する図である。
【図7】上記ロボット装置の文法記憶部に記憶される文法規則を説明する図である。
【図8】未登録語のID、音韻系列、及び特徴ベクトル系列をそれぞれ対応付けして一時記憶する特徴ベクトルバッファを説明する図である。
【図9】スコアシート記憶部に記憶されるスコアシートを説明する図である。
【図10】上記動作パターン共有システムにおける未登録語の登録語処理を説明するフローチャートである。
【図11】上記動作パターン共有システムにおいて、動作パターン蓄積サーバにおいて行われる未登録語の登録処理を説明するフローチャートである。
【図12】上記図11のステップS17のクラスタ分割処理を説明するフローチャートである。
【図13】未登録語の発話を行って得られたクラスタリング結果を説明する図である。
【図14】リカレント型ニューラルネットワークの構成例を説明する図である。
【符号の説明】
1 ロボット装置、19 ネットワークコントローラ、21 AD変換部、22 特徴抽出部、23 マッチング部、24 音響モデル記憶部、25 辞書記憶部、26 文法記憶部、27 未登録語区間処理部、31 ネットワークコントローラ、32 特徴ベクトルバッファ、33 クラスタリング部、34 スコアシート記憶部、35 メンテナンス部、100 動作パターン共有システム、101 ロボット装置、102 動作パターン蓄積サーバ、103 ネットワーク
【発明の属する技術分野】
本発明は、ロボット装置の動作パターン共有システム、動作パターン共有方法、及びこの方法に基づいて動作パターンを互いに共有するロボット装置に関する。
【0002】
【従来の技術】
最近では、人間のパートナーとして生活を支援する、すなわち住環境そのほかの日常生活上の様々な場面における人的活動を支援する実用ロボット装置の開発が進められている。このような実用ロボット装置は、産業用ロボット装置とは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように4足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット装置、或いは足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット装置(Humanoid Robot)等の脚式移動ロボット装置は、既に実用化されつつある。これらの脚式移動ロボット装置は、動物や人間により近い身体的形状を有する程、動物や人間に近い動作が実現でき、産業用ロボット装置と比較してエンターテインメント性を重視した様々な動作を行うことができる。そのため、エンターテインメントロボット装置と呼称されることがある。エンターテインメントロボット装置は、他のロボット装置や人間とコミュニケーションを交わしたり、身振り・手振りで内部状態を表現したりできる。
【0003】
このようなロボット装置におけるエンターテインメント性を重視した様々な動作は、動作データベース等によって予め用意されていたり、ロボット装置自身が新規動作パターンを学習して新たに追加できるようになっている。
【0004】
例えば、会話動作(音声認識)を例に挙げると、ロボット装置は、音声認識の対象とする単語が登録された辞書を用意しており、これを参照して外部から得た発話を音声認識している。しかし、音声認識において音声認識の対象となり得る単語は、辞書に登録された単語(以下、適宜、登録語という)だけであって、辞書に登録されていない単語、つまりロボット装置自身が知らない単語は認識できない。
【0005】
辞書に登録されていない語彙を未登録語(Out Of Vocablary;OOV)とすると、従来の音声認識では、ユーザの発話に未登録語が含まれる場合、この未登録語が辞書に登録されて登録語の範囲で認識されるため、未登録語は、誤認識されてしまう。さらに未登録語が誤認識されると、この誤認識結果が未登録語の前後の単語の認識に影響し、未登録語の前後の単語等も誤認識されることがあった。
【0006】
そこで、未登録語の誤認識を解消するために、種々の方法が提案されている。例えば、未登録語を検出するためのガーベジモデルと、母音等の幾つかの音素毎にクラスタリングされたHMM(HiddenMarkov Model)とを同時に用い、未登録語に許可する音韻系列を制限することによって、未登録語の検出を、そのための計算量を低減して行う音声認識装置も提供されている(例えば、特許文献1参照。)。
【0007】
また、データベースにない未登録語について、単語の概念に基づいてデータベースにある単語との間の類似度を計算し、未登録語を含む単語の集合について、適切な並びの単語列を構成して出力する情報処理装置が提供されている(例えば、特許文献2参照。)。
【0008】
さらに、単語の音声区間に対応する音韻系列を検出し、コンフュージョンマトリクス(confusion matrix)によって、音声的に近い音韻系列を削除することにより、効果的に、異音(variants)を含む辞書を構成する方法も開示されている(例えば、非特許文献1参照。)。
【0009】
また、複数の音声サンプルから音韻系列を推定し、未知語(未登録語)を辞書に登録する際の音韻系列の推定精度を向上させる方法が開示されている(例えば、非特許文献2参照。)。
【0010】
さらには、これら従来例において問題点となり得る、登録語辞書の大規模化を回避して、未登録語の辞書への登録を容易に行えるようにした技術も開示されている(例えば、特許文献3参照。)。
【0011】
【特許文献1】
特開平9−81181号公報
【特許文献2】
特開平13−75964号公報
【特許文献3】
特開2002−358095号公報
【非特許文献1】
Dictionary Learning: Performance Through Consistency”, Tilo Sloboda, Proceedings of ICASSP 95, vol. 1 pp.453−456, 1995
【非特許文献2】
「単語発声の複数サンプルを利用した未知語の音韻系列の推定」、伊藤克亘 他、電子情報通信学会論文誌、Vol. J83−D−II No. 11 pp.2152−2159,
【0012】
【発明が解決しようとする課題】
ところが、未登録語を次々学習して登録し、新規語として登録語データベースに追加する方法の場合、あるロボット装置が単体で未登録語を収集するには時間がかかり辞書構築の効率が悪い、例えば、家庭、店舗等の特定環境下で使用されるロボット装置であれば、辞書に格納される語彙が限定されてしまう等の問題点があった。
【0013】
また、動作パターンのほかの例としてロボット装置の歩行動作が挙げられる。この場合、ロボット装置は、足底部が接する平面の違い、例えば、絨毯、畳、床、土等に応じて歩行動作を変えているが、このような動作情報も音声認識の場合と同様に新規歩行動作パターンを登録する(学習する)ようにしても、使用環境に応じて歩行パターンが限定されてしまう。
【0014】
そこで、本発明は、このような状況に鑑みてなされたものであり、個々のロボット装置の動作パターンの学習領域を拡げ学習速度を向上する動作パターン共有システム、ロボット装置の動作パターンの学習領域を拡げ学習速度を向上するための動作パターン共有方法、及びこの方法によって動作パターンを共有するロボット装置を提供することを目的とする。
【0015】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係るロボット装置の動作パターン共有システムは、外部情報及び/又は内部状態に基づく自律的動作を実行する複数のロボット装置と、外部情報に応じたロボット装置の動作パターンを蓄積する動作パターン蓄積装置とが互いに接続され、ロボット装置の各々は、外部情報に基づく動作のうち新たに学習した動作パターンを新規動作パターンとして動作パターン蓄積装置に送信する、及び動作パターン蓄積装置に蓄積された動作パターンを取得して使用することを特徴とする。
【0016】
ここで、複数のロボット装置の各々は、外部情報を取得する外部情報取得手段と、外部情報に基づく動作パターンを予め記憶した動作記憶手段と、取得された外部情報に応じて動作記憶手段に記憶された動作パターンから動作パターンを選択する動作選択手段と、取得した外部情報と動作記憶手段に予め記憶された情報とを比較する比較手段と、動作パターン蓄積装置との間で通信する通信制御手段と、外部情報に基づく動作を生成する動作生成手段を備え、取得した外部情報が比較手段によって動作記憶手段に記憶されていないと判断された場合、通信制御手段は、取得した外部情報と該外部情報に基づいて生成した動作とを新規動作パターンとして動作パターン蓄積装置に対して送信することを特徴とする。
【0017】
また、複数のロボット装置の各々は、動作パターン蓄積装置に蓄積された動作パターンを抽出して動作記憶手段に記憶することができる。
【0018】
また、動作パターン蓄積装置は、動作記憶手段に新規動作パターンをロボット装置毎の認証情報と対応付けて記憶することが好ましい。
【0019】
ここで、ロボット装置の各々と動作パターン蓄積装置は、コンピュータネットワークを介して互いに接続されていることが好ましい。
【0020】
上述した目的を達成するために、本発明に係るロボット装置の動作パターン共有方法は、外部情報及び/又は内部状態に基づく自律的動作を実行する複数のロボット装置の動作パターンを複数のロボット装置間にて共有して保有する動作パターン共有方法であって、外部情報に基づく動作のうちロボット装置の各々において新たに学習された動作パターンを新規動作パターンとして蓄積する動作パターン蓄積工程と、動作パターン蓄積工程において蓄積された動作パターンを抽出する工程とを有することを特徴とする。
【0021】
また、複数のロボット装置の各々における処理として、外部情報を取得する外部情報取得工程と、取得した外部情報と動作記憶手段に予め記憶された外部情報に基づく動作パターンとを比較する比較工程と、外部情報に応じて動作記憶手段から動作パターンを選択する動作選択工程と、外部情報に応じて動作を生成する動作生成工程とを有し、比較工程において、取得した外部情報が動作記憶手段に記憶されていると判断された場合、動作選択工程にて取得された外部情報に応じて動作パターンを選択し、比較工程において、取得した外部情報が動作記憶手段に記憶されていないと判断された場合、動作生成工程にて動作パターンを生成し、取得した外部情報と該外部情報に基づいて生成した動作とを新規動作パターンとして蓄積する動作パターン蓄積工程を有する。
【0022】
動作パターン蓄積工程では、動作記憶手段に新規動作パターンをロボット装置毎の認証情報と対応付けて記憶することが好ましい。
【0023】
上述した目的を達成するために、本発明に係るロボット装置は、外部情報及び/又は内部状態に基づく自律的動作を実行するロボット装置において、外部情報に基づく動作のうち新たに学習した動作パターンを新規動作パターンとして他のロボット装置と共有する外部動作パターン蓄積手段に送信する、及び該外部動作パターン蓄積手段に蓄積された動作パターンを取得して使用することを特徴とする。
【0024】
ここで、このロボット装置は、外部情報を取得する外部情報取得手段と、外部情報に基づく動作パターンを予め記憶した動作記憶手段と、取得された外部情報に応じて動作記憶手段に記憶された動作パターンから動作パターンを選択する動作選択手段と、取得した外部情報と動作記憶手段に予め記憶された情報とを比較する比較手段と、外部動作パターン蓄積手段との間で通信する通信制御手段と、外部情報に基づく動作を生成する動作生成手段を備え、取得した外部情報が比較手段によって動作記憶手段に記憶されていないと判断された場合、通信制御手段は、取得した外部情報と該外部情報に基づいて生成した動作とを新規動作パターンとして動作パターン蓄積手段に送信する。
【0025】
また、このロボット装置は、外部動作パターン蓄積手段に蓄積された動作パターンを抽出して動作記憶手段に記憶する。外部動作パターン蓄積手段では、動作記憶手段に新規動作パターンをロボット装置毎の認証情報と対応付けて記憶している。また、このロボット装置は、外部動作パターン蓄積手段とコンピュータネットワークを介して接続される。
【0026】
【発明の実施の形態】
本発明は、ロボット装置が外部情報に基づく動作のうち新たに学習した動作パターンを新規動作パターンとして動作パターン蓄積装置に送信し記憶することにより、複数のロボット装置において学習された動作パターンを共有し、場合によっては、個々のロボット装置が動作パターン蓄積装置に蓄積された動作パターンを取得して使用できるようにしたことにより、ロボット装置の行動学習速度を向上するとともに学習領域を拡げることができるシステムである。
【0027】
以下、本発明の具体例について、図面を参照して詳細に説明する。図1は、本発明の一具体例を表す動作パターン共有システム100を示す。図2は、このシステムに適用される2足歩行タイプのロボット装置を示している。
【0028】
動作パターン共有システム100は、外部情報及び/又は内部状態に基づく自律的動作を実行する複数のロボット装置1011,1012,・・・,101nと、これらロボット装置の動作パターンを蓄積する動作パターン蓄積サーバ102とを備え、これらがネットワーク103によって接続されている。ネットワーク103は、本具体例では、有線LAN、無線LAN、赤外線通信手段、或いはブルートゥース(登録商標)等を用いて構築される無線通信ネットワークである。いわゆるインターネットのような大規模ネットワークであってもよい。このシステムを構成する各ロボット装置、動作蓄積サーバとの間の動作パターン登録処理に関しては後述する。
【0029】
図2に示すロボット装置1は、図1のロボット装置101に相当するものである。このロボット装置1は、体幹部ユニット2の所定の位置に頭部ユニット3が連結されるとともに、左右2つの腕部ユニット4R/Lと、左右2つの脚部ユニット5R/Lが連結されて構成されている(ただし、R及びLの各々は、右及び左の各々を示す接尾辞である。以下において同じ。)。この人間型のロボット装置1は、住環境そのほかの日常生活上の様々な場面における人的活動を支援する実用ロボット装置であり、内部状態(怒り、悲しみ、喜び、楽しみ等)に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボット装置である。
【0030】
図3に示すように体幹部ユニット2には、ロボット装置全体の制御を行うコントローラ10、ロボット装置の動力源となるバッテリ11、並びにバッテリセンサ12及び熱センサ13からなる内部センサ部14などが収納されている。
【0031】
頭部ユニット3には、「耳」に相当するマイク(マイクロフォン)15、「目」に相当するCCD(Charge Coupled Device)カメラ16、触覚に相当するタッチセンサ17、「口」に相当するスピーカ18などが、それぞれ所定位置に配設されている。
【0032】
腕部ユニット4R/L、脚部ユニット5R/Lそれぞれの関節部分や、腕部ユニット4R/L、脚部ユニット5R/Lと体幹部ユニット2の連結部分、頭部ユニット3と体幹部ユニット2の連結部分などには、図3に示すように、それぞれアクチュエータ3A1〜3AK、4RA1〜4RAK、4LA1〜4LAK、5RA1〜5RAK、5LA1〜5LAKが配設されている。
【0033】
頭部ユニット3におけるマイク15は、ユーザからの発話を含む周囲の音声(音)を集音し、得られた音声信号を、コントローラ10に送出する。CCDカメラ16は、周囲の状況を撮像し、得られた画像信号をコントローラ10に送出する。
【0034】
タッチセンサ17は、例えば、頭部ユニット3の上部に設けられており、ユーザからの「なでる」や「たたく」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を圧力検出信号としてコントローラ10に送出する。
【0035】
体幹部ユニット2におけるバッテリセンサ12は、バッテリ11の残量を検出し、その検出結果を、バッテリ残量検出信号としてコントローラ10に送出する。熱センサ13は、ロボット装置内部の熱を検出し、その検出結果を、熱検出信号としてコントローラ10に送出する。
【0036】
また、ロボット装置1は、ネットワークコントローラ19を備えている。ネットワークコントローラ19は、ネットワーク103に対するインターフェイスを備えており、データをネットワーク103に適応した伝送形式に変換して送信する。また、ネットワーク103を介してデータを受信する。
【0037】
コントローラ10は、CPU(Central Processing Unit)10Aやメモリ10B等を内蔵しており、上述の構成を統括して管理し、また、CPU10Aにおいてメモリ10Bに記憶された制御プログラムが実行されることにより各種の処理を行う。
【0038】
処理の一例としては、コントローラ10は、マイク15や、CCDカメラ16、タッチセンサ17、バッテリセンサ12、熱センサ13から与えられる音声信号、画像信号、圧力検出信号、バッテリ残量検出信号、熱検出信号に基づいて、周囲の状況やユーザからの指令、ユーザからの働きかけなどの有無を判断する。
【0039】
さらに、コントローラ10は、この判断結果等に基づいて続く行動を決定し、その決定結果に基づいて、アクチュエータ3A1〜3AK、4RA1〜4RAK、4LA1〜4LAK、5RA1〜5RAK、5LA1〜5LAKのうちの必要なものを駆動させる。これにより頭部ユニット3を上下左右に動かしたり、各腕部ユニット、各脚部ユニットを駆動して歩行させるなどの行動を行わせる。
【0040】
また、コントローラ10は、必要に応じて合成音を生成し、スピーカ18に供給して出力させたり、ロボット装置の「目」の位置に設けられた図示しないLED(Light Emitting Diode)を点灯、消灯又は点滅させる。
【0041】
また、本具体例では、コントローラ10は、上述した役割のほかに、外部情報や外部情報に応じて生成した動作等を必要に応じてネットワークコントローラ19及びネットワーク103を介して動作パターン蓄積サーバ102に対して送信したり、動作パターン蓄積サーバ102から動作パターンを取得したする処理を実行している。このようにして、ロボット装置1は、外部情報及び/又は内部状態に基づいて自律的動作を実行することができる。
【0042】
図4では、このロボット装置1のコントローラ10の機能的構成例について説明する。なお、図4に示すコントローラ10の機能的構成は、CPU10Aがメモリ10Bに記憶された制御プログラムを実行することで実現される。
【0043】
コントローラ10は、特定の外部状態を認識するセンサ入力処理部50、センサ入力処理部50の認識結果を累積して、感情や、本能、成長の状態を表現するモデル記憶部51、センサ入力処理部50の認識結果等に基づいて、続く行動を決定する行動決定機構部52、行動決定機構部52の決定結果に基づいて、実際にロボット装置に行動を起こさせる姿勢遷移機構部53、各アクチュエータを駆動制御する制御機構部54、合成音を生成する音声合成部55から構成され、ネットワークコントローラ19に接続されている。
【0044】
センサ入力処理部50は、マイク15や、CCDカメラ16、タッチセンサ17等から与えられる音声信号、画像信号、圧力検出信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報をモデル記憶部51及び行動決定機構部52に通知する。
【0045】
センサ入力処理部50は、音声認識のための構成として音声認識部50Aを有している。音声認識部50Aは、マイク15から与えられる音声信号について音声認識を行い、その音声認識結果として、例えば、「歩け」、「ボールを追いかけろ」といった指令や文章の発話を状態認識情報としてモデル記憶部51及び行動決定機構部52に通知する。
【0046】
また、センサ入力処理部50は、視覚認識系として画像認識部50Bを有している。画像認識部50Bは、CCDカメラ16から与えられる画像信号を用いて画像認識処理を行い、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直なかつ所定高さ以上の平面」等を検出したときには、「ボールがある」や「壁がある」といった画像認識結果を状態認識情報としてモデル記憶部51及び行動決定機構部52に通知する。
【0047】
また、センサ入力処理部50は、触覚認識系として圧力処理部50Cを有している。圧力処理部50Cは、タッチセンサ17から与えられる圧力検出信号を処理する。圧力処理部50Cは、その処理の結果、所定の閾値以上かつ短時間の圧力を検出したときには、「たたかれた(しかられた)」と認識し、所定の閾値未満で、かつ長時間の圧力を検出したときには、「なでられた(ほめられた)」と認識する。また、この認識結果を状態認識情報としてモデル記憶部51及び行動決定機構部52に通知する。
【0048】
モデル記憶部51は、ロボット装置の感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶、管理している。
【0049】
ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態(度合い)を、所定の範囲(例えば、−1.0乃至1.0等)の値によってそれぞれ表し、センサ入力処理部50からの状態認識情報や時間経過等に基づいて、その値を変化させる。本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態(度合い)を所定の範囲の値によってそれぞれ表し、センサ入力処理部50からの状態認識情報や時間経過等に基づいて、その値を変化させる。成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態(度合い)を所定の範囲の値によってそれぞれ表し、センサ入力処理部50からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【0050】
モデル記憶部51は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を状態情報として行動決定機構部52に送出する。
【0051】
なお、モデル記憶部51には、センサ入力処理部50から状態認識情報が供給されるほか、行動決定機構部52から、ロボット装置の現在又は過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部51は、同一の状態認識情報が与えられても、行動情報が示すロボット装置の行動に応じて、異なる状態情報を生成するようになっている。
【0052】
例えば、ロボット装置がユーザに挨拶をし、ユーザに頭をなでられた場合には、ユーザに挨拶をしたという行動情報と、頭をなでられたという状態認識情報とが、モデル記憶部51に与えられ、この場合、モデル記憶部51では、「うれしさ」を表す感情モデルの値が増加される。
【0053】
一方、ロボット装置が、何らかの仕事を実行中に頭をなでられた場合には、仕事を実行中であるという行動情報と、頭をなでられたという状態認識情報とが、モデル記憶部51に与えられ、この場合、モデル記憶部51では、「うれしさ」を表す感情モデルの値は変化されない。
【0054】
このように、モデル記憶部51は、状態認識情報だけでなく、現在又は過去のロボット装置の行動を示す行動情報も参照しながら、感情モデルの値を設定する。これにより、例えば、何らかのタスクを実行中に、ユーザが、いたずらするつもりで頭をなでたときに、「うれしさ」を表す感情モデルの値を増加させるような、不自然な感情の変化が生じることを回避することができる。
【0055】
なお、モデル記憶部51は、本能モデル及び成長モデルについても、感情モデルにおける場合と同様に、状態認識情報及び行動情報の両方に基づいて、その値を増減させるようになっている。また、モデル記憶部51は、感情モデル、本能モデル、成長モデルそれぞれの値を、他のモデルの値にも基づいて増減させるようになっている。
【0056】
行動決定機構部52は、センサ入力処理部50からの状態認識情報や、モデル記憶部51からの状態情報、時間経過等に基づいて次の行動を決定し、決定された行動の内容を行動指令情報として姿勢遷移機構部53に送出する。
【0057】
すなわち、行動決定機構部52は、ロボット装置がとり得る行動をステート(状態)(state)に対応させた有限オートマトンをロボット装置の行動を規定する行動モデルとして管理しており、この行動モデルとしての有限オートマトンにおけるステートを、センサ入力処理部50からの状態認識情報や、モデル記憶部51における感情モデル、本能モデル、又は成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を、次にとるべき行動として決定する。
【0058】
ここで、行動決定機構部52は、所定のトリガ(trigger)があったことを検出すると、ステートを遷移させる。すなわち、行動決定機構部52は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部51から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下又は以上になったとき等に、ステートを遷移させる。
【0059】
なお、行動決定機構部52は、上述したように、センサ入力処理部50からの状態認識情報だけでなく、モデル記憶部51における感情モデルや、本能モデル、成長モデルの値等にも基づいて、行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても、感情モデルや、本能モデル、成長モデルの値(状態情報)によっては、ステートの遷移先は異なるものとなる。
【0060】
その結果、行動決定機構部52は、例えば、状態情報が、「怒っていない」こと、及び「お腹がすいていない」ことを表している場合において、状態認識情報が「目の前に手のひらが差し出された」ことを表しているときには、目の前に手のひらが差し出されたことに応じて「握手」という行動をとらせる行動指令情報を生成し、これを姿勢遷移機構部53に送出する。
【0061】
また、行動決定機構部52は、例えば、状態情報が、「怒っている」ことを表している場合において、状態認識情報が、「目の前に手のひらが差し出された」ことを表しているときには、状態情報が「お腹がすいている」ことを表していても、また、「お腹がすいていない」ことを表していても「ぷいと横を向く」ような行動を行わせるための行動指令情報を生成し、これを姿勢遷移機構部53に送出する。
【0062】
行動決定機構部52では、上述したように、ロボット装置の頭部や手足等を動作させる行動指令情報のほか、ロボット装置に発話を行わせる行動指令情報も生成される。ロボット装置に発話を行わせる行動指令情報は、音声合成部55に供給されるようになっており、音声合成部55に供給される行動指令情報には、音声合成部55に生成させる合成音に対応するテキスト等が含まれる。
【0063】
音声合成部55は、行動決定部52から行動指令情報を受信すると、その行動指令情報に含まれるテキストに基づいて合成音を生成し、スピーカ18に供給して出力する。これにより、スピーカ18からは、例えば、ロボット装置の鳴き声、さらには、「お腹がすいた」等のユーザへの各種の要求、「何?」等のユーザの呼びかけに対する応答その他の音声出力が行われる。
【0064】
姿勢遷移機構部53は、行動決定機構部52から供給される行動指令情報に基づいて、ロボット装置の姿勢を現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これを制御機構部54に送出する。
【0065】
制御機構部54は、姿勢遷移機構部53からの姿勢遷移情報にしたがって、各アクチュエータを駆動するための制御信号を生成し、これを、各アクチュエータに送出する。これにより、各アクチュエータは、制御信号にしたがって駆動し、ロボット装置の動作が表出される。
【0066】
続いて、この動作パターン共有システム100においてロボット装置1(101)が音声認識動作を行う場合について説明する。音声認識動作を実行するロボット装置におけるコントローラ10及び動作パターン共有サーバ102の機能的構成例を図5に示す。
【0067】
マイク15から入力した音声信号は、AD(Analog Digital)変換部21に供給される。AD変換部21は、マイク15からのアナログ信号である音声信号をサンプリング、量子化し、ディジタル信号である音声データにA/D変換する。この音声データは、特徴抽出部22に供給される。
【0068】
特徴抽出部22は、そこに入力される音声データについて、適当なフレーム毎に、例えば、MFCC(Mel Frequency Cepstrum Coefficient)分析を行い、その分析の結果得られるMFCCを、特徴ベクトル(特徴パラメータ)として、マッチング部23と未登録語区間処理部27に出力する。なお、特徴抽出部22では、その他、例えば、線形予測係数、ケプストラム係数、線スペクトル対、所定の周波数帯域毎のパワー(フィルタバンクの出力)等を、特徴ベクトルとして抽出することが可能である。
【0069】
マッチング部23は、特徴抽出部22からの特徴ベクトルを用いて、音響モデル記憶部24、辞書記憶部25、及び文法記憶部26を必要に応じて参照しながら、マイク15に入力された音声(入力音声)を、例えば、連続分布HMM(Hidden Markov Model)法に基づいて音声認識する。
【0070】
音響モデル記憶部24は、音声認識する音声の言語における個々の音素や、音節、音韻などのサブワードについて音響的な特徴を表す音響モデル(例えば、HMMのほか、DP(Dynamic Programing)マッチングに用いられる標準パターン等を含む)を記憶している。なお、ここでは、連続分布HMM法に基づいて音声認識を行うため、音響モデルとしてHMM(Hidden MarkovModel)を用いる。
【0071】
辞書記憶部25は、認識対象の各単語毎にクラスタリングされた、その単語の発音に関する情報(音韻情報)と、その単語の見出しとが対応付けられた単語辞書を記憶している。
【0072】
辞書記憶部25に記憶された単語辞書を図6に示す。単語辞書には、単語の見出しと、その音韻系列とが対応付けられており、音韻系列は、対応する単語毎にクラスタリングされている。図6の単語辞書では、1つのエントリ(図6の1行)が1つのクラスタに相当する。
【0073】
なお、図6では、見出しは、ローマ字と日本語(仮名漢字)で表してあり、音韻系列は、ローマ字で表してある。ただし、音韻系列における「N」は、撥音「ん」を表す。また、図6では、1つのエントリに、1つの音韻系列を記述してあるが、1つのエントリには、複数の音韻系列を記述することも可能である。
【0074】
文法記憶部26は、辞書記憶部25の単語辞書に登録されている各単語が、どのように連鎖する(つながる)かを記述した文法規則を記憶している。
【0075】
ここで、図7は、文法記憶部26に記憶された文法規則を示している。なお、図7の文法規則は、EBNF(Extended Backus Naur Form)で記述されている。
【0076】
図7においては、行頭から、最初に現れる「;」までが、1つの文法規則を表している。また、先頭に「$」が付されたアルファベット(列)は、変数を表し、「$」が付されていないアルファベット(列)は、単語の見出し(図6に示したローマ字による見出し)を表す。さらに、[]で囲まれた部分は、省略可能であることを表し、「|」は、その前後に配置された見出しの単語(或いは変数)のうちのいずれか一方を選択することを表す。
【0077】
従って、図7において、例えば、第1行(上から1行目)の文法規則「$col =[kono | sono] iro wa;」は、変数$colが、「このいろ(色)は」又は「そのいろ(色)は」という単語列であることを表す。
【0078】
なお、図7に示した文法規則においては、変数$silと$garbageが定義されていないが、変数$silは、無音の音響モデル(無音モデル)を表し、変数$garbageは、基本的には、音韻どうしの間での自由な遷移を許可したガーベジモデルを表す。
【0079】
マッチング部23は、辞書記憶部25の単語辞書を参照することにより、音響モデル記憶部24に記憶されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成する。さらに、マッチング部23は、幾つかの単語モデルを、文法記憶部26に記憶された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、特徴ベクトルに基づき、連続分布HMM法によって、マイク15に入力された音声を認識する。
【0080】
すなわち、マッチング部23は、特徴抽出部22が出力する時系列の特徴ベクトルが観測されるスコア(尤度)が最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列の見出しを、音声の認識結果として出力する。
【0081】
より具体的には、マッチング部23は、接続された単語モデルに対応する単語列について、各特徴ベクトルの出現確率(出力確率)を累積し、その累積値をスコアとして、そのスコアを最も高くする単語列の見出しを、音声認識結果として出力する。
【0082】
以上のように、マイク15に入力された音声の認識結果は、状態認識情報としてモデル記憶部51及び行動決定機構部52に出力される。
【0083】
ここで、図7の具体例では、第9行(上から9行目)に、ガーベジモデルを表す変数$garbageを用いた文法規則(以下、適宜、未登録語用規則という)「$pat1 = $color1 $garbage $color2;」があるが、マッチング部23は、この未登録語用規則が適用された場合には、変数$garbageに対応する音声区間を、未登録語(Out Of Vocablary)の音声区間として検出する。さらに、マッチング部23は、未登録語用規則が適用された場合における変数$garbageが表すガーベジモデルにおける音韻の遷移としての音韻系列を未登録語の音韻系列として検出する。そして、マッチング部23は、未登録語用規則が適用された音声認識結果が得られた場合に検出される未登録語の音声区間と音韻系列を未登録語区間処理部27に供給する。
【0084】
なお、上述の未登録語用規則「$pat1 = $color1 $garbage $color2;」によれば、変数$color1で表される、単語辞書に登録されている単語(列)の音韻系列と、変数$color2で表される、単語辞書に登録されている単語(列)の音韻系列との間にある1つの未登録語が検出されるが、本発明は、発話に、複数の未登録語が含まれている場合や、未登録語が、単語辞書に登録されている単語(列)の間に挟まれていない場合であっても適用可能である。
【0085】
未登録語区間処理部27は、特徴抽出部22から供給される特徴ベクトルの系列(特徴ベクトル系列)を一時記憶する。さらに、未登録語区間処理部27は、マッチング部23から未登録語の音声区間と音韻系列を受信すると、その音声区間における音声の特徴ベクトル系列を、一時記憶している特徴ベクトル系列から検出する。そして、未登録語区間処理部27は、マッチング部23からの音韻系列(未登録語)に、ユニークなID(Identification)を付し、未登録語の音韻系列と、その音声区間における特徴ベクトル系列とともに、動作パターン蓄積サーバ102の特徴ベクトルバッファ32に供給する。
【0086】
特徴ベクトルバッファ32は、未登録語区間処理部27からネットワーク103を介して供給される、例えば、図8に示す未登録語のID、音韻系列、及び特徴ベクトル系列をそれぞれ対応付けして一時記憶する。
【0087】
図8では、未登録語に対して、1からのシーケンシャルな数字が、IDとして付されている。従って、例えば、いま、特徴ベクトルバッファ32において、N個の未登録語のID、音韻系列、及び特徴ベクトル系列が記憶されている場合において、マッチング部23が未登録語の音声区間と音韻系列を検出すると、未登録語区間処理部27では、その未登録語に対して、N+1が、IDとして付され、特徴ベクトルバッファ32では、図9に点線で示すように、その未登録語のID、音韻系列、及び特徴ベクトル系列が記憶される。ここでは、上述の系列に対して、ネットワーク102に接続されるロボット装置のうちどのロボット装置によって登録されたかを示すロボット装置IDも付けられる。
【0088】
クラスタリング部33は、特徴ベクトルバッファ32に新たに記憶された未登録語(以下、適宜、新未登録語という)について、特徴ベクトルバッファ32に既に記憶されているほかの未登録語(以下、適宜、既記憶未登録語という)それぞれに対するスコアを計算する。
【0089】
クラスタリング部33は、新未登録語を入力音声とし、かつ、既記憶未登録語を、単語辞書に登録されている単語とみなして、マッチング部23における場合と同様にして、新未登録語について、各既記憶未登録語に対するスコアを計算する。具体的には、クラスタリング部33は、特徴ベクトルバッファ32を参照することで、新未登録語の特徴ベクトル系列を認識するとともに、既記憶未登録語の音韻系列にしたがって音響モデルを接続し、その接続された音響モデルから、新未登録語の特徴ベクトル系列が観測される尤度としてのスコアを計算する。
【0090】
なお、音響モデルは、音響モデル記憶部24に記憶されているものが用いられる。
【0091】
クラスタリング部33は、同様にして、各既記憶未登録語について、新未登録語に対するスコアも計算し、そのスコアによって、スコアシート記憶部34に記憶されたスコアシートを更新する。
【0092】
さらに、クラスタリング部33は、更新したスコアシートを参照することにより、既に求められている、未登録語(既記憶未登録語)をクラスタリングしたクラスタの中から、新未登録語を新たなメンバとして加えるクラスタを検出する。さらに、クラスタリング部33は、新未登録語を、検出したクラスタの新たなメンバとし、そのクラスタを、そのクラスタのメンバに基づいて分割し、その分割結果に基づいて、スコアシート記憶部34に記憶されているスコアシートを更新する。
【0093】
スコアシート記憶部34は、新未登録語についての、既記憶未登録語に対するスコアや、既記憶未登録語についての、新未登録語に対するスコア等が登録されたスコアシートを記憶する。
【0094】
図9には、スコアシートが示されている。スコアシートは、ロボット装置の「ロボット装置ID」、未登録語の「ID」、「音韻系列」、「クラスタナンバ」、「代表メンバID」、及び「スコア」が記述されたエントリから構成される。
【0095】
未登録語の「ID」と「音韻系列」としては、特徴ベクトルバッファ32に記憶されたものと同一のものが、クラスタリング部33によって登録される。「クラスタナンバ」は、そのエントリの未登録語がメンバとなっているクラスタを特定するための数字で、クラスタリング部33によって付され、スコアシートに登録される。「代表メンバID」は、そのエントリの未登録語がメンバとなっているクラスタを代表する代表メンバとしての未登録語のIDであり、この代表メンバIDによって、未登録語がメンバとなっているクラスタの代表メンバを認識することができる。なお、クラスタの代表メンバは、クラスタリング部33によって求められ、その代表メンバのIDが、スコアシートの代表メンバIDに登録される。「スコア」は、そのエントリの未登録語についての、他の未登録語それぞれに対するスコアであり、上述したように、クラスタリング部33によって計算される。
【0096】
例えば、いま、特徴ベクトルバッファ32において、N個の未登録語のID、音韻系列、及び特徴ベクトル系列が記憶されているとすると、スコアシートには、そのN個の未登録語のID、音韻系列、クラスタナンバ、代表メンバID、及びスコアが登録されている。
【0097】
そして、特徴ベクトルバッファ32に、新未登録語のID、音韻系列、及び特徴ベクトル系列が新たに記憶されると、クラスタリング部33では、スコアシートが、図9において点線で示すように更新される。
【0098】
すなわち、スコアシートには、新未登録語のID、音韻系列、クラスタナンバ、代表メンバID、新未登録語についての、既記憶未登録語それぞれに対するスコア(図8におけるスコアs(N+1,1),s(N+1,2),・・・,s(N+1,N))が追加される。さらに、スコアシートには、既記憶未登録語それぞれについての、新未登録語に対するスコア(図9におけるs(1,N+1),s(2,N+1),・・・,s(N,N+1))が追加される。さらに、後述するように、スコアシートにおける未登録語のクラスタナンバと代表メンバIDが、必要に応じて変更される。
【0099】
なお、図9では、IDがiの未登録語(の発話)についての、IDがjの未登録語(の音韻系列)に対するスコアを、s(i,j)として表してある。
【0100】
また、スコアシート(図9)には、IDがiの未登録語(の発話)についての、IDがiの未登録語(の音韻系列)に対するスコアs(i,i)も登録される。ただし、このスコアs(i,i)は、マッチング部23において、未登録語の音韻系列が検出されるときに計算されるため、クラスタリング部33で計算する必要はない。
【0101】
メンテナンス部35は、スコアシート記憶部34における、更新後のスコアシートに基づいて、辞書記憶部25に記憶された単語辞書を更新する。
【0102】
ここで、クラスタの代表メンバは、次のように決定される。すなわち、例えば、クラスタのメンバとなっている未登録語のうち、他の未登録語それぞれについてのスコアの総和(その他、例えば、総和を、他の未登録語の数で除算した平均値でもよい)を最大にするものが、そのクラスタの代表メンバとされる。従って、この場合、クラスタに属するメンバのメンバIDをkで表すこととすると、次式で示される値K(∈k)をIDとするメンバが、代表メンバとされることになる。
【0103】
K=maxk{Σs(k’,k)} ・・・(1)
【0104】
ただし、式(1)において、maxk{}は、{}内の値を最大にするkを意味する。また、k’は、kと同様に、クラスタに属するメンバのIDを意味する。さらに、Σは、k’をクラスタに属するメンバすべてのIDに亘って変化させての総和を意味する。
【0105】
なお、上述のように代表メンバを決定する場合、クラスタのメンバが、1又は2つの未登録語であるときには、代表メンバを決めるにあたって、スコアを計算する必要はない。すなわち、クラスタのメンバが、1つの未登録語である場合には、その1つの未登録語が代表メンバとなり、クラスタのメンバが、2つの未登録語である場合には、その2つの未登録語のうちのいずれを、代表メンバとしてもよい。
【0106】
また、代表メンバの決定方法は、上述したものに限定されるものではなく、その他、例えば、クラスタのメンバとなっている未登録語のうち、他の未登録語それぞれとの特徴ベクトル空間における距離の総和を最小にするもの等を、そのクラスタの代表メンバとすることも可能である。
【0107】
以上のように構成される音声認識部50Aでは、マイク15に入力された音声を認識する音声認識処理と、ネットワーク103を介して動作パターン蓄積サーバ102への未登録語の登録語処理が行われる。この音声認識処理を図10のフローチャートを参照して説明する。
【0108】
まず、ステップS1において、ユーザからの発話が入力される。ステップS2において、入力された音声は、マイク15及びAD変換部21を介してディジタルの音声データとされ、特徴抽出部22に供給される。特徴抽出部22は、音声データを所定のフレーム単位で音響分析することにより特徴ベクトルを抽出し、この特徴ベクトルの系列をマッチング部23及び未登録語区間処理部27に供給する。
【0109】
マッチング部23は、ステップS3において、スコア計算の結果得られるスコアに基づいて、未登録語が含まれるか否か判別する。未登録語が含まれない場合、未登録語の登録は行わない。すなわち、上述の未登録語用規則「$pat1 = $color1 $garbage $color2;」が適用されずに音声認識結果が得られた場合、処理を終了する。
【0110】
一方、ステップS3において未登録語が含まれると判別された場合、すなわち、未登録語用規則「$pat1 = $color1 $garbage $color2;」が適用されて、音声認識結果が得られた場合、ステップS4において、マッチング部23は、未登録語用規則の変数$garbageに対応する音声区間を未登録語の音声区間として検出するとともに、その変数$garbageが表すガーベジモデルにおける音韻の遷移としての音韻系列を未登録語の音韻系列として検出する。続くステップS5にて、この未登録語の音声区間と音韻系列とを未登録語区間処理部27に送る。未登録語区間処理部27は、特徴抽出部22から供給される特徴ベクトル系列を一時記憶しており、マッチング部23から未登録語の音声区間と音韻系列が供給されると、その音声区間における音声の特徴ベクトル系列を検出する。さらに、未登録語区間処理部27は、マッチング部23からの未登録語(の音韻系列)に登録語IDを付ける。
【0111】
この未登録語に関する情報(未登録語の音韻系列と、その音声区間における特徴ベクトル系列)は、ロボット装置IDとともに、ネットワークコントローラ19によってネットワーク103を介して、動作パターン蓄積サーバ102へ送られる。ここで、同時に辞書記憶部25に記憶するようにもできる(ステップS6)。
【0112】
ロボット装置1は、ステップS7において、入力した発話に対する応答を実行する。
【0113】
以上のようにして、未登録語に関する情報を動作パターン蓄積サーバ102の特徴ベクトルバッファ32に、新たな未登録語(新未登録語)のID、音韻系列、及び特徴ベクトル系列がネットワーク103を介して送られ記憶される。
【0114】
入力した音声(発話)に対して図10に示す処理を施すことによって、未知の単語(未登録語)があっても、例えば、他のロボット装置によって、動作パターン蓄積サーバ102に記憶されていれば、既知の単語として応答できる。
【0115】
一方、これを受けて動作パターン蓄積サーバ102では、未登録語の登録処理が実行される。続いて、図11に登録処理を示す。具体的には、未登録語の登録処理として、まず最初に、ステップS11において、クラスタリング部33が、特徴ベクトルバッファ32から、新未登録語のIDと音韻系列を読み出し、ステップS12に進む。
【0116】
ステップS12では、クラスタリング部33が、スコアシート記憶部34のスコアシートを参照することにより、既に求められている(生成されている)クラスタが存在するかどうかを判定する。
【0117】
ステップS12において、既に求められているクラスタが存在しないと判定された場合、すなわち、新未登録語が、初めての未登録語であり、スコアシートに、既記憶未登録語のエントリが存在しない場合、ステップS13に進み、クラスタリング部33は、その新未登録語を代表メンバとするクラスタを新たに生成し、その新たなクラスタに関する情報と、新未登録語に関する情報とを、スコアシート記憶部34のスコアシートに登録することにより、スコアシートを更新する。
【0118】
すなわち、クラスタリング部33は、特徴ベクトルバッファ32から読み出した新未登録語のID及び音韻系列を、スコアシート(図8)に登録する。さらに、クラスタリング部33は、ユニークなクラスタナンバを生成し、新未登録語のクラスタナンバとして、スコアシートに登録する。また、クラスタリング部33は、新未登録語のIDを、その新未登録語の代表メンバIDとして、スコアシートに登録する。従って、この場合は、新未登録語は、新たなクラスタの代表メンバとなる。
【0119】
なお、いまの場合、新未登録語とのスコアを計算する既記憶未登録語が存在しないため、スコアの計算は行われない。
【0120】
ステップS13の処理後は、ステップS22に進み、メンテナンス部35は、ステップS13で更新されたスコアシートに基づいて、辞書記憶部25の単語辞書を更新し、処理を終了する。
【0121】
すなわち、いまの場合、新たなクラスタが生成されているので、メンテナンス部35は、スコアシートにおけるクラスタナンバを参照し、その新たに生成されたクラスタを認識する。そして、メンテナンス部35は、そのクラスタに対応するエントリを、辞書記憶部25の単語辞書に追加し、そのエントリの音韻系列として、新たなクラスタの代表メンバの音韻系列、つまり、いまの場合は、新未登録語の音韻系列を登録する。
【0122】
一方、ステップS12において、既に求められているクラスタが存在すると判定された場合、すなわち、新未登録語が、初めての未登録語ではなく、従って、スコアシート(図9)に、既記憶未登録語のエントリ(行)が存在する場合、ステップS14に進み、クラスタリング部33は、新未登録語について、各既記憶未登録語それぞれに対するスコアを計算するとともに、各既記憶未登録語それぞれについて、新未登録語に対するスコアを計算する。
【0123】
すなわち、例えば、いま、IDが1乃至NのN個の既記憶未登録語が存在し、新未登録語のIDをN+1とすると、クラスタリング部33では、図9において点線で示した部分の新未登録語についてのN個の既記憶未登録語それぞれに対するスコアs(N+1,1),s(N+1,2),・・・,s(N+1,N)と、N個の既記憶未登録語それぞれについての新未登録語に対するスコアs(1,N+1),s(2,N+1),・・・,s(N,N+1)が計算される。なお、クラスタリング部33において、これらのスコアを計算するにあたっては、新未登録語とN個の既記憶未登録語それぞれの特徴ベクトル系列が必要となるが、これらの特徴ベクトル系列は、特徴ベクトルバッファ32を参照することで認識される。
【0124】
そして、クラスタリング部33は、計算したスコアを、新未登録語のID及び音韻系列とともに、スコアシート(図9)に追加し、ステップS15に進む。
【0125】
ステップS15では、クラスタリング部33は、スコアシート(図8)を参照することにより、新未登録語についてのスコアs(N+1,i)(i=1,2,・・・,N)を最も高く(大きく)する代表メンバを有するクラスタを検出する。すなわち、クラスタリング部33は、スコアシートの代表メンバIDを参照することにより、代表メンバとなっている既記憶未登録語を認識し、さらに、スコアシートのスコアを参照することで、新未登録語についてのスコアを最も高くする代表メンバとしての既記憶未登録語を検出する。そして、クラスタリング部33は、その検出した代表メンバとしての既記憶未登録語のクラスタナンバのクラスタを検出する。
【0126】
その後、ステップS16に進み、クラスタリング部33は、新未登録語を、ステップS15で検出したクラスタ(以下、適宜、検出クラスタという)のメンバに加える。すなわち、クラスタリング部33は、スコアシートにおける新未登録語のクラスタナンバとして、検出クラスタの代表メンバのクラスタナンバを書き込む。
【0127】
そして、クラスタリング部33は、ステップS17において、検出クラスタを、例えば、2つのクラスタに分割するクラスタ分割処理を行い、ステップS18に進む。ステップS18では、クラスタリング部33は、ステップS17のクラスタ分割処理によって、検出クラスタを2つのクラスタに分割することができたかどうかを判定し、分割することができた判定した場合、ステップS19に進む。ステップS19では、クラスタリング部33は、検出クラスタの分割により得られる2つのクラスタ(この2つのクラスタを、以下、適宜、第1の子クラスタと第2の子クラスタという)どうしの間のクラスタ間距離を求める。
【0128】
ここで、第1と第2の子クラスタどうしの間のクラスタ間距離とは、例えば、次のように定義される。
【0129】
すなわち、第1の子クラスタと第2の子クラスタの両方の任意のメンバ(未登録語)のIDを、kで表すとともに、第1と第2の子クラスタの代表メンバ(未登録語)のIDを、それぞれk1又はk2で表すこととすると、次式で表される値D(k1,k2)を、第1と第2の子クラスタどうしの間のクラスタ間距離とする。
【0130】
D(k1,k2)=maxvalk{abs(log(s(k,k1))−log(s(k,k2)))} ・・・(2)
【0131】
ただし、式(2)において、abs()は、()内の値の絶対値を表す。また、maxvalk{}は、kを変えて求められる{}内の値の最大値を表す。また、logは、自然対数又は常用対数を表す。
【0132】
いま、IDがiのメンバを、メンバ#iと表すこととすると、式(2)におけるスコアの逆数1/s(k,k1)は、メンバ#kと代表メンバk1との距離に相当し、スコアの逆数1/s(k,k2)は、メンバ#kと代表メンバk2との距離に相当する。従って、式(2)によれば、第1と第2の子クラスタのメンバのうち、第1の子クラスタの代表メンバ#k1との距離と、第2の子クラスタの代表メンバ#k2との距離との差の最大値が、第1と第2の子クラスタどうしの間の子クラスタ間距離とされることになる。
【0133】
なお、クラスタ間距離は、上述したものに限定されるものではなく、その他、例えば、第1の子クラスタの代表メンバと、第2の子クラスタの代表メンバとのDPマッチングを行うことにより、特徴ベクトル空間における距離の積算値を求め、その距離の積算値を、クラスタ間距離とすることも可能である。
【0134】
ステップS19の処理後は、ステップS20に進み、クラスタリング部33は、第1と第2の子クラスタどうしのクラスタ間距離が、所定の閾値εより大である(或いは、閾値ε以上である)かどうかを判定する。
【0135】
ステップS20において、クラスタ間距離が、所定の閾値εより大であると判定された場合、すなわち、検出クラスタのメンバとしての複数の未登録語が、その音響的特徴からいって、2つのクラスタにクラスタリングすべきものであると考えられる場合、ステップS21に進み、クラスタリング部33は、第1と第2の子クラスタを、スコアシート記憶部34のスコアシートに登録する。
【0136】
すなわち、クラスタリング部33は、第1と第2の子クラスタに、ユニークなクラスタナンバを割り当て、検出クラスタのメンバのうち、第1の子クラスタにクラスタリングされたもののクラスタナンバを、第1の子クラスタのクラスタナンバにするとともに、第2の子クラスタにクラスタリングされたもののクラスタナンバを、第2の子クラスタのクラスタナンバにするように、スコアシートを更新する。
【0137】
さらに、クラスタリング部33は、第1の子クラスタにクラスタリングされたメンバの代表メンバIDを、第1の子クラスタの代表メンバのIDにするとともに、第2の子クラスタにクラスタリングされたメンバの代表メンバIDを、第2の子クラスタの代表メンバのIDにするように、スコアシートを更新する。
【0138】
なお、第1と第2の子クラスタのうちのいずれか一方には、検出クラスタのクラスタナンバを割り当てるようにすることが可能である。
【0139】
クラスタリング部33が、以上のようにして、第1と第2の子クラスタを、スコアシートに登録すると、ステップS21からS22に進み、メンテナンス部35が、スコアシートに基づいて、辞書記憶部25の単語辞書を更新し、処理を終了する。
【0140】
すなわち、この場合、検出クラスタが第1と第2の子クラスタに分割されたため、メンテナンス部35は、まず、単語辞書における、検出クラスタに対応するエントリを削除する。さらに、メンテナンス部35は、第1と第2の子クラスタそれぞれに対応する2つのエントリを、単語辞書に追加し、第1の子クラスタに対応するエントリの音韻系列として、その第1の子クラスタの代表メンバの音韻系列を登録するとともに、第2の子クラスタに対応するエントリの音韻系列として、その第2の子クラスタの代表メンバの音韻系列を登録する。
【0141】
一方、ステップS18において、ステップS17のクラスタ分割処理によって、検出クラスタを2つのクラスタに分割することができなかったと判定された場合、或いは、ステップS20において、第1と第2の子クラスタのクラスタ間距離が、所定の閾値εより大でないと判定された場合(従って、検出クラスタのメンバとしての複数の未登録語の音響的特徴が、第1と第2の2つの子クラスタにクラスタリングするほど似ていないものではない場合)、ステップS23に進み、クラスタリング部33は、検出クラスタの新たな代表メンバを求め、スコアシートを更新する。
【0142】
すなわち、クラスタリング部33は、新未登録語をメンバとして加えた検出クラスタの各メンバについて、スコアシート記憶部34のスコアシートを参照することにより、式(1)の計算に必要なスコアs(k’,k)を認識する。さらに、クラスタリング部33は、その認識したスコアs(k’,k)を用い、式(1)に基づき、検出クラスタの新たな代表メンバとなるメンバのIDを求める。そして、クラスタリング部33は、スコアシート(図9)における、検出クラスタの各メンバの代表メンバIDを、検出クラスタの新たな代表メンバのIDに書き換える。
【0143】
その後、ステップS22に進み、メンテナンス部35が、スコアシートに基づいて、辞書記憶部25の単語辞書を更新し、処理を終了する。
【0144】
すなわち、いまの場合、メンテナンス部35は、スコアシートを参照することにより、検出クラスタの新たな代表メンバを認識し、さらに、その代表メンバの音韻系列を認識する。そして、メンテナンス部35は、単語辞書における、検出クラスタに対応するエントリの音韻系列を、検出クラスタの新たな代表メンバの音韻系列に変更する。
【0145】
次に、図12のフローチャートを参照して、図11のステップS17のクラスタ分割処理の詳細について説明する。
【0146】
クラスタ分割処理では、まず最初に、ステップS31において、クラスタリング部33が、新未登録語がメンバとして加えられた検出クラスタから、まだ選択していない任意の2つのメンバの組み合わせを選択し、それぞれを、仮の代表メンバとする。ここで、この2つの仮の代表メンバを、以下、適宜、第1の仮代表メンバと第2の仮代表メンバという。
【0147】
そして、ステップS32に進み、クラスタリング部33は、第1の仮代表メンバと、第2の仮代表メンバを、それぞれ代表メンバとすることができるように、検出クラスタのメンバを、2つのクラスタに分割することができるかどうかを判定する。
【0148】
ここで、第1又は第2の仮代表メンバを代表メンバとすることができるかどうかは、式(1)の計算を行う必要があるが、この計算に用いられるスコアs(k’,k)は、スコアシートを参照することで認識される。
【0149】
ステップS32において、第1の仮代表メンバと、第2の仮代表メンバを、それぞれ代表メンバとすることができるように、検出クラスタのメンバを、2つのクラスタに分割することができないと判定された場合、ステップS33をスキップして、ステップS34に進む。
【0150】
また、ステップS32において、第1の仮代表メンバと、第2の仮代表メンバを、それぞれ代表メンバとすることができるように、検出クラスタのメンバを、2つのクラスタに分割することができると判定された場合、ステップS33に進み、クラスタリング部33は、第1の仮代表メンバと、第2の仮代表メンバが、それぞれ代表メンバとなるように、検出クラスタのメンバを、2つのクラスタに分割し、その分割後の2つのクラスタの組を、検出クラスタの分割結果となる第1及び第2の子クラスタの候補(以下、適宜、候補クラスタの組という)として、ステップS34に進む。
【0151】
ステップS34では、クラスタリング部33は、検出クラスタのメンバの中で、まだ、第1と第2の仮代表メンバの組として選択していない2つのメンバの組があるかどうかを判定し、あると判定した場合、ステップS31に戻り、まだ、第1と第2の仮代表メンバの組として選択していない、検出クラスタの2つのメンバの組が選択され、以下、同様の処理が繰り返される。
【0152】
また、ステップS34において、第1と第2の仮代表メンバの組として選択していない、検出クラスタの2つのメンバの組がないと判定された場合、ステップS35に進み、クラスタリング部33は、候補クラスタの組が存在するかどうかを判定する。
【0153】
ステップS35において、候補クラスタの組が存在しないと判定された場合、ステップS36をスキップして、リターンする。この場合は、図10のステップS18において、検出クラスタを分割することができなかったと判定される。
【0154】
一方、ステップS35において、候補クラスタの組が存在すると判定された場合、ステップS36に進み、クラスタリング部33は、候補クラスタの組が複数存在するときには、各候補クラスタの組の2つのクラスタどうしの間のクラスタ間距離を求める。そして、クラスタリング部33は、クラスタ間距離が最小の候補クラスタの組を求め、その候補クラスタの組を、検出クラスタの分割結果として、すなわち、第1と第2の子クラスタとして、リターンする。なお、候補クラスタの組が1つだけの場合は、その候補クラスタの組が、そのまま、第1と第2の子クラスタとされる。
【0155】
この場合は、図11のステップS18において、検出クラスタを分割することができたと判定される。
【0156】
以上のように、クラスタリング部33において、既に求められた未登録語をクラスタリングしたクラスタの中から、新未登録語を新たなメンバとして加えるクラスタ(検出クラスタ)を検出し、新未登録語をその検出クラスタの新たなメンバとして、検出クラスタをその検出クラスタのメンバに基づいて分割するようにしたことにより、未登録語を音響的特徴が近似しているものどうしに容易にクラスタリングできる。
【0157】
さらに、メンテナンス部35において、そのようなクラスタリング結果に基づいて、単語辞書を更新するようにしたので、単語辞書の大規模化を避けながら、未登録語の単語辞書への登録を、容易に行うことができる。
【0158】
また、例えば、仮に、マッチング部23において、未登録語の音声区間の検出を誤ったとしても、そのような未登録語は、検出クラスタの分割によって、音声区間が正しく検出された未登録語とは別のクラスタにクラスタリングされる。そして、このようなクラスタに対応するエントリが、単語辞書に登録されることになるが、このエントリの音韻系列は、正しく検出されなかった音声区間に対応するものとなるから、その後の音声認識において、大きなスコアを与えることはない。従って、仮に、未登録語の音声区間の検出を誤ったとしても、その誤りは、その後の音声認識には、ほとんど影響しない。
【0159】
以上のように、図10及び図11の処理を行うことによって、ロボット装置101は、未登録語を動作パターン蓄積サーバ102上に蓄積することができる。しかも、複数のロボット装置が接続されるネットワーク103であれば、各ロボット装置によって学習された新規の登録語を共有できる。
【0160】
図10及び図11にて示した動作パターン蓄積サーバ102とロボット装置101との間のデータ送受信は、ここでは、HTTPを用いてXML−RPCにて行う。以下に、実際のXML文章を示す。
【0161】
ロボット装置101から動作パターン蓄積サーバ102に対して、未登録語(OOV)の特徴ベクトルを以下の文章(コール)によって送信する。
【0162】
【0163】
動作パターン蓄積サーバ102は、上述のコールを受け取ると、以下のXML−RPCを返信する。
【0164】
【0165】
ロボット装置が、仮に全ての登録語辞書を要求する場合には、例えば、以下のコールを行えばよい。
【0166】
【0167】
また、このコールに対しては、動作パターン蓄積サーバ102は、以下のコールを送ることによって応答する。
【0168】
【0169】
次に、図13は、未登録語の発話を行って得られたクラスタリング結果を示している。なお、図13においては、各エントリ(各行)が、1つのクラスタを表している。また、図13の左欄は、各クラスタの代表メンバ(未登録語)の音韻系列を表しており、図13の右欄は、各クラスタのメンバとなっている未登録語の発話内容と数を表している。
【0170】
すなわち、図13において、例えば、第1行のエントリは、未登録語「風呂」の1つの発話だけがメンバとなっているクラスタを表しており、その代表メンバの音韻系列は、「doroa:」(ドロアー)になっている。また、例えば、第2行のエントリは、未登録語「風呂」の3つの発話がメンバとなっているクラスタを表しており、その代表メンバの音韻系列は、「kuro」(クロ)になっている。
【0171】
さらに、例えば、第7行のエントリは、未登録語「本」の4つの発話がメンバとなっているクラスタを表しており、その代表メンバの音韻系列は、「NhoNde:su」(ンホンデース)になっている。また、例えば、第8行のエントリは、未登録語「オレンジ」の1つの発話と、未登録語「本」の19の発話がメンバとなっているクラスタを表しており、その代表メンバの音韻系列は、「ohoN」(オホン)になっている。他のエントリも、同様のことを表している。
【0172】
図13によれば、同一の未登録語の発話について、良好にクラスタリングされていることが分かる。
【0173】
なお、図13の第8行のエントリにおいては、未登録語「オレンジ」の1つの発話と、未登録語「本」の19の発話が、同一のクラスタにクラスタリングされている。このクラスタは、そのメンバとなっている発話から、未登録語「本」のクラスタとなるべきであると考えられるが、未登録語「オレンジ」の発話も、そのクラスタのメンバとなっている。しかしながら、このクラスタも、その後に、未登録語「本」の発話がさらに入力されていくと、クラスタ分割され、未登録語「本」の発話だけをメンバとするクラスタと、未登録語「オレンジ」の発話だけをメンバとするクラスタにクラスタリングされると考えられる。
【0174】
以上は、動作パターン共有システム100においてロボット装置101の音声認識動作における未知動作(未登録語)の登録処理に関してであるが、本発明は、音声認識以外の動作に対しても適用できる。
【0175】
ロボット装置101(ロボット装置1)が辞書記憶部15に相当する行動記憶領域に予め登録されていない動作を新たに学習する方法として、従来、ニューラルネットワークが研究されている。ニューラルネットワークにおいては、所定のパターンを予め学習しておくことにより、学習済みのパターンの線形和で表現されるパターン、及び非線形和で表現されるパターンを、既に学習した所定パターンとの関係性に基づいて分類できるようにした技術が本願出願人によってなされている(特願2002−135237)。本具体例では、このニューラルネットワークを適用して動作パターンを共有することもできる。
【0176】
図14は、リカレント型ニューラルネットワークの構成例を表している。このリカレント型ニューラルネットワーク(RNN)200は、入力層201、中間層(隠れ層)202、及び出力層203により構成されている。これらの入力層201、中間層202、及び出力層203は、それぞれ任意数のニューロンにより構成されている。
【0177】
入力層201の一部のニューロン201−1には、データxtが入力される。入力層201の一部のニューロンであるパラメトリックバイアスノード201−2には、パラメータxtが入力される。さらに、入力層201の一部のニューロン201−3には、出力層203の一部のニューロン203−2より出力されたデータが、RNN200の内部の状態を表すコンカレントCtとしてフィードバックされている。
【0178】
中間層202のニューロンは、入力されたデータに対して重み付け加算処理を行い、順次後段に出力する処理を実行する。すなわち、データxt,Xt,ctに対して所定の重み付け係数に対する演算処理(非線形関数に基づく演算処理)を行った後、出力層203に出力する。
【0179】
出力層203を構成する一部のニューロン203−1は、入力データに対応するデータx* t+1を出力する。また、RNN200は、バックプロパケーションによる学習のための演算器221を有している。演算部222は、RNN200に対する重み付け係数の設定処理を行う。
【0180】
本具体例では、このリカレント型ニューラルネットワークをロボット装置101と動作パターン蓄積サーバ102との間に構築することにより、ネットワーク103に接続されるロボット装置間で動作パターンを共有できる。例えば、歩行動作であれば、ロボット装置の足底部が接する平面の違い、例えば、絨毯、畳、床、土等といった歩行条件に応じた歩行動作パターンを効率的に学習できる。
【0181】
以上、本発明をエンターテインメントロボット(疑似ペットとしてのロボット装置)に適用した場合について説明したが、本発明は、これに限らず、例えば、音声認識装置を搭載した音声対話システムそのほかに広く適用することが可能である。また、本発明は、現実世界のロボット装置だけでなく、例えば、液晶ディスプレイ等の表示装置に表示される仮想的なロボット装置にも適用可能である。
【0182】
なお、上述した一連の処理をCPU10Aにプログラムを実行させることにより行うようにしたが、一連の処理は、それ専用のハードウェアによって行うことも可能である。
【0183】
ここで、プログラムは、予めメモリ10B(図3)に記憶させておくほか、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的或いは永続的に格納(記録)しておくことができる。そして、このようなリムーバブル記録媒体を、いわゆるパッケージソフトウェアとして提供し、ロボット装置(メモリ10B)にインストールするようにすることができる。
【0184】
また、プログラムは、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、有線で転送し、メモリ10Bにインストールすることができる。
【0185】
この場合、プログラムがバージョンアップされたとき等に、そのバージョンアップされたプログラムを、メモリ10Bに、容易にインストールすることができる。
【0186】
なお、上述した例において、CPU10Aに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的或いは個別に実行される処理(例えば、並列処理或いはオブジェクトによる処理)も含むものである。プログラムは、1のCPUにより処理されるものであってもよいし、複数のCPUによって分散処理されるものであってもよい。
【0187】
図4の音声認識部50Aは、専用のハードウェアにより実現することもできるし、ソフトウェアにより実現することもできる。音声認識部50Aをソフトウェアによって実現する場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0188】
なお、本発明は上述した具体例のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、ロボット装置1は、4足歩行タイプのロボット装置であってもよい。
【0189】
【発明の効果】
以上詳細に説明したように、本発明に係るロボット装置の動作パターン共有システムは、ロボット装置が新たに学習した動作パターンを新規動作パターンとして動作パターン蓄積装置に送信する、及び動作パターン蓄積装置に蓄積された動作パターンを取得して使用することにより、個々のロボット装置が収集及び学習した動作パターンを共有でき、ロボット装置の学習領域の範囲が拡がり、学習速度が向上する。
【0190】
また、本発明に係る動作パターン共有方法によれば、個々のロボット装置が収集及び学習した動作パターンを共有でき、ロボット装置の学習領域の範囲が拡がり、学習速度が向上する。
【0191】
また、本発明に係るロボット装置は、動作パターンを共有できるため、学習領域の範囲が拡がり学習速度が向上する。
【図面の簡単な説明】
【図1】本発明の具体例として示す動作パターン共有システムの構成を説明する概略図である。
【図2】本発明の具体例として示すロボット装置の外観斜視図である。
【図3】上記ロボット装置の電気的な構成を説明する構成図である。
【図4】上記ロボット装置のコントローラの機能を説明する構成図である。
【図5】上記動作パターン共有システムにおけるロボット装置のコントローラ及び動作パターン共有サーバを具体的に説明する構成図である。
【図6】上記ロボット装置の辞書記憶部に記憶される単語辞書を説明する図である。
【図7】上記ロボット装置の文法記憶部に記憶される文法規則を説明する図である。
【図8】未登録語のID、音韻系列、及び特徴ベクトル系列をそれぞれ対応付けして一時記憶する特徴ベクトルバッファを説明する図である。
【図9】スコアシート記憶部に記憶されるスコアシートを説明する図である。
【図10】上記動作パターン共有システムにおける未登録語の登録語処理を説明するフローチャートである。
【図11】上記動作パターン共有システムにおいて、動作パターン蓄積サーバにおいて行われる未登録語の登録処理を説明するフローチャートである。
【図12】上記図11のステップS17のクラスタ分割処理を説明するフローチャートである。
【図13】未登録語の発話を行って得られたクラスタリング結果を説明する図である。
【図14】リカレント型ニューラルネットワークの構成例を説明する図である。
【符号の説明】
1 ロボット装置、19 ネットワークコントローラ、21 AD変換部、22 特徴抽出部、23 マッチング部、24 音響モデル記憶部、25 辞書記憶部、26 文法記憶部、27 未登録語区間処理部、31 ネットワークコントローラ、32 特徴ベクトルバッファ、33 クラスタリング部、34 スコアシート記憶部、35 メンテナンス部、100 動作パターン共有システム、101 ロボット装置、102 動作パターン蓄積サーバ、103 ネットワーク
Claims (13)
- 外部情報及び/又は内部状態に基づく自律的動作を実行する複数のロボット装置と、上記外部情報に応じたロボット装置の動作パターンを蓄積する動作パターン蓄積装置とが互いに接続され、
上記ロボット装置の各々は、上記外部情報に基づく動作のうち新たに学習した動作パターンを新規動作パターンとして上記動作パターン蓄積装置に送信する、及び上記動作パターン蓄積装置に蓄積された動作パターンを取得して使用する
ことを特徴とするロボット装置の動作パターン共有システム。 - 上記複数のロボット装置の各々は、
外部情報を取得する外部情報取得手段と、
外部情報に基づく動作パターンを予め記憶した動作記憶手段と、
上記取得された外部情報に応じて上記動作記憶手段に記憶された動作パターンから動作パターンを選択する動作選択手段と、
上記取得した外部情報と上記動作記憶手段に予め記憶された情報とを比較する比較手段と、
上記動作パターン蓄積装置との間で通信する通信制御手段と、
上記外部情報に基づく動作を生成する動作生成手段を備え、
上記取得した外部情報が上記比較手段によって上記動作記憶手段に記憶されていないと判断された場合、上記通信制御手段は、上記取得した外部情報と該外部情報に基づいて生成した動作とを新規動作パターンとして上記動作パターン蓄積装置に対して送信することを特徴とする請求項1記載のロボット装置の動作パターン共有システム。 - 上記複数のロボット装置の各々は、上記動作パターン蓄積装置に蓄積された動作パターンを抽出して上記動作記憶手段に記憶することを特徴とする請求項2記載のロボット装置の動作パターン共有システム。
- 上記動作パターン蓄積装置は、上記動作記憶手段に上記新規動作パターンをロボット装置毎の認証情報と対応付けて記憶することを特徴とする請求項2記載のロボット装置の動作パターン共有システム。
- 上記ロボット装置の各々と上記動作パターン蓄積装置は、コンピュータネットワークを介して互いに接続されていることを特徴とする請求項1記載のロボット装置の動作パターン共有システム。
- 外部情報及び/又は内部状態に基づく自律的動作を実行する複数のロボット装置の動作パターンを複数のロボット装置間にて共有して保有する動作パターン共有方法であって、
上記外部情報に基づく動作のうち上記ロボット装置の各々において新たに学習された動作パターンを新規動作パターンとして蓄積する動作パターン蓄積工程と、
動作パターン蓄積工程において蓄積された動作パターンを抽出する工程と
を有することを特徴とするロボット装置の動作パターン共有方法。 - 上記複数のロボット装置の各々において、外部情報を取得する外部情報取得工程と、
上記取得した外部情報と動作記憶手段に予め記憶された外部情報に基づく動作パターンとを比較する比較工程と、
上記外部情報に応じて上記動作記憶手段から動作パターンを選択する動作選択工程と、
上記外部情報に応じて動作を生成する動作生成工程とを有し、
上記比較工程において、上記取得した外部情報が上記動作記憶手段に記憶されていると判断された場合、上記動作選択工程にて上記取得された外部情報に応じて動作パターンを選択し、
上記比較工程において、上記取得した外部情報が上記動作記憶手段に記憶されていないと判断された場合、上記動作生成工程にて動作パターンを生成し、
上記取得した外部情報と該外部情報に基づいて生成した動作とを新規動作パターンとして蓄積する動作パターン蓄積工程を有することを特徴とする請求項6記載のロボット装置の動作パターン共有方法。 - 上記動作パターン蓄積工程では、上記動作記憶手段に上記新規動作パターンをロボット装置毎の認証情報と対応付けて記憶することを特徴とする請求項8記載のロボット装置の動作パターン共有方法。
- 外部情報及び/又は内部状態に基づく自律的動作を実行するロボット装置において、
上記外部情報に基づく動作のうち新たに学習した動作パターンを新規動作パターンとして他のロボット装置と共有する外部動作パターン蓄積手段に送信する、及び該外部動作パターン蓄積手段に蓄積された動作パターンを取得して使用することを特徴とするロボット装置。 - 外部情報を取得する外部情報取得手段と、
外部情報に基づく動作パターンを予め記憶した動作記憶手段と、
上記取得された外部情報に応じて上記動作記憶手段に記憶された動作パターンから動作パターンを選択する動作選択手段と、
上記取得した外部情報と上記動作記憶手段に予め記憶された情報とを比較する比較手段と、
上記外部動作パターン蓄積手段との間で通信する通信制御手段と、
上記外部情報に基づく動作を生成する動作生成手段を備え、
上記取得した外部情報が上記比較手段によって上記動作記憶手段に記憶されていないと判断された場合、上記通信制御手段は、上記取得した外部情報と該外部情報に基づいて生成した動作とを新規動作パターンとして上記動作パターン蓄積手段に送信することを特徴とする請求項10記載のロボット装置。 - 上記外部動作パターン蓄積手段に蓄積された動作パターンを抽出して上記動作記憶手段に記憶することを特徴とする請求項11記載のロボット装置。
- 上記外部動作パターン蓄積手段は、上記動作記憶手段に上記新規動作パターンをロボット装置毎の認証情報と対応付けて記憶することを特徴とする請求項11記載のロボット装置。
- 上記外部動作パターン蓄積手段は、コンピュータネットワークを介して接続されていることを特徴とする請求項10記載のロボット装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003098634A JP2004309523A (ja) | 2003-04-01 | 2003-04-01 | ロボット装置の動作パターン共有システム、ロボット装置の動作パターン共有方法、及びロボット装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003098634A JP2004309523A (ja) | 2003-04-01 | 2003-04-01 | ロボット装置の動作パターン共有システム、ロボット装置の動作パターン共有方法、及びロボット装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004309523A true JP2004309523A (ja) | 2004-11-04 |
Family
ID=33463353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003098634A Withdrawn JP2004309523A (ja) | 2003-04-01 | 2003-04-01 | ロボット装置の動作パターン共有システム、ロボット装置の動作パターン共有方法、及びロボット装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004309523A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010014885A (ja) * | 2008-07-02 | 2010-01-21 | Advanced Telecommunication Research Institute International | 音声認識機能付情報処理端末 |
JP2013536095A (ja) * | 2010-08-24 | 2013-09-19 | 中国科学院深▲しん▼先進技術研究院 | クラウドロボットシステムおよびその実現方法 |
JP2014504959A (ja) * | 2011-01-26 | 2014-02-27 | 本田技研工業株式会社 | 人間型ロボットのジェスチャと音声の同期 |
WO2018047900A1 (ja) * | 2016-09-09 | 2018-03-15 | Groove X株式会社 | ゲストを受け入れる自律行動型ロボット |
JP2019101971A (ja) * | 2017-12-07 | 2019-06-24 | カシオ計算機株式会社 | 見守りロボット、見守り方法及びプログラム |
-
2003
- 2003-04-01 JP JP2003098634A patent/JP2004309523A/ja not_active Withdrawn
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010014885A (ja) * | 2008-07-02 | 2010-01-21 | Advanced Telecommunication Research Institute International | 音声認識機能付情報処理端末 |
JP2013536095A (ja) * | 2010-08-24 | 2013-09-19 | 中国科学院深▲しん▼先進技術研究院 | クラウドロボットシステムおよびその実現方法 |
US9031692B2 (en) | 2010-08-24 | 2015-05-12 | Shenzhen Institutes of Advanced Technology Chinese Academy of Science | Cloud robot system and method of integrating the same |
JP2014504959A (ja) * | 2011-01-26 | 2014-02-27 | 本田技研工業株式会社 | 人間型ロボットのジェスチャと音声の同期 |
US9431027B2 (en) | 2011-01-26 | 2016-08-30 | Honda Motor Co., Ltd. | Synchronized gesture and speech production for humanoid robots using random numbers |
JPWO2018047900A1 (ja) * | 2016-09-09 | 2018-11-01 | Groove X株式会社 | ゲストを受け入れる自律行動型ロボット |
WO2018047900A1 (ja) * | 2016-09-09 | 2018-03-15 | Groove X株式会社 | ゲストを受け入れる自律行動型ロボット |
GB2567791A (en) * | 2016-09-09 | 2019-04-24 | Groove X Inc | Autonomous robot which receives guest |
CN109689174A (zh) * | 2016-09-09 | 2019-04-26 | Groove X 株式会社 | 接纳访客的行为自主型机器人 |
JP2020014845A (ja) * | 2016-09-09 | 2020-01-30 | Groove X株式会社 | ゲストを受け入れる自律行動型ロボット |
CN109689174B (zh) * | 2016-09-09 | 2020-12-29 | Groove X 株式会社 | 接纳访客的机器人及服务器 |
US11135726B2 (en) | 2016-09-09 | 2021-10-05 | Groove X, Inc. | Autonomously acting robot that accepts a guest |
GB2567791B (en) * | 2016-09-09 | 2021-10-13 | Groove X Inc | Autonomously acting robot that accepts a guest |
JP7055402B2 (ja) | 2016-09-09 | 2022-04-18 | Groove X株式会社 | ゲストを受け入れる自律行動型ロボット |
JP2019101971A (ja) * | 2017-12-07 | 2019-06-24 | カシオ計算機株式会社 | 見守りロボット、見守り方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7228276B2 (en) | Sound processing registering a word in a dictionary | |
JP4201012B2 (ja) | データ処理装置、データ処理方法、およびプログラム | |
KR100940630B1 (ko) | 로봇 장치와, 문자 인식 장치 및 문자 인식 방법과, 제어프로그램 및 기록 매체 | |
JP4150198B2 (ja) | 音声合成方法、音声合成装置、プログラム及び記録媒体、並びにロボット装置 | |
JP4843987B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
KR20190104269A (ko) | 발화 스타일 부여를 위한 인공지능 기반의 음성 샘플링 장치 및 방법 | |
JP2002189488A (ja) | ロボット制御装置およびロボット制御方法、記録媒体、並びにプログラム | |
JP2003131683A (ja) | 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 | |
JP2003255989A (ja) | 学習装置及び学習方法並びにロボット装置 | |
JP4534769B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP4600736B2 (ja) | ロボット制御装置および方法、記録媒体、並びにプログラム | |
US20200402505A1 (en) | Generation of trigger recognition models for robot | |
JP2004309523A (ja) | ロボット装置の動作パターン共有システム、ロボット装置の動作パターン共有方法、及びロボット装置 | |
JP4587009B2 (ja) | ロボット制御装置およびロボット制御方法、並びに記録媒体 | |
JP2002307349A (ja) | ロボット装置、情報学習方法、プログラム及び記録媒体 | |
JP4706893B2 (ja) | 音声認識装置および方法、並びに、プログラムおよび記録媒体 | |
JP2001154693A (ja) | ロボット制御装置およびロボット制御方法、並びに記録媒体 | |
JP4016316B2 (ja) | ロボット装置およびロボット制御方法、記録媒体、並びにプログラム | |
JP2003271172A (ja) | 音声合成方法、音声合成装置、プログラム及び記録媒体、並びにロボット装置 | |
JP2007280057A (ja) | データ処理装置、データ処理方法、およびプログラム | |
JP2003044080A (ja) | ロボット装置、文字認識装置及び文字認識方法、並びに、制御プログラム及び記録媒体 | |
JP2002258886A (ja) | 音声合成装置および音声合成方法、並びにプログラムおよび記録媒体 | |
JP2007241304A (ja) | 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 | |
JP2003271181A (ja) | 情報処理装置および情報処理方法、並びに記録媒体およびプログラム | |
JP2007280007A (ja) | データ処理装置、データ処理方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060606 |