(57)【特許請求の範囲】
【請求項１】
複数の言語モデルのそれぞれに対応する複数の音声認識処理であって、入力音声を認識する音声認識処理を２以上同時に実行する音声認識装置において、
前記音声認識装置により実行される前記音声認識処理の音声認識環境のパラメータを設定する音声認識環境設定手段と、
前記音声認識環境設定手段による設定に従って、前記２以上の前記音声認識処理を同時に実行する実行手段とを備え、
前記音声認識環境設定手段は、
前記パラメータの１つであって、前記音声認識処理の音声区間検出において音声終了を判断するための終了判定時間を、前記２以上の前記音声認識処理のそれぞれについて予め設定されている前記終了判定時間のうちの最も長い終了判定時間に設定し、
前記パラメータの１つであるマイクロホンの指向特性を、前記２以上の前記音声認識処理のそれぞれについて予め設定されているマイクロホンの指向特性として無指向性が設定されているものが少なくとも１つ存在する場合、無指向性に設定する
ことを特徴とする音声認識装置。
【請求項２】
複数の言語モデルのそれぞれに対応する複数の音声認識処理であって、入力音声を認識する音声認識処理を２以上同時に実行する音声認識装置の音声認識方法において、
前記音声認識装置により実行される前記音声認識処理の音声認識環境のパラメータを設定する音声認識環境設定ステップと、
前記音声認識環境設定ステップの処理による設定に従って、前記２以上の前記音声認識処理を同時に実行する実行ステップとを含み、
前記音声認識環境設定ステップの処理では、
前記パラメータの１つであって、前記音声認識処理の音声区間検出において音声終了を判断するための終了判定時間を、前記２以上の前記音声認識処理のそれぞれについて予め設定されている前記終了判定時間のうちの最も長い終了判定時間に設定し、
前記パラメータの１つであるマイクロホンの指向特性を、前記２以上の前記音声認識処理のそれぞれについて予め設定されているマイクロホンの指向特性として無指向性が設定されているものが少なくとも１つ存在する場合、無指向性に設定する
ことを特徴とする音声認識方法。
【請求項３】
複数の言語モデルのそれぞれに対応する複数の音声認識処理であって、入力音声を認識する音声認識処理の２以上の同時実行を制御するコンピュータに実行させるプログラムにおいて、
前記音声認識装置により実行される前記音声認識処理の音声認識環境のパラメータを設定する音声認識環境設定ステップと、
前記音声認識環境設定ステップの処理による設定に従って、前記２以上の前記音声認識処理を同時に実行する実行ステップとをコンピュータに実行させ、
前記音声認識環境設定ステップの処理では、
前記パラメータの１つであって、前記音声認識処理の音声区間検出において音声終了を判断するための終了判定時間を、前記２以上の前記音声認識処理のそれぞれについて予め設定されている前記終了判定時間のうちの最も長い終了判定時間に設定し、
前記パラメータの１つであるマイクロホンの指向特性を、前記２以上の前記音声認識処理のそれぞれについて予め設定されているマイクロホンの指向特性として無指向性が設定されているものが少なくとも１つ存在する場合、無指向性に設定する
ことを特徴とするプログラム。
【請求項４】
複数の言語モデルのそれぞれに対応する複数の音声認識処理であって、入力音声を認識する音声認識処理の２以上の同時実行を制御するコンピュータに実行させるプログラムを記録している記録媒体であって、
前記音声認識装置により実行される前記音声認識処理の音声認識環境のパラメータを設定する音声認識環境設定ステップと、
前記音声認識環境設定ステップの処理による設定に従って、前記２以上の前記音声認識処理を同時に実行する実行ステップとをコンピュータに実行させ、
前記音声認識環境設定ステップの処理では、
前記パラメータの１つであって、前記音声認識処理の音声区間検出において音声終了を判断するための終了判定時間を、前記２以上の前記音声認識処理のそれぞれについて予め設定されている前記終了判定時間のうちの最も長い終了判定時間に設定し、
前記パラメータの１つであるマイクロホンの指向特性を、前記２以上の前記音声認識処理のそれぞれについて予め設定されているマイクロホンの指向特性として無指向性が設定されているものが少なくとも１つ存在する場合、無指向性に設定する
プログラムを記録していることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識装置および方法、並びに、プログラムおよび記録媒体に関し、特に、複数の音声認識タスクを利用する音声認識処理において、音声認識環境の設定を適切に行うことができる、音声認識装置および方法、並びに、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
音声認識において、音声区間検出が一般的に必要とされている。音声区間検出とは、マイクロホンの入力から、認識されるべき音声の区間だけを予め切り出す処理を指す。
【０００３】
音声区間検出を誤ると、後段の音声認識部の性能が如何に良くても、システム全体としての音声認識の性能が下がってしまう。このため、音声区間検出の性能を上げるために様々な手法が提案されている。
【０００４】
例えば、特許文献１には、２つのマイクロホンを用いてS/N比（SignalとNoiseとの比率）の変動に強い音声区間検出を実現する手法が開示されている。また、例えば、特許文献２には、背景ノイズとなるオーディオ信号のキャンセル機能の実行や、環境騒音レベルの検出の実行により、精度よく音声区間検出を行う手法が開示されている。
【０００５】
また、音声区間検出にとって、音声認識の結果がどれほど確からしいかを示す正解確信度の利用も重要である。非音声を誤って音声として区間検出したときにその非音声を精度良くリジェクトできれば、結果として音声区間検出の誤りを修正できるからである。このような正解確信度の一計算手法が、例えば、特許文献３に開示されている。
【０００６】
また、ノイズ環境で音声認識のよりよい性能を得るためには、できるだけノイズが少ない音声、即ち、S/N比の高い音声の利用が望ましい。このため、音声認識の対象となる音声の入力機器として、指向性マイクがしばしば用いられる。しかしながら、指向性マイクを利用した場合、そのマイクロホンの指向特性の範囲に発話者が正しく位置しないと性能の劣化を招くおそれがある。このため、例えば、特許文献４には、画像情報を用いて指向性マイクロホンの指向性を発話者の方向に常に向けるようにコントロールする手法が開示されている。
【０００７】
ところで、音声認識と一口に言っても、認識すべき音声の内容はアプリケーションの要請によって多岐にわたる。
【０００８】
例えば、認識すべき入力音声の長さ（そのようなアプリケーションの要請）に応じて、認識すべき音声の内容は様々な種類に分類される。具体的には、例えば、「スタート」，「停止」等のような１つの単語（コマンド）と、「右を向いて三歩歩いて停止」等のような文章といった種類に分類される。即ち、離散単語認識により認識される内容（１つの単語）と、連続単語認識により認識される内容（文章）といった種類に分類される。
【０００９】
さらに、この連続単語認識において認識される文章、即ち、連続単語認識において認識すべき音声の内容も、様々な種類に分類される。具体的には、例えば、比較的少ない語彙で制約された文法を利用して認識される文章や、確率的言語モデルなどを用いて認識される任意の文章といったような種類に分類される。
【００１０】
また、語彙数に応じても、認識すべき音声の内容は様々な種類に分類される。具体的には、例えば、数十単語程度の小語彙から、数万語におよぶ大語彙まで様々な種類に分類される。
【００１１】
さらにまた、想定される発話のスタイルに応じても、認識すべき音声の内容は様々な種類に分類される。具体的には、例えば、文章を読み上げたようなフォーマルな発話や、人間同士の会話のような自由な発話といった種類に分類される。
【００１２】
なお、以下、このような、アプリケーションに応じた音声認識すべき内容をまとめて、音声認識タスクと称する。
【００１３】
このように、音声認識には様々な音声認識タスクが存在する。従って、音声認識においては、音声認識タスク毎に、その特徴に従って、音声を認識するための環境（以下、このような環境を、音声認識環境と称する）を設定することが重要である。
【００１４】
このような音声認識環境として、例えば、音声区間検出のパラメータ（例えば、後述する終了判定時間等）、正解確信度の閾値、マイクロホンの指向特性等が存在する。そこで、以下、音声区間検出のパラメータ（終了判定時間）、正解確信度の閾値、および、マイクロホンの指向特性のそれぞれに対する、音声認識タスクに応じた設定の重要性について、その順番に個別に説明していく。
【００１５】
はじめに、音声認識タスクに応じた、音声区間検出のパラメータ（終了判定時間）の設定の重要性について説明する。
【００１６】
従来の音声区間検出の多くは、閾値との比較処理を伴う音声区間検出である（例えば、特許文献５参照）。具体的には、例えば、入力音響信号の長時間平均パワーに対する短時間平均パワーの比（以下、パワー比と称する）が閾値を越える程の大きな音の入力があった時点で、音声開始と判断し、その後、一定時間の間パワー比が閾値より下回った時点で、音声終了と判断する、といった音声区間検出が知られている。
【００１７】
このような音声区間検出において、音声終了を判断するための先に示した一定時間は、終了判定時間と称されている。この終了判定時間の最適値は、全ての音声認識タスクにおいて不変であることが望ましいが、実際には異なることが多い。
【００１８】
例えば、上述した離散単語認識に対応する音声認識タスクであれば、認識すべき音声（即ち、１つの単語）の途中に息継ぎなどの比較的長い無音区間が入らない。そこで、音声認識システムの応答速度を上げること等を目的として、終了判定時間を短く設定する（例えば、0.3秒程度に設定する）ことが多い。
【００１９】
これに対して、上述した連続音声認識に対応する音声認識タスクでは、利用者に自由な発話を許している場合、認識すべき音声（即ち、文章）の途中に息継ぎや“いい淀み”など比較的長い無音が入る可能性がある。そこで、長めの終了判定時間を設定する（例えば、１秒程度に設定する）必要がある。
【００２０】
このように、終了判定時間は、音声認識タスクに応じた設定が重要である。なお、詳細な説明は省略するが、終了判定時間以外の音声区間検出のパラメータも、全く同様に、音声認識タスクに応じた設定が重要である。
【００２１】
次に、音声認識タスクに応じた、正解確信度の閾値の設定の重要性について説明する。
【００２２】
正解確信度は、上述したように、認識結果のリジェクション（処理）で利用される値であって、０乃至１の値を取り得る。即ち、正解確信度が１に近づくほど、音声認識の結果が正しい可能性（確率）が高くなる。従って、０乃至１の範囲内で閾値が設定され、その閾値より低い正解確信度を有する音声認識の結果はリジェクト（破棄）されることになる。
【００２３】
この場合、小語彙の音声認識タスクにおいては、それに対応する音声認識処理は比較的容易であるため、正解確信度の閾値として高い値を設定しても、正しい音声入力に対する認識結果を誤ってリジェクトする可能性は低い。そこで、誤った音声区間検出結果を多くリジェクトできるように、高い閾値（例えば、0.9程度）を設定することが多い。
【００２４】
これに対して、大語彙の音声認識タスクにおいては、それに対応する音声認識処理は比較的難しくなり、正しい音声入力に対する認識結果でも正解確信度が常に高い値を保つことが難しくなる。そこで、正解確信度の閾値もある程度低く設定せざるをえない（例えば、上述した0.9よりも遥かに低い0.5程度に設定せざるを得ない）。
【００２５】
このように、正解確信度の閾値も、音声認識タスクに応じた設定が重要である。なお、これらの閾値はシミュレーションなどによって実験的に決定される。
【００２６】
次に、音声認識タスクに応じたマイクロホンの指向特性の設定の重要性について説明する。
【００２７】
ユーザ（発話者）の位置が既知の音声認識タスクにおいては、マイクロホンの指向性をユーザに向ける（そのように設定する）ことができる。これにより、ノイズに対する頑健性が向上する。
【００２８】
これに対して、例えば、ユーザが自律型のロボット（マイクロホンが搭載されているロボット）に対して呼びかける（例えば、後ろから呼びかける）ような状況を想定している音声認識タスクにおいては、ユーザの位置が予め特定できないので、マイクロホンの指向性を設定することができない。即ち、無指向性に設定する必要がある。
【００２９】
また、複数のユーザからの音声を認識する必要がある音声認識タスクにおいても、マイクロホンの指向性を設定することは困難である。
【００３０】
以上説明したように、音声認識タスクに応じた音声認識環境の設定は重要なことである。
【００３１】
ただし、上述した特許文献１乃至５に開示されているような音声認識システム、即ち、従来の音声認識システムでは、単一の音声認識タスクを対象とする場合が多く、このため、音声認識環境の設定を固定しておく（音声認識環境を予め設定しておく）ことができた。
【特許文献１】特開平７−１０９５５９号公報
【特許文献２】特開２００２−４１０７号公報
【特許文献３】特開平９−２５９２２６号公報
【特許文献４】特開２０００−１４８１８４号公報
【特許文献５】特開平７−１０９５５９号公報
【発明の開示】
【発明が解決しようとする課題】
【００３２】
ところが、近年、自律型のロボットのアプリケーション等、複数の音声認識タスクを切り替えて利用する音声認識システムが登場してきている。このような音声認識システムでは、使用する音声認識タスクが切り替えられる度に、実行の対象となる音声認識処理の切り替えと共に、音声認識環境の設定の切り替えが必要になる。
【００３３】
さらに、自律型のロボットのアプリケーションなどで、例えば、「小語彙のコマンドが任意の方向から呼びかけられる可能性があり、さらにロボット正面にいるユーザの言葉を大語彙音声認識をもちいてディクテーションする」といったような、異なる複数の音声認識タスクを同時に実行する音声認識システムも登場してきている。このような音声認識システムでは、１以上の音声認識タスクの様々な組み合わせが発生する。従って、音声認識タスクの組み合わせが変更される（切り替わる）度に、その組み合わせに応じて音声認識環境の設定を適切に行う必要がある。
【００３４】
しかしながら、上述した特許文献１乃至５に開示されている技術をはじめとし、従来の音声認識の技術の多くは、上述したように、単一の音声タスクを利用する音声認識処理を対象としている。このため、従来の音声認識の技術では、このような複数の音声認識タスクを利用する音声認識処理において、音声認識環境の設定を適切に行うことは困難である、という課題があった。
【００３５】
本発明は、このような状況に鑑みてなされたものであり、複数の音声認識タスクを利用する音声認識処理において、音声認識環境の設定を適切に行うことができるようにするものである。
【課題を解決するための手段】
【００４６】
本発明の音声認識装置は、複数の言語モデルのそれぞれに対応する複数の音声認識処理であって、入力音声を認識する音声認識処理を２以上同時に実行する音声認識装置において、音声認識装置により実行される音声認識処理の音声認識環境のパラメータを設定する音声認識環境設定手段と、音声認識環境設定手段による設定に従って、２以上の音声認識処理を同時に実行する実行手段とを備え、音声認識環境設定手段は、パラメータの１つであって、音声認識処理の音声区間検出において音声終了を判断するための終了判定時間を、２以上の音声認識処理のそれぞれについて予め設定されている終了判定時間のうちの最も長い終了判定時間に設定し、パラメータの１つであるマイクロホンの指向特性を、２以上の音声認識処理のそれぞれについて予め設定されているマイクロホンの指向特性として無指向性が設定されているものが少なくとも１つ存在する場合、無指向性に設定することを特徴とする。
【００５１】
本発明の第２の音声認識方法は、複数の言語モデルのそれぞれに対応する複数の音声認識処理であって、入力音声を認識する音声認識処理を２以上同時に実行する音声認識装置の音声認識方法において、音声認識装置により実行される音声認識処理の音声認識環境のパラメータを設定する音声認識環境設定ステップと、音声認識環境設定ステップの処理による設定に従って、２以上の音声認識処理を同時に実行する実行ステップとを含み、音声認識環境設定ステップの処理では、パラメータの１つであって、音声認識処理の音声区間検出において音声終了を判断するための終了判定時間を、２以上の音声認識処理のそれぞれについて予め設定されている終了判定時間のうちの最も長い終了判定時間に設定し、パラメータの１つであるマイクロホンの指向特性を、２以上の音声認識処理のそれぞれについて予め設定されているマイクロホンの指向特性として無指向性が設定されているものが少なくとも１つ存在する場合、無指向性に設定することを特徴とする。
【００５２】
本発明の第２のプログラムは、複数の言語モデルのそれぞれに対応する複数の音声認識処理であって、入力音声を認識する音声認識処理の２以上の同時実行を制御するコンピュータに実行させるプログラムにおいて、音声認識装置により実行される音声認識処理の音声認識環境のパラメータを設定する音声認識環境設定ステップと、音声認識環境設定ステップの処理による設定に従って、２以上の音声認識処理を同時に実行する実行ステップとをコンピュータに実行させ、音声認識環境設定ステップの処理では、パラメータの１つであって、音声認識処理の音声区間検出において音声終了を判断するための終了判定時間を、２以上の音声認識処理のそれぞれについて予め設定されている終了判定時間のうちの最も長い終了判定時間に設定し、パラメータの１つであるマイクロホンの指向特性を、２以上の音声認識処理のそれぞれについて予め設定されているマイクロホンの指向特性として無指向性が設定されているものが少なくとも１つ存在する場合、無指向性に設定することを特徴とする。
【００５３】
本発明の第２の記録媒体は、複数の言語モデルのそれぞれに対応する複数の音声認識処理であって、入力音声を認識する音声認識処理の２以上の同時実行を制御するコンピュータに実行させるプログラムを記録している記録媒体であって、音声認識装置により実行される音声認識処理の音声認識環境のパラメータを設定する音声認識環境設定ステップと、音声認識環境設定ステップの処理による設定に従って、２以上の音声認識処理を同時に実行する実行ステップとをコンピュータに実行させ、音声認識環境設定ステップの処理では、パラメータの１つであって、音声認識処理の音声区間検出において音声終了を判断するための終了判定時間を、２以上の音声認識処理のそれぞれについて予め設定されている終了判定時間のうちの最も長い終了判定時間に設定し、パラメータの１つであるマイクロホンの指向特性を、２以上の前記音声認識処理のそれぞれについて予め設定されているマイクロホンの指向特性として無指向性が設定されているものが少なくとも１つ存在する場合、無指向性に設定するプログラムを記録していることを特徴とする。
【発明の効果】
【００５４】
以上のごとく、本発明によれば、複数の音声認識タスクを利用する音声認識処理を実現できる。特に、そのような音声認識処理において、現状利用される音声認識タスク（２以上が同時に実行される場合、その組み合わせ）に適した音声認識環境の設定を適切に行うことができる。
【発明を実施するための最良の形態】
【００６５】
次に、図面を参照して、本発明の実施の形態について説明する。
【００６６】
図１は、本発明を適用した２足歩行タイプのロボット1の一実施の形態の構成を示す外装の概観斜視図である。ロボット１は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態（怒り、悲しみ、喜び、楽しみ等）に応じて行動できるほか、人間が行う基本的な動作を表出することができる。
【００６７】
図１で示されるように、ロボット１は、体幹部外装ユニット２の所定の位置に頭部外装ユニット３が連結されると共に、左右２つの腕部外装ユニット４Ｒ／Ｌ（Right／Left：右腕／左腕）と、左右２つの脚部外装ユニット５Ｒ／Ｌが連結されて構成されている。
【００６８】
次に、図２を参照して、ロボット１の内部の構成について説明する。尚、図２は、図１で示した外装部分に対して、それらの内部の構成を示すものである。
【００６９】
図２は、ロボット１の正面方向の内部の斜視図であり、図３は、ロボット１の背面方向からの内部の斜視図である。また、図４は、ロボット１の軸構成について説明するための斜視図である。
【００７０】
ロボット１は、胴体部ユニット１１の上部に頭部ユニット１２が配設されるとともに、胴体部ユニット１１の上部左右に、同様の構成を有する腕部ユニット１３Ａおよび１３Ｂが所定位置にそれぞれ取り付けられ、かつ、胴体部ユニット１の下部左右に、同様の構成を有する脚部ユニット１４Ａおよび１４Ｂが所定位置にそれぞれ取り付けられることにより構成されている。頭部ユニット１２には、タッチセンサ５１、および、表示部５５が設けられている。
【００７１】
胴体部ユニット１１においては、体幹上部を形成するフレーム２１および体幹下部を形成する腰ベース２２が、腰関節機構２３を介して連結することにより構成されており、体幹下部の腰ベース２２に固定された腰関節機構２３のアクチュエータＡ１、および、アクチュエータＡ２をそれぞれ駆動することによって、体幹上部を、図４に示す直交するロール軸２４およびピッチ軸２５の回りに、それぞれ独立に回転させることができるようになされている。
【００７２】
また、頭部ユニット１２は、フレーム２１の上端に固定された肩ベース２６の上面中央部に首関節機構２７を介して取り付けられており、首関節機構２７のアクチュエータＡ３およびＡ４をそれぞれ駆動することによって、図４に示す直交するピッチ軸２８およびヨー軸２９の回りに、それぞれ独立に回転させることができるようになされている。
【００７３】
更に、腕部ユニット１３Ａおよび１３Ｂは、肩関節機構３０を介して肩ベース２６の左右にそれぞれ取り付けられており、対応する肩関節機構３０のアクチュエータＡ５およびＡ６をそれぞれ駆動することによって、図４に示す、直交するピッチ軸３１およびロール軸３２の回りに、それぞれを独立に回転させることができるようになされている。
【００７４】
腕部ユニット１３Ａおよび１３Ｂは、上腕部を形成するアクチュエータＡ７の出力軸に、肘関節機構３３を介して、前腕部を形成するアクチュエータＡ８が連結され、前腕部の先端に手部３４が取り付けられることにより構成されている。
【００７５】
そして腕部ユニット１３Ａおよび１３Ｂでは、アクチュエータＡ７を駆動することによって、前腕部を図４に示すヨー軸３５に対して回転させることができ、アクチュエータＡ８を駆動することによって、前腕部を図４に示すピッチ軸３６に対して回転させることができるようになされている。
【００７６】
脚部ユニット１４Ａおよび１４Ｂは、股関節機構３７を介して、体幹下部の腰ベース２２にそれぞれ取り付けられており、対応する股関節機構３７のアクチュエータＡ９乃至Ａ１１をそれぞれ駆動することによって、図４に示す、互いに直交するヨー軸３８、ロール軸３９、およびピッチ軸４０に対して、それぞれ独立に回転させることができるようになされている。
【００７７】
脚部ユニット１４Ａおよび１４Ｂは、大腿部を形成するフレーム４１の下端が、膝関節機構４２を介して、下腿部を形成するフレーム４３に連結されるとともに、フレーム４３の下端が、足首関節機構４４を介して、足部４５に連結されることにより構成されている。
【００７８】
これにより脚部ユニット１４Ａおよび１４Ｂにおいては、膝関節機構４２を形成するアクチュエータＡ１２を駆動することによって、図４に示すピッチ軸４６に対して、下腿部を回転させることができ、また足首関節機構４４のアクチュエータＡ１３およびＡ１４をそれぞれ駆動することによって、図４に示す直交するピッチ軸４７およびロール軸４８に対して、足部４５をそれぞれ独立に回転させることができるようになされている。
【００７９】
また、胴体部ユニット１１の体幹下部を形成する腰ベース２２の背面側には、後述するメイン制御部６１や周辺回路６２（いずれも図５）などを内蔵したボックスである、制御ユニット５２が配設されている。
【００８０】
図５は、ロボット１のアクチュエータとその制御系等の構成例を示している。
【００８１】
制御ユニット５２には、ロボット１全体の動作制御をつかさどるメイン制御部６１、電源回路および通信回路などの周辺回路６２、および、バッテリ７４（図６）などが収納されている
【００８２】
そして、制御ユニット５２は、各構成ユニット（胴体部ユニット１１、頭部ユニット１２、腕部ユニット１３Ａおよび１３Ｂ、並びに、脚部ユニット１４Ａおよび１４Ｂ）内にそれぞれ配設されたサブ制御部６３Ａ乃至６３Ｄと接続されており、サブ制御部６３Ａ乃至６３Ｄに対して必要な電源電圧を供給したり、サブ制御部６３Ａ乃至６３Ｄと通信を行う。
【００８３】
また、サブ制御部６３Ａ乃至６３Ｄは、対応する構成ユニット内のアクチュエータＡ１乃至Ａ１４と、それぞれ接続されており、メイン制御部６１から供給された各種制御コマンドに基づいて、構成ユニット内のアクチュエータＡ１乃至Ａ１４を、指定された状態に駆動させるように制御する。
【００８４】
図６は、ロボット１の電気的な内部構成例を示すブロック図である。
【００８５】
頭部ユニット１２には、ロボット１の「目」として機能するCCD（Charge Coup led Device）カメラ８１Ｌおよび８１Ｒ、「耳」として機能するマイクロホン８２−１乃至８２−N、並びにタッチセンサ５１などからなる外部センサ部７１、および、「口」として機能するスピーカ７２などがそれぞれ所定位置に配設され、制御ユニット５２内には、バッテリセンサ９１および加速度センサ９２などからなる内部センサ部７３が配設されている。また、この他に、ロボット１の状態やユーザからの応答を表示する表示部５５が配設されている。
【００８６】
そして、外部センサ部７１のCCDカメラ８１Ｌおよび８１Ｒは、周囲の状況を撮像し、得られた画像信号Ｓ１Ａを、メイン制御部６１に送出する。マイクロホン８２−１乃至８２−Nは、ユーザから音声入力として与えられる「歩け」、「とまれ」または「右手を挙げろ」等の各種命令音声（音声コマンド）を集音し、得られた音声信号Ｓ１Ｂを、メイン制御部６１にそれぞれ送出する。なお、以下において、N個のマイクロホン８２−１乃至８２−Nを特に区別する必要がない場合には、マイクロホン８２と称する。
【００８７】
また、タッチセンサ５１は、例えば、図２および図３に示されるように頭部ユニット１２の上部に設けられており、ユーザからの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を、圧力検出信号Ｓ１Ｃとしてメイン制御部６１に送出する。
【００８８】
内部センサ部７３のバッテリセンサ９１は、バッテリ７４のエネルギ残量を所定の周期で検出し、検出結果をバッテリ残量検出信号Ｓ２Ａとして、メイン制御部６１に送出する。加速度センサ９２は、ロボット１の移動について、３軸方向（ｘ軸、ｙ軸およびｚ軸）の加速度を、所定の周期で検出し、その検出結果を、加速度検出信号Ｓ２Ｂとして、メイン制御部６１に送出する。
【００８９】
外部メモリ７５は、プログラムやデータ、および制御パラメータなどを記憶しており、そのプログラムやデータを必要に応じてメイン制御部６１に内蔵されるメモリ６１Ａに供給する。また、外部メモリ７５は、データ等をメモリ６１Ａから受け取り、記憶する。なお、外部メモリ７５は、ロボット１から着脱可能となされている。
【００９０】
メイン制御部６１は、メモリ６１Ａを内蔵している。メモリ６１Ａは、プログラムやデータを記憶しており、メイン制御部６１は、メモリ６１Ａに記憶されたプログラムを実行することで、各種の処理を行う。即ち、メイン制御部６１は、外部センサ部７１のCCDカメラ８１Ｌおよび８１Ｒ、マイクロホン８２、およびタッチセンサ５１からそれぞれ供給される、画像信号Ｓ１Ａ、音声信号Ｓ１Ｂ、および圧力検出信号Ｓ１Ｃ（以下、これらをまとめて外部センサ信号Ｓ１と称する）と、内部センサ部７３のバッテリセンサ９１および加速度センサ等からそれぞれ供給される、バッテリ残量検出信号Ｓ２Ａおよび加速度検出信号Ｓ２Ｂ（以下、これらをまとめて内部センサ信号Ｓ２と称する）に基づいて、ロボット１の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無などを判断する。
【００９１】
そして、メイン制御部６１は、ロボット１の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無の判断結果と、内部メモリ６１Ａに予め格納されている制御プログラム、あるいは、そのとき装填されている外部メモリ７５に格納されている各種制御パラメータなどに基づいて、ロボット１の行動を決定し、その決定結果に基づく制御コマンドを生成して、対応するサブ制御部６３Ａ乃至６３Ｄに送出する。
【００９２】
換言すると、制御プログラムの中には、各種のアプリケーション（プログラム）が含まれており、メイン制御部６１は、ロボット１の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無の判断結果等に応じて、とあるアプリケーションの稼動を停止させたり、開始させることができる。即ち、メイン制御部６１は、複数のアプリケーションを同時に動作させたり、アプリケーションの切り替えを行うことができる。そして、メイン制御部６１は、現在動作させている（実行中である）1以上のアプリケーション、あるいは、そのとき装填されている外部メモリ７５に格納されている各種制御パラメータなどに基づいて、ロボット１の行動を決定し、その決定結果に基づく制御コマンドを生成して、対応するサブ制御部６３Ａ乃至６３Ｄに送出する。
【００９３】
サブ制御部６３Ａ乃至６３Ｄは、メイン制御部６１から供給された制御コマンドに基づいて、アクチュエータＡ１乃至Ａ１４のうち、対応するものの駆動を制御する。これにより、ロボット１は、例えば、頭部ユニット１２を上下左右に揺動かさせたり、腕部ユニット１３Ａ、あるいは、腕部ユニット１３Ｂを上に挙げたり、脚部ユニット１４Ａと１４Ｂを交互に駆動させて、歩行するなどの行動を行う。
【００９４】
また、メイン制御部６１は、必要に応じて、所定の音声信号Ｓ３をスピーカ７２に与えることにより、音声信号Ｓ３に基づく音声を外部に出力させると共に、例えば、音声を検出したときに、表示信号Ｓ４に基づいて「だーれ」などのユーザへの応答を表示部５５に表示する。更に、メイン制御部６１は、外見上の「目」として機能する、頭部ユニット１２の所定位置に設けられた、図示しないＬＥＤに対して駆動信号を出力することにより、ＬＥＤを点滅させて、表示部５５として機能させる。
【００９５】
このようにして、ロボット１は、周囲および内部の状況（状態）や、ユーザからの指令および働きかけの有無などに基づいて、自律的に行動する。
【００９６】
図７は、図６のメイン制御部６１の機能的構成例を示している。なお、図７に示す機能的構成は、メイン制御部６１が、メモリ６１Ａに記憶された制御プログラムを実行することで実現されるようになっている。
【００９７】
メイン制御部６１は、特定の外部状態を認識する状態認識情報処理部１０１、状態認識情報処理部１０１の認識結果等に基づいて更新される、ロボット１の感情、本能、あるいは、成長の状態などのモデルを記憶するモデル記憶部１０２、状態認識情報処理部１０１の認識結果等に基づいて、ロボット１の行動を決定する行動決定機構部１０３、行動決定機構部１０３の決定結果に基づいて、実際にロボット１に行動を起こさせる姿勢遷移機構部１０４、合成音を生成する音声合成部１０５から構成されている。
【００９８】
状態認識情報処理部１０１には、マイクロホン８２や、CCDカメラ８１Ｌおよび８１Ｒ、タッチセンサ５１等から音声信号、画像信号、圧力検出信号等が、ロボット１の電源が投入されている間、常時入力される。そして、状態認識情報処理部１０１は、マイクロホン８２や、CCDカメラ８１Ｌおよび８１Ｒ、タッチセンサ５１等から与えられる音声信号、画像信号、圧力検出信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報を、モデル記憶部１０２および行動決定機構部１０３に常時出力する。
【００９９】
状態認識情報処理部１０１は、音声認識部１０１Ａ、方向認識部１０１Ｂ、圧力処理部１０１Ｃ、および画像認識部１０１Ｄを有している。
【０１００】
音声認識部１０１Ａは、マイクロホン８２−１乃至８２−Ｎのそれぞれから与えられる音声信号Ｓ１Ｂをアレイマイクロホンの入力として用いて、指向性マイクロホンや無指向性マイクロホンを作り出す（それと等価の処理を行う）ことができる。即ち、音声認識部１０１Ａの制御部１０１ａは、現在の音声認識環境の設定に従い、音声信号Ｓ１Ｂの指向特性を変化させることができる。なお、制御部１０１ａは音声認識環境の設定自体も行うが、その設定処理の詳細については後述する。
【０１０１】
例えば、ユーザ（話者）が前方にいることを前提とする音声認識タスクの場合には、制御部１０１ａは、入力された音声信号Ｓ１Ｂから、前方方向に指向特性を持つような音声信号を生成する。一方、話者の位置を仮定しない音声認識タスクの場合には、制御部１０１ａは、入力された音声信号Ｓ１Ｂから、無指向特性の音声信号を生成する。
【０１０２】
また、音声認識部１０１Ａは音声認識を行い、例えば、「歩け」、「止まれ」、「右手を挙げろ」等の指令、その他の音声認識結果を、状態認識情報として、モデル記憶部１０２および行動決定機構部１０３に通知する。
【０１０３】
このとき、音声認識部１０１Ａは、次のようにして、音声認識を開始し、そして終了する。即ち、音声認識部１０１Ａは、順次入力されてくる音声信号Ｓ１Ｂのパワーの短時間平均と長時間平均との比、即ち、パワー比を逐次求め、そのパワー比が所定の閾値を超えた時点で、音声が検出されたとして音声認識を開始する。その後、終了判定時間の間そのパワー比が閾値を下回った時点で、音声認識部１０１Ａは、音声が終了したとして音声認識を終了する。そして、音声認識部１０１Ａは、その音声認識の結果を行動決定機構部１０３とモデル記憶部１０２に出力する。
【０１０４】
このような終了判定時間等の音声区間検出のパラメータも、上述したマイクロホンの指向特性と同様に音声認識環境の１つとして、制御部１０１ａにより設定される。即ち、制御部１０１ａは、現在動作中のアプリケーションに応じて、使用する音声認識タスク（それに対応する、駆動させるべき音声認識処理）の組み合わせを変化させ、また、終了判定時間やマイクロホンの指向特性（その他、後述する正解確信度の閾値等）といった音声認識環境を再設定することにより、現在動作中のアプリケーションに最適な音声認識環境の設定を維持するように制御する。
【０１０５】
なお、このような音声認識部１０１Ａのさらなる詳細な説明については、図８を参照して後述する。
【０１０６】
方向認識部１０１Ｂは、マイクロホン８２−１乃至８２−Ｎから供給される音声信号Ｓ１Ｂのパワー差や位相差から音源の方向を認識し（音源の方向を検出して認識する）、認識結果を行動決定機構部１０３に供給する。
【０１０７】
圧力処理部１０１Ｃは、タッチセンサ５１から与えられる圧力検出信号Ｓ１Ｃを処理する。そして、圧力処理部１０１Ｃは、その処理の結果、例えば、所定の閾値以上で、かつ短時間の圧力を検出したときには、「叩かれた（しかられた）」と認識し、所定の閾値未満で、かつ長時間の圧力を検出したときには、「撫でられた（ほめられた）」と認識して、その認識結果を、状態認識情報として、モデル記憶部１０２および行動決定機構部１０３に通知する。
【０１０８】
また、画像認識部１０１Ｄは、CCDカメラ８１Ｌおよび８１Ｒから与えられる画像信号Ｓ１Ａを用いて、画像認識処理を行う。そして、画像認識部１０１Ｄは、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直なかつ所定高さ以上の平面」等を検出したときには、「ボールがある」や、「壁がある」、または、人間の顔を検出した等の画像認識結果を、状態認識情報として、モデル記憶部１０２および行動決定機構部１０３に通知する。
【０１０９】
ここで、ユーザは、一般に、ロボット１の正面方向から話しかけることが多いと予想されるため、周囲の状況を撮像するCCDカメラ８１Ｌおよび８１Ｒは、その撮像方向が、ロボット１の正面方向になるように、頭部ユニット１２（図２）に設置されているものとする。
【０１１０】
CCDカメラ８１L、および、８１Rは、方向認識部１０１Ｂにより認識された方向の情報に基づいて、姿勢遷移機構部１０４により検出された方向に、頭部ユニット１２が動かされることによって、CCDカメラ８１Ｌおよび８１Ｒにおいて、ユーザを撮像することができるようにすることが可能である。
【０１１１】
モデル記憶部１０２は、ロボット１の感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶、管理している。
【０１１２】
ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態（度合い）を、所定の範囲（例えば、−１．０乃至１．０等）の値によってそれぞれ表し、状態認識情報処理部１０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態（度合い）を、所定の範囲の値によってそれぞれ表し、状態認識情報処理部１０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態（度合い）を、所定の範囲の値によってそれぞれ表し、状態認識情報処理部１０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【０１１３】
モデル記憶部１０２は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を、状態情報として、行動決定機構部１０３に送出する。
【０１１４】
なお、モデル記憶部１０２には、状態認識情報処理部１０１から状態認識情報が供給される他、行動決定機構部１０３から、ロボット１の現在または過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部１０２は、同一の状態認識情報が与えられても、行動情報が示すロボット１の行動に応じて、異なる状態情報を生成するようになっている。
【０１１５】
即ち、例えば、ロボット１が、ユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部１０２に与えられ、この場合、モデル記憶部１０２では、「うれしさ」を表す感情モデルの値が増加される。
【０１１６】
一方、ロボット１が、何らかの仕事を実行中に頭を撫でられた場合には、仕事を実行中であるという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部１０２に与えられ、この場合、モデル記憶部１０２では、「うれしさ」を表す感情モデルの値は変化されない。
【０１１７】
このように、モデル記憶部１０２は、状態認識情報だけでなく、現在または過去のロボット１の行動を示す行動情報も参照しながら、感情モデルの値を設定する。これにより、例えば、何らかのタスクを実行中に、ユーザが、いたずらするつもりで頭を撫でたときに、「うれしさ」を表す感情モデルの値を増加させるような、不自然な感情の変化が生じることを回避することができる。
【０１１８】
なお、モデル記憶部１０２は、本能モデルおよび成長モデルについても、感情モデルにおける場合と同様に、状態認識情報および行動情報の両方に基づいて、その値を増減させるようになっている。また、モデル記憶部１０２は、感情モデル、本能モデル、成長モデルそれぞれの値を、他のモデルの値にも基づいて増減させるようになっている。
【０１１９】
行動決定機構部１０３は、状態認識情報処理部１０１からの状態認識情報や、モデル記憶部１０２からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容が、例えば、「ダンスをする」というような音声認識処理や画像認識処理を必要としない場合、その行動の内容を、行動指令情報として、姿勢遷移機構部１０４に送出する。
【０１２０】
すなわち、行動決定機構部１０３は、ロボット１がとり得る行動をステート（状態：state）に対応させた有限オートマトンを、ロボット１の行動を規定する行動モデルとして管理しており、この行動モデルとしての有限オートマトンにおけるステートを、状態認識情報処理部１０１からの状態認識情報や、モデル記憶部１０２における感情モデル、本能モデル、または成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を、次にとるべき行動として決定する。
【０１２１】
ここで、行動決定機構部１０３は、所定のトリガ(trigger)があったことを検出すると、ステートを遷移させる。即ち、行動決定機構部１０３は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部１０２から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下または以上になったとき等に、ステートを遷移させる。
【０１２２】
具体的には、例えば、トリガとして、音声認識部１０１Ａにより認識された音声（コマンド）が供給された場合の行動決定機構部１０３の処理は、次の通りである。
【０１２３】
即ち、状態認識情報処理部１０１の音声認識部１０１Ａがコマンドの情報（音声信号）を示す状態認識情報を出力する場合、制御部１０１ａは、音声認識部１０１Ａ全体を制御して音声認識処理を開始させる。
【０１２４】
すると、行動決定機構部１０３は、音声認識部１０１Ａにより認識されたコマンドの情報を取得し、上述したような、例えば、「ユーザと会話する」や「ユーザに手を振る」などの、自分自身が決定した動作を行う（その行動の内容を、行動指令情報として、姿勢遷移機構部１０４に送出する）。
【０１２５】
また、行動決定機構部１０３の処理結果は音声認識部１０１Ａにフィードバックされる（提供される）。すると、音声認識部１０１Ａは、提供されたその処理結果に基づいて音声認識タスクを切り替え、切り替えられた音声認識タスクに応じた処理を実行する。
【０１２６】
なお、行動決定機構部１０３は、上述したように、状態認識情報処理部１０１からの状態認識情報だけでなく、モデル記憶部１０２における感情モデルや、本能モデル、成長モデルの値等にも基づいて、行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても、感情モデルや、本能モデル、成長モデルの値（状態情報）によっては、ステートの遷移先は異なるものとなる。
【０１２７】
また、行動決定機構部１０３では、上述したように、ロボット１の頭部や手足等を動作させる行動指令情報の他、ロボット１に発話を行わせる行動指令情報も生成される。ロボット１に発話を行わせる行動指令情報は、音声合成部１０５に供給されるようになっており、音声合成部１０５に供給される行動指令情報には、音声合成部１０５に生成させる合成音に対応するテキスト等が含まれる。そして、音声合成部１０５は、行動決定機構部１０３から行動指令情報を受信すると、その行動指令情報に含まれるテキストに基づき、合成音を生成し、スピーカ７２に供給して出力させる。
【０１２８】
また、行動決定機構１０３では、発話に対応する、または、発話をしない場合に発話の代わりとなる言葉を、表示部５５にプロンプトとしてテキスト表示させる。例えば、音声を検出して振り向いたときに、「誰？」とか「なぁに？」といったテキストを表示部５５にプロンプトとして表示したり、または、スピーカ７２より発生することができる。
【０１２９】
姿勢遷移機構部１０４は、上述したように、行動決定機構部１０３から供給される行動指令情報に基づいて、ロボット１の姿勢を、現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これをサブ制御部６３Ａ乃至６３Ｄに送出する。
【０１３０】
換言すると、行動決定機構部１０３や姿勢遷移機構部１０４は、ロボット１の次の行動に応じたアプリケーションを動作させる（実行する）とも言える。このとき、行動決定機構部１０３や姿勢遷移機構部１０４は、異なるアプリケーションを１以上実行することができる。また、行動決定機構部１０３や姿勢遷移機構部１０４は、新しいアプリケーションを追加したり、不要なアプリケーション実行部を削除するたりすることができる。
【０１３１】
詳細には、行動決定機構部１０３や姿勢遷移機構部１０４は、ロボット１の次の行動に応じて、あるアプリケーションの稼動を停止させたり、開始させたりすることができる。即ち、行動決定機構部１０３や姿勢遷移機構部１０４は、複数のアプリケーションを同時に動作させたり、アプリケーションの切り替えを行うことができる。
【０１３２】
このとき、行動決定機構部１０３は、その処理結果を示す情報（現在動作中のアプリケーションを示す情報等）を音声認識部１０１Ａに提供する。音声認識部１０１Ａは、行動決定機構部１０３から提供されたその情報に基づいて音声認識タスクの切り替えを行い、切り替えられた音声認識タスクに応じた処理を実行する。なお、音声認識部１０１Ａによる音声認識タスクの切り替え等の処理の詳細については、図９乃至図１２のフローチャートを参照して後述する。
【０１３３】
図８は、状態認識情報処理部１０１の音声認識部１０１Ａの機能を示す機能ブロック図である。
【０１３４】
制御部１０１ａは、マイクロホン８２から入力され、図示せぬAD変換部によりデジタル信号に変換された音声を特徴抽出部１２１に出力する。
【０１３５】
特徴抽出部１２１は、入力された音声信号の特徴量を演算する。
【０１３６】
制御部１０１ａはまた、行動決定機構部１０３から処理結果を示す情報（現在動作中のアプリケーションの情報等）が提供されると、その情報に基づいて音声認識タスクの切り替えを行い、その切り替え結果（現在認識すべき音声認識タスク）を音声認識環境統合部１２４に通知する。
【０１３７】
すると、音声認識環境統合部１２４は、現在認識すべき音声認識タスクに対応する音声認識環境（設定情報）を音声認識環境データベース１２３より得て、それらを統合する。
【０１３８】
即ち、音声認識環境データベース１２３には、各音声認識タスクのそれぞれに対応した音声認識環境（設定情報）が保持されている。この音声認識環境データベース１２３に保持される音声認識環境（設定情報）の内容は特に限定されないが、ここでは、各音声認識タスクのそれぞれに対する、終了判定時間、正解確信度の閾値、および、マイクロホンの指向特性が個別に保持されているとする。
【０１３９】
この場合、音声認識環境統合部１２４は、現在認識すべき音声認識タスクに対する、終了判定時間、マイクロホンの指向特性、および、正解確信度の閾値といった３つの情報のそれぞれを音声認識環境データベース１２３より得て、それらの３つの情報を１つにまとめ（統合し）、その統合結果を、現在認識すべき音声認識タスクに対応する音声認識環境（設定情報）として制御部１０１ａに提供する。
【０１４０】
さらに、本実施の形態の音声認識部１０１Ａは、複数の音声認識タスクのそれぞれに対応する処理（複数の音声認識処理）を同時に実行することがあり、このような場合、音声認識環境統合部１２４は、制御部１０１ａからの指示に従って、次のような処理を実行する。
【０１４１】
即ち、音声認識環境統合部１２４は、現在認識すべき２以上の音声認識タスクのそれぞれに対する終了判定時間を音声認識環境データベース１２３より得て、それらの情報を統合し、その統合結果を、現在認識すべき２以上の音声認識タスクの同時実行における終了判時間として決定する。なお、このような統合処理の詳細例については、図１２を参照して後述する。
【０１４２】
同様に、音声認識環境統合部１２４は、現在認識すべき２以上の音声認識タスクのそれぞれに対するマイクロホンの指向特性を音声認識環境データベース１２３より得て、それらの情報を統合し、その統合結果を、現在認識すべき２以上の音声認識タスクの同時実行におけるマイクロホンの指向特性として決定する。なお、このような統合処理の詳細例については、図１１を参照して後述する。
【０１４３】
また、音声認識環境統合部１２４は、現在認識すべき２以上の音声認識タスクのそれぞれに対する正解確信度の閾値を音声認識環境データベース１２３より得て、それらの情報を統合し、その統合結果を、現在認識すべき２以上の音声認識タスクの同時実行における正解確信度の閾値として決定する。
【０１４４】
なお、このような、２以上の音声認識処理（音声認識タスク）のそれぞれに対応した音声認識環境のそれぞれの設定の統合結果とは、２以上の音声認識処理（音声認識タスク）のそれぞれに対応した音声認識環境のそれぞれの設定に基づいて決定された、１つの設定（統合的な音声認識環境の設定）を指す。
【０１４５】
例えば、本実施の形態においては、マイクロホンの指向特性の統合結果は、後述する図１１に示されるように、認識すべき音声認識タスクの全てのマイクロホンの指向特性が「指向性」の場合には「指向性」となり、認識すべき音声認識タスクのうちの少なくとも１つのマイクロホンの指向特性が「無指向性」の場合には「無指向性」となる。
【０１４６】
また、例えば、終了判定時間の統合結果は、後述する図１２に示されるように、「認識すべき音声認識タスクのそれぞれの終了判定時間のうちの最長時間」となる。
【０１４７】
そして、音声認識環境統合部１２４は、このような、終了判定時間、マイクロホンの指向特性、および、正解確信度の閾値のそれぞれの統合結果を１つにまとめ（統合し）、それを現在認識すべき２以上の音声認識タスクの同時実行における音声認識環境（設定情報）として制御部１０１ａに提供する。
【０１４８】
制御部１０１ａは、このようにして音声認識環境統合部１２４より供給された設定情報に基づいて音声認識環境を設定する（切り替える）。そして、制御部１０１ａは、切り替えられた音声認識環境の設定と、切り替えられた音声認識タスクとを認識処理制御部１２２に通知する。
【０１４９】
認識処理制御部１２２は、制御部１０１ａから通知された音声認識環境の設定に従って、制御部１０１ａから通知された音声認識タスクに対応する音声認識処理を実行する（その制御を行う）。即ち、認識処理制御部１２２は、複数の言語モデル（語彙と文法）に対応する音声認識処理を並列に処理することができるように構成されており、１つの言語モデルに対応する音声認識処理を行うモジュールとして、それぞれ認識処理部１３１−１乃至１３１−４が設けられている。
【０１５０】
認識処理制御部１２２においては、新たな言語モデルに対応した認識処理部を追加したり、不要になった認識処理部を削除することができる。また、各認識処理部に対して、認識処理を停止させたり、開始させたりすることができる。即ち、認識処理制御部１２２は、制御部１０１ａより通知された音声認識タスクに応じて、複数の認識処理部を同時に駆動したり、認識処理部を切り替えたりすることによって、複数の言語モデルを同時に駆動したり、言語モデルを切り替えることができる。
【０１５１】
換言すると、所定の音声認識タスクが選択されると（制御部１０１ａより通知されると）、認識処理制御部１２２に設けられている認識処理部（図８の例では、認識処理部１３１−１乃至１３１−４）のうちの、その音声認識タスクに対応する認識処理部が駆動され、それ以外の認識処理部は停止される。そして、駆動された認識処理部のそれぞれは、制御部１０１ａより通知された音声認識環境に従って、対応する音声認識処理を実行する。
【０１５２】
詳細には、認識処理部１３１−１乃至１３１−４には、特徴抽出部１２１により演算された特徴量に基づいて、音声のマッチングを行うマッチング部１４１−１乃至１４１−４が設けられており、また、語彙に関する情報が蓄積された辞書データベース１４２−１乃至１４２−４、文法に関する情報が蓄積された文法データベース１４３−１乃至１４３−４が設けられている。さらに音響に関する情報が蓄積された音響モデルデータベース１３２が、マッチング部１４１−１乃至１４１−４と接続されている。
【０１５３】
なお、以下の説明において、認識処理部１３１−１乃至１３１−４のそれぞれを、個々に区別する必要がない場合、まとめて認識処理部１３１と称する。他の部分についても同様とする。また、図８の例においては、認識処理部は、認識処理部１３１−１乃至１３１−４の４つが示されているが、認識処理部は、必要に応じて、３つ以下、または５つ以上設けられることもある。
【０１５４】
音響モデルデータベース１３２により、同じ音響モデルをすべての認識処理部１３１が共有して利用することができるように構成されており、これによって消費するメモリや音響モデルにおいて発生するスコア計算のための処理などを効率的に共有することが可能となる。
【０１５５】
音響モデルデータベース１３２は、音声認識する音声の言語における個々の音素や音節などの音響的な特徴を表す音響モデルを記憶している。音響モデルとしては、例えば、ＨＭＭ(Hidden Markov Model)が用いられる。辞書データベース１４２−１乃至１４２−４は、認識対象の各単語（語彙）について、その発音に関する情報（音韻情報）が記述された単語辞書を記憶している。文法データベース１４３−１乃至１４３−４は、辞書データベース１４２−１乃至１４２−４の単語辞書に登録されている各単語が、どのように連鎖する（つながる）かを記述した文法規則（言語モデル）を記憶している。文法規則としては、例えば、文脈自由文法（CFG）に基づく記述や、統計的な単語連鎖確率(N-gram)などが用いられる。
【０１５６】
辞書データベース１４２−１乃至１４２−４にはそれぞれ異なる語彙に関する情報が蓄積されており、文法データベース１４３−１乃至１４３−４にもそれぞれ異なる文法に関する情報が蓄積されている。この辞書データベース１４２と文法データベース１４３の組み合わせにより言語モデルが決定される。
【０１５７】
マッチング部1４１−１乃至１４１−４のそれぞれは、音響モデルデータベース１３２に記憶された音響モデル、辞書データベース１４２−１乃至１４２−４のそれぞれに記憶された辞書、および、文法データベース１４３−１乃至１４３−４のそれぞれに記憶された言語モデルを用いて、特徴抽出部１２１により演算された特徴量とマッチングする単語や文章をそれぞれ決定する。
【０１５８】
マッチング部１４１−１乃至１４１−４のそれぞれにより決定された単語や文章、即ち、各音声認識結果のそれぞれは、制御部１０１ａに供給される。制御部１０１ａは、マッチング部１４１−１乃至１４１−４のそれぞれから供給された音声認識結果に基づいて、最終的な音声認識結果を決定し、それを状態認識情報として、モデル記憶部１０２および行動決定機構部１０３に提供する。
【０１５９】
ただし、認識処理部１３１−１乃至１３１−４のそれぞれの認識結果のうちの、正解確信度が閾値未満の認識結果はリジェクト（破棄）され、制御部１０１ａには供給されない。即ち、正確には、制御部１０１ａは、マッチング部１４１−１乃至１４１−４のそれぞれの音声認識結果のうちの供給された音声認識結果（リジェクトされていない音声認識結果）に基づいて、最終的な音声認識結果を決定し、それを状態認識情報として、モデル記憶部１０２および行動決定機構部１０３に提供する。
【０１６０】
次に、図９のフローチャートを参照して、図７のメイン制御部６１が実行する音声コマンドによる動作の処理について説明する。
【０１６１】
ステップＳ１において、音声認識部１０１Ａの制御部１０１ａ（図８）は、初期設定を行う。即ち、制御部１０１ａは、例えば、現在の音声認識タスクとして所定の１つを設定する。そして、制御部１０１ａは、現在の（初期設定された）音声認識タスクに対応する音声認識環境（設定情報）を音響認識環境統合部１２４より取得し、その設定情報に基づいて、現在の音声認識タスクに対応する音声認識環境を設定する。即ち、いまの場合、終了判定時間、正解確信度の閾値、および、マイクロホンの指向特性のそれぞれが設定される。
【０１６２】
ステップＳ２において、制御部１０１ａは、マイクロホン８２−１乃至８２−Ｎ（図７）を介して、音声が入力されたか否か（音声が検出されたか否か）を判定する。
【０１６３】
ステップＳ２において、音声が入力されていないと判定された場合、処理はステップＳ２に戻され、音声が入力されたか否かが再度判定される。即ち、制御部１０１ａは、音声が入力されることを常時監視している。
【０１６４】
その後、ステップＳ２において、音声が入力されたと判定された場合、即ち、ユーザ（発話者）がロボット１に対して何か音声によるコマンドを入力しようと声をかけたとみなされた場合、その処理は、ステップＳ３に進む。
【０１６５】
ステップＳ３において、音声認識部１０１Ａは、音声認識処理を実行する。
【０１６６】
この音声認識処理の詳細な例が図１０のフローチャートに示されている。そこで、以下、図１０のフローチャートを参照して、音声認識処理について説明する。
【０１６７】
ステップＳ２１において、音声認識部１０１Ａの特徴抽出部１２１は、デジタル信号としての音声信号を、適当な時間間隔で周波数分析行うなどして、スペクトルや、その他の音声の音響的特徴を表すパラメータに変換し、特徴量として抽出する。
【０１６８】
その後、処理はステップＳ２２に進む。なお、ステップＳ２２乃至ステップＳ２８の処理（以下、ステップＳ２２乃至ステップＳ２８の処理を単語系列認識処理とも称する）は、認識処理部１３１−１乃至１３１−４により並列に実行される。正確には、後述するように、認識処理部１３１−１乃至１３１−４のうちの、現在の音声認識タスクに対応する認識処理部の各単語系列認識処理のそれぞれが並列に実行される。ただし、以下においては、認識処理部１３１−１乃至１３１−４の全ての単語系列認識処理のそれぞれが並列に実行されるとして説明する。
【０１６９】
ステップＳ２２において、認識処理部１３１−１乃至１３１−４は、特徴抽出部１２１から出力された音声の特徴量を音響モデルデータベース１３２とマッチングし、音素、音節を判定する。
【０１７０】
ステップＳ２３において、認識処理部１３１−１乃至１３１−４は、音素、音節を辞書データベース１４２−１乃至１４２−４、および文法データベース１４３−１乃至１４３−４とマッチングして、音響スコアと言語スコアを演算する。
【０１７１】
即ち、認識処理部１３１−１乃至１３１−４は、入力された特徴量がもつ音響的なパターンを、辞書データベース１４２に含まれる各単語に対応する音響的な標準パターンと比較し、音響的な評価値を、音響スコアとして演算する。また、文法としてたとえばバイグラムが用いられる場合には、認識処理部１３１−１乃至１３１−４は、直前の単語との連鎖確率に基づく各単語の言語的な確からしさを、文法データベース１４３に基づいて数値化し、これを言語スコアとして演算する。
【０１７２】
ステップＳ２４において、認識処理部１３１−１乃至１３１−４は、音響スコアと言語スコアを総合して最も評価の高い単語列を決定し、ステップＳ２５において、決定された単語列の正解確信度を求める。
【０１７３】
ステップＳ２６において、認識処理部１３１−１乃至１３１−４は、決定された単語列の正解確信度が閾値以上であるか否かを判定する。
【０１７４】
ここで、注目すべき点は、このステップＳ２６の処理において使用される閾値（正解確信度の閾値）は、上述したステップＳ１（図９）の処理で初期設定された値、または、後述するステップＳ７の処理（図９）の処理で設定された値である点である。即ち、このステップＳ２６の処理において使用される閾値は、一定値ではなく、現在使用されている音声認識タスクに応じて可変される点である。
【０１７５】
ステップＳ２６において、正解確信度が閾値以上であると判定した場合、認識処理部１３１−１乃至１３１−４は、ステップＳ２７において、決定された単語列を制御部１０１ａに出力する。
【０１７６】
これに対して、ステップＳ２６において、正解確信度が閾値未満である（以上ではない）と判定した場合、認識処理部１３１−１乃至１３１−４は、ステップＳ２８において、決定された単語列の出力を禁止する（単語列をリジェクトする）。
【０１７７】
このようにして、認識処理部１３１−１乃至１３１−４のそれぞれにより認識された音声認識結果（単語列）のうちの、正解確信度が閾値以上の単語列が採用され（制御部１０１ａに提供され）、正解確信度が閾値未満の単語列がリジェクトされる（出力が禁止される）と、処理はステップＳ２９に進められる。
【０１７８】
即ち、ステップＳ２９において、制御部１０１ａは、認識処理部１３１−１乃至１３１−４により決定された単語列のうちの、出力された１以上の単語列（正解確信度が閾値以上の単語列）に基づいて、最終的な認識結果である単語列を決定し、それをコマンドとして行動決定機構部１０３とモデル記憶部１０２（図７）に出力する。
【０１７９】
このように、単語系列認識処理（ステップＳ２２乃至Ｓ２８の処理）は、それぞれ異なる言語モデルをもつ複数の認識処理部（いまの場合、認識処理部１３１−１乃至１３１−４）により並列に実行され得るため、同じ音声を入力しても、認識処理部１３１−１乃至１３１−４の音声認識結果が異なる場合もあり得る。このため、制御部１０１ａは、ステップＳ２９の処理で、複数の音声認識結果を統合する（複数の音声認識結果の中から１つを選択する）のである。
【０１８０】
ただし、ステップＳ２９の処理として、音響スコアと言語スコアとの総合スコアが最も高い単語列を、最終的な認識結果として選択する処理を実行した場合、複数の言語モデルを同時に駆動したとき、音声認識の性能が低下する恐れがあるという問題が発生してしまう。そこで、この問題を解決するために、本発明の音声認識装置は、ステップＳ２９の処理として、例えば、次のような処理を実行することができる。
【０１８１】
即ち、ある１つのアプリケーションに対応して、２つの認識処理部（例えば、認識処理部１３１−１と認識処理部１３１−２）が駆動している場合を考える。例えば、ロボット対話システムにおいて、ユーザと雑談を行うアプリケーションが動作しているとし、このアプリケーションに対応した言語モデルとして、大語彙でトライグラム文法を用いた大語彙連続音声認識の言語モデルをもつ認識処理部１３１−１と、小語彙のコマンドだけ受け付ける孤立単語認識の言語モデルをもつ認識処理部１３１−２が駆動しているとする。
【０１８２】
音声が入力されると、認識処理部１３１−１，１３１−２で単語系列認識処理（ステップＳ２２乃至Ｓ２８の処理）が行われ、単語列が認識される。ここで、各単語に音響スコアと言語スコアが与えられることになる。しかしながら、大語彙連続音声認識の言語モデルをもつ認識処理部１３１−１の認識結果に対しては、各単語にトライグラム文法で与えられる言語スコアが与えられるが、孤立単語認識の言語モデルをもつ認識処理部１３１−２の認識結果に対しては、言語スコアが利用されず、言語スコアが与えられない。
【０１８３】
この場合、音響スコアと言語スコアを総合したスコアを用いると、それぞれの単語列を比較することが難しくなるが、図８の例では、２つの認識処理部１３１−１，１３１−２は、同じ音響モデル（音響モデルデータベース１３２に記憶されている音響モデル）を用いているので、同じような音響スコアの計算をさらに行っているとすれば、音響スコアに関して比較することができる。
【０１８４】
そこで、制御部１０１ａは、ステップＳ２９の処理として、即ち、この音響スコアを用いて、２つの認識処理部１３１−１，１３１−２のうちの何れの認識結果を選択するのかを判断する処理として、それぞれの音響スコアに対して所定の値を乗じて重み付けをする処理を実行することができる。即ち、一般的な表現に改めると、１つのアプリケーションに対応して、複数のそれぞれ異なる言語モデルをもつ認識処理部が駆動され、複数の認識結果が得られる場合、上述したように、その認識結果の単語列に付与された音響スコアに対して、言語モデルに対応した所定の値を重みとして乗じた後に、スコアの評価の高い方を最終的な認識結果とする処理を、ステップＳ２９の処理として適用することができる。これにより、複数の言語モデルを駆動した場合に生じる音声認識の性能低下を大きく改善することができる。
【０１８５】
なお、以上では、ステップＳ２９の処理として、音響スコアに所定の値を乗じることにより重み付けを行う処理について示したが、言語スコアに重み付けを行う処理、または音響スコアと言語スコアを統合したスコアに重み付けを行う処理を適用してもよい。さらに、予め設定された所定の値（オフセット値）を音響スコア、言語スコア、または音響スコアと言語スコアを統合したスコアに加算する処理を適用することもできる。
【０１８６】
また、以上では、音響スコア、言語スコアまたは音響スコアと言語スコアを統合したスコアに対して、言語モデルに対応した所定の値を乗じたり、加算したりすることにより、重み付けを行う処理について示したが、実行されるアプリケーションに基づいて、所定の値を変化させ、音響スコア、言語スコア、または音響スコアと言語スコアを統合したスコアに対して、乗じたり、加算したりすることにより、アプリケーションの特性に応じた重み付けを行う処理を適用することもできる。
【０１８７】
さらに、入力された音声の雑音の推定結果に基づいて、音響スコア、言語スコア、または音響スコアと言語スコアを統合したスコアに対して、乗じたり、加算したりする所定の値を変化させ、雑音の大きさに応じた重み付けを行う処理の適用も可能であり、また、入力された音声の発話者（ユーザ）との距離の推定結果に基づいて、音響スコア、言語スコア、または音響スコアと言語スコアを統合したスコアに対して、乗じたり、加算したりする所定の値を変化させ、ユーザとマイクロホンの間の距離に応じた重み付けを行う処理の適用も可能である。
【０１８８】
また、上述したような複数の異なる言語モデルをもつ認識処理部１３１−１乃至１３１−４と制御部１０１ａの認識結果評価機能（ステップＳ２９の処理に対応する機能）を組み合わせた音声認識処理を実行することによって、ある言語モデルの認識性能を高めることもできる。特に、統計的な言語モデルに文脈自由文法の言語モデルを組み合わせることで、統計的な言語モデルを単独で用いた場合に得られる認識性能より高い性能を得ることが可能となる。
【０１８９】
一般に、統計的な言語モデルを用いた大語彙連続音声認識では、語彙および文法の制約が緩くなることで、広い範囲の音声を認識出来る反面、全体に認識率は低くなる。一方、文脈自由文法によって語彙および文法に強い制約が与えられた言語モデルでは、認識できる音声は制約されるが、その制約下で発声される音声に対しては、高い認識率を得ることができる。
【０１９０】
例えば、語彙数6万のトライグラム文法の大語彙連続音声認識を単独で駆動した場合、その単語正解率は81.12%であった。一方、語彙数50の孤立単語認識を単独で駆動した場合、その単語正解率は98.25%であった。この２つの認識率の差をみれば、大語彙連続音声認識のトライグラム文法では、孤立単語認識に比べて語彙および文法の制約が緩いことから、孤立単語認識の語彙および文法の制約下で発声される音声に対して、同じような高い認識率を得ることは難しいと容易に予想できる。
【０１９１】
そこで、上述したように２つの言語モデルを認識処理部１３１−１，１３１−２で同時に駆動させ、制御部１０１ａが重みを調整を行うことで、大語彙連続音声認識の認識率をほとんど落とすことなく、孤立単語認識の語彙および文法の制約下で発声される音声に対して高い認識率を得ることができる。即ち、トライグラム文法の大語彙連続音声認識を単独で駆動する場合と比べると、総合的な認識性能は向上する。
【０１９２】
この例では、大語彙連続音声認識の言語モデルをもつ認識処理部１３１−１と孤立単語認識の言語モデルをもつ認識処理部１３１−２を組み合わせることについて説明したが、同じように、認識処理部１３１−１乃至１３１−４のうちの、大語彙連続音声認識の言語モデルをもつ認識処理部と、文脈自由文法に与えられる連続単語認識の言語モデルをもつ認識処理部とを同時に駆動させ、制御部１０１ａによる認識結果評価処理を行えば、総合的な認識性能を向上させることができる。即ち、大語彙連続音声認識によって広い範囲
の音声を認識できると同時に、文脈自由文法の制約下の音声に対しては高い認識性能を得ることができるようになる。
【０１９３】
以上、図１０のフローチャートを参照して、音声認識処理の詳細例について説明したが、このような音声認識処理（図９のステップＳ３の処理）が完了すると、次のような音声認識結果が得られることになる。即ち、例えば、ユーザが「今日はいい天気ですね。」と発声したとき、「今日」、「は」、「いい」、「天気」、「ですね」のような単語の系列が音声認識結果として得られることになる。このようにして、音声認識処理（ステップＳ３の処理）で、入力された音声から単語系列が認識されると、次に、図９のステップＳ４の処理が実行される。
【０１９４】
即ち、ステップＳ４において、行動決定機構部１０３と姿勢遷移機構部１０４は、状態認識情報処理部１０１の音声認識部１０１Ａより供給される単語系列からなるコマンド（音声）に対応する動作を実行する。即ち、行動決定機構部１０３は、供給されたコマンド基づいて次の行動を決定して、その結果を姿勢遷移機構部１０４に出力する。すると、姿勢遷移機構部１０４は、決定された行動に対応する動作を各種のアクチュエータを制御してロボット１を行動させる。
【０１９５】
このとき、行動決定機構部１０３はまた、その処理結果を示す情報（現在動作中のアプリケーションの情報等）を、音声認識部１０１Ａの制御部１０１ａに供給する。
【０１９６】
すると、ステップＳ５において、音声認識部１０１Ａの制御部１０１ａは、行動決定機構部１０３から供給されたその情報に基づいて、音声認識タスクの変更は必要であるか否かを判定する。
【０１９７】
ステップＳ５において、音声認識タスクの変更は必要であると判定した場合、制御部１０１ａは、音声認識タスクを変更し、ステップＳ６において、各認識処理部１３１−１乃至１３１−４のそれぞれに対する駆動または停止を行う。正確には、ステップＳ６において、制御部１０１ａが認識処理部制御部１２２に対して指令を出し、認識処理制御部１２２が、その指令を受けて、各認識処理部１３１−１乃至１３１−４のそれぞれに対する駆動または停止を行う。
【０１９８】
これにより、認識処理部１３１−１乃至１３１−４のうちの、変更された音声認識タスクに対応する認識処理部が駆動され、それ以外の認識処理部が停止される。従って、次の音声認識処理（次のステップＳ３の処理）では、認識処理部１３１−１乃至１３１−４のうちの、このステップＳ６の処理で駆動された認識処理部のみが対応する処理を実行することになる。
【０１９９】
具体的には、例えば、ロボット１が、ユーザとの雑談、歌唱、および踊りのうちのいずれかを実行する場合を想定する。このとき、ロボット１では、雑談用、歌唱用、および踊り用のアプリケーションのそれぞれが起動している。また、ロボット１は、ユーザとの雑談用、歌唱用、および踊り用に、それぞれ１つずつ言語モデルを有しており、認識処理部１３１−１乃至１３１−４のうちの、それぞれの言語モデルに対応した認識処理部が駆動されるものとする。さらに、ロボット１は、全ての動作に共通に利用される言語モデルを１つ有しており、認識処理部１３１−１乃至１３１−４のうちの、この言語モデルに対応した認識処理部が駆動されているとする。なお、全ての動作に共通に利用される言語モデルとは、例えば「止まれ」などのように、重要度が大きいコマンドなどを認識するための言語モデルを指す。
【０２００】
ここでは、例えば、認識処理部１３１−１が全ての動作に共通に利用される言語モデルをもち、認識処理部１３１−２が雑談用の言語モデルをもち、認識処理部１３１−３が歌唱用の言語モデルをもち、認識処理部１３１−４が踊り用の言語モデルをもつものとする。
【０２０１】
このとき、ステップＳ４の処理で、ロボット１が実行する動作が変更し、それに伴い、アプリケーションも変更された場合、制御部１０１ａは、ステップＳ５において、音声認識タスクの変更が必要であると判定し、ロボット１が現在実行中のアプリケーションに対応する音声認識タスクに切り替える。
【０２０２】
例えば、いま、雑談用のアプリケーションが実行されている状態で、ユーザが「踊りを踊って」とコマンドを発したとする。
【０２０３】
この場合、ステップＳ４の処理で踊り用のアプリケーションに切り替わることになるが、その時点（ステップＳ５の処理の開始時点）では、認識処理部１３１−１乃至１３１−４の駆動状態は、雑談用のアプリケーションに対応する状態のままである。即ち、全ての動作に共通に利用される言語モデルをもつ認識処理部１３１−１と、雑談用の言語モデルをもつ認識処理部１３１−２とがまだ駆動されており、それ以外の認識処理部１３１−３，１３１−４は停止されている状態のままである。
【０２０４】
換言すると、ステップＳ５の処理の開始時点で実行されている音声認識タスクは、雑談用のアプリケーションに対応する音声認識タスク、即ち、全ての動作に共通に利用される言語モデルに対応する音声認識タスク（認識処理部１３１−１に対応する音声認識タスク）と、雑談用の言語モデルに対応する音声認識タスク（認識処理部１３１−２に対応する音声認識タスク）とのままである。
【０２０５】
そこで、制御部１０１ａは、ステップＳ５において、音声認識タスクの変更が必要であると判定し、これから実行すべき音声認識タスクとして、踊り用のアプリケーションに対応する音声認識タスク、即ち、全ての動作に共通に利用される言語モデルに対応する音声認識タスク（認識処理部１３１−１に対応する音声認識タスク）と、踊り用の言語モデルに対応する音声認識タスク（認識処理部１３１−４に対応する音声認識タスク）とに切り替える。
【０２０６】
そして、制御部１０１ａは、ステップＳ６において、認識処理部１３１−１乃至１３１−４のうちの、これから実行すべき音声認識タスクに対応する認識処理部、即ち、認識処理部１３１−１，１３１−４を駆動させ、それ以外の認識処理部１３１−２，１３１−３を停止させる。正確には、制御部１０１ａがそのような指令を認識処理制御部１２２に対して発行し、認識処理制御部１２２が、その指令を受けて、各認識処理部１３１−１乃至１３１−４のそれぞれの駆動または停止の処理を実行する。
【０２０７】
続いて、ステップＳ７において、制御部１０１ａは、音声認識環境の設定を、切り替えられた音声認識タスクに対応する設定に切り替える。正確には、制御部１０１ａは、切り替えられた音声認識タスクを音声認識環境統合部１２４に通知する。音声認識環境統合部１２４は、制御部１０１ａから通知された（制御部１０１ａにより切り替えられた）音声認識タスクに対応する音声認識環境（設定情報）を音声認識環境データベース１２３から取得し、それらを統合して、その統合結果を制御部１０１ａに提供する。制御部１０１ａは、音声認識環境統合部１２４から提供された統合結果（設定情報）に基づいて、音声認識環境を設定する。
【０２０８】
具体的には、例えば、本実施の形態においては、音声認識環境として、マイクロホンの指向特性、（音声区間検出の）終了判定時間、および、正解確信度の閾値といった３つの情報が使用されているので、ステップＳ７の処理で、これらの３つの情報のそれぞれが設定される（切り替えられる）ことになる。
【０２０９】
なお、以下、このようなステップＳ７の処理を、音声認識環境変更処理と称する。
【０２１０】
即ち、本実施の形態の音声認識環境変更処理においては、マイクロホンの指向特性を設定（変更）する処理（以下、マイクロホンの指向特性に対する音声認識環境変更処理と称する）、終了判定時間を設定（変更）する処理（以下、終了判定時間に対する音声認識環境変更処理と称する）、および、正解確信度の閾値を設定（変更）する処理（以下、正解確信度の閾値に対する音声認識環境変更処理と称する）のそれぞれが並列に実行される。
【０２１１】
以下、マイクロホンの指向特性に対する音声認識環境変更処理、終了判定時間に対する音声認識環境変更処理、および、正解確信度の閾値に対する音声認識環境変更処理のそれぞれの詳細について、その順番に個別に説明していく。
【０２１２】
はじめに、マイクロホンの指向特性に対する音声認識環境変更処理の詳細について説明する。
【０２１３】
ここでは、マイクロホンの指向特性の種類は、指向性と無指向性との２つの種類のみとする。この場合、マイクロホンの指向特性に対する音声認識環境変更処理として、例えば、無指向性を必要とする音声認識タスクが１つでも存在すれば無指向性を選択する処理の実行が可能である。
【０２１４】
このようなマイクロホンの指向特性に対する音声認識環境変更処理の例が図１１のフローチャートに示されている。そこで、以下、図１１を参照して、マイクロホンの指向特性に対する音声認識環境変更処理の例について説明する。
【０２１５】
はじめに、ステップＳ４１において、音声認識環境統合部１２４は、実行すべきタスクの全てを調べたか否かを判定する。
【０２１６】
実行すべきタスクとは、上述したステップＳ５（図５）の処理でタスクの変更が必要であると判定された際に制御部１０１ａにより変更された音声認識タスク、即ち、制御部１０１ａから音声認識環境統合部１２４に通知された音声認識タスクを指す。具体的には、例えば、上述した例では、踊り用のアプリケーションに対応する音声認識タスク、即ち、全ての動作に共通に利用される言語モデルに対応する音声認識タスク（認識処理部１３１−１に対応する音声認識タスク）と、踊り用の言語モデルに対応する音声認識タスク（認識処理部１３１−４に対応する音声認識タスク）とが、実行すべきタスクとして取り扱われる。
【０２１７】
いまの場合、実行すべきタスクのうちの何れも調べられていないので、音声認識環境統合部１２４は、ステップＳ４１において、実行すべきタスクの全てを調べていないと判定し、ステップＳ４２において、調査対象のタスク（音声認識タスク）を切り替え、ステップＳ４３において、その調査対象のタスクは無指向性を必要とするか否かを判定する。
【０２１８】
ステップＳ４３において、調査対象のタスクは無指向性を必要としないと判定された場合、処理はステップＳ４１に戻され、それ以降の処理が繰り返される。即ち、実行すべきタスクのうちの、まだ調べられていない音声認識タスクのそれぞれに対して、無指向性を必要とするか否かが判定され、無指向性を必要とする音声認識タスクが１つでも存在すれば、その音声認識タスクが調査対象のタスクとされているときのステップＳ４３の処理で、調査対象のタスクは無指向性を必要とすると判定される。
【０２１９】
すると、音声認識環境統合部１２４は、ステップＳ４４において、無指向性を設定し、マイクロホンの指向特性に対する音声認識環境変更処理を終了させる。正確には、ステップＳ４４において、音声認識環境統合部１２４は、マイクロホンの指向特性の設定情報として「無指向性」を示す情報を制御部１０１ａに提供する。すると、制御部１０１ａは、その情報に基づいて、マイクロホンの指向特性として「無指向性」を設定する。
【０２２０】
このように、実行すべきタスクの中に、無指向性を必要とする音声認識タスクが少なくとも１つでも存在する場合、ステップＳ４４の処理で、無指向性が設定（選択）されることになる。即ち、マイクロホンの指向特性の統合結果は「無指向性」となる。具体的には、例えば、上述した例では、全ての動作に共通に利用される言語モデルに対応する音声認識タスク（認識処理部１３１−１に対応する音声認識タスク）と、踊り用の言語モデルに対応する音声認識タスク（認識処理部１３１−４に対応する音声認識タスク）とのうちの少なくとも一方が無指向性を必要とする場合、ステップＳ４４の処理で、「無指向性」が設定（選択）されることになる。
【０２２１】
これに対して、実行すべきタスクの中に、無指向性を必要とする音声認識タスクが１つも存在しない場合、音声認識環境統合部１２４は、ステップＳ４１乃至Ｓ４３の処理を繰り返し、実行すべきタスクの全てを調べ終わると、ステップＳ４１において、実行すべきタスクの全てを調べたと判定し、ステップＳ４５において、指向性を設定し、マイクロホンの指向特性に対する音声認識環境変更処理を終了させる。正確には、ステップＳ４５において、音声認識環境統合部１２４は、マイクロホンの指向特性の設定情報として「指向性」を示す情報を制御部１０１ａに提供する。すると、制御部１０１ａは、その情報に基づいてマイクロホンの指向特性として「指向性」を設定する。
【０２２２】
このように、実行すべきタスクの中に、無指向性を必要とする音声認識タスクが１つも存在しない場合、ステップＳ４５の処理で、「指向性」が設定（選択）されることになる。即ち、マイクロホンの指向特性の統合結果は「指向性」となる。具体的には、例えば、上述した例では、全ての動作に共通に利用される言語モデルに対応する音声認識タスク（認識処理部１３１−１に対応する音声認識タスク）と、踊り用の言語モデルに対応する音声認識タスク（認識処理部１３１−４に対応する音声認識タスク）との何れもが無指向性を必要としない場合、ステップＳ４５の処理で、「指向性」が設定（選択）されることになる。
【０２２３】
なお、図１１の例は、音声認識タスクが取り得るマイクロホンの指向性は正面しか存在しないような場合における、マイクロホンの指向特性に対する音声認識環境変更処理の例である。ただし、実際には、移動する発話者（ユーザ）に向けてマイクロホンの指向性のビーム方向を移動するような音声認識タスクや、様々な方向を指定する必要のある音声認識タスクが存在する場合もある。このような場合、マイクロホンの指向特性に対する音声認識環境変更処理として、例えば、実行すべきタスク（音声認識タスク）の全てが指向性でビーム方向が一致する場合にのみ「指向性」を選択し、それ以外の場合は「無指向性」を選択する処理等を実行すればよい。
【０２２４】
次に、終了判定時間に対する音声認識環境変更処理の詳細について説明する。
【０２２５】
終了判定時間に対する音声認識環境変更処理として、例えば、実行すべきタスク（音声認識タスク）の全ての終了判定時間のうちの最も長い時間を、実行すべきタスクの全てに適用される終了判定時間（即ち、終了判定時間の統合結果であって、以下、総合終了判定時間と称する）として選択する処理の実行が可能である。
【０２２６】
このような終了判定時間に対する音声認識環境変更処理の例が図１２のフローチャートに示されている。そこで、以下、図１２を参照して、終了判定時間に対する音声認識環境変更処理の例について説明する。
【０２２７】
はじめに、ステップＳ６１において、音声認識環境統合部１２４は、総合判定時間を０に設定する。
【０２２８】
ステップＳ６２において、音声認識環境統合部１２４は、実行すべきタスクの全てを調べたか否かを判定する。
【０２２９】
実行すべきタスクとは、マイクロホンの指向特性に対する音声認識環境変更処理（図１１）と同様に、上述したステップＳ５（図５）の処理でタスクの変更が必要であると判定された際に制御部１０１ａにより変更された音声認識タスク、即ち、制御部１０１ａから音声認識環境統合部１２４に通知された音声認識タスクを指す。具体的には、例えば、上述した例では、踊り用のアプリケーションに対応する音声認識タスク、即ち、全ての動作に共通に利用される言語モデルに対応する音声認識タスク（認識処理部１３１−１に対応する音声認識タスク）と、踊り用の言語モデルに対応する音声認識タスク（認識処理部１３１−４に対応する音声認識タスク）とが、実行すべきタスクとして取り扱われる。
【０２３０】
いまの場合、実行すべきタスクのうちの何れも調べられていないので、音声認識環境統合部１２４は、ステップＳ６２において、実行すべきタスクの全てを調べていないと判定し、ステップＳ６３において、調査対象のタスク（音声認識タスク）を切り替え、ステップＳ６４において、その調査対象のタスクの終了判定時間は、総合終了判定時間より長いか否かを判定する。
【０２３１】
いまの場合、総合終了判定時間が０であるので、音声認識環境統合部１２４は、ステップＳ６４において、その調査対象のタスクの終了判定時間は、総合終了判定時間より長いと判定し、ステップＳ６５において、調査対象のタスクの終了判定時間を、総合終了判定時間として設定する。
【０２３２】
その後、処理はステップＳ６２に戻され、それ以降の処理が繰り返される。
【０２３３】
具体的には、例えば、上述した例では、実行すべきタスクは、全ての動作に共通に利用される言語モデルに対応する音声認識タスク（認識処理部１３１−１に対応する音声認識タスク）と、踊り用の言語モデルに対応する音声認識タスク（認識処理部１３１−４に対応する音声認識タスク）との２つの音声認識タスクであるので、最初に、それらの２つの音声認識タスクのうちのいずれか一方が調査対象のタスクとされて、ステップＳ６５において、その終了判定時間が総合終了判定時間として設定される。
【０２３４】
その後、処理はステップＳ６２に戻され、実行すべきタスクの全てを調べていないと判定された後、それらの２つの音声認識タスクのうちの他方が調査対象のタスクとされて、ステップＳ６４において、調査対象のタスクの終了判定時間は、総合終了判定時間より長いか否かが判定される。
【０２３５】
ステップＳ６４において、調査対象のタスクの終了判定時間は、総合終了判定時間より長いと判定された場合、ステップＳ６５において、調査対象のタスクの終了判定時間が、総合終了判定時間として設定される。即ち、総合終了判定時間は更新されることになる。
【０２３６】
これに対して、ステップＳ６４において、調査対象のタスクの終了判定時間は、総合終了判定時間より短い（長くない）と判定された場合、ステップＳ６５の処理は実行されない。即ち、総合終了判定時間は更新されないことになる。
【０２３７】
その後、処理はステップＳ６２に戻され、実行すべきタスクの全てを調べたと判定され、終了判定時間に対する音声認識環境変更処理は終了となる。
【０２３８】
このように、実行すべきタスクのそれぞれに対してステップＳ６２乃至Ｓ６５の処理が繰り返し実行されることで、実行すべきタスク（音声認識タスク）の全ての終了判定時間のうちの最も長い時間が、総合終了判定時間として設定される。正確には、実行すべきタスク（音声認識タスク）の全ての終了判定時間のうちの最も長い時間が、終了判定時間の統合結果として音声認識環境統合部１２４により決定され、その決定結果（総合終了判定時間）が制御部１０１ａに通知される。そして、制御部１０１ａにより、実行すべきタスクに対応する終了判定時間として、通知された「総合終了判定時間」が設定されるのである。
【０２３９】
なお、図１２のフローチャートに示される処理は、大語彙連続音声認識などの文章が途切れずに入力されることを主目的としており、このため、離散単語認識の応答速度が多少劣化する場合もある。従って、音声認識環境統合部１２４（制御部１０１ａ）は、終了判定時間に対する音声認識環境変更処理として、その目的に応じて図１２の例とは異なる処理を実行することもできる。
【０２４０】
次に、正解確信度の閾値に対する音声認識環境変更処理の詳細について説明する。
【０２４１】
上述したように、認識処理部１３１−１乃至１３１−４のそれぞれが認識結果（単語列）をリジェクトするか否かを判断するために必要な（上述した図１０のステップＳ２６乃至Ｓ２８の処理を実行するために必要な）正解確信度の閾値のそれぞれは、制御部１０１aから提供される。
【０２４２】
即ち、制御部１０１ａは、正解確信度の閾値に対する音声認識環境変更処理の処理として、音声認識環境統合部１２４より実行すべきタスク（音声認識タスク）に対応する正解確信度の閾値（設定情報）を取得し、その設定情報に基づいて、認識処理部１３１−１乃至１３１−４のうちの駆動している認識処理部（図９のステップＳ６参照）のそれぞれが利用する正解確信度の閾値を設定する。
【０２４３】
具体的には、例えば、上述した例では、実行すべきタスクは、全ての動作に共通に利用される言語モデルに対応する音声認識タスク（認識処理部１３１−１に対応する音声認識タスク）と、踊り用の言語モデルに対応する音声認識タスク（認識処理部１３１−４に対応する音声認識タスク）との２つの音声認識タスクであるので、認識処理部１３１−１，１３１−４が利用する正解確信度の閾値が設定され、認識処理部１３１−１，１３１−４のそれぞれに供給される。
【０２４４】
図９に戻り、このような音声認識環境変更処理（ステップＳ７の処理）が実行されると、処理はステップＳ８に進められる。
【０２４５】
また、ステップＳ５において、タスクの変更は必要ないと判定された場合も、ステップＳ６とステップＳ７の処理は実行されずに、即ち、認識処理部１３１−１乃至１３１−４の状態（駆動または停止の状態）は保持され（更新されずに）、かつ、音声認識環境の設定も保持されたまま（更新されずに）、処理はステップＳ８に進められる。
【０２４６】
そして、ステップＳ８において、制御部１０１ａは、処理の終了が指示されたか否かを判定する。
【０２４７】
ステップＳ８において、処理の終了がまだ指示されていないと判定された場合、処理はステップＳ２に戻され、それ以降の処理が繰り返される。
【０２４８】
これに対して、ステップＳ８において、処理の終了が指示されたと判定された場合、音声コマンドによる動作の処理は終了となる。
【０２４９】
以上のように、ユーザの発話するコマンド等によりアプリケーションの切り替えが発生した場合（音声認識タスクの変更が必要になった場合）、ステップＳ５乃至Ｓ７の処理で音声認識タスクの切り替え、認識処理部１３１−１乃至１３１−４の状態（駆動または停止の状態）の切り替え、および、音声認識環境の切り替え（統合や再設定）が行われる。
【０２５０】
このような処理により、音声認識タスクの様々な組み合わせにおいて最適な音声認識の環境を保てる、という効果を奏することが可能になる。
【０２５１】
即ち、複数の音声認識タスクを持つ音声認識システムを搭載したシステム（例えば、図１の自律ロボット１）のようなシステムにおいて、そのアプリケーションは自由に音声認識タスクを組み合わせることが可能になり、アプリケーション開発の自由度が増す、という効果を奏することが可能になる。
【０２５２】
さらに、単純な音声認識タスクの組み合わせを用いて複雑な音声認識タスクを形成できるため、音声認識タスクに関連する環境パラメータのチューニングなどの開発作業が軽減される、という効果も奏することが可能になる。
【０２５３】
ところで、上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【０２５４】
図１３は、図６のロボット１の電気的な内部構成をソフトウエアにより実現する場合のパーソナルコンピュータの一実施の形態の構成を示している。パーソナルコンピュータのCPU２０１は、パーソナルコンピュータの全体の動作を制御する。また、CPU２０１は、バス２０４および入出力インタフェース２０５を介してユーザからキーボードやマウスなどからなる入力部２０６から指令が入力されると、それに対応してROM(Read Only Memory)２０２に格納されているプログラムを実行する。あるいはまた、CPU２０１は、ドライブ２１０に接続された磁気ディスク２２１、光ディスク２２２、光磁気ディスク２２３、または半導体メモリ２２４から読み出され、記憶部２０８にインストールされたプログラムを、RA M(Random Access Memory)２０３にロードして実行する。これにより、上述した全方位画像データ生成部１３の機能が、ソフトウエアにより実現されている。さらに、CPU２０１は、通信部２０９を制御して、外部と通信し、データの授受を実行する。
【０２５５】
プログラムが記録されている記録媒体は、図１３に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク２２１（フレキシブルディスクを含む）、光ディスク２２２（CD-ROM(Compact Disc-Read Only Memory)，DVD（Digital Versatile Disk ）を含む）、光磁気ディスク２２３（MD（Mini-Disc）を含む）、もしくは半導体メモリ２２４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM２０２や、記憶部２０８に含まれるハードディスクなどで構成される。
【０２５６】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【図面の簡単な説明】
【０２５７】
【図１】本発明を適用したロボットの外装の外観斜視図を示す図である。
【図２】図１のロボットの内部の構成を示す斜視図である。
【図３】図２のロボットの内部の構成を示す、背後側の斜視図である。
【図４】図２のロボットの軸について説明するための略線図である。
【図５】図２のロボットの制御に関する部分を主に説明するためのブロック図である。
【図６】図１のロボットの制御の内部構成を示すブロック図である。
【図７】図６のメイン制御部の構成を示すブロック図である。
【図８】図７の音声認識部（本発明を適用した音声認識装置）の構成を示すブロック図である。
【図９】ロボットの音声コマンドによる動作の処理を説明するフローチャートである。
【図１０】図９の音声コマンドによる動作の処理のうちの音声認識処理の詳細を説明するフローチャートである。
【図１１】図９の音声コマンドによる動作の処理のうちのマイクロホンの指向特性に対する音声認識環境変更処理の詳細を説明するフローチャートである。
【図１２】図９の音声コマンドによる動作の処理のうちの終了判定時間に対する音声認識環境変更処理の詳細を説明するフローチャートである。
【図１３】本発明が適用される音声認識装置のハードウエア構成例を示すブロック図である。
【符号の説明】
【０２５８】
１  ロボット，  ６１  メイン制御部，  ８２  マイクロホン，  １０１  状態認識情報処理部，  １０１Ａ  音声認識部，  １０１ａ  制御部，  １０３  行動決定機構部，  １２１  特徴抽出部，  １２２  認識処理制御部，  １２３  音声認識環境データベース，  １２４  音声認識環境統合部，  １３１−１乃至１３１−４  認識処理部 
【図１】
0004706893.tif 000002
【図２】
0004706893.tif 000003
【図３】
0004706893.tif 000004
【図４】
0004706893.tif 000005
【図５】
0004706893.tif 000006
【図６】
0004706893.tif 000007
【図７】
0004706893.tif 000008
【図８】
0004706893.tif 000009
【図９】
0004706893.tif 000010
【図１０】
0004706893.tif 000011
【図１１】
0004706893.tif 000012
【図１２】
0004706893.tif 000013
【図１３】
0004706893.tif 000014