JP2004258290A - Apparatus and method for speech processing, recording medium, and program - Google Patents
Apparatus and method for speech processing, recording medium, and program Download PDFInfo
- Publication number
- JP2004258290A JP2004258290A JP2003048559A JP2003048559A JP2004258290A JP 2004258290 A JP2004258290 A JP 2004258290A JP 2003048559 A JP2003048559 A JP 2003048559A JP 2003048559 A JP2003048559 A JP 2003048559A JP 2004258290 A JP2004258290 A JP 2004258290A
- Authority
- JP
- Japan
- Prior art keywords
- utterance speed
- user
- utterance
- speed
- unit
- 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
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、音声処理装置および方法、記録媒体、並びにプログラムに関し、特に、ユーザの発話速度を、音声認識の精度が良い範囲に、自然に導くようにした音声処理装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
コンピュータが、ユーザにより発せられた音声を音声認識し、この音声認識結果に基づいて合成音を出力する対話システムにおいては、より自然な対話を可能にするために、スピーカから出力する合成音の発話速度をユーザの発話速度に同調させるようにすることが知られている(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開平5−216618号公報(番号0103の段落)
【0004】
【発明が解決しようとする課題】
しかしながら、一般的に、音声認識処理においては、認識精度が最も良くなるユーザの発話速度が存在するため、ユーザの発話速度が、速すぎたり遅すぎたりすると、誤った認識結果を出力してしまうという課題があった。
【0005】
ユーザの発話速度が、速すぎたり遅すぎたりした場合に、ユーザに、例えば「もう少し、ゆっくり喋って下さい」のように、発話速度を適切な速度に変更するように要求することも考えられるが、頻繁に要求した場合、ユーザに不快感を催させる可能性がある。
【0006】
本発明はこのような状況に鑑みてなされたものであり、ユーザの発話速度を、音声認識の精度が良い範囲に、自然に導くことができるようにするものである。
【0007】
【課題を解決するための手段】
本発明の音声処理装置は、ユーザにより発話された音声を認識する音声認識手段と、音声認識手段により認識され、生成された単語列に基づいて、ユーザの発話速度を算出する算出手段と、算出手段により算出されたユーザの発話速度を、精度良く音声認識することができる発話速度と比較して、音声処理装置から出力される合成音の発話速度を設定する設定手段と、出力される合成音の発話内容を決定する決定手段と、決定手段により決定された発話内容に基づいて、設定手段により設定された発話速度の合成音を出力する出力手段とを備えることを特徴とする。
【0008】
前記設定手段には、前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度より大きい場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度より小さく設定し、前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度より小さい場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度より大きく設定するようにさせることができる。
【0009】
前記設定手段には、前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度の範囲内にある場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度と同一の値に設定し、前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度の範囲の上限値より大きい場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度より小さく設定し、前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度の範囲の下限値より小さい場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度より大きく設定するようにさせることができる。
【0010】
本発明の音声処理方法は、ユーザにより発話された音声を認識する音声認識ステップと、音声認識ステップの処理により認識され、生成された単語列に基づいて、ユーザの発話速度を算出する算出ステップと、算出ステップの処理により算出されたユーザの発話速度を、精度良く音声認識することができる発話速度と比較して、音声処理装置から出力される合成音の発話速度を設定する設定ステップと、出力される合成音の発話内容を決定する決定ステップと、決定ステップの処理により決定された発話内容に基づいて、設定ステップの処理により設定された発話速度の合成音を出力する出力ステップとを含むことを特徴とする。
【0011】
本発明の記録媒体のプログラムは、ユーザにより発話された音声を認識する音声認識ステップと、音声認識ステップの処理により認識され、生成された単語列に基づいて、ユーザの発話速度を算出する算出ステップと、算出ステップの処理により算出されたユーザの発話速度を、精度良く音声認識することができる発話速度と比較して、音声処理装置から出力される合成音の発話速度を設定する設定ステップと、設定ステップの処理により設定された発話速度で出力される合成音の発話内容を決定する決定ステップとを含むことを特徴とする。
【0012】
本発明のプログラムは、ユーザと対話する音声処理装置を制御するコンピュータに、ユーザにより発話された音声を認識する音声認識ステップと、音声認識ステップの処理により認識され、生成された単語列に基づいて、ユーザの発話速度を算出する算出ステップと、算出ステップの処理により算出されたユーザの発話速度を、精度良く音声認識することができる発話速度と比較して、出力される合成音の発話速度を設定する設定ステップと、音声処理装置から、設定ステップの処理により設定された発話速度で出力される合成音の発話内容を決定する決定ステップとを実行させることを特徴とする。
【0013】
本発明の音声処理装置および方法、記録媒体、並びにプログラムにおいては、ユーザにより発話された音声が認識され、認識され、生成された単語列に基づいて、ユーザの発話速度が算出され、算出されたユーザの発話速度が、精度良く音声認識することができる発話速度と比較され、音声処理装置から出力される合成音の発話速度が設定され、出力される合成音の発話内容が決定され、決定された発話内容に基づいて、設定された発話速度の合成音が出力される。
【0014】
本発明は、例えばロボットに適用することができる。
【0015】
【発明の実施の形態】
以下、図を参照して、本発明の実施の形態について説明する。
【0016】
図1は、本発明を適用した2足歩行型のロボット1の正面方向の斜視図であり、図2は、ロボット1の背面方向からの斜視図である。また、図3は、ロボット1の軸構成について説明するための図である。
【0017】
ロボット1は、胴体部ユニット11、胴体部ユニット11の上部に配設された頭部ユニット12、胴体部ユニット11の上部左右の所定位置に取り付けられた腕部ユニット13Aおよび腕部ユニット13B、並びに胴体部ユニット11の下部左右の所定位置に取り付けられた脚部ユニット14Aおよび脚部ユニット14Bにより構成されている。腕部ユニット13Aおよび腕部ユニット13Bは、同様の構成とされる。また、脚部ユニット14Aおよび脚部ユニット14Bも、同様の構成とされる。頭部ユニット12には、頭部センサ51が設けられている。
【0018】
胴体部ユニット11は、体幹上部を形成するフレーム21および体幹下部を形成する腰ベース22が腰関節機構23を介して連結することにより構成されている。胴体部ユニット11は、体幹下部の腰ベース22に固定された腰関節機構23のアクチュエータA1、および、アクチュエータA2をそれぞれ駆動することによって、体幹上部を、図3に示す直交するロール軸24およびピッチ軸25の回りに、それぞれ独立に回転させることができるようになされている。
【0019】
頭部ユニット12は、フレーム21の上端に固定された肩ベース26の上面中央部に首関節機構27を介して取り付けられており、首関節機構27のアクチュエータA3、およびアクチュエータA4をそれぞれ駆動することによって、図3に示す直交するピッチ軸28およびヨー軸29の回りに、それぞれ独立に回転させることができるようになされている。
【0020】
腕部ユニット13A、および腕部ユニット13Bは、肩関節機構30を介して肩ベース26の左右にそれぞれ取り付けられており、対応する肩関節機構30のアクチュエータA5、および、アクチュエータA6をそれぞれ駆動することによって、図3に示す、直交するピッチ軸31およびロール軸32の回りに、それぞれを独立に回転させることができるようになされている。
【0021】
この場合、腕部ユニット13A、および腕部ユニット13Bは、上腕部を形成するアクチュエータA7の出力軸に、肘関節機構44を介して、前腕部を形成するアクチュエータA8が連結され、前腕部の先端に手部34が取り付けられることにより構成されている。
【0022】
そして腕部ユニット13A、および腕部ユニット13Bでは、アクチュエータA7を駆動することによって、前腕部を図3に示すヨー軸35に対して回転させることができ、アクチュエータA8を駆動することによって、前腕部を図3に示すピッチ軸36に対して回転させることができるようになされている。
【0023】
脚部ユニット14A、および、脚部ユニット14Bは、股関節機構37を介して、体幹下部の腰ベース22にそれぞれ取り付けられており、対応する股関節機構37のアクチュエータA9乃至A11をそれぞれ駆動することによって、図3に示す、互いに直交するヨー軸38、ロール軸39、およびピッチ軸40に対して、それぞれ独立に回転させることができるようになされている。
【0024】
脚部ユニット14A、および、脚部ユニット14Bにおいては、大腿部を形成するフレーム41の下端が、膝関節機構42を介して、下腿部を形成するフレーム43に連結されるとともに、フレーム43の下端が、足首関節機構44を介して、足部45に連結されている。
【0025】
これにより脚部ユニット14A、および、脚部ユニット14Bにおいては、膝関節機構42を形成するアクチュエータA12を駆動することによって、図3に示すピッチ軸46に対して、下腿部を回転させることができ、また足首関節機構44のアクチュエータA13、および、アクチュエータA14をそれぞれ駆動することによって、図3に示す直交するピッチ軸47およびロール軸48に対して、足部45をそれぞれ独立に回転させることができるようになされている。
【0026】
脚部ユニット14A、および脚部ユニット14Bの、足部45の足底面(床と接する面)には、それぞれ足底センサ91(図5)が配設されており、足底センサ91のオン・オフに基づいて、足部45が床に接地しているか否かが判別される。
【0027】
また、胴体部ユニット11の体幹下部を形成する腰ベース22の背面側には、後述するメイン制御部61(図4)などを内蔵したボックスである、制御ユニット52が配設されている。
【0028】
図4は、ロボット1のアクチュエータとその制御系等について説明する図である。
【0029】
制御ユニット52には、ロボット1全体の動作制御をつかさどるメイン制御部61、並びに、後述するD/A変換部101、A/D変換部102、バッテリ103、バッテリセンサ131、加速度センサ132、通信部105、および外部メモリ106(いずれも図5)等を含む周辺回路62が収納されている。
【0030】
そしてこの制御ユニット52は、各構成ユニット(胴体部ユニット11、頭部ユニット12、腕部ユニット13Aおよび腕部ユニット13B、並びに、脚部ユニット14Aおよび脚部ユニット14B)内にそれぞれ配設されたサブ制御部63A乃至63Dと接続されており、サブ制御部63A乃至63Dに対して必要な電源電圧を供給したり、サブ制御部63A乃至63Dと通信を行う。
【0031】
また、サブ制御部63A乃至63Dは、対応する構成ユニット内のアクチュエータA1乃至A14と、それぞれ接続されており、メイン制御部61から供給された各種制御コマンドに基づいて、構成ユニット内のアクチュエータA1乃至A14を、指定された状態に駆動させるように制御する。
【0032】
図5は、ロボット1の内部構成を示すブロック図である。
【0033】
頭部ユニット12には、このロボット1の「目」として機能するCCD(Charge Coupled Device )カメラ81、「耳」として機能するマイクロホン82、頭部センサ51などからなる外部センサ部71、および、「口」として機能するスピーカ72となどがそれぞれ所定位置に配設され、制御ユニット52内には、バッテリセンサ131および加速度センサ132などからなる内部センサ部104が配設されている。また、脚部ユニット14A、および脚部ユニット14Bの足部45の足底面には、このロボット1の「体性感覚」の1つとして機能する足底センサ91が配設されている。
【0034】
そして、外部センサ部71のCCDカメラ81は、周囲の状況を撮像し、得られた画像信号を、A/D変換部102を介して、メイン制御部61に送出する。マイクロホン82は、ユーザから音声入力として与えられる「歩け」、「とまれ」または「右手を挙げろ」等の各種命令音声を集音し、得られた音声信号を、A/D変換部102を介して、メイン制御部61に送出する。
【0035】
また、頭部センサ51は、例えば、図1および図2に示されるように頭部ユニット12の上部に設けられており、ユーザからの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出し、検出結果としての圧力検出信号を、A/D変換部102を介して、メイン制御部61に送出する。
【0036】
足底センサ91は、足部45の足底面に配設されており、足部45が床に接地している場合、接地信号を、A/D変換部102を介して、メイン制御部61に送出する。メイン制御部61は、接地信号に基づいて、足部45が床に接地しているか否かを判定する。足底センサ91は、脚部ユニット14A、および脚部ユニット14Bの両方の足部45に配設されているため、メイン制御部61は、接地信号に基づいて、ロボット1の両足が床に接地しているか、片足が床に接地しているか、両足とも床に接地していないかを判定することができる。
【0037】
制御ユニット52は、メイン制御部61、D/A変換部101、A/D変換部102、バッテリ103、内部センサ部104、通信部105、および外部メモリ106等により構成される。
【0038】
D/A(Digital/Analog)変換部101は、メイン制御部61から供給されるデジタル信号をD/A変換することによりアナログ信号とし、スピーカ72に供給する。A/D(Analog/Digital)変換部102は、CCDカメラ81、マイクロフォン82、頭部センサ51、および足底センサ91が出力するアナログ信号をA/D変換することによりデジタル信号とし、メイン制御部61に供給する。
【0039】
内部センサ部104のバッテリセンサ131は、バッテリ103のエネルギ残量を所定の周期で検出し、検出結果をバッテリ残量検出信号として、メイン制御部61に送出する。加速度センサ132は、ロボット1の移動について、3軸方向(x軸、y軸、およびz軸)の加速度を、所定の周期で検出し、検出結果を、加速度検出信号として、メイン制御部61に送出する。
【0040】
メイン制御部61は、メイン制御部61全体の動作を制御するCPU111と、CPU111が各部を制御するために実行するOS(Operating System)121、アプリケーションプログラム122、その他の必要なデータ等が記憶されている内部メモリ112等を内蔵している。
【0041】
メイン制御部61は、外部センサ部71のCCDカメラ81、マイクロホン82および頭部センサ51からそれぞれ供給される、画像信号、音声信号および圧力検出信号、並びに足底センサ91から供給される接地信号(以下、これらをまとめて外部センサ信号S1と称する)と、内部センサ部104のバッテリセンサ131および加速度センサ132等からそれぞれ供給される、バッテリ残量検出信号および加速度検出信号(以下、これらをまとめて内部センサ信号S2と称する)に基づいて、ロボット1の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無などを判断する。
【0042】
そして、メイン制御部61は、ロボット1の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無の判断結果と、内部メモリ112に予め格納されている制御プログラム、あるいは、そのとき装填されている外部メモリ106に格納されている各種制御パラメータなどに基づいて、ロボット1の行動を決定し、決定結果に基づく制御コマンドCOMを生成して、対応するサブ制御部63A乃至63Dに送出する。サブ制御部63A乃至63Dは、供給された制御コマンドCOMに基づいて、アクチュエータA1乃至A14のうち、対応するものの駆動を制御するので、ロボット1は、例えば、頭部ユニット12を上下左右に揺動させたり、腕部ユニット13A、あるいは、腕部ユニット13Bを上に挙げたり、脚部ユニット14Aおよび脚部ユニット14Bを交互に駆動させて、歩行するなどの機械的動作を行うことが可能となる。
【0043】
また、メイン制御部61は、必要に応じて、所定の音声信号をスピーカ72に与えることにより、音声信号に基づく音声を外部に出力させる。更に、メイン制御部61は、外見上の「目」として機能する、頭部ユニット12の所定位置に設けられた、図示しないLED(Light Emitting Diode)に対して駆動信号を出力することにより、LEDを点灯、消灯、または点滅させる。
【0044】
このようにして、ロボット1は、周囲および内部の状況や、ユーザからの指令および働きかけの有無などに基づいて、自律的に行動することができるようになされている。
【0045】
通信部105は、外部と無線または有線で通信するときの通信制御を行う。これにより、OS121やアプリケーションプログラム122がバージョンアップされたときに、通信部105を介して、そのバージョンアップされたOSやアプリケーションプログラムをダウンロードして、内部メモリ112に記憶させたり、また、所定のコマンドを、通信部105で受信し、CPU111に与えることができるようになっている。
【0046】
外部メモリ106は、例えば、EEPROM(Electrically Erasable Programmable Read−only Memory)等で構成され、胴体部ユニット11に設けられた図示せぬスロットに対して、着脱可能になっている。外部メモリ106には、例えば、後述するような感情モデル等が記憶される。
【0047】
次に、図6は、図5のメイン制御部61の機能的構成例を示している。なお、図6に示す機能的構成は、メイン制御部61が、内部メモリ112に記憶されたOS121およびアプリケーションプログラム122を実行することで実現されるようになっている。また、図6では、D/A変換部101およびA/D変換部102の図示を省略してある。
【0048】
メイン制御部61のセンサ入力処理部201は、頭部センサ51、足底センサ91、加速度センサ132、マイクロフォン82、およびCCDカメラ81からそれぞれ与えられる圧力検出信号、接地信号、加速度検出信号、音声信号、画像信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報を、モデル記憶部202および行動決定機構部203に通知する。
【0049】
すなわち、センサ入力処理部201は、圧力処理部221、加速度処理部222、音声認識部223、および画像認識部224を有している。
【0050】
圧力処理部221は、頭部センサ51から与えられる圧力検出信号を処理する。そして、圧力処理部221は、例えば、その処理の結果、所定の閾値以上で、かつ短時間の圧力を検出したときには、「叩かれた(しかられた)」と認識し、所定の閾値未満で、かつ長時間の圧力を検出しなときには、「なでれらた(ほめられた)」と認識して、その認識結果を、状態認識情報として、モデル記憶部202および行動決定機構部203に通知する。
【0051】
また、圧力処理部221は、足底センサ91から与えられる接地信号を処理する。そして、圧力処理部221は、例えば、その処理の結果、脚部ユニット14Aの足部45に配設された足底センサ91から接地信号が与えられている場合、脚部ユニット14Aの足部45が床(地面)に接地していると認識し、足底センサ91から接地信号が与えられていない場合、脚部ユニット14Aの足部45が床(地面)に接地していないと認識する。脚部ユニット14Bについても、同様にして、足底センサ91からの接地信号に基づいて、脚部ユニット14Bの足部45が床(地面)に接地しているか否かを認識する。そして、圧力処理部221は、その認識結果を、状態認識情報として、モデル記憶部202および行動決定機構部203に通知する。
【0052】
加速度処理部222は、加速度センサ132から与えられる加速度検出信号に基づいて、胴体部ユニット11の加速度の方向および大きさを、状態認識情報として、モデル記憶部202および行動決定機構部203に通知する。
【0053】
音声認識部223は、マイクロフォン82から与えられる音声信号を対象とした音声認識を行う。そして、音声認識部223は、その音声認識結果としての、例えば、「歩け」、「伏せ」、「ボールを追いかけろ」等の単語列を、状態認識情報として、モデル記憶部202および行動決定機構部203に通知する。また、音声認識部223は、音声認識結果を、発話速度検出部206にも供給する。
【0054】
画像認識部224は、CCDカメラ81から与えられる画像信号を用いて、画像認識処理を行う。そして、画像認識部224は、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直なかつ所定高さ以上の平面」等を検出したときには、「ボールがある」や、「壁がある」等の画像認識結果を、状態認識情報として、モデル記憶部202および行動制御部203に通知する。
【0055】
モデル記憶部202は、ロボット1の感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶し、管理している。
【0056】
ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態(度合い)を、所定の範囲(例えば、−1.0乃至1.0等)の値によってそれぞれ表し、センサ入力処理部201からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【0057】
本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態(度合い)を、所定の範囲の値によってそれぞれ表し、センサ入力処理部201からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【0058】
成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態(度合い)を、所定の範囲の値によってそれぞれ表し、センサ入力処理部201からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【0059】
モデル記憶部202は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を、状態情報として、行動決定機構部203に送出する。
【0060】
なお、モデル記憶部202には、センサ入力処理部201から状態認識情報が供給される他に、行動決定機構部203から、ロボット1の現在または過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部202は、同一の状態認識情報が与えられても、行動情報が示すロボット1の行動に応じて、異なる状態情報を生成するようになっている。
【0061】
例えば、ロボット1が、ユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部202に与えられ、この場合、モデル記憶部202では、「うれしさ」を表す感情モデルの値が増加される。
【0062】
行動決定機構部203は、センサ入力処理部201からの状態認識情報や、モデル記憶部202からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容を、行動指令情報として、姿勢遷移機構部204に出力する。
【0063】
すなわち、行動決定機構部203は、ロボット1がとり得る行動をステート(状態)(state)に対応させた有限オートマトンを、ロボット1の行動を規定する行動モデルとして管理している。そして、行動決定機構部203は、この行動モデルとしての有限オートマトンにおけるステートを、センサ入力処理部201からの状態認識情報や、モデル記憶部202における感情モデル、本能モデル、または成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を、次にとるべき行動として決定する。
【0064】
ここで、行動決定機構部203は、所定のトリガ(trigger)があったことを検出すると、ステートを遷移させる。すなわち、行動決定機構部203は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部202から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下または以上になったとき等に、ステートを遷移させる。
【0065】
なお、行動決定機構部203は、上述したように、センサ入力処理部201からの状態認識情報だけでなく、モデル記憶部202における感情モデルや、本能モデル、成長モデルの値等にも基づいて、行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても、感情モデルや、本能モデル、成長モデルの値(状態情報)によっては、ステートの遷移先は異なるものとなる。
【0066】
なお、行動決定機構部203には、モデル記憶部202から供給される状態情報が示す感情や、本能、成長の状態に基づいて、遷移先のステートに対応する行動のパラメータとしての、例えば、歩行の速度や、手足を動かす際の動きの大きさおよび速度などを決定させることができ、この場合、それらのパラメータを含む行動指令情報が、姿勢遷移機構部204に送出される。
【0067】
また、行動決定機構部203は対話管理部231を含んでおり、対話管理部231は、ロボット1に発話を行わせる行動指令情報(以下、ロボット1に発話を行わせる行動指令情報を発話指令情報とも称する)を、必要に応じて生成する。発話指令情報は、ロボット1が出力する発話内容のデータを含んでおり、音声合成部208に供給されるようになっている。音声合成部208は、発話指令情報を受信すると、その発話指令情報に従って音声合成を行い、得られた合成音を、発話速度修正部207から指令された発話速度で、スピーカ72から出力させる。
【0068】
姿勢遷移機構部204は、行動決定機構部203から供給される行動指令情報に基づいて、ロボット1の姿勢を、現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これを制御機構部205に送出する。
【0069】
ここで、現在の姿勢から次に遷移可能な姿勢は、例えば、胴体部ユニット11、頭部ユニット12、腕部ユニット13Aおよび13B、並びに脚部ユニット14Aおよび14Bの形状、重さ、各部の結合状態のようなロボット1の物理的形状と、関節が曲がる方向や角度のようなアクチュエータの機構とによって決定される。
【0070】
また、次の姿勢としては、現在の姿勢から直接遷移可能な姿勢と、直接には遷移できない姿勢とがある。例えば、ロボット1は、手足を大きく投げ出して仰向けに寝転んでいる状態から、うつ伏せ状態へ直接遷移することはできるが、仰向けの状態から、起立状態へ直接遷移することはできず、一旦、手足を胴体近くに引き寄せてしゃがみこんだ姿勢になり、それから立ち上がるという2段階の動作が必要である。また、安全に実行できない姿勢も存在する。
【0071】
このため、姿勢遷移機構部204は、直接遷移可能な姿勢をあらかじめ登録しておき、行動決定機構部203から供給される行動指令情報が、直接遷移可能な姿勢を示す場合には、その行動指令情報を制御機構部205に送出する。
【0072】
一方、行動指令情報が、直接遷移不可能な姿勢を示す場合には、姿勢遷移機構部204は、遷移可能な他の姿勢に一旦遷移した後に、目的の姿勢まで遷移させるような姿勢遷移情報を生成し、制御機構部205に送出する。これによりロボットが、遷移不可能な姿勢を無理に実行しようとする事態や、転倒するような事態を回避することができるようになっている。
【0073】
制御機構部205は、姿勢遷移機構部204からの姿勢遷移情報にしたがって、アクチュエータA1乃至A14を駆動するための制御信号を生成し、これを、サブ制御部63A乃至63Dに送出する。サブ制御部63A乃至63Dは、この制御信号に基づいて、適宜のアクチュエータを駆動し、ロボット1に種々の動作を実行させる。
【0074】
発話速度検出部206は、センサ入力処理部201内の音声認識部223より、音声認識結果を供給され、供給された音声認識結果に基づいて、ユーザの発話速度を算出し、算出したユーザの発話速度を発話速度修正部207に通知する。
【0075】
発話速度修正部207は、発話速度検出部206から通知された、ユーザの発話速度に基づいて、ロボット1が出力する合成音の発話速度を設定し、その設定情報を音声合成部208に通知する。
【0076】
音声合成部208は、行動決定機構部203内の対話管理部231から発話指令情報を受信し、その発話指令情報にしたがって、例えば、規則音声合成を行う。ここで、音声合成部208は、発話速度修正部207で設定された発話速度になるように合成音を生成し、合成音をスピーカ72に供給して出力させる。
【0077】
図7は、センサ入力処理部201の音声認識部223の機能を示す機能ブロック図である。
【0078】
図5のマイクロフォン82およびA/D変換部102を介して、音声認識部223に入力される音声データは、時刻情報取得部251に供給される。
【0079】
時刻情報取得部251は、音声がマイクロフォン82により集音された時点の現在時刻を内蔵する内部時計より取得し、マイクロフォン82から集音され、A/D変換部102によりA/D変換された音声データに付加する。これにより、音声データには、その音声データが集音された時刻を示す時刻情報が付加されることになる。時刻情報取得部251は、時刻情報が付加された音声データを特徴量抽出部252に供給する。
【0080】
特徴抽出部252は、時刻情報取得部251からの音声データについて、適当なフレームごとに音響分析処理を施し、これにより、例えば、MFCC(Mel Frequency Cepstrum Coefficient)等の特徴量としての特徴ベクトルを抽出する。なお、特徴抽出部252では、その他、例えば、スペクトルや、線形予測係数、ケプストラム係数、線スペクトル対等の特徴ベクトル(特徴パラメータ)を抽出することが可能である。
【0081】
特徴抽出部252においてフレームごとに得られる特徴ベクトルは、特徴ベクトルバッファ253に順次供給されて記憶される。従って、特徴ベクトルバッファ253では、フレームごとの特徴ベクトルが時系列に記憶されていく。
【0082】
なお、特徴ベクトルバッファ253は、例えば、ある発話の開始から終了まで(音声区間)に得られる時系列の特徴ベクトルを記憶する。
【0083】
マッチング部254は、特徴ベクトルバッファ253に記憶された特徴ベクトルを用いて、音響モデルデータベース255、辞書データベース256、および文法データベース257を必要に応じて参照しながら、マイクロフォン82に入力された音声(入力音声)を、例えば、連続分布HMM法等に基づいて音声認識する。
【0084】
即ち、音響モデルデータベース255は、音声認識する音声の言語における個々の音素や音節などの所定の単位(PLU(Phonetic−Linguistic−Units))ごとの音響的な特徴を表す音響モデルのセットを記憶している。ここでは、連続分布HMM法に基づいて音声認識を行うので、音響モデルとしては、例えば、ガウス分布等の確率密度関数を用いたHMM(Hidden Markov Model)が用いられる。辞書データベース256は、認識対象の各単語(語彙)について、その発音に関する情報(音韻情報)が記述された単語辞書を記憶している。文法データベース257は、辞書データベース256の単語辞書に登録されている各単語が、どのように連鎖する(つながる)かを記述した文法規則(言語モデル)を記憶している。ここで、文法規則としては、例えば、文脈自由文法(CFG)や、正規文法(RG)、統計的な単語連鎖確率(N−gram)などに基づく規則を用いることができる。
【0085】
マッチング部254は、辞書データベース256の単語辞書を参照することにより、音響モデルデータベース255に記憶されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成する。さらに、マッチング部254は、幾つかの単語モデルを、文法データベース257に記憶された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、時系列の特徴ベクトルとのマッチングを、連続分布HMM法によって行い、マイクロフォン82に入力された音声を認識する。即ち、マッチング部254は、上述したようにして構成された各単語モデルの系列から、特徴ベクトルバッファ253に記憶された時系列の特徴ベクトルが観測される尤度を表すスコアを計算する。そして、マッチング部254は、例えば、そのスコアが最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列を、音声の認識結果として出力する。
【0086】
なお、ここでは、HMM法により音声認識が行われるため、マッチング部254は、音響的には、接続された単語モデルに対応する単語列について、各特徴ベクトルの出現確率を累積し、その累積値をスコアとする。
【0087】
即ち、マッチング部254におけるスコア計算は、音響モデルデータベース255に記憶された音響モデルによって与えられる音響的なスコア(以下、適宜、音響スコアという)と、文法データベース257に記憶された文法規則によって与えられる言語的なスコア(以下、適宜、言語スコアという)とを総合評価することで行われる。
【0088】
具体的には、音響スコアは、例えば、HMM法による場合には、単語モデルを構成する音響モデルから、特徴抽出部252が出力する特徴ベクトルの系列が観測される確率(出現する確率)に基づいて、単語ごとに計算される。また、言語スコアは、例えば、バイグラムによる場合には、注目している単語と、その単語の直前の単語とが連鎖(連接)する確率に基づいて求められる。そして、各単語についての音響スコアと言語スコアとを総合評価して得られる最終的なスコア(以下、適宜、最終スコアという)に基づいて、音声認識結果が確定される。
【0089】
ここで、音声認識部223は、文法データベース257を設けずに構成することも可能である。但し、文法データベース257に記憶された規則によれば、接続する単語モデルが制限され、その結果、マッチング部254における音響スコアの計算の対象とする単語数が限定されるので、マッチング部254の計算量を低減し、処理速度を向上させることができる。
【0090】
時刻情報付加部258は、マッチング部254から出力された、音声認識結果としての単語列に、その単語列が発話された時刻を付加する。すなわち、時刻情報付加部258は、時刻情報取得部251により取得された、音声データの発話時刻に基づいて、単語列に対応する音声の発話開始時刻および発話終了時刻を特定し、この発話開始時刻および発話終了時刻を時刻情報として単語列に付加する。そして、時刻情報付加部258は、時刻情報が付加された単語列を状態認識情報として、モデル記憶部202、行動決定機構部203、および発話速度検出部206に供給する。
【0091】
次に、図8のフローチャートを参照して、ロボット1の対話処理、すなわちロボット1がユーザと対話する処理について説明する。
【0092】
ステップS1において、A/D変換部102は、マイクロフォン82を介して、ユーザから音声入力があったか否かを判定し、ユーザから音声入力があるまで、ステップS1の処理をくり返して待機する。そして、ユーザから音声入力があった場合、処理はステップS2に進む。
【0093】
ステップS2において、ロボット1は、音声認識処理を実行する。ここで、ステップS2の音声認識処理について、図9のフローチャートを参照して、詳細に説明する。
【0094】
図9のステップS51において、A/D変換部102は、マイクロフォン82から入力された音声信号をA/D変換して、センサ入力処理部201の音声認識部223に供給する。
【0095】
ステップS52において、時刻情報取得部251は、音声が入力された時点の現在時刻を音声入力時刻として取得し、A/D変換部102から供給された音声データに付加して、特徴抽出部252に供給する。
【0096】
ステップS53において、特徴抽出部252は、時刻情報取得部251から供給された音声データについて、適当な時間間隔で音響分析処理を施し、音声の音響的特徴を表すパラメータ(特徴ベクトル)に変換し、特徴量として抽出する。なお、特徴抽出部252は、抽出した特徴ベクトルに、その特徴ベクトルの抽出元となる音声の発話時刻を付加する。抽出された特徴ベクトルは、特徴ベクトルバッファ253に順次供給され、記憶される。
【0097】
ステップS54において、マッチング部254は、特徴ベクトルバッファ253に記憶された時系列の特徴ベクトルを読み出し、音響モデルデータベース255に記憶された音響モデル、辞書データベース256に記憶された、音韻情報が記述された単語辞書、および文法データベース257に記憶された言語モデルを利用して、時系列の特徴ベクトルに対応する単語列を生成し、これを時刻情報付加部258に出力する。なお、マッチング部254は、特徴ベクトルに付加されていた、発話時刻を示す時刻情報を単語列に付加して、時刻情報付加部258に供給する。
【0098】
ステップS55において、時刻情報付加部258は、マッチング部254から供給された単語列、および発話時刻を示す時刻情報に基づいて、供給された単語列の元となる音声がマイクロフォン82により集音された時刻、より具体的には、その単語列の発話開始時刻および発話終了時刻を特定する。そして、時刻情報付加部258は、単語列に、発話開始時刻および発話終了時刻を示す時刻情報を付加して、これを音声認識結果として、モデル記憶部202、行動決定機構部203、および発話速度検出部206に供給する。
【0099】
以上のようにして、音声認識処理が実行される。
【0100】
図8に戻り、ステップS2の音声認識処理の後、処理はステップS3に進む。
【0101】
ステップS3において、行動決定機構部203の対話管理部231は、音声認識部223から供給された音声認識結果の単語列に基づいて、ユーザの発話内容を解析し、ロボット1の発話内容のデータを生成し、このデータを含む発話指令情報を音声合成部208に供給する。
【0102】
ステップS4において、ロボット1は、発話速度検出処理を実行し、ユーザの発話速度(文字数/秒)を検出する。
【0103】
ここで、図10のフローチャートを参照して、図8のステップS4の発話速度検出処理について、詳細に説明する。
【0104】
発話速度検出部206は、音声認識部223から単語列が供給されたとき、図10のステップS71において、供給された単語列に付加されている時刻情報に基づいて、供給された単語列の発話終了時刻からの経過時間の計測を開始する。すなわち、メイン制御部61は、図示せぬ内部時計を有しており、発話速度検出部206は、この内部時計より現在時刻を取得し、この現在時刻と単語列の発話終了時刻との差をとって、発話終了時刻から経過時間を求める処理を開始する。
【0105】
ステップS72において、発話速度検出部206は、ステップS71で計測を開始した経過時間に基づいて、単語列の発話終了時刻から、予め設定された所定の時間が経過したか否かを判定し、単語列の発話終了時刻から、予め設定された所定の時間が経過していない場合、処理はステップS73に進む。
【0106】
ステップS73において、発話速度検出部206は、音声認識部223から次の単語列が入力されたか否かを判定し、音声認識部223から次の単語列が入力されていない場合、処理はステップS72に戻り、ステップS72以降の処理をくり返す。
【0107】
ステップS73において、発話速度検出部206が、音声認識部223から次の単語列が入力されたと判定した場合、処理はステップS74に進む。
【0108】
ステップS74において、発話速度検出部206は、ステップS71で計測を開始していた経過時間を0にリセットする。その後、処理は、ステップS71に戻り、ステップS71以降の処理をくり返す。
【0109】
以上のようにして、音声認識部223より単語列が供給されてから、所定の時間以内に次の単語列が供給された場合、ステップS71乃至ステップS74の処理がくり返される。これにより、ロボット1は、ユーザの発話が途切れるまで、ユーザの話を聞き続けるようにできる。
【0110】
そして、ステップS72において、発話速度検出部206が、単語列の発話終了時刻から、所定の時間が経過したと判定した場合、処理はステップS75に進む。
【0111】
ステップS75において、発話速度検出部206は、単語列に付加されている時刻情報に基づいて、最初に入力された単語列の発話開始時刻から最後に入力された単語列の発話終了時刻までに要した発話時間を求める。すなわち、上記したように、ユーザが発話を開始してから途切れるまで、ステップS71乃至ステップS74の処理がくり返されるが、ユーザの発話が途切れたとき、ステップS75で、発話速度検出部206は、ユーザが発話を開始してから途切れるまでの時間を求める。具体的には、発話速度検出部206は、ユーザの発話が開始されてから最初に入力された単語列の発話開始時刻、およびユーザの発話が途切れる直前に、最後に入力された単語列の発話終了時刻の差をとって、ユーザが発話を開始してから途切れるまでの時間を求める。
【0112】
ステップS76において、発話速度検出部206は、ユーザが発話を開始してから途切れるまでに、音声認識部223から供給された全単語列の、合計文字数を求める。なお、合計文字数は、漢字カナ混じりの文字数ではなく、全てをカナにした場合の文字数である。また、文字数を求める代わりに、モーラ数を求めるようにしても良い。
【0113】
ステップS77において、発話速度検出部206は、ステップS76で求められた合計文字数を、ステップS75で求められた発話時間で割り算して、発話速度(1秒当りにユーザが発話した文字数)を算出する。
【0114】
ステップS78において、発話速度検出部206は、ステップS77で算出された発話速度を、発話速度修正部207に通知する。
【0115】
以上のようにして、発話速度検出処理が実行される。
【0116】
処理は図8に戻り、ステップS4の発話速度検出処理の後、処理はステップS5に進む。
【0117】
ステップS5において、ロボット1は、発話速度検出部206から通知された発話速度に基づいて発話速度修正処理を実行し、ロボット1が出力する合成音の発話速度を設定する。
【0118】
ここで、図11のフローチャートを参照して、図8のステップS5の発話速度修正処理について詳細に説明する。
【0119】
図11のステップS101において、発話速度修正部207は、発話速度検出部206から通知されたユーザの発話速度が、音声認識に最適な発話速度(以下、音声認識に最適な発話速度を最適速度とも称する)より大きい値であるか否かを判定し、ユーザの発話速度が最適速度より大きい場合、処理はステップS102に進む。
【0120】
ステップS102において、発話速度修正部207は、スピーカ72から出力する合成音の発話速度を、ユーザの発話速度より所定の値だけ小さい値に設定する。設定する値の詳細な説明は、後述する。その後、処理はステップS104に進む。
【0121】
ステップS101において、発話速度修正部207が、ユーザの発話速度は、最適速度より大きくない(ユーザの発話速度は最適速度以下である)と判定した場合、処理はステップS103に進む。
【0122】
ステップS103において、発話速度修正部207は、スピーカ72から出力する合成音の発話速度を、ユーザの発話速度より所定の値だけ大きい値に設定する。設定する値の詳細な説明は、後述する。その後、処理はステップS104に進む。
【0123】
ステップS104において、発話速度修正部207は、設定されたロボット1の発話速度の値を、音声合成部208に通知する。
【0124】
以上のようにして、発話速度修正処理が実行される。
【0125】
ここで、ステップS102およびステップS103におけるロボット1の発話速度の値の設定方法について、図12乃至図14を参照して説明する。
【0126】
図12は、ユーザの発話速度およびロボット1の発話速度の経時変化を表すグラフである。
【0127】
図12のグラフにおいて、縦軸は発話速度を表し、横軸は時刻を表している。また、ユーザの発話速度Vを実線で表し、ロボット1の発話速度V’を1点鎖線で表している。
【0128】
図12の例においては、ロボット1の発話速度V’は、式(1)を満たすように設定される。
【0129】
(V’−v)/(V−v)=k (1)
【0130】
式(1)において、kは0<k<1の定数である。
【0131】
すなわち、ロボット1の発話速度V’は、ロボット1の発話速度の最適速度vからの差(V’−v)と、ユーザの発話速度Vの最適速度vからの差(V−v)との比が一定になり、かつ、ロボット1の発話速度V’がユーザの発話速度Vより、最適速度vに近くなるように設定される。
【0132】
人は、対話中、自らの発話速度を、相手の発話速度に合わせようとする傾向があるといわれている。そこで、このように、ロボット1の発話速度V’を、ユーザの発話速度Vより最適速度vに近い値に設定することにより、ユーザは、無意識のうちに自らの発話速度Vを、ロボット1の発話速度V’に合わせてゆき、結果的に、知らず知らずのうちに、自らの発話速度を、最適速度vに合わせるようになる。図12においては、時刻t0から時刻t1にかけて、徐々にロボット1の発話速度V’が落ちるのにつられて、ユーザの発話速度Vが落ちてゆき、時刻t1において、ユーザの発話速度Vは、最適速度vに一致している。
【0133】
ロボット1は、このようにして、ユーザの発話速度を、精度良く音声認識を行なえる発話速度まで誘導することができる。
【0134】
なお、kが1に近づけば近づくほど、ロボット1の発話速度V’はユーザの発話速度Vに近づいた値に設定され、kが0に近づけば近づくほど、ロボット1の発話速度V’は最適速度vに近づいた値に設定される。
【0135】
図12は、ユーザの発話速度Vが最適速度vより大きい場合の例を示しているが、ユーザの発話速度Vが最適速度vより小さい場合の例を図13に示す。
【0136】
図13のグラフは、図12と同様、縦軸が発話速度を表し、横軸が時刻を表し、グラフ中の実線がユーザの発話速度Vを表し、1点鎖線が、ロボットの発話速度V’を表している。図13においても、上記した式(1)に基づいて、ロボット1の発話速度V’が設定される。すなわち、ロボット1の発話速度V’は、ユーザの発話速度Vより、最適速度vに近い値に設定される。これにより、ユーザの発話速度Vを、徐々に最適速度vに誘導することができ、時刻t1において、ユーザの発話速度Vは、最適速度vに一致している。
【0137】
以上のようにして、ステップS102およびステップS103において、発話速度修正部207は、ロボット1の発話速度V’を設定する。
【0138】
次に、図14のグラフを参照して、式(1)とは異なる方法で、ロボット1の発話速度を設定する場合の例を説明する。
【0139】
図14においても、図12および図13と同様に、縦軸が発話速度を表し、横軸が時刻を表し、グラフ中の実線がユーザの発話速度Vを表し、1点鎖線が、ロボットの発話速度V’を表している。また、Vは、ユーザの発話速度と最適速度との差を表し、V’は、ロボット1の発話速度と最適速度との差を表している。
【0140】
図14に示される例においては、ロボット1の発話速度は、式(2)に基づいて設定される。
【0141】
(v−V’)=(V−v) (2)
【0142】
すなわち、図14の例においては、ロボット1の発話速度V’は、最適速度vとロボット1の発話速度V’との差(v−V’)が、ユーザの発話速度Vと最適速度vとの差(V−v)と等しくなるように設定される。なお、ロボット1の発話速度V’には、予め最低値Vminが設定されており、式(2)により、この最低値Vminより低い値V’が算出された場合、ロボット1は、式(2)により算出された値をキャンセルし、発話速度V’を、最低値Vminに設定する。
【0143】
図14においては、時刻t0からt1まで、徐々に、ユーザの発話速度Vが、最適速度vに近づいてゆき、時刻t1において、最適速度vと一致している。
【0144】
図11のステップS102およびステップS103において、以上のようにして、ロボット1の発話速度を設定しても良い。
【0145】
図8のフローチャートに戻り、ステップS5の発話速度修正処理の後、処理はステップS6に進む。
【0146】
ステップS6において、音声合成部208は、ステップS3で決定された、ロボット1の発話内容を、ステップS5で設定された発話速度で発話すべく、合成音を生成し、生成した合成音をスピーカ72から出力させる。すなわち、音声合成部208には、ステップS3で、対話管理部231より、発話内容のデータを含む発話指令情報が供給され、ステップS5で、発話速度修正部207より、発話速度の設定値が供給されている。そこで、音声合成部208は、供給された発話内容のデータに基づいて合成音を生成するが、このとき、発話速度修正部207から供給された設定値に基づいた発話速度になるように、合成音を生成する。そして、音声合成部208は、生成した合成音をスピーカ72から出力させる。
【0147】
以上のようにして、ロボット1の対話制御処理が実行される。
【0148】
以上に説明したように、本発明のロボット1は、ユーザが無意識のうちに、ユーザの発話速度を、音声認識に最適な速度に誘導する。したがって、音声認識の精度を良好な状態に保つことが可能となる。また、本発明のロボット1は、ユーザの音声を聞き取れない(的確に音声認識できない)場合に、聞き返す(再度、発言するように要求する)ようにしても良いが、このようにした場合にも、的確に音声認識できないこと自体が減少するので、聞き返す回数を減少させることができる。
【0149】
なお、以上の説明における、ステップS3の処理、並びにステップS4およびステップS5の処理は、並列に実行される。すなわち、ステップS5の処理は、ステップS4の処理の後に実行されるが、ステップS3の処理と、ステップS4およびステップS5の処理は同時並行に、実行される。
【0150】
ところで、図11に示された発話速度修正処理においては、音声認識の精度を良好に保てる、唯1つの最適速度の値を基準として、ロボット1の発話速度を設定していたが、音声認識の精度を良好に保てる範囲を設定し、その範囲内と範囲外で、ロボット1の発話速度の設定方法を変えるようにしても良い。次に、このようにした場合の発話速度修正処理(図8のステップS5の処理)について、図15のフローチャートを参照して説明する。
【0151】
発話速度修正部207は、最適速度の他に、音声認識の精度を良好に保てる発話速度の範囲の上限値および下限値を予め記憶している。そこで、図15のステップS121において、発話速度修正部207は、発話速度検出部206から通知されたユーザの発話速度が、音声認識の精度を良好に保てる範囲内にあるか否かを判定し、ユーザの発話速度が、音声認識の精度を良好に保てる範囲内にない場合、処理はステップS122に進む。
【0152】
ステップS122において、発話速度修正部207は、ユーザの発話速度が、音声認識の精度を良好に保てる範囲の上限値より大きいか否かを判定し、ユーザの発話速度が、音声認識の精度を良好に保てる範囲の上限値より大きい場合、処理はステップS123に進む。
【0153】
ステップS123において、発話速度修正部207は、ロボット1の発話速度を、ユーザの発話速度より所定の値だけ小さい値に設定する。発話速度修正部207は、例えば、式(1)または式(2)を利用して、ロボット1の発話速度を設定する。その後、処理はステップS126に進む。
【0154】
ステップS122において、発話速度修正部207が、ユーザの発話速度は、音声認識の精度を良好に保てる範囲の上限値より大きくない(ユーザの発話速度は音声認識の精度を良好に保てる範囲の下限値より小さい)と判定した場合、処理はステップS124に進む。
【0155】
ステップS124において、発話速度修正部207は、ロボット1の発話速度を、ユーザの発話速度より所定の値だけ大きい値に設定する。発話速度修正部207は、例えば、式(1)または式(2)を利用して、ロボット1の発話速度を設定する。その後、処理はステップS126に進む。
【0156】
ステップS121において、発話速度修正部207が、ユーザの発話速度は、精度良く音声認識することができる範囲内の速度であると判定した場合、処理はステップS125に進む。
【0157】
ステップS125において、発話速度修正部207は、ロボット1の発話速度を、ユーザの発話速度と同じ値に設定する。その後、処理はステップS126に進む。
【0158】
ステップS126において、発話速度修正部207は、ステップS123、ステップS124、またはステップS125で設定されたロボット1の発話速度の設定値を、音声合成部208に通知する。
【0159】
以上のように、ユーザの発話速度が、音声認識の精度を保てる範囲内にあった場合、ロボット1の発話速度をユーザの発話速度に合わせるようにしても良い。これにより、ユーザに、より自然で心地よく、ロボット1と対話させることが可能となる。
【0160】
図15に示された発話速度修正処理により設定されたロボット1の発話速度の例について、図16のグラフを参照して説明する。
【0161】
図16のグラフにおいて、縦軸は発話速度を表し、横軸は時刻を表している。また、縦軸中に記載された「上限速度」は、精度良く音声認識することができるユーザの発話速度の範囲の上限値を表し、「下限速度」は、精度良く音声認識することができるユーザの発話速度の範囲の下限値を表し、この上限速度と下限速度の間に、ユーザの発話速度がある場合、精度良く音声認識することが可能となる。また、縦軸中に記載された「最適速度」は、最も精度良く音声認識することができるユーザの発話速度を表している。また、図16のグラフにおいては、ユーザの発話速度Vを実線で表し、ロボット1の発話速度V’を1点鎖線で表している。
【0162】
図16において、時刻t0からt1までの区間においては、ユーザの発話速度Vが、上限速度より大きい。したがって、ロボット1の発話速度は、例えば、式(1)に基づいて設定される。図16において、時刻t1からt2までの区間においては、ユーザの発話速度Vが、下限速度と上限速度の間にある。したがって、このときロボット1は、自らの発話速度をユーザの発話速度と同一の値に設定する。これにより、ユーザは、より自然で心地よくロボット1と会話することができる。時刻t2において、再度、ユーザの発話速度が上限速度を超えている。このとき、ロボット1の発話速度は、再度、例えば式(1)に基づいて設定するように変更される。そして、時刻t3において、ユーザの発話速度Vが上限速度と下限速度の間になると、ロボット1は、再度、自らの発話速度をユーザの発話速度と同一の値に設定する。
【0163】
以上のようにしても良い。
【0164】
なお、以上の説明においては、本発明を人型ロボットに適用した場合を例にして説明したが、本発明は人型ロボット以外のロボット(例えば犬型のロボットなど)に適用したり、産業用ロボットに適用したりすることも可能である。さらにまた、本発明は、例えばカーナビゲーションシステムなどのように、ユーザと対話する機能を有する、その他の装置に適用することも可能である。
【0165】
上述した一連の処理は、ハードウェアにより実行させることもできるし、上述したようにソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体等からインストールされる。
【0166】
図17は、このような処理を実行するパーソナルコンピュータ301の内部構成例を示す図である。パーソナルコンピュータのCPU(Central Processing Unit)311は、ROM(Read Only Memory)312に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)313には、CPU311が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース315は、ディスプレイ、スピーカ、およびDA変換器などから構成される出力部316も接続されている。また、入出力インタフェース315には、マウス、キーボード、マイクロフォン、AD変換器などから構成される入力部317が接続され、入力部317に入力された信号をCPU311に出力する。
【0167】
さらに、入出力インタフェース315には、ハードディスクなどから構成される記憶部318、および、インターネットなどのネットワークを介して他の装置とデータの通信を行う通信部319も接続されている。ドライブ320は、磁気ディスク331、光ディスク332、光磁気ディスク333、半導体メモリ334などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
【0168】
記録媒体は、図17に示されるように、パーソナルコンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク331(フレキシブルディスクを含む)、光ディスク332(CD−ROM(Compact Disc−Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク333(MD(Mini−Disc)(登録商標)を含む)、若しくは半導体メモリ334などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているROM312や記憶部318が含まれるハードディスクなどで構成される。
【0169】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0170】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0171】
【発明の効果】
このように、本発明によれば、音声を認識することができる。特に、ユーザの発話速度を、精度良く音声認識することができる発話速度に誘導することが可能となり、結果的に、誤った音声認識をする確率を下げることが可能となる。
【図面の簡単な説明】
【図1】本発明を適用したロボットの外観構成を示す斜視図である。
【図2】図1のロボットの外観構成を示す、背後側の斜視図である。
【図3】図1のロボットについて説明するための略線図である。
【図4】図1のロボットの内部構成を示すブロック図である。
【図5】図1のロボットの制御に関する部分を主に説明するためのブロック図である。
【図6】図5のメイン制御部の構成を示すブロック図である。
【図7】図6の音声認識部の構成を示すブロック図である。
【図8】ロボットの対話処理を説明するフローチャートである。
【図9】図8のステップS2の処理を詳細に説明するフローチャートである。
【図10】図8のステップS4の処理を詳細に説明するフローチャートである。
【図11】図8のステップS5の処理を詳細に説明するフローチャートである。
【図12】図11の発話速度修正処理により設定されるロボットの発話速度の例について説明する図である。
【図13】図11の発話速度修正処理により設定されるロボットの発話速度の例について説明する他の図である。
【図14】図11の発話速度修正処理により設定されるロボットの発話速度の例について説明する、さらに他の図である。
【図15】図8のステップS5の処理を詳細に説明する他のフローチャートである。
【図16】図15の発話速度修正処理により設定されるロボットの発話速度の例について説明する図である。
【図17】本発明を適用したコンピュータの構成を示すブロック図である。
【符号の説明】
1 ロボット, 61 メイン制御部, 63 サブ制御部, 72 スピーカ, 82 マイクロホン, 101 D/A変換部, 102 A/D変換部, 111 CPU, 112 内部メモリ, 121 OS, 122 アプリケーションプログラム, 201 センサ入力処理部, 202 モデル記憶部, 203 行動決定機構部, 204 姿勢遷移機構部, 205 制御機構部, 206 発話速度検出部, 207 発話速度修正部, 208 音声合成部, 223 音声認識部, 231 対話管理部, 251 時刻情報取得部, 252 特徴抽出部, 253 特徴ベクトルバッファ, 254 マッチング部, 255 音響モデルデータベース, 256 辞書データベース, 257文法データベース, 258 時刻情報付加部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a voice processing apparatus and method, a recording medium, and a program, and in particular, a voice processing apparatus and method, a recording medium, and a voice processing method that naturally guide the utterance speed of a user to a range where voice recognition accuracy is good. About the program.
[0002]
[Prior art]
2. Description of the Related Art In a dialogue system in which a computer performs voice recognition of a voice uttered by a user and outputs a synthesized voice based on the voice recognition result, in order to enable a more natural dialogue, a speech of a synthesized voice output from a speaker is provided. It is known to tune the speed to the utterance speed of a user (for example, see Patent Document 1).
[0003]
[Patent Document 1]
JP-A-5-216618 (paragraph number 0103)
[0004]
[Problems to be solved by the invention]
However, in general, in the speech recognition processing, there is a user's utterance speed at which the recognition accuracy is the highest, and an incorrect recognition result is output if the user's utterance speed is too fast or too slow. There was a problem.
[0005]
If the user's utterance speed is too fast or too slow, it is conceivable to request the user to change the utterance speed to an appropriate speed, for example, "Please speak a little more slowly." Frequent requests may cause user discomfort.
[0006]
The present invention has been made in view of such a situation, and aims to naturally guide the utterance speed of a user to a range where the accuracy of voice recognition is good.
[0007]
[Means for Solving the Problems]
The voice processing device of the present invention includes: a voice recognition unit that recognizes a voice uttered by a user; a calculation unit that calculates a user's utterance speed based on a word string that is recognized and generated by the voice recognition unit; Setting means for comparing the user's utterance speed calculated by the means with an utterance speed at which speech can be accurately recognized, and setting an utterance speed of a synthesized sound output from the voice processing device; Determining means for determining the utterance content, and output means for outputting a synthesized sound having the utterance speed set by the setting means based on the utterance content determined by the determining means.
[0008]
In the setting unit, when the utterance speed of the user is higher than the utterance speed at which the voice can be accurately recognized, the utterance speed of the synthesized sound to be output is set to be lower than the utterance speed of the user. When the utterance speed of the user is lower than the utterance speed at which the voice can be accurately recognized, the utterance speed of the synthesized sound to be output may be set to be higher than the utterance speed of the user. it can.
[0009]
In the setting unit, when the utterance speed of the user is within the range of the utterance speed at which the voice can be accurately recognized, the utterance speed of the synthesized sound to be output is set to the utterance speed of the user. Set to the same value, if the utterance speed of the user is greater than the upper limit of the range of the utterance speed that can be accurately recognized voice, the utterance speed of the synthesized sound to be output to the user of the If the utterance speed of the user is set smaller than the utterance speed, and the utterance speed of the user is smaller than the lower limit of the range of the utterance speed at which the voice can be accurately recognized, the utterance speed of the synthesized sound to be output is set to the utterance speed of the user. It can be set to be higher than the utterance speed.
[0010]
The voice processing method according to the present invention includes a voice recognition step of recognizing a voice uttered by the user, and a calculation step of calculating a user's utterance speed based on the generated word string recognized by the voice recognition step. A setting step of comparing the utterance speed of the user calculated by the processing of the calculation step with an utterance speed capable of accurately recognizing voice, and setting an utterance speed of a synthesized sound output from the voice processing device; A determining step of determining the utterance content of the synthesized sound to be performed, and an output step of outputting a synthesized sound of the utterance speed set by the processing of the setting step based on the utterance content determined by the processing of the determining step It is characterized by.
[0011]
The program of the recording medium according to the present invention includes a voice recognition step of recognizing a voice uttered by the user, and a calculation step of calculating the user's utterance speed based on the generated word string recognized by the processing of the voice recognition step. And a setting step of comparing the utterance speed of the user calculated by the process of the calculation step with an utterance speed capable of accurately recognizing voice, and setting an utterance speed of a synthesized sound output from the voice processing device; And a determining step of determining the utterance content of the synthesized sound output at the utterance speed set by the processing of the setting step.
[0012]
The program according to the present invention provides a computer that controls a voice processing device that interacts with a user to a voice recognition step of recognizing a voice uttered by the user, and a word sequence that is recognized and generated by the processing of the voice recognition step. Calculating the speech rate of the user, and comparing the speech rate of the user calculated by the processing of the calculation step with the speech rate at which speech can be accurately recognized, It is characterized by executing a setting step of setting and a determining step of determining the utterance content of the synthesized sound output at the utterance speed set by the processing of the setting step from the voice processing device.
[0013]
In the voice processing apparatus and method, the recording medium, and the program according to the present invention, the voice uttered by the user is recognized, and based on the generated word string, the utterance speed of the user is calculated and calculated. The utterance speed of the user is compared with the utterance speed at which the voice can be accurately recognized, the utterance speed of the synthesized sound output from the voice processing device is set, and the utterance content of the synthesized sound to be output is determined and determined. Based on the uttered content, a synthesized sound having the set utterance speed is output.
[0014]
The present invention can be applied to, for example, a robot.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0016]
FIG. 1 is a front perspective view of a
[0017]
The
[0018]
The
[0019]
The
[0020]
The
[0021]
In this case, the
[0022]
In the
[0023]
The
[0024]
In the
[0025]
Thereby, in the
[0026]
A sole sensor 91 (FIG. 5) is disposed on the sole surface (surface in contact with the floor) of the
[0027]
On the back side of the
[0028]
FIG. 4 is a diagram illustrating an actuator of the
[0029]
The
[0030]
The
[0031]
The
[0032]
FIG. 5 is a block diagram showing the internal configuration of the
[0033]
The
[0034]
Then, the
[0035]
The
[0036]
The
[0037]
The
[0038]
The D / A (Digital / Analog)
[0039]
The
[0040]
The
[0041]
The
[0042]
Then, the
[0043]
Further, the
[0044]
In this way, the
[0045]
The
[0046]
The
[0047]
Next, FIG. 6 shows an example of a functional configuration of the
[0048]
The sensor input processing unit 201 of the
[0049]
That is, the sensor input processing unit 201 includes a
[0050]
The
[0051]
Further, the
[0052]
The
[0053]
The
[0054]
The
[0055]
The model storage unit 202 stores and manages an emotion model, an instinct model, and a growth model expressing the emotion, instinct, and growth state of the
[0056]
Here, the emotion model indicates, for example, the state (degree) of emotions such as “joy”, “sadness”, “anger”, and “fun” in a predetermined range (for example, −1.0 to 1.. 0, etc.), and the values are changed based on the state recognition information from the sensor input processing unit 201 or the passage of time.
[0057]
The instinct model represents, for example, the state (degree) of the instinct's desire such as “appetite”, “sleep desire”, and “exercise desire” by values in a predetermined range, and state recognition information from the sensor input processing unit 201. The value is changed based on the time or the passage of time.
[0058]
The growth model represents, for example, a growth state (degree) such as “childhood”, “adolescence”, “mature”, “elderly”, etc., by a value in a predetermined range. The value is changed on the basis of the state recognition information or the passage of time.
[0059]
The model storage unit 202 sends the emotion, instinct, and growth state represented by the values of the emotion model, instinct model, and growth model as described above to the action determination mechanism unit 203 as state information.
[0060]
In addition to the state recognition information supplied from the sensor input processing unit 201 to the model storage unit 202, the current or past behavior of the
[0061]
For example, when the
[0062]
The action determination mechanism unit 203 determines the next action based on the state recognition information from the sensor input processing unit 201, the state information from the model storage unit 202, the passage of time, and the like, and determines the content of the determined action. Output to the posture
[0063]
That is, the action determining mechanism unit 203 manages a finite state automaton in which actions that can be taken by the
[0064]
Here, upon detecting that a predetermined trigger has occurred, the action determining mechanism unit 203 changes the state. That is, for example, when the time during which the action corresponding to the current state is being executed reaches a predetermined time, or when specific state recognition information is received, the action determining mechanism unit 203 is supplied from the model storage unit 202. The state is changed when the value of the emotion, instinct, or growth state indicated by the state information is equal to or less than a predetermined threshold.
[0065]
Note that, as described above, the action determination mechanism unit 203 performs, based on not only the state recognition information from the sensor input processing unit 201, but also the values of the emotion model, instinct model, growth model, and the like in the model storage unit 202. Since the state in the action model is changed, even if the same state recognition information is input, the destination of the state changes depending on the value (state information) of the emotion model, the instinct model, and the growth model.
[0066]
In addition, the action determination mechanism unit 203 includes, for example, a walking parameter as an action parameter corresponding to the transition destination state based on the emotion, instinct, and growth state indicated by the state information supplied from the model storage unit 202. , And the magnitude and speed of the movement when the limb is moved. In this case, action command information including those parameters is sent to the posture
[0067]
Further, the action determining mechanism unit 203 includes a dialogue management unit 231. The dialogue management unit 231 transmits the action command information for causing the
[0068]
The posture
[0069]
Here, for example, the posture that can be changed next from the current posture is, for example, the shape, weight, and combination of the
[0070]
The next posture includes a posture that can directly transition from the current posture and a posture that cannot directly transition. For example, the
[0071]
For this reason, the posture
[0072]
On the other hand, when the action command information indicates a posture that cannot directly transition, the posture
[0073]
The
[0074]
The speech
[0075]
The utterance
[0076]
The
[0077]
FIG. 7 is a functional block diagram illustrating functions of the
[0078]
The voice data input to the
[0079]
The time information acquisition unit 251 acquires the current time at which the sound was collected by the
[0080]
The feature extraction unit 252 performs an acoustic analysis process on the audio data from the time information acquisition unit 251 for each appropriate frame, thereby extracting a feature vector as a feature amount such as, for example, an MFCC (Mel Frequency Cepstrum Coefficient). I do. The feature extraction unit 252 can also extract, for example, a feature vector (feature parameter) such as a spectrum, a linear prediction coefficient, a cepstrum coefficient, and a line spectrum pair.
[0081]
The feature vectors obtained for each frame in the feature extraction unit 252 are sequentially supplied to and stored in the
[0082]
The
[0083]
The matching unit 254 uses the feature vector stored in the
[0084]
That is, the
[0085]
The matching unit 254 refers to the word dictionary in the
[0086]
Here, since the speech recognition is performed by the HMM method, the matching unit 254 acoustically accumulates the appearance probabilities of each feature vector for the word string corresponding to the connected word model, and calculates the accumulated value. Is the score.
[0087]
That is, the score calculation in the matching unit 254 is given by an acoustic score (hereinafter, appropriately referred to as an acoustic score) given by the acoustic model stored in the
[0088]
Specifically, for example, in the case of using the HMM method, the acoustic score is based on the probability that a sequence of feature vectors output by the feature extracting unit 252 is observed (probability of appearance) from the acoustic model forming the word model. And is calculated for each word. In the case of a bigram, for example, the language score is obtained based on the probability that a word of interest and a word immediately before the word are linked (connected). Then, the speech recognition result is determined based on a final score (hereinafter, appropriately referred to as a final score) obtained by comprehensively evaluating the acoustic score and the language score for each word.
[0089]
Here, the
[0090]
The time information adding unit 258 adds the time at which the word string was uttered to the word string output from the matching unit 254 as the speech recognition result. That is, the time information adding unit 258 specifies the utterance start time and the utterance end time of the voice corresponding to the word string based on the utterance time of the voice data acquired by the time information acquisition unit 251, and the utterance start time And the utterance end time is added to the word string as time information. Then, the time information addition unit 258 supplies the word string to which the time information has been added to the model storage unit 202, the action determination mechanism unit 203, and the utterance
[0091]
Next, an interaction process of the
[0092]
In step S1, the A /
[0093]
In step S2, the
[0094]
In step S <b> 51 of FIG. 9, the A /
[0095]
In step S52, the time information acquisition unit 251 acquires the current time at the time when the voice is input as the voice input time, adds the current time to the voice data supplied from the A /
[0096]
In step S53, the feature extraction unit 252 performs acoustic analysis processing on the audio data supplied from the time information acquisition unit 251 at appropriate time intervals, and converts the audio data into a parameter (feature vector) representing an acoustic characteristic of the audio. It is extracted as a feature value. Note that the feature extraction unit 252 adds the utterance time of the voice from which the feature vector is extracted to the extracted feature vector. The extracted feature vectors are sequentially supplied to the
[0097]
In step S54, the matching unit 254 reads out the time-series feature vector stored in the
[0098]
In step S55, based on the word string supplied from the matching unit 254 and the time information indicating the utterance time, the time information adding unit 258 collects the sound as the source of the supplied word string by the
[0099]
As described above, the voice recognition processing is executed.
[0100]
Returning to FIG. 8, after the voice recognition processing in step S2, the processing proceeds to step S3.
[0101]
In step S3, the dialog management unit 231 of the action determination mechanism unit 203 analyzes the utterance content of the user based on the word string of the voice recognition result supplied from the
[0102]
In step S4, the
[0103]
Here, the utterance speed detection processing in step S4 in FIG. 8 will be described in detail with reference to the flowchart in FIG.
[0104]
When the word sequence is supplied from the
[0105]
In step S72, the utterance
[0106]
In step S73, the speech
[0107]
If the utterance
[0108]
In step S74, the utterance
[0109]
As described above, when the next word string is supplied within a predetermined time after the supply of the word string from the
[0110]
Then, in step S72, if the utterance
[0111]
In step S75, based on the time information added to the word sequence, the utterance
[0112]
In step S76, the utterance
[0113]
In step S77, the utterance
[0114]
In step S78, the speech
[0115]
As described above, the speech speed detection processing is executed.
[0116]
The process returns to FIG. 8, and after the speech speed detection process in step S4, the process proceeds to step S5.
[0117]
In step S5, the
[0118]
Here, the utterance speed correction processing in step S5 in FIG. 8 will be described in detail with reference to the flowchart in FIG.
[0119]
In step S101 in FIG. 11, the utterance
[0120]
In step S102, the utterance
[0121]
In step S101, when the utterance
[0122]
In step S103, the utterance
[0123]
In step S104, the speech
[0124]
As described above, the speech speed correction process is executed.
[0125]
Here, a method of setting the value of the utterance speed of the
[0126]
FIG. 12 is a graph showing a temporal change in the utterance speed of the user and the utterance speed of the
[0127]
In the graph of FIG. 12, the vertical axis represents the utterance speed, and the horizontal axis represents time. Further, the speech speed V of the user is represented by a solid line, and the speech speed V ′ of the
[0128]
In the example of FIG. 12, the utterance speed V ′ of the
[0129]
(V′−v) / (V−v) = k (1)
[0130]
In the equation (1), k is a constant of 0 <k <1.
[0131]
That is, the utterance speed V ′ of the
[0132]
It is said that a person tends to adjust his or her own utterance speed during conversation to the utterance speed of the other party. Thus, by setting the speech speed V ′ of the
[0133]
In this way, the
[0134]
It should be noted that the utterance speed V 'of the
[0135]
FIG. 12 shows an example in which the user's utterance speed V is higher than the optimum speed v. FIG. 13 shows an example in which the user's utterance speed V is lower than the optimum speed v.
[0136]
In the graph of FIG. 13, as in FIG. 12, the vertical axis represents the utterance speed, the horizontal axis represents time, the solid line in the graph represents the utterance speed V of the user, and the one-dot chain line represents the utterance speed V ′ of the robot. Is represented. Also in FIG. 13, the speech speed V ′ of the
[0137]
As described above, in steps S102 and S103, the speech
[0138]
Next, an example in which the utterance speed of the
[0139]
In FIG. 14, as in FIGS. 12 and 13, the vertical axis represents the speech speed, the horizontal axis represents time, the solid line in the graph represents the user's speech speed V, and the one-dot chain line represents the robot's speech speed. The speed V ′ is shown. V represents the difference between the speech speed of the user and the optimal speed, and V ′ represents the difference between the speech speed of the
[0140]
In the example shown in FIG. 14, the utterance speed of the
[0141]
(V−V ′) = (V−v) (2)
[0142]
That is, in the example of FIG. 14, the difference (v−V ′) between the optimum speed v and the voice speed V ′ of the
[0143]
In FIG. 14, the user's utterance speed V gradually approaches the optimum speed v from time t0 to time t1, and coincides with the optimum speed v at time t1.
[0144]
In steps S102 and S103 of FIG. 11, the speech speed of the
[0145]
Returning to the flowchart of FIG. 8, after the speech speed correction processing in step S5, the processing proceeds to step S6.
[0146]
In step S6, the
[0147]
As described above, the dialog control processing of the
[0148]
As described above, the
[0149]
In the above description, the processing of step S3 and the processing of steps S4 and S5 are executed in parallel. That is, the process of step S5 is performed after the process of step S4, but the process of step S3 and the processes of steps S4 and S5 are performed simultaneously and in parallel.
[0150]
By the way, in the utterance speed correction process shown in FIG. 11, the utterance speed of the
[0151]
The utterance
[0152]
In step S122, the utterance
[0153]
In step S123, the speech
[0154]
In step S122, the utterance
[0155]
In step S124, the utterance
[0156]
In step S121, when the utterance
[0157]
In step S125, the speech
[0158]
In step S126, the speech
[0159]
As described above, when the user's utterance speed is within the range in which the accuracy of voice recognition can be maintained, the utterance speed of the
[0160]
An example of the utterance speed of the
[0161]
In the graph of FIG. 16, the vertical axis represents the utterance speed, and the horizontal axis represents time. The “upper limit speed” described in the vertical axis represents the upper limit of the range of the utterance speed of the user who can accurately recognize the voice, and the “lower limit speed” represents the user who can accurately recognize the voice. Represents the lower limit value of the range of the utterance speed, and if the utterance speed of the user is between the upper limit speed and the lower limit speed, the voice can be recognized with high accuracy. The “optimum speed” described in the vertical axis indicates the user's utterance speed at which the voice can be recognized with the highest accuracy. In the graph of FIG. 16, the utterance speed V of the user is represented by a solid line, and the utterance speed V ′ of the
[0162]
In FIG. 16, in a section from time t0 to t1, the user's utterance speed V is higher than the upper limit speed. Therefore, the speech speed of the
[0163]
The above may be performed.
[0164]
In the above description, the case where the present invention is applied to a humanoid robot has been described as an example. However, the present invention is applicable to a robot other than a humanoid robot (for example, a dog-type robot) or an industrial robot. It is also possible to apply to a robot. Furthermore, the present invention can be applied to other devices having a function of interacting with a user, such as a car navigation system.
[0165]
The above-described series of processing can be executed by hardware, or can be executed by software as described above. When a series of processing is executed by software, various functions can be executed by installing a computer in which the programs constituting the software are embedded in dedicated hardware, or by installing various programs For example, it is installed in a general-purpose personal computer from a recording medium or the like.
[0166]
FIG. 17 is a diagram illustrating an example of the internal configuration of the
[0167]
Further, the input /
[0168]
As shown in FIG. 17, a recording medium is a magnetic disk 331 (including a flexible disk) on which a program is recorded and an optical disk 332 (CD), which are distributed to provide a program to a user separately from a personal computer. A package medium including a ROM (Compact Disc-Read Only Memory), a DVD (including a Digital Versatile Disc), a magneto-optical disk 333 (including an MD (Mini-Disc) (registered trademark)), or a
[0169]
In this specification, the steps of describing a program provided by a medium include, in the order described, not only processing performed in chronological order but also processing in chronological order, or in parallel or individually. This includes the processing to be executed.
[0170]
Also, in this specification, a system refers to an entire device including a plurality of devices.
[0171]
【The invention's effect】
Thus, according to the present invention, speech can be recognized. In particular, it is possible to guide the user's utterance speed to an utterance speed at which speech recognition can be performed with high accuracy, and as a result, it is possible to reduce the probability of erroneous speech recognition.
[Brief description of the drawings]
FIG. 1 is a perspective view showing an external configuration of a robot to which the present invention is applied.
FIG. 2 is a rear perspective view showing the external configuration of the robot shown in FIG. 1;
FIG. 3 is a schematic diagram for explaining the robot of FIG. 1;
FIG. 4 is a block diagram showing an internal configuration of the robot shown in FIG. 1;
FIG. 5 is a block diagram for mainly explaining a portion related to control of the robot in FIG. 1;
FIG. 6 is a block diagram illustrating a configuration of a main control unit in FIG. 5;
FIG. 7 is a block diagram illustrating a configuration of a voice recognition unit in FIG. 6;
FIG. 8 is a flowchart illustrating an interactive process of the robot.
FIG. 9 is a flowchart illustrating the process of step S2 in FIG. 8 in detail.
FIG. 10 is a flowchart illustrating the process of step S4 in FIG. 8 in detail.
FIG. 11 is a flowchart illustrating the process of step S5 in FIG. 8 in detail.
FIG. 12 is a diagram illustrating an example of an utterance speed of a robot set by the utterance speed correction process of FIG. 11;
FIG. 13 is another diagram illustrating an example of the robot utterance speed set by the utterance speed correction process of FIG. 11;
FIG. 14 is yet another diagram illustrating an example of the robot utterance speed set by the utterance speed correction process of FIG. 11;
FIG. 15 is another flowchart illustrating in detail the process of step S5 in FIG. 8;
FIG. 16 is a diagram illustrating an example of a robot utterance speed set by the utterance speed correction process of FIG. 15;
FIG. 17 is a block diagram illustrating a configuration of a computer to which the present invention has been applied.
[Explanation of symbols]
1 robot, 61 main control unit, 63 sub control unit, 72 speakers, 82 microphone, 101 D / A conversion unit, 102 A / D conversion unit, 111 CPU, 112 internal memory, 121 OS, 122 application program, 201 sensor input Processing section, 202 model storage section, 203 action determination mechanism section, 204 attitude transition mechanism section, 205 control mechanism section, 206 speech rate detection section, 207 speech rate correction section, 208 speech synthesis section, 223 speech recognition section, 231 dialog management , 251 time information acquisition unit, 252 feature extraction unit, 253 feature vector buffer, 254 matching unit, 255 acoustic model database, 256 dictionary database, 257 grammar database, 258 time information addition unit
Claims (6)
前記ユーザにより発話された音声を認識する音声認識手段と、
前記音声認識手段により認識され、生成された単語列に基づいて、前記ユーザの発話速度を算出する算出手段と、
前記算出手段により算出された前記ユーザの前記発話速度を、精度良く音声認識することができる発話速度と比較して、前記音声処理装置から出力される合成音の発話速度を設定する設定手段と、
出力される前記合成音の発話内容を決定する決定手段と、
前記決定手段により決定された前記発話内容に基づいて、前記設定手段により設定された前記発話速度の前記合成音を出力する出力手段と
を備えることを特徴とする音声処理装置。In a voice processing device that interacts with a user,
Voice recognition means for recognizing voice uttered by the user;
Calculating means for calculating the utterance speed of the user based on the generated word string, which is recognized by the voice recognition means;
Setting means for comparing the utterance speed of the user calculated by the calculation means with an utterance speed capable of accurately recognizing voice, and setting an utterance speed of a synthesized sound output from the voice processing device;
Determining means for determining the utterance content of the synthesized sound to be output;
Output means for outputting the synthesized sound at the utterance speed set by the setting means based on the utterance content determined by the determining means.
前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度より大きい場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度より小さく設定し、
前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度より小さい場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度より大きく設定する
ことを特徴とする請求項1に記載の音声処理装置。The setting means,
When the utterance speed of the user is higher than the utterance speed at which the voice can be accurately recognized, the utterance speed of the synthesized sound to be output is set to be lower than the utterance speed of the user,
When the utterance speed of the user is lower than the utterance speed at which speech can be accurately recognized, the utterance speed of the synthesized sound to be output is set to be higher than the utterance speed of the user. Item 2. The audio processing device according to item 1.
前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度の範囲内にある場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度と同一の値に設定し、
前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度の範囲の上限値より大きい場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度より小さく設定し、
前記ユーザの前記発話速度が、精度良く音声認識することができる前記発話速度の範囲の下限値より小さい場合、出力される前記合成音の前記発話速度を前記ユーザの前記発話速度より大きく設定する
ことを特徴とする請求項1に記載の音声処理装置。The setting means,
When the utterance speed of the user is within the range of the utterance speed at which the voice can be accurately recognized, the utterance speed of the synthesized sound to be output is set to the same value as the utterance speed of the user. ,
If the utterance speed of the user is larger than the upper limit of the utterance speed range that can accurately recognize the voice, the utterance speed of the synthesized sound to be output is set to be smaller than the utterance speed of the user,
When the utterance speed of the user is smaller than a lower limit value of a range of the utterance speed at which speech can be accurately recognized, the utterance speed of the synthesized sound to be output is set to be higher than the utterance speed of the user. The audio processing device according to claim 1, wherein:
前記ユーザにより発話された音声を認識する音声認識ステップと、
前記音声認識ステップの処理により認識され、生成された単語列に基づいて、前記ユーザの発話速度を算出する算出ステップと、
前記算出ステップの処理により算出された前記ユーザの前記発話速度を、精度良く音声認識することができる発話速度と比較して、前記音声処理装置から出力される合成音の発話速度を設定する設定ステップと、
出力される前記合成音の発話内容を決定する決定ステップと、
前記決定ステップの処理により決定された前記発話内容に基づいて、前記設定ステップの処理により設定された前記発話速度の前記合成音を出力する出力ステップと
を含むことを特徴とする音声処理方法。In a voice processing method of a voice processing device that interacts with a user,
A voice recognition step of recognizing voice uttered by the user;
A calculating step of calculating the utterance speed of the user based on the generated word string, which is recognized by the processing of the voice recognition step;
A setting step of comparing the utterance speed of the user calculated by the processing of the calculation step with an utterance speed capable of accurately recognizing voice, and setting an utterance speed of a synthetic sound output from the voice processing device; When,
Determining a utterance content of the synthesized sound to be output;
Outputting the synthesized sound having the utterance speed set by the processing of the setting step based on the utterance content determined by the processing of the determining step.
前記ユーザにより発話された音声を認識する音声認識ステップと、
前記音声認識ステップの処理により認識され、生成された単語列に基づいて、前記ユーザの発話速度を算出する算出ステップと、
前記算出ステップの処理により算出された前記ユーザの前記発話速度を、精度良く音声認識することができる発話速度と比較して、前記音声処理装置から出力される合成音の発話速度を設定する設定ステップと、
前記設定ステップの処理により設定された前記発話速度で出力される前記合成音の発話内容を決定する決定ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。A program that causes a computer to execute a process of controlling a voice processing device that interacts with a user,
A voice recognition step of recognizing voice uttered by the user;
A calculating step of calculating the utterance speed of the user based on the generated word string, which is recognized by the processing of the voice recognition step;
A setting step of comparing the utterance speed of the user calculated by the processing of the calculation step with an utterance speed capable of accurately recognizing voice, and setting an utterance speed of a synthetic sound output from the voice processing device; When,
A determining step of determining the utterance content of the synthesized sound output at the utterance speed set by the processing of the setting step.
前記ユーザにより発話された音声を認識する音声認識ステップと、
前記音声認識ステップの処理により認識され、生成された単語列に基づいて、前記ユーザの発話速度を算出する算出ステップと、
前記算出ステップの処理により算出された前記ユーザの前記発話速度を、精度良く音声認識することができる発話速度と比較して、前記音声処理装置から出力される合成音の発話速度を設定する設定ステップと、
前記設定ステップの処理により設定された前記発話速度で出力される前記合成音の発話内容を決定する決定ステップと
を実行させることを特徴とするプログラム。A computer that controls a voice processing device that interacts with the user,
A voice recognition step of recognizing voice uttered by the user;
A calculating step of calculating the utterance speed of the user based on the generated word string, which is recognized by the processing of the voice recognition step;
A setting step of comparing the utterance speed of the user calculated by the processing of the calculation step with an utterance speed capable of accurately recognizing voice, and setting an utterance speed of a synthetic sound output from the voice processing device; When,
A deciding step of deciding the utterance content of the synthesized sound output at the utterance speed set by the processing of the setting step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003048559A JP2004258290A (en) | 2003-02-26 | 2003-02-26 | Apparatus and method for speech processing, recording medium, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003048559A JP2004258290A (en) | 2003-02-26 | 2003-02-26 | Apparatus and method for speech processing, recording medium, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004258290A true JP2004258290A (en) | 2004-09-16 |
Family
ID=33114490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003048559A Withdrawn JP2004258290A (en) | 2003-02-26 | 2003-02-26 | Apparatus and method for speech processing, recording medium, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004258290A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005076258A1 (en) * | 2004-02-03 | 2005-08-18 | Matsushita Electric Industrial Co., Ltd. | User adaptive type device and control method thereof |
-
2003
- 2003-02-26 JP JP2003048559A patent/JP2004258290A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005076258A1 (en) * | 2004-02-03 | 2005-08-18 | Matsushita Electric Industrial Co., Ltd. | User adaptive type device and control method thereof |
US7684977B2 (en) | 2004-02-03 | 2010-03-23 | Panasonic Corporation | User adaptive system and control method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4296714B2 (en) | Robot control apparatus, robot control method, recording medium, and program | |
US6509707B2 (en) | Information processing device, information processing method and storage medium | |
US7065490B1 (en) | Voice processing method based on the emotion and instinct states of a robot | |
KR20060006904A (en) | Robot device, information processing method, and program | |
JP2002268699A (en) | Device and method for voice synthesis, program, and recording medium | |
JP2003131683A (en) | Device and method for voice recognition, and program and recording medium | |
JP2004090109A (en) | Robot device and interactive method for robot device | |
WO2002077970A1 (en) | Speech output apparatus | |
JP2002304188A (en) | Word string output device and word string output method, and program and recording medium | |
JP2002116792A (en) | Robot controller and method for robot control and recording medium | |
JP4600736B2 (en) | Robot control apparatus and method, recording medium, and program | |
JP4706893B2 (en) | Voice recognition apparatus and method, program, and recording medium | |
JP4587009B2 (en) | Robot control apparatus, robot control method, and recording medium | |
JP2004283927A (en) | Robot control device, and method, recording medium and program | |
JP2002268663A (en) | Voice synthesizer, voice synthesis method, program and recording medium | |
JP2005335001A (en) | Robot control device and method, recording medium, and program | |
JP2004286805A (en) | Method, apparatus, and program for identifying speaker | |
JP2002258886A (en) | Device and method for combining voices, program and recording medium | |
JP2004258290A (en) | Apparatus and method for speech processing, recording medium, and program | |
JP2001154693A (en) | Robot controller and robot control method and recording medium | |
JP2004170756A (en) | Unit and method for robot control, recording medium, and program | |
JP4656354B2 (en) | Audio processing apparatus, audio processing method, and recording medium | |
JP2003271172A (en) | Method and apparatus for voice synthesis, program, recording medium and robot apparatus | |
JP4742415B2 (en) | Robot control apparatus, robot control method, and recording medium | |
JP2002304187A (en) | Device and method for synthesizing voice, program and recording medium |
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: 20060509 |