(57)【要約】【課題】ユーザの発話速度を音声認識の精度が良好な速度に誘導する。【解決手段】音声認識部２２３は、ユーザの音声を音声認識する。行動決定機構部２０３の対話管理部２３１は、音声認識結果に基づいて、ロボットの発話内容を決定する。発話速度検出部２０６は、音声認識結果に基づいて、ユーザの発話速度を求める。発話速度修正部２０７は、ユーザの発話速度が、音声認識の精度が良好な速度より大きい場合、ロボットの発話速度をユーザの発話速度より小さい値に設定し、ユーザの発話速度が、音声認識の精度が良好な速度より小さい場合、ロボットの発話速度をユーザの発話速度より大きい値に設定する。音声合成部２０８は、対話管理部２３１で決定された発話内容に基づく合成音を、発話速度修正部２０７で設定された発話速度になるように合成し、スピーカ７２から出力する。本発明は、ロボットに適用できる。【選択図】      図６
2004258290.tif 000002
【特許請求の範囲】
【請求項１】
ユーザと対話する音声処理装置において、
前記ユーザにより発話された音声を認識する音声認識手段と、
前記音声認識手段により認識され、生成された単語列に基づいて、前記ユーザの発話速度を算出する算出手段と、
前記算出手段により算出された前記ユーザの前記発話速度を、精度良く音声認識することができる発話速度と比較して、前記音声処理装置から出力される合成音の発話速度を設定する設定手段と、
出力される前記合成音の発話内容を決定する決定手段と、
前記決定手段により決定された前記発話内容に基づいて、前記設定手段により設定された前記発話速度の前記合成音を出力する出力手段と
を備えることを特徴とする音声処理装置。
【請求項２】
前記設定手段は、
前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度より大きい場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度より小さく設定し、
前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度より小さい場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度より大きく設定する
ことを特徴とする請求項１に記載の音声処理装置。
【請求項３】
前記設定手段は、
前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度の範囲内にある場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度と同一の値に設定し、
前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度の範囲の上限値より大きい場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度より小さく設定し、
前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度の範囲の下限値より小さい場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度より大きく設定する
ことを特徴とする請求項１に記載の音声処理装置。
【請求項４】
ユーザと対話する音声処理装置の音声処理方法において、
前記ユーザにより発話された音声を認識する音声認識ステップと、
前記音声認識ステップの処理により認識され、生成された単語列に基づいて、前記ユーザの発話速度を算出する算出ステップと、
前記算出ステップの処理により算出された前記ユーザの前記発話速度を、精度良く音声認識することができる発話速度と比較して、前記音声処理装置から出力される合成音の発話速度を設定する設定ステップと、
出力される前記合成音の発話内容を決定する決定ステップと、
前記決定ステップの処理により決定された前記発話内容に基づいて、前記設定ステップの処理により設定された前記発話速度の前記合成音を出力する出力ステップと
を含むことを特徴とする音声処理方法。
【請求項５】
ユーザと対話する音声処理装置を制御する処理をコンピュータに実行させるプログラムであって、
前記ユーザにより発話された音声を認識する音声認識ステップと、
前記音声認識ステップの処理により認識され、生成された単語列に基づいて、前記ユーザの発話速度を算出する算出ステップと、
前記算出ステップの処理により算出された前記ユーザの前記発話速度を、精度良く音声認識することができる発話速度と比較して、前記音声処理装置から出力される合成音の発話速度を設定する設定ステップと、
前記設定ステップの処理により設定された前記発話速度で出力される前記合成音の発話内容を決定する決定ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項６】
ユーザと対話する音声処理装置を制御するコンピュータに、
前記ユーザにより発話された音声を認識する音声認識ステップと、
前記音声認識ステップの処理により認識され、生成された単語列に基づいて、前記ユーザの発話速度を算出する算出ステップと、
前記算出ステップの処理により算出された前記ユーザの前記発話速度を、精度良く音声認識することができる発話速度と比較して、前記音声処理装置から出力される合成音の発話速度を設定する設定ステップと、
前記設定ステップの処理により設定された前記発話速度で出力される前記合成音の発話内容を決定する決定ステップと
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音声処理装置および方法、記録媒体、並びにプログラムに関し、特に、ユーザの発話速度を、音声認識の精度が良い範囲に、自然に導くようにした音声処理装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
コンピュータが、ユーザにより発せられた音声を音声認識し、この音声認識結果に基づいて合成音を出力する対話システムにおいては、より自然な対話を可能にするために、スピーカから出力する合成音の発話速度をユーザの発話速度に同調させるようにすることが知られている（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開平５−２１６６１８号公報（番号０１０３の段落）
【０００４】
【発明が解決しようとする課題】
しかしながら、一般的に、音声認識処理においては、認識精度が最も良くなるユーザの発話速度が存在するため、ユーザの発話速度が、速すぎたり遅すぎたりすると、誤った認識結果を出力してしまうという課題があった。
【０００５】
ユーザの発話速度が、速すぎたり遅すぎたりした場合に、ユーザに、例えば「もう少し、ゆっくり喋って下さい」のように、発話速度を適切な速度に変更するように要求することも考えられるが、頻繁に要求した場合、ユーザに不快感を催させる可能性がある。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、ユーザの発話速度を、音声認識の精度が良い範囲に、自然に導くことができるようにするものである。
【０００７】
【課題を解決するための手段】
本発明の音声処理装置は、ユーザにより発話された音声を認識する音声認識手段と、音声認識手段により認識され、生成された単語列に基づいて、ユーザの発話速度を算出する算出手段と、算出手段により算出されたユーザの発話速度を、精度良く音声認識することができる発話速度と比較して、音声処理装置から出力される合成音の発話速度を設定する設定手段と、出力される合成音の発話内容を決定する決定手段と、決定手段により決定された発話内容に基づいて、設定手段により設定された発話速度の合成音を出力する出力手段とを備えることを特徴とする。
【０００８】
前記設定手段には、前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度より大きい場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度より小さく設定し、前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度より小さい場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度より大きく設定するようにさせることができる。
【０００９】
前記設定手段には、前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度の範囲内にある場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度と同一の値に設定し、前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度の範囲の上限値より大きい場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度より小さく設定し、前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度の範囲の下限値より小さい場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度より大きく設定するようにさせることができる。
【００１０】
本発明の音声処理方法は、ユーザにより発話された音声を認識する音声認識ステップと、音声認識ステップの処理により認識され、生成された単語列に基づいて、ユーザの発話速度を算出する算出ステップと、算出ステップの処理により算出されたユーザの発話速度を、精度良く音声認識することができる発話速度と比較して、音声処理装置から出力される合成音の発話速度を設定する設定ステップと、出力される合成音の発話内容を決定する決定ステップと、決定ステップの処理により決定された発話内容に基づいて、設定ステップの処理により設定された発話速度の合成音を出力する出力ステップとを含むことを特徴とする。
【００１１】
本発明の記録媒体のプログラムは、ユーザにより発話された音声を認識する音声認識ステップと、音声認識ステップの処理により認識され、生成された単語列に基づいて、ユーザの発話速度を算出する算出ステップと、算出ステップの処理により算出されたユーザの発話速度を、精度良く音声認識することができる発話速度と比較して、音声処理装置から出力される合成音の発話速度を設定する設定ステップと、設定ステップの処理により設定された発話速度で出力される合成音の発話内容を決定する決定ステップとを含むことを特徴とする。
【００１２】
本発明のプログラムは、ユーザと対話する音声処理装置を制御するコンピュータに、ユーザにより発話された音声を認識する音声認識ステップと、音声認識ステップの処理により認識され、生成された単語列に基づいて、ユーザの発話速度を算出する算出ステップと、算出ステップの処理により算出されたユーザの発話速度を、精度良く音声認識することができる発話速度と比較して、出力される合成音の発話速度を設定する設定ステップと、音声処理装置から、設定ステップの処理により設定された発話速度で出力される合成音の発話内容を決定する決定ステップとを実行させることを特徴とする。
【００１３】
本発明の音声処理装置および方法、記録媒体、並びにプログラムにおいては、ユーザにより発話された音声が認識され、認識され、生成された単語列に基づいて、ユーザの発話速度が算出され、算出されたユーザの発話速度が、精度良く音声認識することができる発話速度と比較され、音声処理装置から出力される合成音の発話速度が設定され、出力される合成音の発話内容が決定され、決定された発話内容に基づいて、設定された発話速度の合成音が出力される。
【００１４】
本発明は、例えばロボットに適用することができる。
【００１５】
【発明の実施の形態】
以下、図を参照して、本発明の実施の形態について説明する。
【００１６】
図１は、本発明を適用した２足歩行型のロボット１の正面方向の斜視図であり、図２は、ロボット１の背面方向からの斜視図である。また、図３は、ロボット１の軸構成について説明するための図である。
【００１７】
ロボット１は、胴体部ユニット１１、胴体部ユニット１１の上部に配設された頭部ユニット１２、胴体部ユニット１１の上部左右の所定位置に取り付けられた腕部ユニット１３Ａおよび腕部ユニット１３Ｂ、並びに胴体部ユニット１１の下部左右の所定位置に取り付けられた脚部ユニット１４Ａおよび脚部ユニット１４Ｂにより構成されている。腕部ユニット１３Ａおよび腕部ユニット１３Ｂは、同様の構成とされる。また、脚部ユニット１４Ａおよび脚部ユニット１４Ｂも、同様の構成とされる。頭部ユニット１２には、頭部センサ５１が設けられている。
【００１８】
胴体部ユニット１１は、体幹上部を形成するフレーム２１および体幹下部を形成する腰ベース２２が腰関節機構２３を介して連結することにより構成されている。胴体部ユニット１１は、体幹下部の腰ベース２２に固定された腰関節機構２３のアクチュエータＡ１、および、アクチュエータＡ２をそれぞれ駆動することによって、体幹上部を、図３に示す直交するロール軸２４およびピッチ軸２５の回りに、それぞれ独立に回転させることができるようになされている。
【００１９】
頭部ユニット１２は、フレーム２１の上端に固定された肩ベース２６の上面中央部に首関節機構２７を介して取り付けられており、首関節機構２７のアクチュエータＡ３、およびアクチュエータＡ４をそれぞれ駆動することによって、図３に示す直交するピッチ軸２８およびヨー軸２９の回りに、それぞれ独立に回転させることができるようになされている。
【００２０】
腕部ユニット１３Ａ、および腕部ユニット１３Ｂは、肩関節機構３０を介して肩ベース２６の左右にそれぞれ取り付けられており、対応する肩関節機構３０のアクチュエータＡ５、および、アクチュエータＡ６をそれぞれ駆動することによって、図３に示す、直交するピッチ軸３１およびロール軸３２の回りに、それぞれを独立に回転させることができるようになされている。
【００２１】
この場合、腕部ユニット１３Ａ、および腕部ユニット１３Ｂは、上腕部を形成するアクチュエータＡ７の出力軸に、肘関節機構４４を介して、前腕部を形成するアクチュエータＡ８が連結され、前腕部の先端に手部３４が取り付けられることにより構成されている。
【００２２】
そして腕部ユニット１３Ａ、および腕部ユニット１３Ｂでは、アクチュエータＡ７を駆動することによって、前腕部を図３に示すヨー軸３５に対して回転させることができ、アクチュエータＡ８を駆動することによって、前腕部を図３に示すピッチ軸３６に対して回転させることができるようになされている。
【００２３】
脚部ユニット１４Ａ、および、脚部ユニット１４Ｂは、股関節機構３７を介して、体幹下部の腰ベース２２にそれぞれ取り付けられており、対応する股関節機構３７のアクチュエータＡ９乃至Ａ１１をそれぞれ駆動することによって、図３に示す、互いに直交するヨー軸３８、ロール軸３９、およびピッチ軸４０に対して、それぞれ独立に回転させることができるようになされている。
【００２４】
脚部ユニット１４Ａ、および、脚部ユニット１４Ｂにおいては、大腿部を形成するフレーム４１の下端が、膝関節機構４２を介して、下腿部を形成するフレーム４３に連結されるとともに、フレーム４３の下端が、足首関節機構４４を介して、足部４５に連結されている。
【００２５】
これにより脚部ユニット１４Ａ、および、脚部ユニット１４Ｂにおいては、膝関節機構４２を形成するアクチュエータＡ１２を駆動することによって、図３に示すピッチ軸４６に対して、下腿部を回転させることができ、また足首関節機構４４のアクチュエータＡ１３、および、アクチュエータＡ１４をそれぞれ駆動することによって、図３に示す直交するピッチ軸４７およびロール軸４８に対して、足部４５をそれぞれ独立に回転させることができるようになされている。
【００２６】
脚部ユニット１４Ａ、および脚部ユニット１４Ｂの、足部４５の足底面（床と接する面）には、それぞれ足底センサ９１（図５）が配設されており、足底センサ９１のオン・オフに基づいて、足部４５が床に接地しているか否かが判別される。
【００２７】
また、胴体部ユニット１１の体幹下部を形成する腰ベース２２の背面側には、後述するメイン制御部６１（図４）などを内蔵したボックスである、制御ユニット５２が配設されている。
【００２８】
図４は、ロボット１のアクチュエータとその制御系等について説明する図である。
【００２９】
制御ユニット５２には、ロボット１全体の動作制御をつかさどるメイン制御部６１、並びに、後述するＤ／Ａ変換部１０１、Ａ／Ｄ変換部１０２、バッテリ１０３、バッテリセンサ１３１、加速度センサ１３２、通信部１０５、および外部メモリ１０６（いずれも図５）等を含む周辺回路６２が収納されている。
【００３０】
そしてこの制御ユニット５２は、各構成ユニット（胴体部ユニット１１、頭部ユニット１２、腕部ユニット１３Ａおよび腕部ユニット１３Ｂ、並びに、脚部ユニット１４Ａおよび脚部ユニット１４Ｂ）内にそれぞれ配設されたサブ制御部６３Ａ乃至６３Ｄと接続されており、サブ制御部６３Ａ乃至６３Ｄに対して必要な電源電圧を供給したり、サブ制御部６３Ａ乃至６３Ｄと通信を行う。
【００３１】
また、サブ制御部６３Ａ乃至６３Ｄは、対応する構成ユニット内のアクチュエータＡ１乃至Ａ１４と、それぞれ接続されており、メイン制御部６１から供給された各種制御コマンドに基づいて、構成ユニット内のアクチュエータＡ１乃至Ａ１４を、指定された状態に駆動させるように制御する。
【００３２】
図５は、ロボット１の内部構成を示すブロック図である。
【００３３】
頭部ユニット１２には、このロボット１の「目」として機能するＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ  ）カメラ８１、「耳」として機能するマイクロホン８２、頭部センサ５１などからなる外部センサ部７１、および、「口」として機能するスピーカ７２となどがそれぞれ所定位置に配設され、制御ユニット５２内には、バッテリセンサ１３１および加速度センサ１３２などからなる内部センサ部１０４が配設されている。また、脚部ユニット１４Ａ、および脚部ユニット１４Ｂの足部４５の足底面には、このロボット１の「体性感覚」の１つとして機能する足底センサ９１が配設されている。
【００３４】
そして、外部センサ部７１のＣＣＤカメラ８１は、周囲の状況を撮像し、得られた画像信号を、Ａ／Ｄ変換部１０２を介して、メイン制御部６１に送出する。マイクロホン８２は、ユーザから音声入力として与えられる「歩け」、「とまれ」または「右手を挙げろ」等の各種命令音声を集音し、得られた音声信号を、Ａ／Ｄ変換部１０２を介して、メイン制御部６１に送出する。
【００３５】
また、頭部センサ５１は、例えば、図１および図２に示されるように頭部ユニット１２の上部に設けられており、ユーザからの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出し、検出結果としての圧力検出信号を、Ａ／Ｄ変換部１０２を介して、メイン制御部６１に送出する。
【００３６】
足底センサ９１は、足部４５の足底面に配設されており、足部４５が床に接地している場合、接地信号を、Ａ／Ｄ変換部１０２を介して、メイン制御部６１に送出する。メイン制御部６１は、接地信号に基づいて、足部４５が床に接地しているか否かを判定する。足底センサ９１は、脚部ユニット１４Ａ、および脚部ユニット１４Ｂの両方の足部４５に配設されているため、メイン制御部６１は、接地信号に基づいて、ロボット１の両足が床に接地しているか、片足が床に接地しているか、両足とも床に接地していないかを判定することができる。
【００３７】
制御ユニット５２は、メイン制御部６１、Ｄ／Ａ変換部１０１、Ａ／Ｄ変換部１０２、バッテリ１０３、内部センサ部１０４、通信部１０５、および外部メモリ１０６等により構成される。
【００３８】
Ｄ／Ａ（Ｄｉｇｉｔａｌ／Ａｎａｌｏｇ）変換部１０１は、メイン制御部６１から供給されるデジタル信号をＤ／Ａ変換することによりアナログ信号とし、スピーカ７２に供給する。Ａ／Ｄ（Ａｎａｌｏｇ／Ｄｉｇｉｔａｌ）変換部１０２は、ＣＣＤカメラ８１、マイクロフォン８２、頭部センサ５１、および足底センサ９１が出力するアナログ信号をＡ／Ｄ変換することによりデジタル信号とし、メイン制御部６１に供給する。
【００３９】
内部センサ部１０４のバッテリセンサ１３１は、バッテリ１０３のエネルギ残量を所定の周期で検出し、検出結果をバッテリ残量検出信号として、メイン制御部６１に送出する。加速度センサ１３２は、ロボット１の移動について、３軸方向（ｘ軸、ｙ軸、およびｚ軸）の加速度を、所定の周期で検出し、検出結果を、加速度検出信号として、メイン制御部６１に送出する。
【００４０】
メイン制御部６１は、メイン制御部６１全体の動作を制御するＣＰＵ１１１と、ＣＰＵ１１１が各部を制御するために実行するＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１２１、アプリケーションプログラム１２２、その他の必要なデータ等が記憶されている内部メモリ１１２等を内蔵している。
【００４１】
メイン制御部６１は、外部センサ部７１のＣＣＤカメラ８１、マイクロホン８２および頭部センサ５１からそれぞれ供給される、画像信号、音声信号および圧力検出信号、並びに足底センサ９１から供給される接地信号（以下、これらをまとめて外部センサ信号Ｓ１と称する）と、内部センサ部１０４のバッテリセンサ１３１および加速度センサ１３２等からそれぞれ供給される、バッテリ残量検出信号および加速度検出信号（以下、これらをまとめて内部センサ信号Ｓ２と称する）に基づいて、ロボット１の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無などを判断する。
【００４２】
そして、メイン制御部６１は、ロボット１の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無の判断結果と、内部メモリ１１２に予め格納されている制御プログラム、あるいは、そのとき装填されている外部メモリ１０６に格納されている各種制御パラメータなどに基づいて、ロボット１の行動を決定し、決定結果に基づく制御コマンドＣＯＭを生成して、対応するサブ制御部６３Ａ乃至６３Ｄに送出する。サブ制御部６３Ａ乃至６３Ｄは、供給された制御コマンドＣＯＭに基づいて、アクチュエータＡ１乃至Ａ１４のうち、対応するものの駆動を制御するので、ロボット１は、例えば、頭部ユニット１２を上下左右に揺動させたり、腕部ユニット１３Ａ、あるいは、腕部ユニット１３Ｂを上に挙げたり、脚部ユニット１４Ａおよび脚部ユニット１４Ｂを交互に駆動させて、歩行するなどの機械的動作を行うことが可能となる。
【００４３】
また、メイン制御部６１は、必要に応じて、所定の音声信号をスピーカ７２に与えることにより、音声信号に基づく音声を外部に出力させる。更に、メイン制御部６１は、外見上の「目」として機能する、頭部ユニット１２の所定位置に設けられた、図示しないＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）に対して駆動信号を出力することにより、ＬＥＤを点灯、消灯、または点滅させる。
【００４４】
このようにして、ロボット１は、周囲および内部の状況や、ユーザからの指令および働きかけの有無などに基づいて、自律的に行動することができるようになされている。
【００４５】
通信部１０５は、外部と無線または有線で通信するときの通信制御を行う。これにより、ＯＳ１２１やアプリケーションプログラム１２２がバージョンアップされたときに、通信部１０５を介して、そのバージョンアップされたＯＳやアプリケーションプログラムをダウンロードして、内部メモリ１１２に記憶させたり、また、所定のコマンドを、通信部１０５で受信し、ＣＰＵ１１１に与えることができるようになっている。
【００４６】
外部メモリ１０６は、例えば、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−ｏｎｌｙ  Ｍｅｍｏｒｙ）等で構成され、胴体部ユニット１１に設けられた図示せぬスロットに対して、着脱可能になっている。外部メモリ１０６には、例えば、後述するような感情モデル等が記憶される。
【００４７】
次に、図６は、図５のメイン制御部６１の機能的構成例を示している。なお、図６に示す機能的構成は、メイン制御部６１が、内部メモリ１１２に記憶されたＯＳ１２１およびアプリケーションプログラム１２２を実行することで実現されるようになっている。また、図６では、Ｄ／Ａ変換部１０１およびＡ／Ｄ変換部１０２の図示を省略してある。
【００４８】
メイン制御部６１のセンサ入力処理部２０１は、頭部センサ５１、足底センサ９１、加速度センサ１３２、マイクロフォン８２、およびＣＣＤカメラ８１からそれぞれ与えられる圧力検出信号、接地信号、加速度検出信号、音声信号、画像信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報を、モデル記憶部２０２および行動決定機構部２０３に通知する。
【００４９】
すなわち、センサ入力処理部２０１は、圧力処理部２２１、加速度処理部２２２、音声認識部２２３、および画像認識部２２４を有している。
【００５０】
圧力処理部２２１は、頭部センサ５１から与えられる圧力検出信号を処理する。そして、圧力処理部２２１は、例えば、その処理の結果、所定の閾値以上で、かつ短時間の圧力を検出したときには、「叩かれた（しかられた）」と認識し、所定の閾値未満で、かつ長時間の圧力を検出しなときには、「なでれらた（ほめられた）」と認識して、その認識結果を、状態認識情報として、モデル記憶部２０２および行動決定機構部２０３に通知する。
【００５１】
また、圧力処理部２２１は、足底センサ９１から与えられる接地信号を処理する。そして、圧力処理部２２１は、例えば、その処理の結果、脚部ユニット１４Ａの足部４５に配設された足底センサ９１から接地信号が与えられている場合、脚部ユニット１４Ａの足部４５が床（地面）に接地していると認識し、足底センサ９１から接地信号が与えられていない場合、脚部ユニット１４Ａの足部４５が床（地面）に接地していないと認識する。脚部ユニット１４Ｂについても、同様にして、足底センサ９１からの接地信号に基づいて、脚部ユニット１４Ｂの足部４５が床（地面）に接地しているか否かを認識する。そして、圧力処理部２２１は、その認識結果を、状態認識情報として、モデル記憶部２０２および行動決定機構部２０３に通知する。
【００５２】
加速度処理部２２２は、加速度センサ１３２から与えられる加速度検出信号に基づいて、胴体部ユニット１１の加速度の方向および大きさを、状態認識情報として、モデル記憶部２０２および行動決定機構部２０３に通知する。
【００５３】
音声認識部２２３は、マイクロフォン８２から与えられる音声信号を対象とした音声認識を行う。そして、音声認識部２２３は、その音声認識結果としての、例えば、「歩け」、「伏せ」、「ボールを追いかけろ」等の単語列を、状態認識情報として、モデル記憶部２０２および行動決定機構部２０３に通知する。また、音声認識部２２３は、音声認識結果を、発話速度検出部２０６にも供給する。
【００５４】
画像認識部２２４は、ＣＣＤカメラ８１から与えられる画像信号を用いて、画像認識処理を行う。そして、画像認識部２２４は、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直なかつ所定高さ以上の平面」等を検出したときには、「ボールがある」や、「壁がある」等の画像認識結果を、状態認識情報として、モデル記憶部２０２および行動制御部２０３に通知する。
【００５５】
モデル記憶部２０２は、ロボット１の感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶し、管理している。
【００５６】
ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態（度合い）を、所定の範囲（例えば、−１．０乃至１．０等）の値によってそれぞれ表し、センサ入力処理部２０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【００５７】
本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態（度合い）を、所定の範囲の値によってそれぞれ表し、センサ入力処理部２０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【００５８】
成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態（度合い）を、所定の範囲の値によってそれぞれ表し、センサ入力処理部２０１からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【００５９】
モデル記憶部２０２は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を、状態情報として、行動決定機構部２０３に送出する。
【００６０】
なお、モデル記憶部２０２には、センサ入力処理部２０１から状態認識情報が供給される他に、行動決定機構部２０３から、ロボット１の現在または過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部２０２は、同一の状態認識情報が与えられても、行動情報が示すロボット１の行動に応じて、異なる状態情報を生成するようになっている。
【００６１】
例えば、ロボット１が、ユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部２０２に与えられ、この場合、モデル記憶部２０２では、「うれしさ」を表す感情モデルの値が増加される。
【００６２】
行動決定機構部２０３は、センサ入力処理部２０１からの状態認識情報や、モデル記憶部２０２からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容を、行動指令情報として、姿勢遷移機構部２０４に出力する。
【００６３】
すなわち、行動決定機構部２０３は、ロボット１がとり得る行動をステート（状態）（ｓｔａｔｅ）に対応させた有限オートマトンを、ロボット１の行動を規定する行動モデルとして管理している。そして、行動決定機構部２０３は、この行動モデルとしての有限オートマトンにおけるステートを、センサ入力処理部２０１からの状態認識情報や、モデル記憶部２０２における感情モデル、本能モデル、または成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を、次にとるべき行動として決定する。
【００６４】
ここで、行動決定機構部２０３は、所定のトリガ（ｔｒｉｇｇｅｒ）があったことを検出すると、ステートを遷移させる。すなわち、行動決定機構部２０３は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部２０２から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下または以上になったとき等に、ステートを遷移させる。
【００６５】
なお、行動決定機構部２０３は、上述したように、センサ入力処理部２０１からの状態認識情報だけでなく、モデル記憶部２０２における感情モデルや、本能モデル、成長モデルの値等にも基づいて、行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても、感情モデルや、本能モデル、成長モデルの値（状態情報）によっては、ステートの遷移先は異なるものとなる。
【００６６】
なお、行動決定機構部２０３には、モデル記憶部２０２から供給される状態情報が示す感情や、本能、成長の状態に基づいて、遷移先のステートに対応する行動のパラメータとしての、例えば、歩行の速度や、手足を動かす際の動きの大きさおよび速度などを決定させることができ、この場合、それらのパラメータを含む行動指令情報が、姿勢遷移機構部２０４に送出される。
【００６７】
また、行動決定機構部２０３は対話管理部２３１を含んでおり、対話管理部２３１は、ロボット１に発話を行わせる行動指令情報（以下、ロボット１に発話を行わせる行動指令情報を発話指令情報とも称する）を、必要に応じて生成する。発話指令情報は、ロボット１が出力する発話内容のデータを含んでおり、音声合成部２０８に供給されるようになっている。音声合成部２０８は、発話指令情報を受信すると、その発話指令情報に従って音声合成を行い、得られた合成音を、発話速度修正部２０７から指令された発話速度で、スピーカ７２から出力させる。
【００６８】
姿勢遷移機構部２０４は、行動決定機構部２０３から供給される行動指令情報に基づいて、ロボット１の姿勢を、現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これを制御機構部２０５に送出する。
【００６９】
ここで、現在の姿勢から次に遷移可能な姿勢は、例えば、胴体部ユニット１１、頭部ユニット１２、腕部ユニット１３Ａおよび１３Ｂ、並びに脚部ユニット１４Ａおよび１４Ｂの形状、重さ、各部の結合状態のようなロボット１の物理的形状と、関節が曲がる方向や角度のようなアクチュエータの機構とによって決定される。
【００７０】
また、次の姿勢としては、現在の姿勢から直接遷移可能な姿勢と、直接には遷移できない姿勢とがある。例えば、ロボット１は、手足を大きく投げ出して仰向けに寝転んでいる状態から、うつ伏せ状態へ直接遷移することはできるが、仰向けの状態から、起立状態へ直接遷移することはできず、一旦、手足を胴体近くに引き寄せてしゃがみこんだ姿勢になり、それから立ち上がるという２段階の動作が必要である。また、安全に実行できない姿勢も存在する。
【００７１】
このため、姿勢遷移機構部２０４は、直接遷移可能な姿勢をあらかじめ登録しておき、行動決定機構部２０３から供給される行動指令情報が、直接遷移可能な姿勢を示す場合には、その行動指令情報を制御機構部２０５に送出する。
【００７２】
一方、行動指令情報が、直接遷移不可能な姿勢を示す場合には、姿勢遷移機構部２０４は、遷移可能な他の姿勢に一旦遷移した後に、目的の姿勢まで遷移させるような姿勢遷移情報を生成し、制御機構部２０５に送出する。これによりロボットが、遷移不可能な姿勢を無理に実行しようとする事態や、転倒するような事態を回避することができるようになっている。
【００７３】
制御機構部２０５は、姿勢遷移機構部２０４からの姿勢遷移情報にしたがって、アクチュエータＡ１乃至Ａ１４を駆動するための制御信号を生成し、これを、サブ制御部６３Ａ乃至６３Ｄに送出する。サブ制御部６３Ａ乃至６３Ｄは、この制御信号に基づいて、適宜のアクチュエータを駆動し、ロボット１に種々の動作を実行させる。
【００７４】
発話速度検出部２０６は、センサ入力処理部２０１内の音声認識部２２３より、音声認識結果を供給され、供給された音声認識結果に基づいて、ユーザの発話速度を算出し、算出したユーザの発話速度を発話速度修正部２０７に通知する。
【００７５】
発話速度修正部２０７は、発話速度検出部２０６から通知された、ユーザの発話速度に基づいて、ロボット１が出力する合成音の発話速度を設定し、その設定情報を音声合成部２０８に通知する。
【００７６】
音声合成部２０８は、行動決定機構部２０３内の対話管理部２３１から発話指令情報を受信し、その発話指令情報にしたがって、例えば、規則音声合成を行う。ここで、音声合成部２０８は、発話速度修正部２０７で設定された発話速度になるように合成音を生成し、合成音をスピーカ７２に供給して出力させる。
【００７７】
図７は、センサ入力処理部２０１の音声認識部２２３の機能を示す機能ブロック図である。
【００７８】
図５のマイクロフォン８２およびＡ／Ｄ変換部１０２を介して、音声認識部２２３に入力される音声データは、時刻情報取得部２５１に供給される。
【００７９】
時刻情報取得部２５１は、音声がマイクロフォン８２により集音された時点の現在時刻を内蔵する内部時計より取得し、マイクロフォン８２から集音され、Ａ／Ｄ変換部１０２によりＡ／Ｄ変換された音声データに付加する。これにより、音声データには、その音声データが集音された時刻を示す時刻情報が付加されることになる。時刻情報取得部２５１は、時刻情報が付加された音声データを特徴量抽出部２５２に供給する。
【００８０】
特徴抽出部２５２は、時刻情報取得部２５１からの音声データについて、適当なフレームごとに音響分析処理を施し、これにより、例えば、ＭＦＣＣ（Ｍｅｌ  Ｆｒｅｑｕｅｎｃｙ  Ｃｅｐｓｔｒｕｍ  Ｃｏｅｆｆｉｃｉｅｎｔ）等の特徴量としての特徴ベクトルを抽出する。なお、特徴抽出部２５２では、その他、例えば、スペクトルや、線形予測係数、ケプストラム係数、線スペクトル対等の特徴ベクトル（特徴パラメータ）を抽出することが可能である。
【００８１】
特徴抽出部２５２においてフレームごとに得られる特徴ベクトルは、特徴ベクトルバッファ２５３に順次供給されて記憶される。従って、特徴ベクトルバッファ２５３では、フレームごとの特徴ベクトルが時系列に記憶されていく。
【００８２】
なお、特徴ベクトルバッファ２５３は、例えば、ある発話の開始から終了まで（音声区間）に得られる時系列の特徴ベクトルを記憶する。
【００８３】
マッチング部２５４は、特徴ベクトルバッファ２５３に記憶された特徴ベクトルを用いて、音響モデルデータベース２５５、辞書データベース２５６、および文法データベース２５７を必要に応じて参照しながら、マイクロフォン８２に入力された音声（入力音声）を、例えば、連続分布ＨＭＭ法等に基づいて音声認識する。
【００８４】
即ち、音響モデルデータベース２５５は、音声認識する音声の言語における個々の音素や音節などの所定の単位（ＰＬＵ（Ｐｈｏｎｅｔｉｃ−Ｌｉｎｇｕｉｓｔｉｃ−Ｕｎｉｔｓ））ごとの音響的な特徴を表す音響モデルのセットを記憶している。ここでは、連続分布ＨＭＭ法に基づいて音声認識を行うので、音響モデルとしては、例えば、ガウス分布等の確率密度関数を用いたＨＭＭ（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ）が用いられる。辞書データベース２５６は、認識対象の各単語（語彙）について、その発音に関する情報（音韻情報）が記述された単語辞書を記憶している。文法データベース２５７は、辞書データベース２５６の単語辞書に登録されている各単語が、どのように連鎖する（つながる）かを記述した文法規則（言語モデル）を記憶している。ここで、文法規則としては、例えば、文脈自由文法（ＣＦＧ）や、正規文法（ＲＧ）、統計的な単語連鎖確率（Ｎ−ｇｒａｍ）などに基づく規則を用いることができる。
【００８５】
マッチング部２５４は、辞書データベース２５６の単語辞書を参照することにより、音響モデルデータベース２５５に記憶されている音響モデルを接続することで、単語の音響モデル（単語モデル）を構成する。さらに、マッチング部２５４は、幾つかの単語モデルを、文法データベース２５７に記憶された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、時系列の特徴ベクトルとのマッチングを、連続分布ＨＭＭ法によって行い、マイクロフォン８２に入力された音声を認識する。即ち、マッチング部２５４は、上述したようにして構成された各単語モデルの系列から、特徴ベクトルバッファ２５３に記憶された時系列の特徴ベクトルが観測される尤度を表すスコアを計算する。そして、マッチング部２５４は、例えば、そのスコアが最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列を、音声の認識結果として出力する。
【００８６】
なお、ここでは、ＨＭＭ法により音声認識が行われるため、マッチング部２５４は、音響的には、接続された単語モデルに対応する単語列について、各特徴ベクトルの出現確率を累積し、その累積値をスコアとする。
【００８７】
即ち、マッチング部２５４におけるスコア計算は、音響モデルデータベース２５５に記憶された音響モデルによって与えられる音響的なスコア（以下、適宜、音響スコアという）と、文法データベース２５７に記憶された文法規則によって与えられる言語的なスコア（以下、適宜、言語スコアという）とを総合評価することで行われる。
【００８８】
具体的には、音響スコアは、例えば、ＨＭＭ法による場合には、単語モデルを構成する音響モデルから、特徴抽出部２５２が出力する特徴ベクトルの系列が観測される確率（出現する確率）に基づいて、単語ごとに計算される。また、言語スコアは、例えば、バイグラムによる場合には、注目している単語と、その単語の直前の単語とが連鎖（連接）する確率に基づいて求められる。そして、各単語についての音響スコアと言語スコアとを総合評価して得られる最終的なスコア（以下、適宜、最終スコアという）に基づいて、音声認識結果が確定される。
【００８９】
ここで、音声認識部２２３は、文法データベース２５７を設けずに構成することも可能である。但し、文法データベース２５７に記憶された規則によれば、接続する単語モデルが制限され、その結果、マッチング部２５４における音響スコアの計算の対象とする単語数が限定されるので、マッチング部２５４の計算量を低減し、処理速度を向上させることができる。
【００９０】
時刻情報付加部２５８は、マッチング部２５４から出力された、音声認識結果としての単語列に、その単語列が発話された時刻を付加する。すなわち、時刻情報付加部２５８は、時刻情報取得部２５１により取得された、音声データの発話時刻に基づいて、単語列に対応する音声の発話開始時刻および発話終了時刻を特定し、この発話開始時刻および発話終了時刻を時刻情報として単語列に付加する。そして、時刻情報付加部２５８は、時刻情報が付加された単語列を状態認識情報として、モデル記憶部２０２、行動決定機構部２０３、および発話速度検出部２０６に供給する。
【００９１】
次に、図８のフローチャートを参照して、ロボット１の対話処理、すなわちロボット１がユーザと対話する処理について説明する。
【００９２】
ステップＳ１において、Ａ／Ｄ変換部１０２は、マイクロフォン８２を介して、ユーザから音声入力があったか否かを判定し、ユーザから音声入力があるまで、ステップＳ１の処理をくり返して待機する。そして、ユーザから音声入力があった場合、処理はステップＳ２に進む。
【００９３】
ステップＳ２において、ロボット１は、音声認識処理を実行する。ここで、ステップＳ２の音声認識処理について、図９のフローチャートを参照して、詳細に説明する。
【００９４】
図９のステップＳ５１において、Ａ／Ｄ変換部１０２は、マイクロフォン８２から入力された音声信号をＡ／Ｄ変換して、センサ入力処理部２０１の音声認識部２２３に供給する。
【００９５】
ステップＳ５２において、時刻情報取得部２５１は、音声が入力された時点の現在時刻を音声入力時刻として取得し、Ａ／Ｄ変換部１０２から供給された音声データに付加して、特徴抽出部２５２に供給する。
【００９６】
ステップＳ５３において、特徴抽出部２５２は、時刻情報取得部２５１から供給された音声データについて、適当な時間間隔で音響分析処理を施し、音声の音響的特徴を表すパラメータ（特徴ベクトル）に変換し、特徴量として抽出する。なお、特徴抽出部２５２は、抽出した特徴ベクトルに、その特徴ベクトルの抽出元となる音声の発話時刻を付加する。抽出された特徴ベクトルは、特徴ベクトルバッファ２５３に順次供給され、記憶される。
【００９７】
ステップＳ５４において、マッチング部２５４は、特徴ベクトルバッファ２５３に記憶された時系列の特徴ベクトルを読み出し、音響モデルデータベース２５５に記憶された音響モデル、辞書データベース２５６に記憶された、音韻情報が記述された単語辞書、および文法データベース２５７に記憶された言語モデルを利用して、時系列の特徴ベクトルに対応する単語列を生成し、これを時刻情報付加部２５８に出力する。なお、マッチング部２５４は、特徴ベクトルに付加されていた、発話時刻を示す時刻情報を単語列に付加して、時刻情報付加部２５８に供給する。
【００９８】
ステップＳ５５において、時刻情報付加部２５８は、マッチング部２５４から供給された単語列、および発話時刻を示す時刻情報に基づいて、供給された単語列の元となる音声がマイクロフォン８２により集音された時刻、より具体的には、その単語列の発話開始時刻および発話終了時刻を特定する。そして、時刻情報付加部２５８は、単語列に、発話開始時刻および発話終了時刻を示す時刻情報を付加して、これを音声認識結果として、モデル記憶部２０２、行動決定機構部２０３、および発話速度検出部２０６に供給する。
【００９９】
以上のようにして、音声認識処理が実行される。
【０１００】
図８に戻り、ステップＳ２の音声認識処理の後、処理はステップＳ３に進む。
【０１０１】
ステップＳ３において、行動決定機構部２０３の対話管理部２３１は、音声認識部２２３から供給された音声認識結果の単語列に基づいて、ユーザの発話内容を解析し、ロボット１の発話内容のデータを生成し、このデータを含む発話指令情報を音声合成部２０８に供給する。
【０１０２】
ステップＳ４において、ロボット１は、発話速度検出処理を実行し、ユーザの発話速度（文字数／秒）を検出する。
【０１０３】
ここで、図１０のフローチャートを参照して、図８のステップＳ４の発話速度検出処理について、詳細に説明する。
【０１０４】
発話速度検出部２０６は、音声認識部２２３から単語列が供給されたとき、図１０のステップＳ７１において、供給された単語列に付加されている時刻情報に基づいて、供給された単語列の発話終了時刻からの経過時間の計測を開始する。すなわち、メイン制御部６１は、図示せぬ内部時計を有しており、発話速度検出部２０６は、この内部時計より現在時刻を取得し、この現在時刻と単語列の発話終了時刻との差をとって、発話終了時刻から経過時間を求める処理を開始する。
【０１０５】
ステップＳ７２において、発話速度検出部２０６は、ステップＳ７１で計測を開始した経過時間に基づいて、単語列の発話終了時刻から、予め設定された所定の時間が経過したか否かを判定し、単語列の発話終了時刻から、予め設定された所定の時間が経過していない場合、処理はステップＳ７３に進む。
【０１０６】
ステップＳ７３において、発話速度検出部２０６は、音声認識部２２３から次の単語列が入力されたか否かを判定し、音声認識部２２３から次の単語列が入力されていない場合、処理はステップＳ７２に戻り、ステップＳ７２以降の処理をくり返す。
【０１０７】
ステップＳ７３において、発話速度検出部２０６が、音声認識部２２３から次の単語列が入力されたと判定した場合、処理はステップＳ７４に進む。
【０１０８】
ステップＳ７４において、発話速度検出部２０６は、ステップＳ７１で計測を開始していた経過時間を０にリセットする。その後、処理は、ステップＳ７１に戻り、ステップＳ７１以降の処理をくり返す。
【０１０９】
以上のようにして、音声認識部２２３より単語列が供給されてから、所定の時間以内に次の単語列が供給された場合、ステップＳ７１乃至ステップＳ７４の処理がくり返される。これにより、ロボット１は、ユーザの発話が途切れるまで、ユーザの話を聞き続けるようにできる。
【０１１０】
そして、ステップＳ７２において、発話速度検出部２０６が、単語列の発話終了時刻から、所定の時間が経過したと判定した場合、処理はステップＳ７５に進む。
【０１１１】
ステップＳ７５において、発話速度検出部２０６は、単語列に付加されている時刻情報に基づいて、最初に入力された単語列の発話開始時刻から最後に入力された単語列の発話終了時刻までに要した発話時間を求める。すなわち、上記したように、ユーザが発話を開始してから途切れるまで、ステップＳ７１乃至ステップＳ７４の処理がくり返されるが、ユーザの発話が途切れたとき、ステップＳ７５で、発話速度検出部２０６は、ユーザが発話を開始してから途切れるまでの時間を求める。具体的には、発話速度検出部２０６は、ユーザの発話が開始されてから最初に入力された単語列の発話開始時刻、およびユーザの発話が途切れる直前に、最後に入力された単語列の発話終了時刻の差をとって、ユーザが発話を開始してから途切れるまでの時間を求める。
【０１１２】
ステップＳ７６において、発話速度検出部２０６は、ユーザが発話を開始してから途切れるまでに、音声認識部２２３から供給された全単語列の、合計文字数を求める。なお、合計文字数は、漢字カナ混じりの文字数ではなく、全てをカナにした場合の文字数である。また、文字数を求める代わりに、モーラ数を求めるようにしても良い。
【０１１３】
ステップＳ７７において、発話速度検出部２０６は、ステップＳ７６で求められた合計文字数を、ステップＳ７５で求められた発話時間で割り算して、発話速度（１秒当りにユーザが発話した文字数）を算出する。
【０１１４】
ステップＳ７８において、発話速度検出部２０６は、ステップＳ７７で算出された発話速度を、発話速度修正部２０７に通知する。
【０１１５】
以上のようにして、発話速度検出処理が実行される。
【０１１６】
処理は図８に戻り、ステップＳ４の発話速度検出処理の後、処理はステップＳ５に進む。
【０１１７】
ステップＳ５において、ロボット１は、発話速度検出部２０６から通知された発話速度に基づいて発話速度修正処理を実行し、ロボット１が出力する合成音の発話速度を設定する。
【０１１８】
ここで、図１１のフローチャートを参照して、図８のステップＳ５の発話速度修正処理について詳細に説明する。
【０１１９】
図１１のステップＳ１０１において、発話速度修正部２０７は、発話速度検出部２０６から通知されたユーザの発話速度が、音声認識に最適な発話速度（以下、音声認識に最適な発話速度を最適速度とも称する）より大きい値であるか否かを判定し、ユーザの発話速度が最適速度より大きい場合、処理はステップＳ１０２に進む。
【０１２０】
ステップＳ１０２において、発話速度修正部２０７は、スピーカ７２から出力する合成音の発話速度を、ユーザの発話速度より所定の値だけ小さい値に設定する。設定する値の詳細な説明は、後述する。その後、処理はステップＳ１０４に進む。
【０１２１】
ステップＳ１０１において、発話速度修正部２０７が、ユーザの発話速度は、最適速度より大きくない（ユーザの発話速度は最適速度以下である）と判定した場合、処理はステップＳ１０３に進む。
【０１２２】
ステップＳ１０３において、発話速度修正部２０７は、スピーカ７２から出力する合成音の発話速度を、ユーザの発話速度より所定の値だけ大きい値に設定する。設定する値の詳細な説明は、後述する。その後、処理はステップＳ１０４に進む。
【０１２３】
ステップＳ１０４において、発話速度修正部２０７は、設定されたロボット１の発話速度の値を、音声合成部２０８に通知する。
【０１２４】
以上のようにして、発話速度修正処理が実行される。
【０１２５】
ここで、ステップＳ１０２およびステップＳ１０３におけるロボット１の発話速度の値の設定方法について、図１２乃至図１４を参照して説明する。
【０１２６】
図１２は、ユーザの発話速度およびロボット１の発話速度の経時変化を表すグラフである。
【０１２７】
図１２のグラフにおいて、縦軸は発話速度を表し、横軸は時刻を表している。また、ユーザの発話速度Ｖを実線で表し、ロボット１の発話速度Ｖ’を１点鎖線で表している。
【０１２８】
図１２の例においては、ロボット１の発話速度Ｖ’は、式（１）を満たすように設定される。
【０１２９】
（Ｖ’−ｖ）／（Ｖ−ｖ）＝ｋ          （１）
【０１３０】
式（１）において、ｋは０＜ｋ＜１の定数である。
【０１３１】
すなわち、ロボット１の発話速度Ｖ’は、ロボット１の発話速度の最適速度ｖからの差（Ｖ’−ｖ）と、ユーザの発話速度Ｖの最適速度ｖからの差（Ｖ−ｖ）との比が一定になり、かつ、ロボット１の発話速度Ｖ’がユーザの発話速度Ｖより、最適速度ｖに近くなるように設定される。
【０１３２】
人は、対話中、自らの発話速度を、相手の発話速度に合わせようとする傾向があるといわれている。そこで、このように、ロボット１の発話速度Ｖ’を、ユーザの発話速度Ｖより最適速度ｖに近い値に設定することにより、ユーザは、無意識のうちに自らの発話速度Ｖを、ロボット１の発話速度Ｖ’に合わせてゆき、結果的に、知らず知らずのうちに、自らの発話速度を、最適速度ｖに合わせるようになる。図１２においては、時刻ｔ０から時刻ｔ１にかけて、徐々にロボット１の発話速度Ｖ’が落ちるのにつられて、ユーザの発話速度Ｖが落ちてゆき、時刻ｔ１において、ユーザの発話速度Ｖは、最適速度ｖに一致している。
【０１３３】
ロボット１は、このようにして、ユーザの発話速度を、精度良く音声認識を行なえる発話速度まで誘導することができる。
【０１３４】
なお、ｋが１に近づけば近づくほど、ロボット１の発話速度Ｖ’はユーザの発話速度Ｖに近づいた値に設定され、ｋが０に近づけば近づくほど、ロボット１の発話速度Ｖ’は最適速度ｖに近づいた値に設定される。
【０１３５】
図１２は、ユーザの発話速度Ｖが最適速度ｖより大きい場合の例を示しているが、ユーザの発話速度Ｖが最適速度ｖより小さい場合の例を図１３に示す。
【０１３６】
図１３のグラフは、図１２と同様、縦軸が発話速度を表し、横軸が時刻を表し、グラフ中の実線がユーザの発話速度Ｖを表し、１点鎖線が、ロボットの発話速度Ｖ’を表している。図１３においても、上記した式（１）に基づいて、ロボット１の発話速度Ｖ’が設定される。すなわち、ロボット１の発話速度Ｖ’は、ユーザの発話速度Ｖより、最適速度ｖに近い値に設定される。これにより、ユーザの発話速度Ｖを、徐々に最適速度ｖに誘導することができ、時刻ｔ１において、ユーザの発話速度Ｖは、最適速度ｖに一致している。
【０１３７】
以上のようにして、ステップＳ１０２およびステップＳ１０３において、発話速度修正部２０７は、ロボット１の発話速度Ｖ’を設定する。
【０１３８】
次に、図１４のグラフを参照して、式（１）とは異なる方法で、ロボット１の発話速度を設定する場合の例を説明する。
【０１３９】
図１４においても、図１２および図１３と同様に、縦軸が発話速度を表し、横軸が時刻を表し、グラフ中の実線がユーザの発話速度Ｖを表し、１点鎖線が、ロボットの発話速度Ｖ’を表している。また、Ｖは、ユーザの発話速度と最適速度との差を表し、Ｖ’は、ロボット１の発話速度と最適速度との差を表している。
【０１４０】
図１４に示される例においては、ロボット１の発話速度は、式（２）に基づいて設定される。
【０１４１】
（ｖ−Ｖ’）＝（Ｖ−ｖ）          （２）
【０１４２】
すなわち、図１４の例においては、ロボット１の発話速度Ｖ’は、最適速度ｖとロボット１の発話速度Ｖ’との差（ｖ−Ｖ’）が、ユーザの発話速度Ｖと最適速度ｖとの差（Ｖ−ｖ）と等しくなるように設定される。なお、ロボット１の発話速度Ｖ’には、予め最低値Ｖｍｉｎが設定されており、式（２）により、この最低値Ｖｍｉｎより低い値Ｖ’が算出された場合、ロボット１は、式（２）により算出された値をキャンセルし、発話速度Ｖ’を、最低値Ｖｍｉｎに設定する。
【０１４３】
図１４においては、時刻ｔ０からｔ１まで、徐々に、ユーザの発話速度Ｖが、最適速度ｖに近づいてゆき、時刻ｔ１において、最適速度ｖと一致している。
【０１４４】
図１１のステップＳ１０２およびステップＳ１０３において、以上のようにして、ロボット１の発話速度を設定しても良い。
【０１４５】
図８のフローチャートに戻り、ステップＳ５の発話速度修正処理の後、処理はステップＳ６に進む。
【０１４６】
ステップＳ６において、音声合成部２０８は、ステップＳ３で決定された、ロボット１の発話内容を、ステップＳ５で設定された発話速度で発話すべく、合成音を生成し、生成した合成音をスピーカ７２から出力させる。すなわち、音声合成部２０８には、ステップＳ３で、対話管理部２３１より、発話内容のデータを含む発話指令情報が供給され、ステップＳ５で、発話速度修正部２０７より、発話速度の設定値が供給されている。そこで、音声合成部２０８は、供給された発話内容のデータに基づいて合成音を生成するが、このとき、発話速度修正部２０７から供給された設定値に基づいた発話速度になるように、合成音を生成する。そして、音声合成部２０８は、生成した合成音をスピーカ７２から出力させる。
【０１４７】
以上のようにして、ロボット１の対話制御処理が実行される。
【０１４８】
以上に説明したように、本発明のロボット１は、ユーザが無意識のうちに、ユーザの発話速度を、音声認識に最適な速度に誘導する。したがって、音声認識の精度を良好な状態に保つことが可能となる。また、本発明のロボット１は、ユーザの音声を聞き取れない（的確に音声認識できない）場合に、聞き返す（再度、発言するように要求する）ようにしても良いが、このようにした場合にも、的確に音声認識できないこと自体が減少するので、聞き返す回数を減少させることができる。
【０１４９】
なお、以上の説明における、ステップＳ３の処理、並びにステップＳ４およびステップＳ５の処理は、並列に実行される。すなわち、ステップＳ５の処理は、ステップＳ４の処理の後に実行されるが、ステップＳ３の処理と、ステップＳ４およびステップＳ５の処理は同時並行に、実行される。
【０１５０】
ところで、図１１に示された発話速度修正処理においては、音声認識の精度を良好に保てる、唯１つの最適速度の値を基準として、ロボット１の発話速度を設定していたが、音声認識の精度を良好に保てる範囲を設定し、その範囲内と範囲外で、ロボット１の発話速度の設定方法を変えるようにしても良い。次に、このようにした場合の発話速度修正処理（図８のステップＳ５の処理）について、図１５のフローチャートを参照して説明する。
【０１５１】
発話速度修正部２０７は、最適速度の他に、音声認識の精度を良好に保てる発話速度の範囲の上限値および下限値を予め記憶している。そこで、図１５のステップＳ１２１において、発話速度修正部２０７は、発話速度検出部２０６から通知されたユーザの発話速度が、音声認識の精度を良好に保てる範囲内にあるか否かを判定し、ユーザの発話速度が、音声認識の精度を良好に保てる範囲内にない場合、処理はステップＳ１２２に進む。
【０１５２】
ステップＳ１２２において、発話速度修正部２０７は、ユーザの発話速度が、音声認識の精度を良好に保てる範囲の上限値より大きいか否かを判定し、ユーザの発話速度が、音声認識の精度を良好に保てる範囲の上限値より大きい場合、処理はステップＳ１２３に進む。
【０１５３】
ステップＳ１２３において、発話速度修正部２０７は、ロボット１の発話速度を、ユーザの発話速度より所定の値だけ小さい値に設定する。発話速度修正部２０７は、例えば、式（１）または式（２）を利用して、ロボット１の発話速度を設定する。その後、処理はステップＳ１２６に進む。
【０１５４】
ステップＳ１２２において、発話速度修正部２０７が、ユーザの発話速度は、音声認識の精度を良好に保てる範囲の上限値より大きくない（ユーザの発話速度は音声認識の精度を良好に保てる範囲の下限値より小さい）と判定した場合、処理はステップＳ１２４に進む。
【０１５５】
ステップＳ１２４において、発話速度修正部２０７は、ロボット１の発話速度を、ユーザの発話速度より所定の値だけ大きい値に設定する。発話速度修正部２０７は、例えば、式（１）または式（２）を利用して、ロボット１の発話速度を設定する。その後、処理はステップＳ１２６に進む。
【０１５６】
ステップＳ１２１において、発話速度修正部２０７が、ユーザの発話速度は、精度良く音声認識することができる範囲内の速度であると判定した場合、処理はステップＳ１２５に進む。
【０１５７】
ステップＳ１２５において、発話速度修正部２０７は、ロボット１の発話速度を、ユーザの発話速度と同じ値に設定する。その後、処理はステップＳ１２６に進む。
【０１５８】
ステップＳ１２６において、発話速度修正部２０７は、ステップＳ１２３、ステップＳ１２４、またはステップＳ１２５で設定されたロボット１の発話速度の設定値を、音声合成部２０８に通知する。
【０１５９】
以上のように、ユーザの発話速度が、音声認識の精度を保てる範囲内にあった場合、ロボット１の発話速度をユーザの発話速度に合わせるようにしても良い。これにより、ユーザに、より自然で心地よく、ロボット１と対話させることが可能となる。
【０１６０】
図１５に示された発話速度修正処理により設定されたロボット１の発話速度の例について、図１６のグラフを参照して説明する。
【０１６１】
図１６のグラフにおいて、縦軸は発話速度を表し、横軸は時刻を表している。また、縦軸中に記載された「上限速度」は、精度良く音声認識することができるユーザの発話速度の範囲の上限値を表し、「下限速度」は、精度良く音声認識することができるユーザの発話速度の範囲の下限値を表し、この上限速度と下限速度の間に、ユーザの発話速度がある場合、精度良く音声認識することが可能となる。また、縦軸中に記載された「最適速度」は、最も精度良く音声認識することができるユーザの発話速度を表している。また、図１６のグラフにおいては、ユーザの発話速度Ｖを実線で表し、ロボット１の発話速度Ｖ’を１点鎖線で表している。
【０１６２】
図１６において、時刻ｔ０からｔ１までの区間においては、ユーザの発話速度Ｖが、上限速度より大きい。したがって、ロボット１の発話速度は、例えば、式（１）に基づいて設定される。図１６において、時刻ｔ１からｔ２までの区間においては、ユーザの発話速度Ｖが、下限速度と上限速度の間にある。したがって、このときロボット１は、自らの発話速度をユーザの発話速度と同一の値に設定する。これにより、ユーザは、より自然で心地よくロボット１と会話することができる。時刻ｔ２において、再度、ユーザの発話速度が上限速度を超えている。このとき、ロボット１の発話速度は、再度、例えば式（１）に基づいて設定するように変更される。そして、時刻ｔ３において、ユーザの発話速度Ｖが上限速度と下限速度の間になると、ロボット１は、再度、自らの発話速度をユーザの発話速度と同一の値に設定する。
【０１６３】
以上のようにしても良い。
【０１６４】
なお、以上の説明においては、本発明を人型ロボットに適用した場合を例にして説明したが、本発明は人型ロボット以外のロボット（例えば犬型のロボットなど）に適用したり、産業用ロボットに適用したりすることも可能である。さらにまた、本発明は、例えばカーナビゲーションシステムなどのように、ユーザと対話する機能を有する、その他の装置に適用することも可能である。
【０１６５】
上述した一連の処理は、ハードウェアにより実行させることもできるし、上述したようにソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体等からインストールされる。
【０１６６】
図１７は、このような処理を実行するパーソナルコンピュータ３０１の内部構成例を示す図である。パーソナルコンピュータのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３１２に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３１３には、ＣＰＵ３１１が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース３１５は、ディスプレイ、スピーカ、およびＤＡ変換器などから構成される出力部３１６も接続されている。また、入出力インタフェース３１５には、マウス、キーボード、マイクロフォン、ＡＤ変換器などから構成される入力部３１７が接続され、入力部３１７に入力された信号をＣＰＵ３１１に出力する。
【０１６７】
さらに、入出力インタフェース３１５には、ハードディスクなどから構成される記憶部３１８、および、インターネットなどのネットワークを介して他の装置とデータの通信を行う通信部３１９も接続されている。ドライブ３２０は、磁気ディスク３３１、光ディスク３３２、光磁気ディスク３３３、半導体メモリ３３４などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
【０１６８】
記録媒体は、図１７に示されるように、パーソナルコンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク３３１（フレキシブルディスクを含む）、光ディスク３３２（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）を含む）、光磁気ディスク３３３（ＭＤ（Ｍｉｎｉ−Ｄｉｓｃ）（登録商標）を含む）、若しくは半導体メモリ３３４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているＲＯＭ３１２や記憶部３１８が含まれるハードディスクなどで構成される。
【０１６９】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１７０】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１７１】
【発明の効果】
このように、本発明によれば、音声を認識することができる。特に、ユーザの発話速度を、精度良く音声認識することができる発話速度に誘導することが可能となり、結果的に、誤った音声認識をする確率を下げることが可能となる。
【図面の簡単な説明】
【図１】本発明を適用したロボットの外観構成を示す斜視図である。
【図２】図１のロボットの外観構成を示す、背後側の斜視図である。
【図３】図１のロボットについて説明するための略線図である。
【図４】図１のロボットの内部構成を示すブロック図である。
【図５】図１のロボットの制御に関する部分を主に説明するためのブロック図である。
【図６】図５のメイン制御部の構成を示すブロック図である。
【図７】図６の音声認識部の構成を示すブロック図である。
【図８】ロボットの対話処理を説明するフローチャートである。
【図９】図８のステップＳ２の処理を詳細に説明するフローチャートである。
【図１０】図８のステップＳ４の処理を詳細に説明するフローチャートである。
【図１１】図８のステップＳ５の処理を詳細に説明するフローチャートである。
【図１２】図１１の発話速度修正処理により設定されるロボットの発話速度の例について説明する図である。
【図１３】図１１の発話速度修正処理により設定されるロボットの発話速度の例について説明する他の図である。
【図１４】図１１の発話速度修正処理により設定されるロボットの発話速度の例について説明する、さらに他の図である。
【図１５】図８のステップＳ５の処理を詳細に説明する他のフローチャートである。
【図１６】図１５の発話速度修正処理により設定されるロボットの発話速度の例について説明する図である。
【図１７】本発明を適用したコンピュータの構成を示すブロック図である。
【符号の説明】
１  ロボット，  ６１  メイン制御部，  ６３  サブ制御部，  ７２  スピーカ，  ８２  マイクロホン，  １０１  Ｄ／Ａ変換部，  １０２  Ａ／Ｄ変換部，  １１１  ＣＰＵ，  １１２  内部メモリ，  １２１  ＯＳ，  １２２  アプリケーションプログラム，  ２０１  センサ入力処理部，  ２０２  モデル記憶部，  ２０３  行動決定機構部，  ２０４  姿勢遷移機構部，  ２０５  制御機構部，  ２０６  発話速度検出部，  ２０７  発話速度修正部，  ２０８  音声合成部，  ２２３  音声認識部，  ２３１  対話管理部，  ２５１  時刻情報取得部，  ２５２  特徴抽出部，  ２５３  特徴ベクトルバッファ，  ２５４  マッチング部，  ２５５  音響モデルデータベース，  ２５６  辞書データベース，  ２５７文法データベース，  ２５８  時刻情報付加部
【図１】
2004258290.tif 000003
【図２】
2004258290.tif 000004
【図３】
2004258290.tif 000005
【図４】
2004258290.tif 000006
【図５】
2004258290.tif 000007
【図６】
2004258290.tif 000008
【図７】
2004258290.tif 000009
【図８】
2004258290.tif 000010
【図９】
2004258290.tif 000011
【図１０】
2004258290.tif 000012
【図１１】
2004258290.tif 000013
【図１２】
2004258290.tif 000014
【図１３】
2004258290.tif 000015
【図１４】
2004258290.tif 000016
【図１５】
2004258290.tif 000017
【図１６】
2004258290.tif 000018
【図１７】
2004258290.tif 000019