JP2004286805A - 話者識別装置および話者識別方法、並びにプログラム - Google Patents
話者識別装置および話者識別方法、並びにプログラム Download PDFInfo
- Publication number
- JP2004286805A JP2004286805A JP2003075578A JP2003075578A JP2004286805A JP 2004286805 A JP2004286805 A JP 2004286805A JP 2003075578 A JP2003075578 A JP 2003075578A JP 2003075578 A JP2003075578 A JP 2003075578A JP 2004286805 A JP2004286805 A JP 2004286805A
- Authority
- JP
- Japan
- Prior art keywords
- speaker
- voice
- unit
- section
- identification
- 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
【課題】話者識別の精度を向上させる。
【解決手段】有効区間設定部133は、ユーザの音声の音声認識結果を取得し、その音声認識結果に基づいて、話者識別処理に用いる音声の区間である有効区間を設定して、話者識別処理部134に供給する。話者識別処理部134は、有効区間設定部133から供給される有効区間の特徴ベクトル系列を、特徴ベクトルバッファ114から読み出し、その特徴ベクトル系列を用い、登録話者記憶部132に情報が記憶されている話者(ユーザ)を対象とした話者識別処理を行う。本発明は、例えば話者識別機能を搭載したロボットに適用できる。
【選択図】 図9
【解決手段】有効区間設定部133は、ユーザの音声の音声認識結果を取得し、その音声認識結果に基づいて、話者識別処理に用いる音声の区間である有効区間を設定して、話者識別処理部134に供給する。話者識別処理部134は、有効区間設定部133から供給される有効区間の特徴ベクトル系列を、特徴ベクトルバッファ114から読み出し、その特徴ベクトル系列を用い、登録話者記憶部132に情報が記憶されている話者(ユーザ)を対象とした話者識別処理を行う。本発明は、例えば話者識別機能を搭載したロボットに適用できる。
【選択図】 図9
Description
【0001】
【発明の属する技術分野】
本発明は、話者識別装置および話者識別方法、並びにプログラムに関し、特に、話者識別処理の精度を高めることができるようにする話者識別装置および話者識別方法、並びにプログラムに関する。
【0002】
【従来の技術】
最近、例えば、エンタテイメントその他の用途において、ロボットのニーズが高まってきている。さらに、特に、エンタテイメント用のロボットについては、音声認識や話者識別の機能を搭載し、ユーザが誰であるのかを識別し、その識別したユーザとの対話を行うことができるようにすることが要請されている。即ち、ロボットにおいて、ユーザが誰であるのかを識別し、ユーザとの対話を行うことにより、例えば、話しかけてきたユーザを識別し、そのユーザの名前を呼びかけること等が可能となり、ロボットのエンタテイメント性を一層高めることができる。
【0003】
ここで、話者識別の方法としては、テキスト依存型話者認識、テキスト独立型話者認識、テキスト指定型話者認識が一般的に知られている(例えば、非特許文献1参照)。
【0004】
また、話者識別は、一般には、入力されたユーザの音声の区間(後述する発話区間)全体を対象に行われることが多いが、音声のうちの有声音だけを対象として行う方法も提案されている(例えば、特許文献1参照)
【0005】
【非特許文献1】
古井貞煕、「音声情報処理」第6章、森北出版株式会社
【0006】
【特許文献1】
特開平6−318098号公報。
【0007】
【発明が解決しようとする課題】
話者識別を、入力されたユーザの音声の区間全体を対象に行う場合、その区間には、ユーザの音声が存在する音声区間の前後の部分や無音部分などの話者識別に有効でない部分、さらには、話者識別に悪影響を与える部分が含まれていることがある。そして、この場合、話者識別の識別精度が劣化することになる。
【0008】
そこで、特許文献1では、ユーザの音声から、例えば、パワー情報に基づいて有声音(の区間)を取り出し、その有声音のみを対象に、話者識別を行う方法が提案されている。従って、特許文献1に記載の話者識別の方法では、有声音以外、即ち、例えば、無音部分や雑音部分は勿論、無声音なども、話者識別に用いられない。
【0009】
ところで、音声によって、話者(ユーザ)を識別するだけの場合、即ち、例えば、セキュリティの確保などのために、音声によって、話者を識別する場合には、ユーザの音声から有声音以外を削除し、残った有声音によって話者識別を行うだけで足りる。
【0010】
しかしながら、エンタテイメント用のロボットなどについては、話者(ユーザ)を、その音声によって識別した上で、さらに、その音声を音声認識し、その音声認識結果を利用して、ロボットに行動をとらせたいことがある。従って、話者識別において、ユーザの音声から、有声音以外の部分を削除してしまうと、音声認識時には、元の音声から特徴抽出を行わねばならない。即ち、音声による話者識別は、一般に、ユーザの音声からその特徴量を抽出し、その特徴量を用いて行われるが、話者識別において、ユーザの音声から、有声音以外の部分を削除し、有声音についてだけ特徴量を抽出する場合には、音声認識において、その有声音と有声音以外の部分のすべてを含むユーザの音声から、再び、特徴量を抽出しなければならない。
【0011】
また、有声音だけを対象として、話者識別を行う場合には、雑音だけの部分(雑音部分)が話者識別の対象とならないので、話者識別の精度を向上させることができる。
【0012】
しかしながら、ユーザの音声において、そのユーザの特徴が反映されるのは、有声音だけに限られない。即ち、無音部分(例えば、破裂音における無音部分)や無声音などにも、ユーザの特徴が反映される。
【0013】
従って、有声音だけを対象とし、ユーザの特徴が含まれる無音部分や無声音を対象とせずに、話者識別を行うのは、ユーザの特徴が含まれる部分を用いない分だけ、話者識別精度が劣化するおそれがある。
【0014】
本発明は、このような状況に鑑みてなされたものであり、話者識別の精度を、より向上させることができるようにするものである。
【0015】
【課題を解決するための手段】
本発明の話者識別装置は、音声認識結果に基づいて、話者の識別に用いる音声の区間である有効区間を設定する設定手段と、有効区間の音声に基づいて、話者を識別する識別処理を行う識別手段とを備えることを特徴とする。
【0016】
本発明の話者識別方法は、音声認識結果に基づいて、話者の識別に用いる音声の区間である有効区間を設定する設定ステップと、有効区間の音声に基づいて、話者を識別する識別処理を行う識別ステップとを備えることを特徴とする。
【0017】
本発明のプログラムは、音声認識結果に基づいて、話者の識別に用いる音声の区間である有効区間を設定する設定ステップと、有効区間の音声に基づいて、話者を識別する識別処理を行う識別ステップとを備えることを特徴とする。
【0018】
本発明の話者識別装置および話者識別方法、並びにプログラムにおいては、音声認識結果に基づいて、話者の識別に用いる音声の区間である有効区間が設定され、その有効区間の音声に基づいて、話者を識別する識別処理が行われる。
【0019】
【発明の実施の形態】
図1は、本発明を適用した2足歩行型のロボット1の正面方向の斜視図であり、図2は、ロボット1の背面方向からの斜視図である。また、図3は、ロボット1の軸構成について説明するための斜視図である。
【0020】
ロボット1は、胴体部ユニット11の上部に頭部ユニット12が配設されるとともに、胴体部ユニット11の上部左右に、同様の構成を有する腕部ユニット13Aおよび13Bが所定位置にそれぞれ取り付けられ、かつ、胴体部ユニット11の下部左右に、同様の構成を有する脚部ユニット14Aおよび14Bが所定位置にそれぞれ取り付けられることにより構成されている。頭部ユニット12には、タッチセンサ51が設けられている。
【0021】
胴体部ユニット11においては、体幹上部を形成するフレーム21および体幹下部を形成する腰ベース22が、腰関節機構23を介して連結することにより構成されており、体幹下部の腰ベース22に固定された腰関節機構23のアクチュエータA1、および、アクチュエータA2をそれぞれ駆動することによって、体幹上部を、図3に示す直交するロール軸24およびピッチ軸25の回りに、それぞれ独立に回転させることができるようになされている。
【0022】
また頭部ユニット12は、フレーム21の上端に固定された肩ベース26の上面中央部に首関節機構27を介して取り付けられており、首関節機構27のアクチュエータA3およびA4をそれぞれ駆動することによって、図3に示す直交するピッチ軸28およびヨー軸29の回りに、それぞれ独立に回転させることができるようになされている。
【0023】
更に、腕部ユニット13Aおよび13Bは、肩関節機構30を介して肩ベース26の左右にそれぞれ取り付けられており、対応する肩関節機構30のアクチュエータA5およびA6をそれぞれ駆動することによって、図3に示す、直交するピッチ軸31およびロール軸32の回りに、それぞれを独立に回転させることができるようになされている。
【0024】
腕部ユニット13Aおよび13Bは、上腕部を形成するアクチュエータA7の出力軸に、肘関節機構33を介して、前腕部を形成するアクチュエータA8が連結され、前腕部の先端に手部34が取り付けられることにより構成されている。
【0025】
そして腕部ユニット13Aおよび13Bでは、アクチュエータA7を駆動することによって、前腕部を図3に示すヨー軸35に対して回転させることができ、アクチュエータA8を駆動することによって、前腕部を図3に示すピッチ軸36に対して回転させることができるようになされている。
【0026】
脚部ユニット14Aおよび14Bは、股関節機構37を介して、体幹下部の腰ベース22にそれぞれ取り付けられており、対応する股関節機構37のアクチュエータA9乃至A11をそれぞれ駆動することによって、図3に示す、互いに直交するヨー軸38、ロール軸39、およびピッチ軸40に対して、それぞれ独立に回転させることができるようになされている。
【0027】
脚部ユニット14Aおよび14Bは、大腿部を形成するフレーム41の下端が、膝関節機構42を介して、下腿部を形成するフレーム43に連結されるとともに、フレーム43の下端が、足首関節機構44を介して、足部45に連結されることにより構成されている。
【0028】
これにより脚部ユニット14Aおよび14Bにおいては、膝関節機構42を形成するアクチュエータA12を駆動することによって、図3に示すピッチ軸46に対して、下腿部を回転させることができ、また足首関節機構44のアクチュエータA13およびA14をそれぞれ駆動することによって、図3に示す直交するピッチ軸47およびロール軸48に対して、足部45をそれぞれ独立に回転させることができるようになされている。
【0029】
また、胴体部ユニット11の体幹下部を形成する腰ベース22の背面側には、後述するメイン制御部61や周辺回路62(いずれも図4)などを内蔵したボックスである、制御ユニット52が配設されている。
【0030】
図4は、ロボット1のアクチュエータとその制御系等の構成例を示している。
【0031】
制御ユニット52には、ロボット1全体の動作制御をつかさどるメイン制御部61、電源回路および通信回路などの周辺回路62、および、バッテリ74(図5)などが収納されている
【0032】
そして、制御ユニット52は、各構成ユニット(胴体部ユニット11、頭部ユニット12、腕部ユニット13Aおよび13B、並びに、脚部ユニット14Aおよび14B)内にそれぞれ配設されたサブ制御部63A乃至63Dと接続されており、サブ制御部63A乃至63Dに対して必要な電源電圧を供給したり、サブ制御部63A乃至63Dと通信を行う。
【0033】
また、サブ制御部63A乃至63Dは、対応する構成ユニット内のアクチュエータA1乃至A14と、それぞれ接続されており、メイン制御部61から供給された各種制御コマンドに基づいて、構成ユニット内のアクチュエータA1乃至A14を、指定された状態に駆動させるように制御する。
【0034】
図5は、ロボット1の電気的な内部構成例を示すブロック図である。
【0035】
頭部ユニット12には、ロボット1の「目」として機能するCCD(Charge Coupled Device )カメラ81Lおよび81R、「耳」として機能するマイクロホン82、タッチセンサ51、並びに超音波センサ83などからなる外部センサ部71、および、「口」として機能するスピーカ72などがそれぞれ所定位置に配設され、制御ユニット52内には、バッテリセンサ91および加速度センサ92などからなる内部センサ部73が配設されている。
【0036】
そして、外部センサ部71のCCDカメラ81Lおよび81Rは、周囲の状況を撮像し、得られた画像信号S1Aを、メイン制御部61に送出する。マイクロホン82は、ユーザから音声入力として与えられる「歩け」、「とまれ」または「右手を挙げろ」等の各種命令音声や周囲の背景雑音を集音し、得られた音声信号S1Bを、メイン制御部61にそれぞれ送出する。なお、マイクロホン82は、1つだけ設けても良いし、複数設けるようにしても良い。
【0037】
また、タッチセンサ51は、例えば、図1および図2に示されるように頭部ユニット12の上部に設けられており、ユーザからの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を、圧力検出信号S1Cとしてメイン制御部61に送出する。
【0038】
超音波センサ83は、図示せぬ音源とマイクを有し、超音波センサ83の内部の音源から、超音波パルスを発する。さらに、超音波センサ83は、その超音波パルスがユーザその他の物体で反射され、返ってくる反射波を、マイクで受信し、超音波パルスを発してから、反射波を受信するまでの時間(以下、適宜、ラグ時間という)S1Dを求め、メイン制御部61に送出する。
【0039】
内部センサ部73のバッテリセンサ91は、バッテリ74のエネルギ残量を所定の周期で検出し、検出結果をバッテリ残量検出信号S2Aとして、メイン制御部61に送出する。加速度センサ92は、ロボット1の移動について、3軸方向(x軸、y軸およびz軸)の加速度を、所定の周期で検出し、その検出結果を、加速度検出信号S2Bとして、メイン制御部61に送出する。
【0040】
外部メモリ75は、プログラムやデータ、および制御パラメータなどを記憶しており、そのプログラムやデータを必要に応じてメイン制御部61に内蔵されるメモリ61Aに供給する。また、外部メモリ75は、データ等をメモリ61Aから受け取り、記憶する。なお、外部メモリ75は、ロボット1から着脱可能となされている。
【0041】
通信部76は、例えば、インターネット上のサイトや、リモートコマンダその他の通信可能な機器との間での通信を制御する。例えば、通信部76において、インターネットの所定のサイトからプログラムをダウンロードすることにより、メモリ61Aや外部メモリ75に記憶されたプログラムやデータなどをバージョンアップすることができる。また、通信部76は、例えば、CCDカメラ81Lおよび81Rで撮像した画像や、マイクロホン82で収集した音声などを、外部のコンピュータや、外出先のユーザの携帯電話機その他のPDA(Personal Digital Assistant)などに送信することができる。
【0042】
メイン制御部61は、メモリ61AとCPU(Central Processing Unit)61Bを内蔵している。メモリ61Aは、OS(Operating System)やアプリケーションなどのプログラム、必要なデータなどを記憶しており、CPU61Bは、メモリ61Aに記憶されたプログラムを実行することで、各種の処理を行う。即ち、メイン制御部61は、外部センサ部71のCCDカメラ81Lおよび81R、マイクロホン82、タッチセンサ51、および超音波センサ83からそれぞれ供給される、画像信号S1A、音声信号S1B、圧力検出信号S1C、およびラグ時間S1D(以下、これらをまとめて外部センサ信号S1と称する)と、内部センサ部73のバッテリセンサ91および加速度センサ等からそれぞれ供給される、バッテリ残量検出信号S2Aおよび加速度検出信号S2B(以下、これらをまとめて内部センサ信号S2と称する)に基づいて、ロボット1の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無などを判断する。
【0043】
そして、メイン制御部61は、ロボット1の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無の判断結果と、内部メモリ61Aに予め格納されている制御プログラム、あるいは、そのとき装填されている外部メモリ75に格納されている各種制御パラメータなどに基づいて、ロボット1の行動を決定し、その決定結果に基づく制御コマンドを生成して、対応するサブ制御部63A乃至63Dに送出する。サブ制御部63A乃至63Dは、メイン制御部61から供給された制御コマンドに基づいて、アクチュエータA1乃至A14のうち、対応するものの駆動を制御する。これにより、ロボット1は、例えば、頭部ユニット12を上下左右に揺動かさせたり、腕部ユニット13A、あるいは、腕部ユニット13Bを上に挙げたり、脚部ユニット14Aと14Bを交互に駆動させて、歩行するなどの行動を行う。
【0044】
また、メイン制御部61は、必要に応じて、所定の音声信号S3をスピーカ72に与えることにより、音声信号S3に基づく音声を外部に出力させる(ロボット1に発話を行わせる)。更に、メイン制御部61は、外見上の「目」として機能する、頭部ユニット12の所定位置に設けられた、図示しないLEDに対して駆動信号を出力することにより、LEDを点滅させる。
【0045】
このようにして、ロボット1は、周囲および内部の状況(状態)や、ユーザからの指令および働きかけの有無などに基づいて、自律的に行動する。
【0046】
図6は、図5のメイン制御部61の機能的構成例を示している。なお、図6に示す機能的構成は、メイン制御部61のCPU61Bが、メモリ61Aに記憶されたプログラムを実行することで実現されるようになっている。
【0047】
メイン制御部61は、特定の外部状態を認識する状態認識情報処理部101、状態認識情報処理部101の認識結果等に基づいて更新される、ロボット1の感情、本能、あるいは、成長の状態などのモデルを記憶するモデル記憶部102、状態認識情報処理部101の認識結果等に基づいて、ロボット1の行動を決定する行動決定機構部103、行動決定機構部103の決定結果に基づいて、実際にロボット1に行動を起こさせる姿勢遷移機構部104、合成音を生成する音声合成部105、から構成されている。
【0048】
状態認識情報処理部101には、マイクロホン82や、CCDカメラ81Lおよび81R、タッチセンサ51等から音声信号、画像信号、圧力検出信号等が入力される。そして、状態認識情報処理部101は、マイクロホン82や、CCDカメラ81Lおよび81R、タッチセンサ51等から与えられる音声信号、画像信号、圧力検出信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報を、モデル記憶部102および行動決定機構部103に出力する。
【0049】
状態認識情報処理部101は、音声認識部101A、画像認識部101B、および圧力処理部101Cを有している。
【0050】
音声認識部101Aは、マイクロホン82から与えられる音声信号S1Bについて音声認識を行う。そして、音声認識部101Aは、例えば、「歩け」、「止まれ」、「右手を挙げろ」等の指令、その他の音声認識結果を、状態認識情報として、モデル記憶部102および行動決定機構部103に通知する。
【0051】
さらに、音声認識部101Aは、マイクロホン82から与えられる音声信号S1Bを対象に話者識別も行う。音声認識部101Aは、その話者識別の結果も、状態認識情報に含めて、モデル記憶部102および行動決定機構部103に通知する。
【0052】
画像認識部101Bは、CCDカメラ81Lおよび81Rから与えられる画像信号S1Aを用いて、画像認識処理を行う。そして、画像認識部101Bは、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直なかつ所定高さ以上の平面」等を検出したときには、「ボールがある」や、「壁がある」等の画像認識結果を、状態認識情報として、モデル記憶部102および行動決定機構部103に通知する。
【0053】
ここで、ユーザは、一般に、ロボット1の正面方向から話しかけることが多いと予想されるため、周囲の状況を撮像するCCDカメラ81Lおよび81Rは、その撮像方向が、ロボット1の正面方向になるように、頭部ユニット12(図1)に設置されているものとする。
【0054】
なお、ユーザが、ロボット1の正面方向からはずれた、例えば、側面や背面方向などから話しかけてきた場合には、CCDカメラ81Lおよび81Rにおいて、ユーザを撮像することができないことになる。そこで、例えば、マイクロホン82に到達する音声信号のパワー差や位相差から音源の方向を推定し、最大の音声レベルが得られるものの方向に、頭部ユニット12を動かすことによって、CCDカメラ81Lおよび81Rにおいて、ユーザを撮像することができるようにすることが可能である。
【0055】
また、例えば、マイクロホン82として、CCDカメラ81Lおよび81Rの撮像方向と同一方向の指向性を有するマイクロホンを採用し、マイクロホン82に入力される音声レベルが最大となる方向に、頭部ユニット12を動かし、これにより、CCDカメラ81Lおよび81Rにおいて、ユーザを撮像することができるようにすることも可能である。
【0056】
圧力処理部101Cは、タッチセンサ51から与えられる圧力検出信号S1Cを処理する。そして、圧力処理部101Cは、その処理の結果、例えば、所定の閾値以上で、かつ短時間の圧力を検出したときには、「叩かれた(しかられた)」と認識し、所定の閾値未満で、かつ長時間の圧力を検出したときには、「撫でられた(ほめられた)」と認識して、その認識結果を、状態認識情報として、モデル記憶部102および行動決定機構部103に通知する。
【0057】
状態認識情報処理部101には、その他、超音波センサ83の出力も供給されるようになっており、状態認識情報処理部101は、超音波センサ83の出力に応じて、所定の物体までの距離を求め、行動決定機構部103に供給する。
【0058】
モデル記憶部102は、ロボット1の感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶、管理している。
【0059】
ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態(度合い)を、所定の範囲(例えば、−1.0乃至1.0等)の値によってそれぞれ表し、状態認識情報処理部101からの状態認識情報や時間経過等に基づいて、その値を変化させる。本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態(度合い)を、所定の範囲の値によってそれぞれ表し、状態認識情報処理部101からの状態認識情報や時間経過等に基づいて、その値を変化させる。成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態(度合い)を、所定の範囲の値によってそれぞれ表し、状態認識情報処理部101からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【0060】
モデル記憶部102は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を、状態情報として、行動決定機構部103に送出する。
【0061】
なお、モデル記憶部102には、状態認識情報処理部101から状態認識情報が供給される他、行動決定機構部103から、ロボット1の現在または過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部102は、同一の状態認識情報が与えられても、行動情報が示すロボット1の行動に応じて、異なる状態情報を生成するようになっている。
【0062】
即ち、例えば、ロボット1が、ユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部102に与えられ、この場合、モデル記憶部102では、「うれしさ」を表す感情モデルの値が増加される。
【0063】
一方、ロボット1が、何らかの仕事を実行中に頭を撫でられた場合には、仕事を実行中であるという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部102に与えられ、この場合、モデル記憶部102では、「うれしさ」を表す感情モデルの値は変化されない。
【0064】
このように、モデル記憶部102は、状態認識情報だけでなく、現在または過去のロボット1の行動を示す行動情報も参照しながら、感情モデルの値を設定する。これにより、例えば、何らかのタスクを実行中に、ユーザが、いたずらするつもりで頭を撫でたときに、「うれしさ」を表す感情モデルの値を増加させるような、不自然な感情の変化が生じることを回避することができる。
【0065】
なお、モデル記憶部102は、本能モデルおよび成長モデルについても、感情モデルにおける場合と同様に、状態認識情報および行動情報の両方に基づいて、その値を増減させるようになっている。また、モデル記憶部102は、感情モデル、本能モデル、成長モデルそれぞれの値を、他のモデルの値にも基づいて増減させるようになっている。
【0066】
行動決定機構部103は、状態認識情報処理部101からの状態認識情報や、モデル記憶部102からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容が、例えば、「ダンスをする」というような音声認識処理や画像認識処理を必要としない場合、その行動の内容を、行動指令情報として、姿勢遷移機構部104に送出する。
【0067】
すなわち、行動決定機構部103は、ロボット1がとり得る行動をステート(状態:state)に対応させた有限オートマトンを、ロボット1の行動を規定する行動モデルとして管理しており、この行動モデルとしての有限オートマトンにおけるステートを、状態認識情報処理部101からの状態認識情報や、モデル記憶部102における感情モデル、本能モデル、または成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を、次にとるべき行動として決定する。
【0068】
ここで、行動決定機構部103は、所定のトリガ(trigger)があったことを検出すると、ステートを遷移させる。即ち、行動決定機構部103は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部102から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下または以上になったとき等に、ステートを遷移させる。
【0069】
なお、行動決定機構部103は、上述したように、状態認識情報処理部101からの状態認識情報だけでなく、モデル記憶部102における感情モデルや、本能モデル、成長モデルの値等にも基づいて、行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても、感情モデルや、本能モデル、成長モデルの値(状態情報)によっては、ステートの遷移先は異なるものとなる。
【0070】
また、行動決定機構部103では、上述したように、ロボット1の頭部や手足等を動作させる行動指令情報の他、ロボット1に発話を行わせる行動指令情報も生成される。ロボット1に発話を行わせる行動指令情報は、音声合成部105に供給されるようになっており、音声合成部105に供給される行動指令情報には、音声合成部105に生成させる合成音に対応するテキスト等が含まれる。そして、音声合成部105は、行動決定機構部103から行動指令情報を受信すると、その行動指令情報に含まれるテキストに基づき、合成音を生成し、スピーカ72に供給して出力させる。
【0071】
姿勢遷移機構部104は、上述したように、行動決定機構部103から供給される行動指令情報に基づいて、ロボット1の姿勢を、現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これをサブ制御部63A乃至63Dに送出する。
【0072】
次に、図7は、図6の音声認識部101Aの構成例を示している。
【0073】
図5のマイクロホン82が出力するアナログの音声信号は、A/D(Analog/Digital)変換部111に供給される。A/D変換部111は、マイクロホン82からのアナログの音声信号をA/D変換し、ディジタルの音声データにして、音声検出部112と特徴抽出部113とに供給する。
【0074】
音声検出部112は、A/D変換部111の出力から、ユーザの音声が入力されている(と思われる)区間を、発話区間として検出し、その発話区間における音声データを処理するように、特徴抽出部113、特徴ベクトルバッファ114、マッチング部115、および話者識別部119を制御する。ここで、発話区間の検出方法としては、例えば、A/D変換部111の出力のパワー(例えば、ある期間ごとの平均パワーなど)が所定値以上(より大)の区間を、発話区間として検出する方法がある。従って、発話区間として検出される区間には、ユーザの音声の他、雑音だけの部分も含まれることがある。また、ユーザの音声ではない何らかの大きな物音が存在する区間なども、発話区間として検出されることがあり得る。
【0075】
特徴抽出部113は、A/D変換部112からの音声データについて、適当なフレームごとに音響分析処理を施し、これにより、例えば、MFCC(Mel Frequency Cepstrum Coefficient)等の特徴量としての特徴ベクトルを抽出する。なお、特徴抽出部113では、その他、例えば、スペクトルや、線形予測係数、ケプストラム係数、線スペクトル対等の特徴ベクトル(特徴パラメータ)を抽出することが可能である。
【0076】
特徴抽出部113においてフレームごとに得られる特徴ベクトルは、特徴ベクトルバッファ114に順次供給されて記憶される。従って、特徴ベクトルバッファ114では、フレームごとの特徴ベクトルが時系列に記憶されていく。
【0077】
なお、特徴ベクトルバッファ114は、例えば、音声検出部112で検出される発話区間に得られる時系列の特徴ベクトルを記憶する。
【0078】
マッチング部115は、特徴ベクトルバッファ114に記憶された特徴ベクトルを用いて、音響モデルデータベース116、辞書データベース117、および文法データベース118を必要に応じて参照しながら、マイクロホン82に入力された音声(入力音声)を、例えば、連続分布HMM法等に基づいて音声認識する。即ち、音響モデルデータベース116は、音響モデルとして、例えば、ガウス分布等の確率密度関数を用いたHMM(Hidden Markov Model)を記憶している。辞書データベース117は、認識対象の各単語(語彙)について、その発音に関する情報(音韻情報)が記述された単語辞書を記憶している。文法データベース118は、辞書データベース117の単語辞書に登録されている各単語が、どのように連鎖する(つながる)かを記述した文法規則(言語モデル)を記憶している。ここで、文法規則としては、例えば、文脈自由文法(CFG)や、正規文法(RG)、統計的な単語連鎖確率(N−gram)などに基づく規則を用いることができる。
【0079】
マッチング部115は、辞書データベース117の単語辞書を参照することにより、音響モデルデータベース116に記憶されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成する。さらに、マッチング部115は、幾つかの単語モデルを、文法データベース118に記憶された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、時系列の特徴ベクトルとのマッチングを、連続分布HMM法によって行い、マイクロホン82に入力された音声を認識する。即ち、マッチング部115は、上述したようにして構成された各単語モデルの系列から、特徴ベクトルバッファ114に記憶された時系列の特徴ベクトルが観測される尤度を表すスコアを計算する。そして、マッチング部115は、例えば、そのスコアが最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列を、音声の認識結果として出力する。
【0080】
なお、ここでは、HMM法により音声認識が行われるため、マッチング部115は、音響的には、接続された単語モデルに対応する単語列について、各特徴ベクトルの出現確率を累積し、その累積値をスコアとする。
【0081】
即ち、マッチング部115におけるスコア計算は、音響モデルデータベース116に記憶された音響モデルによって与えられる音響的なスコア(以下、適宜、音響スコアという)と、文法データベース118に記憶された文法規則によって与えられる言語的なスコア(以下、適宜、言語スコアという)とを総合評価することで行われる。
【0082】
具体的には、音響スコアは、例えば、HMM法による場合には、単語モデルを構成する音響モデルから、特徴抽出部113が出力する特徴ベクトルの系列が観測される確率(出現する確率)に基づいて、単語ごとに計算される。また、言語スコアは、例えば、バイグラムによる場合には、注目している単語と、その単語の直前の単語とが連鎖(連接)する確率に基づいて求められる。そして、各単語についての音響スコアと言語スコアとを総合評価して得られる最終的なスコア(以下、適宜、最終スコアという)に基づいて、音声認識結果が確定される。
【0083】
ここで、音声認識部101Aは、文法データベース118を設けずに構成することも可能である。但し、文法データベース118に記憶された規則によれば、接続する単語モデルが制限され、その結果、マッチング部115における音響スコアの計算の対象とする単語数が限定されるので、マッチング部115の計算量を低減し、処理速度を向上させることができる。
【0084】
なお、マッチング部115は、例えば、最も大きい最終スコアが得られた単語列(または単語)、その最終スコア、HMM法において最終スコアが得られたときに確定する、その最終スコアが得られた単語に対応する音声の区間(音声区間)を、音声認識結果として出力する。この音声認識結果は、話者識別部119と、図6の行動決定機構部103に供給される。
【0085】
話者識別部119は、特徴ベクトルバッファ114に記憶された時系列の特徴ベクトルとマッチング部115の音声認識結果を用いて、発話を行った話者(ユーザ)が、あらかじめ登録された話者のうち誰であるのかを判定、識別する。マッチング部115の音声認識結果には、入力音声(ユーザの音声)における単語(以下、適宜、認識単語という)、その単語の音声区間、最終スコア(音声認識結果の確からしさを表す尤度としてのコンフィデンスメジャー(Confidence Measure))が含められている。話者識別部119は、このような音声認識結果を利用して、例えば、無音部分を除く、有声音のみを用いるなどのルールを適用して話者識別を行う。
【0086】
話者識別方法には、例えば、発話内容があらかじめ決まっているテキスト依存型、話者識別を行う際の発話内容を提示するテキスト指定型、発話内容に依存しないテキスト独立型などがあるが、話者識別部119では、いずれの方法を採用することもできる。さらに、話者識別のアルゴリズムも、特に限定されるものではない。なお、ここでは、例えば、Herbert Gish, Man−Hung Siu, and Robin Rohlicek, ”Segregation of Speakers for Speech Recognition and Speaker Identification”, BBN Systems and Technologies Proc.IEEE ICASSP−91, pp.873−876, May 1991に記載されているアルゴリズムなどを採用することができる。
【0087】
話者識別部119は、話者識別により、発話を行った話者を特定する話者ID(Identification)を求め、その話者IDを、音声認識部101Aによる音声認識結果に含めて、図6の行動決定機構部103に供給する。
【0088】
この場合、行動決定機構部103は、話者識別部119から供給される話者IDによって特定される話者(ユーザ)に応じて、ユーザの発話に対する応答文を生成したり、動作を決定したりといったロボット1の行動(反応)を決定する。
【0089】
行動決定機構部103において、話者(ユーザ)に応じて、ロボット1の行動を決定することにより、ロボット1において、ユーザとのコミュニケーションを円滑に進める行動を行うことが可能となる。
【0090】
即ち、例えば、ロボットにおいて、複数のユーザの名前を記憶しておき、あるユーザが近づいてきた場合には、そのユーザの名前を発話するようにすることができる。また、例えば、ロボットにおいて、ユーザの過去の発話内容を記憶しておき、そのユーザが近くに寄ってきた場合には、「以前、○○○って言っていたよね」などと、ユーザに話しかけるようにすることができる。さらに、例えば、ロボットにおいて、あるユーザAとの会話の最中に、他のユーザBが割り込んできた場合には、一旦は、他のユーザBの方を向いて会話をし、その会話の終了後、元のユーザAの方を振り向いて、「ごめんね、××さん。」(××は、ユーザAの名前)などと発話するようにすることができる。
【0091】
次に、図8は、音声検出部112が検出する発話区間と、マッチング部115で得られる音声区間との関係を示している。
【0092】
音声検出部112では、例えば、A/D変換部111の出力のある期間ごとの平均パワーが所定値以上の区間が、発話区間として検出される。従って、発話区間は、図8に示すように、ユーザの音声が存在する部分の他、そのユーザの音声が存在する部分の前後の部分も含む区間となる。図8では、時間t0乃至t5の区間が、発話区間として検出されている。但し、t0<t5である。
【0093】
一方、マッチング部115では、例えば、HMM法において最終スコアが得られたときに確定する、その最終スコアが得られた単語に対応する音声の区間が、音声区間として得られる。従って、音声区間は、図8に示すように、ユーザの音声が存在する部分だけの区間となる。図8では、時間t0乃至t5の発話区間のうち、時間t1乃至t2の区間と、時間t3乃至t4の区間が、音声区間として検出されている。但し、t0<t1<t2<t3<t4<t5である。
【0094】
次に、図9は、図7の話者識別部119の構成例を示している。
【0095】
話者登録部131は、話者識別に使用するユーザの情報と、そのユーザを特定する話者IDとを対応付けて、登録話者記憶部132に供給することにより、話者識別の対象とするユーザを登録する。登録話者記憶部132は、話者登録部131から供給される情報を記憶する。
【0096】
有効区間設定部133には、図7のマッチング部115が出力する音声認識結果としての認識単語(列)、最終スコア、および音声区間が供給されるようになっている。有効区間設定部133は、音声認識結果のうちの、例えば、最終スコアと音声区間に基づき、話者識別を行うのに有効な区間(以下、適宜、有効区間という)を設定し、話者識別処理部134に供給する。
【0097】
話者識別処理部134は、有効区間設定部133から供給される有効区間の特徴ベクトル系列を、特徴ベクトルバッファ114から読み出し、その特徴ベクトル系列を用い、登録話者記憶部132に情報が記憶されている話者(ユーザ)を対象とした話者識別処理を行い、発話を行ったユーザの話者IDを求める。そして、話者識別処理部134は、話者識別の結果得られる話者IDを、話者の識別結果として出力する。
【0098】
言語処理部135には、図7のマッチング部115が出力する音声認識結果としての認識単語、最終スコア、および音声区間が供給されるようになっている。言語処理部135は、音声認識結果のうちの認識単語を言語処理することにより、ユーザの発話内容を理解し、その発話内容に基づいて、同一ユーザによる発話が続いているかどうかを判定する。さらに、言語処理部135は、その判定結果に基づいて、話者識別処理部134を制御する。
【0099】
次に、図10のフローチャートを参照して、図9の話者識別部119の処理について説明する。
【0100】
話者識別部119は、例えば、図7のマッチング部115から音声認識結果としての認識単語、最終スコア、および音声区間が供給された場合に、処理を開始する。
【0101】
即ち、マッチング部115から話者識別部119に対して、音声認識結果としての認識単語、最終スコア、および音声区間が供給されると、ステップS1において、有効区間設定部133と言語処理部135は、その音声認識結果としての認識単語、最終スコア、および音声区間を受信することにより取得し、ステップS2に進む。
【0102】
ステップS2では、有効区間設定部133が、ステップS1で取得した最終スコアが所定の条件を満たすかどうか、即ち、例えば、最終スコアが所定の閾値以上(より大)であるかどうかを判定する。ステップS2において、最終スコアが所定の閾値以上でないと判定された場合、即ち、マッチング部115から供給された音声認識結果の確からしさが低い場合、話者識別部119は、ステップS3乃至S7をスキップして、処理を終了する。
【0103】
即ち、音声認識結果の確からしさが低い場合は、例えば、大きな物音などの、ユーザの正常な音声以外について音声認識が行われたとして、話者識別部119は、話者識別処理を行わない。従って、この場合、誤った話者識別結果が得られることを防止することができる。
【0104】
なお、ステップS2で用いる閾値は、例えば、実験等によって決定しておくことができる。
【0105】
一方、ステップS2において、最終スコアが所定の閾値以上であると判定された場合、ステップS3に進み、有効区間設定部133は、音声区間内のある区間を、話者識別処理部134において話者識別処理の対象とする区間である有効区間として設定する。即ち、有効区間設定部133は、例えば、音声認識結果としての音声区間を、そのまま有効区間として設定する。また、有効区間設定部133は、例えば、音声認識結果としての音声区間から、有声音の部分だけを検出し、その区間を、有効区間として設定する。そして、有効区間設定部133は、設定した有効区間を、話者識別処理部134に供給して、ステップS3からS4に進む。
【0106】
ステップS4では、言語処理部135が、ステップS1で取得した音声認識結果としての認識単語を言語処理することにより、ユーザの発話内容を理解し、ステップS5に進む。ステップS5では、言語処理部135は、ステップS4で理解した発話内容に基づいて、直前の話者識別処理の対象となったユーザと同一ユーザによる発話が続いているかどうかを判定する。ステップS5において、直前の話者識別処理の対象となったユーザと同一ユーザによる発話が続いていると判定された場合、話者識別部119は、ステップS6およびS7をスキップして、処理を終了する。
【0107】
即ち、直前の話者識別処理の対象となったユーザと同一ユーザによる発話が続いている場合には、発話を行っているユーザは、その直前の話者識別処理によって識別されたユーザであるから、新たに、話者識別処理を行う必要性が低い。そこで、ここでは、直前の話者識別処理の対象となったユーザと同一ユーザによる発話が続いている場合には、話者識別処理部134による話者識別処理を停止するようになっている。
【0108】
一方、ステップS5において、直前の話者識別処理の対象となったユーザと同一ユーザによる発話が続いていると判定された場合、ステップS6に進み、話者識別処理部134は、ステップS3で有効区間設定部133から供給された有効区間を対象とした話者識別処理を行う。即ち、話者識別処理部134は、有効区間設定部133から供給される有効区間の特徴ベクトル系列を、特徴ベクトルバッファ114から読み出し、その特徴ベクトル系列を用い、登録話者記憶部132に情報が記憶されている話者(ユーザ)を対象とした話者識別処理を行う。
【0109】
なお、話者識別処理部134で採用する話者識別処理のアルゴリズムは、特に限定されない。また、ここでは、ユーザの音声から得られた特徴ベクトル系列を用いて話者識別処理を行うが、話者識別処理は、その他、例えば、CCDカメラ81Lおよび81Rがユーザを撮像することにより得られるユーザの画像も用いて行うことが可能である。
【0110】
話者識別処理部134は、ステップS6において話者識別処理を行うことにより、発話を行ったユーザの話者IDを得ると、ステップS7に進み、その話者IDを出力して処理を終了する。
【0111】
以上のように、話者識別部119では、音声認識結果に基づいて、有効区間を設定し、その有効区間の音声に基づいて、話者識別処理を行うので、ユーザの特徴が含まれる、話者識別処理に有効な音声の部分のみを対象として、話者識別処理を行うことができる。そして、その結果、高精度な話者識別結果を得ることができる。
【0112】
さらに、話者識別部119では、認識単語の最終スコアが大きい場合に、話者識別処理が行われるので、ユーザの音声でない部分を対象として話者識別処理が行われることによる処理精度の劣化を防止することができる。
【0113】
また、話者識別部119では、認識単語に基づいて、ユーザによる発話内容を理解し、その発話内容に基づいて、同一ユーザによる発話が続いているかどうかを判定し、前回識別したユーザと同一のユーザの発話が続いている場合には、話者識別処理を行わない(停止する)ようにしたので、図5のCPU61Bの負担を軽減することができる。
【0114】
ここで、上述した一連の処理を実行するプログラムは、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができ、メモリ61Aにインストールされる。
【0115】
さらに、プログラムは、上述したようなリムーバブル記録媒体からメモリ61Aにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、メモリ61Aにインストールすることができる。
【0116】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0117】
また、話者識別部119では、認識単語の最終スコアの大小や、前回識別したユーザと同一のユーザの発話が続いているかどうかにかかわらず、音声認識結果を得た場合に、話者識別処理を行うようにすることが可能である。
【0118】
さらに、話者識別部119では、音声認識結果が得られるごとに、話者識別処理を行う他、無音がある程度連続した直後のユーザの音声(会話の開始直後のユーザの音声)の音声認識結果が得られた場合だけ、話者識別処理を行うようにすることが可能である。
【0119】
また、音声認識部101Aにおいては、音響モデルデータベース116の音響モデルを、ユーザ(話者)ごとに適応させる話者適応(モデル適応)を行う機能を設けることができる。この場合、話者識別部119において話者識別処理結果としての話者IDが得られた後は、別の話者IDが得られるまでに入力されるユーザの音声を用い、そのユーザについての話者適応を行うようにすることができる。
【0120】
なお、本発明は、ロボット以外の話者識別を行う機能を備えるあらゆる装置に適用可能である。
【0121】
【発明の効果】
以上の如く、本発明によれば、話者識別の精度を向上させることができる。
【図面の簡単な説明】
【図1】本発明を適用したロボット1の外観構成を示す斜視図である。
【図2】ロボット1の外観構成を示す、背後側の斜視図である。
【図3】ロボット1の軸構成について説明するための略線図である。
【図4】ロボット1の制御系の構成例を示すブロック図である。
【図5】ロボット1の電気的構成例を示すブロック図である。
【図6】メイン制御部61の機能的構成を示すブロック図である。
【図7】音声認識部101Aの構成例を示すブロック図である。
【図8】発話区間と音声区間を説明する図である。
【図9】話者識別部119の構成例を示すブロック図である。
【図10】話者識別部119の処理を説明するフローチャートである。
【符号の説明】
82 マイクロホン, 101A 音声認識部, 111 A/D変換部, 112 音声検出, 113 特徴抽出部, 114 特徴ベクトルバッファ,115 マッチング部, 119 話者識別部, 131 話者登録部, 132 登録話者記憶部, 133 有効区間設定部, 134 話者識別処理部, 135 言語処理部
【発明の属する技術分野】
本発明は、話者識別装置および話者識別方法、並びにプログラムに関し、特に、話者識別処理の精度を高めることができるようにする話者識別装置および話者識別方法、並びにプログラムに関する。
【0002】
【従来の技術】
最近、例えば、エンタテイメントその他の用途において、ロボットのニーズが高まってきている。さらに、特に、エンタテイメント用のロボットについては、音声認識や話者識別の機能を搭載し、ユーザが誰であるのかを識別し、その識別したユーザとの対話を行うことができるようにすることが要請されている。即ち、ロボットにおいて、ユーザが誰であるのかを識別し、ユーザとの対話を行うことにより、例えば、話しかけてきたユーザを識別し、そのユーザの名前を呼びかけること等が可能となり、ロボットのエンタテイメント性を一層高めることができる。
【0003】
ここで、話者識別の方法としては、テキスト依存型話者認識、テキスト独立型話者認識、テキスト指定型話者認識が一般的に知られている(例えば、非特許文献1参照)。
【0004】
また、話者識別は、一般には、入力されたユーザの音声の区間(後述する発話区間)全体を対象に行われることが多いが、音声のうちの有声音だけを対象として行う方法も提案されている(例えば、特許文献1参照)
【0005】
【非特許文献1】
古井貞煕、「音声情報処理」第6章、森北出版株式会社
【0006】
【特許文献1】
特開平6−318098号公報。
【0007】
【発明が解決しようとする課題】
話者識別を、入力されたユーザの音声の区間全体を対象に行う場合、その区間には、ユーザの音声が存在する音声区間の前後の部分や無音部分などの話者識別に有効でない部分、さらには、話者識別に悪影響を与える部分が含まれていることがある。そして、この場合、話者識別の識別精度が劣化することになる。
【0008】
そこで、特許文献1では、ユーザの音声から、例えば、パワー情報に基づいて有声音(の区間)を取り出し、その有声音のみを対象に、話者識別を行う方法が提案されている。従って、特許文献1に記載の話者識別の方法では、有声音以外、即ち、例えば、無音部分や雑音部分は勿論、無声音なども、話者識別に用いられない。
【0009】
ところで、音声によって、話者(ユーザ)を識別するだけの場合、即ち、例えば、セキュリティの確保などのために、音声によって、話者を識別する場合には、ユーザの音声から有声音以外を削除し、残った有声音によって話者識別を行うだけで足りる。
【0010】
しかしながら、エンタテイメント用のロボットなどについては、話者(ユーザ)を、その音声によって識別した上で、さらに、その音声を音声認識し、その音声認識結果を利用して、ロボットに行動をとらせたいことがある。従って、話者識別において、ユーザの音声から、有声音以外の部分を削除してしまうと、音声認識時には、元の音声から特徴抽出を行わねばならない。即ち、音声による話者識別は、一般に、ユーザの音声からその特徴量を抽出し、その特徴量を用いて行われるが、話者識別において、ユーザの音声から、有声音以外の部分を削除し、有声音についてだけ特徴量を抽出する場合には、音声認識において、その有声音と有声音以外の部分のすべてを含むユーザの音声から、再び、特徴量を抽出しなければならない。
【0011】
また、有声音だけを対象として、話者識別を行う場合には、雑音だけの部分(雑音部分)が話者識別の対象とならないので、話者識別の精度を向上させることができる。
【0012】
しかしながら、ユーザの音声において、そのユーザの特徴が反映されるのは、有声音だけに限られない。即ち、無音部分(例えば、破裂音における無音部分)や無声音などにも、ユーザの特徴が反映される。
【0013】
従って、有声音だけを対象とし、ユーザの特徴が含まれる無音部分や無声音を対象とせずに、話者識別を行うのは、ユーザの特徴が含まれる部分を用いない分だけ、話者識別精度が劣化するおそれがある。
【0014】
本発明は、このような状況に鑑みてなされたものであり、話者識別の精度を、より向上させることができるようにするものである。
【0015】
【課題を解決するための手段】
本発明の話者識別装置は、音声認識結果に基づいて、話者の識別に用いる音声の区間である有効区間を設定する設定手段と、有効区間の音声に基づいて、話者を識別する識別処理を行う識別手段とを備えることを特徴とする。
【0016】
本発明の話者識別方法は、音声認識結果に基づいて、話者の識別に用いる音声の区間である有効区間を設定する設定ステップと、有効区間の音声に基づいて、話者を識別する識別処理を行う識別ステップとを備えることを特徴とする。
【0017】
本発明のプログラムは、音声認識結果に基づいて、話者の識別に用いる音声の区間である有効区間を設定する設定ステップと、有効区間の音声に基づいて、話者を識別する識別処理を行う識別ステップとを備えることを特徴とする。
【0018】
本発明の話者識別装置および話者識別方法、並びにプログラムにおいては、音声認識結果に基づいて、話者の識別に用いる音声の区間である有効区間が設定され、その有効区間の音声に基づいて、話者を識別する識別処理が行われる。
【0019】
【発明の実施の形態】
図1は、本発明を適用した2足歩行型のロボット1の正面方向の斜視図であり、図2は、ロボット1の背面方向からの斜視図である。また、図3は、ロボット1の軸構成について説明するための斜視図である。
【0020】
ロボット1は、胴体部ユニット11の上部に頭部ユニット12が配設されるとともに、胴体部ユニット11の上部左右に、同様の構成を有する腕部ユニット13Aおよび13Bが所定位置にそれぞれ取り付けられ、かつ、胴体部ユニット11の下部左右に、同様の構成を有する脚部ユニット14Aおよび14Bが所定位置にそれぞれ取り付けられることにより構成されている。頭部ユニット12には、タッチセンサ51が設けられている。
【0021】
胴体部ユニット11においては、体幹上部を形成するフレーム21および体幹下部を形成する腰ベース22が、腰関節機構23を介して連結することにより構成されており、体幹下部の腰ベース22に固定された腰関節機構23のアクチュエータA1、および、アクチュエータA2をそれぞれ駆動することによって、体幹上部を、図3に示す直交するロール軸24およびピッチ軸25の回りに、それぞれ独立に回転させることができるようになされている。
【0022】
また頭部ユニット12は、フレーム21の上端に固定された肩ベース26の上面中央部に首関節機構27を介して取り付けられており、首関節機構27のアクチュエータA3およびA4をそれぞれ駆動することによって、図3に示す直交するピッチ軸28およびヨー軸29の回りに、それぞれ独立に回転させることができるようになされている。
【0023】
更に、腕部ユニット13Aおよび13Bは、肩関節機構30を介して肩ベース26の左右にそれぞれ取り付けられており、対応する肩関節機構30のアクチュエータA5およびA6をそれぞれ駆動することによって、図3に示す、直交するピッチ軸31およびロール軸32の回りに、それぞれを独立に回転させることができるようになされている。
【0024】
腕部ユニット13Aおよび13Bは、上腕部を形成するアクチュエータA7の出力軸に、肘関節機構33を介して、前腕部を形成するアクチュエータA8が連結され、前腕部の先端に手部34が取り付けられることにより構成されている。
【0025】
そして腕部ユニット13Aおよび13Bでは、アクチュエータA7を駆動することによって、前腕部を図3に示すヨー軸35に対して回転させることができ、アクチュエータA8を駆動することによって、前腕部を図3に示すピッチ軸36に対して回転させることができるようになされている。
【0026】
脚部ユニット14Aおよび14Bは、股関節機構37を介して、体幹下部の腰ベース22にそれぞれ取り付けられており、対応する股関節機構37のアクチュエータA9乃至A11をそれぞれ駆動することによって、図3に示す、互いに直交するヨー軸38、ロール軸39、およびピッチ軸40に対して、それぞれ独立に回転させることができるようになされている。
【0027】
脚部ユニット14Aおよび14Bは、大腿部を形成するフレーム41の下端が、膝関節機構42を介して、下腿部を形成するフレーム43に連結されるとともに、フレーム43の下端が、足首関節機構44を介して、足部45に連結されることにより構成されている。
【0028】
これにより脚部ユニット14Aおよび14Bにおいては、膝関節機構42を形成するアクチュエータA12を駆動することによって、図3に示すピッチ軸46に対して、下腿部を回転させることができ、また足首関節機構44のアクチュエータA13およびA14をそれぞれ駆動することによって、図3に示す直交するピッチ軸47およびロール軸48に対して、足部45をそれぞれ独立に回転させることができるようになされている。
【0029】
また、胴体部ユニット11の体幹下部を形成する腰ベース22の背面側には、後述するメイン制御部61や周辺回路62(いずれも図4)などを内蔵したボックスである、制御ユニット52が配設されている。
【0030】
図4は、ロボット1のアクチュエータとその制御系等の構成例を示している。
【0031】
制御ユニット52には、ロボット1全体の動作制御をつかさどるメイン制御部61、電源回路および通信回路などの周辺回路62、および、バッテリ74(図5)などが収納されている
【0032】
そして、制御ユニット52は、各構成ユニット(胴体部ユニット11、頭部ユニット12、腕部ユニット13Aおよび13B、並びに、脚部ユニット14Aおよび14B)内にそれぞれ配設されたサブ制御部63A乃至63Dと接続されており、サブ制御部63A乃至63Dに対して必要な電源電圧を供給したり、サブ制御部63A乃至63Dと通信を行う。
【0033】
また、サブ制御部63A乃至63Dは、対応する構成ユニット内のアクチュエータA1乃至A14と、それぞれ接続されており、メイン制御部61から供給された各種制御コマンドに基づいて、構成ユニット内のアクチュエータA1乃至A14を、指定された状態に駆動させるように制御する。
【0034】
図5は、ロボット1の電気的な内部構成例を示すブロック図である。
【0035】
頭部ユニット12には、ロボット1の「目」として機能するCCD(Charge Coupled Device )カメラ81Lおよび81R、「耳」として機能するマイクロホン82、タッチセンサ51、並びに超音波センサ83などからなる外部センサ部71、および、「口」として機能するスピーカ72などがそれぞれ所定位置に配設され、制御ユニット52内には、バッテリセンサ91および加速度センサ92などからなる内部センサ部73が配設されている。
【0036】
そして、外部センサ部71のCCDカメラ81Lおよび81Rは、周囲の状況を撮像し、得られた画像信号S1Aを、メイン制御部61に送出する。マイクロホン82は、ユーザから音声入力として与えられる「歩け」、「とまれ」または「右手を挙げろ」等の各種命令音声や周囲の背景雑音を集音し、得られた音声信号S1Bを、メイン制御部61にそれぞれ送出する。なお、マイクロホン82は、1つだけ設けても良いし、複数設けるようにしても良い。
【0037】
また、タッチセンサ51は、例えば、図1および図2に示されるように頭部ユニット12の上部に設けられており、ユーザからの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を、圧力検出信号S1Cとしてメイン制御部61に送出する。
【0038】
超音波センサ83は、図示せぬ音源とマイクを有し、超音波センサ83の内部の音源から、超音波パルスを発する。さらに、超音波センサ83は、その超音波パルスがユーザその他の物体で反射され、返ってくる反射波を、マイクで受信し、超音波パルスを発してから、反射波を受信するまでの時間(以下、適宜、ラグ時間という)S1Dを求め、メイン制御部61に送出する。
【0039】
内部センサ部73のバッテリセンサ91は、バッテリ74のエネルギ残量を所定の周期で検出し、検出結果をバッテリ残量検出信号S2Aとして、メイン制御部61に送出する。加速度センサ92は、ロボット1の移動について、3軸方向(x軸、y軸およびz軸)の加速度を、所定の周期で検出し、その検出結果を、加速度検出信号S2Bとして、メイン制御部61に送出する。
【0040】
外部メモリ75は、プログラムやデータ、および制御パラメータなどを記憶しており、そのプログラムやデータを必要に応じてメイン制御部61に内蔵されるメモリ61Aに供給する。また、外部メモリ75は、データ等をメモリ61Aから受け取り、記憶する。なお、外部メモリ75は、ロボット1から着脱可能となされている。
【0041】
通信部76は、例えば、インターネット上のサイトや、リモートコマンダその他の通信可能な機器との間での通信を制御する。例えば、通信部76において、インターネットの所定のサイトからプログラムをダウンロードすることにより、メモリ61Aや外部メモリ75に記憶されたプログラムやデータなどをバージョンアップすることができる。また、通信部76は、例えば、CCDカメラ81Lおよび81Rで撮像した画像や、マイクロホン82で収集した音声などを、外部のコンピュータや、外出先のユーザの携帯電話機その他のPDA(Personal Digital Assistant)などに送信することができる。
【0042】
メイン制御部61は、メモリ61AとCPU(Central Processing Unit)61Bを内蔵している。メモリ61Aは、OS(Operating System)やアプリケーションなどのプログラム、必要なデータなどを記憶しており、CPU61Bは、メモリ61Aに記憶されたプログラムを実行することで、各種の処理を行う。即ち、メイン制御部61は、外部センサ部71のCCDカメラ81Lおよび81R、マイクロホン82、タッチセンサ51、および超音波センサ83からそれぞれ供給される、画像信号S1A、音声信号S1B、圧力検出信号S1C、およびラグ時間S1D(以下、これらをまとめて外部センサ信号S1と称する)と、内部センサ部73のバッテリセンサ91および加速度センサ等からそれぞれ供給される、バッテリ残量検出信号S2Aおよび加速度検出信号S2B(以下、これらをまとめて内部センサ信号S2と称する)に基づいて、ロボット1の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無などを判断する。
【0043】
そして、メイン制御部61は、ロボット1の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無の判断結果と、内部メモリ61Aに予め格納されている制御プログラム、あるいは、そのとき装填されている外部メモリ75に格納されている各種制御パラメータなどに基づいて、ロボット1の行動を決定し、その決定結果に基づく制御コマンドを生成して、対応するサブ制御部63A乃至63Dに送出する。サブ制御部63A乃至63Dは、メイン制御部61から供給された制御コマンドに基づいて、アクチュエータA1乃至A14のうち、対応するものの駆動を制御する。これにより、ロボット1は、例えば、頭部ユニット12を上下左右に揺動かさせたり、腕部ユニット13A、あるいは、腕部ユニット13Bを上に挙げたり、脚部ユニット14Aと14Bを交互に駆動させて、歩行するなどの行動を行う。
【0044】
また、メイン制御部61は、必要に応じて、所定の音声信号S3をスピーカ72に与えることにより、音声信号S3に基づく音声を外部に出力させる(ロボット1に発話を行わせる)。更に、メイン制御部61は、外見上の「目」として機能する、頭部ユニット12の所定位置に設けられた、図示しないLEDに対して駆動信号を出力することにより、LEDを点滅させる。
【0045】
このようにして、ロボット1は、周囲および内部の状況(状態)や、ユーザからの指令および働きかけの有無などに基づいて、自律的に行動する。
【0046】
図6は、図5のメイン制御部61の機能的構成例を示している。なお、図6に示す機能的構成は、メイン制御部61のCPU61Bが、メモリ61Aに記憶されたプログラムを実行することで実現されるようになっている。
【0047】
メイン制御部61は、特定の外部状態を認識する状態認識情報処理部101、状態認識情報処理部101の認識結果等に基づいて更新される、ロボット1の感情、本能、あるいは、成長の状態などのモデルを記憶するモデル記憶部102、状態認識情報処理部101の認識結果等に基づいて、ロボット1の行動を決定する行動決定機構部103、行動決定機構部103の決定結果に基づいて、実際にロボット1に行動を起こさせる姿勢遷移機構部104、合成音を生成する音声合成部105、から構成されている。
【0048】
状態認識情報処理部101には、マイクロホン82や、CCDカメラ81Lおよび81R、タッチセンサ51等から音声信号、画像信号、圧力検出信号等が入力される。そして、状態認識情報処理部101は、マイクロホン82や、CCDカメラ81Lおよび81R、タッチセンサ51等から与えられる音声信号、画像信号、圧力検出信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報を、モデル記憶部102および行動決定機構部103に出力する。
【0049】
状態認識情報処理部101は、音声認識部101A、画像認識部101B、および圧力処理部101Cを有している。
【0050】
音声認識部101Aは、マイクロホン82から与えられる音声信号S1Bについて音声認識を行う。そして、音声認識部101Aは、例えば、「歩け」、「止まれ」、「右手を挙げろ」等の指令、その他の音声認識結果を、状態認識情報として、モデル記憶部102および行動決定機構部103に通知する。
【0051】
さらに、音声認識部101Aは、マイクロホン82から与えられる音声信号S1Bを対象に話者識別も行う。音声認識部101Aは、その話者識別の結果も、状態認識情報に含めて、モデル記憶部102および行動決定機構部103に通知する。
【0052】
画像認識部101Bは、CCDカメラ81Lおよび81Rから与えられる画像信号S1Aを用いて、画像認識処理を行う。そして、画像認識部101Bは、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直なかつ所定高さ以上の平面」等を検出したときには、「ボールがある」や、「壁がある」等の画像認識結果を、状態認識情報として、モデル記憶部102および行動決定機構部103に通知する。
【0053】
ここで、ユーザは、一般に、ロボット1の正面方向から話しかけることが多いと予想されるため、周囲の状況を撮像するCCDカメラ81Lおよび81Rは、その撮像方向が、ロボット1の正面方向になるように、頭部ユニット12(図1)に設置されているものとする。
【0054】
なお、ユーザが、ロボット1の正面方向からはずれた、例えば、側面や背面方向などから話しかけてきた場合には、CCDカメラ81Lおよび81Rにおいて、ユーザを撮像することができないことになる。そこで、例えば、マイクロホン82に到達する音声信号のパワー差や位相差から音源の方向を推定し、最大の音声レベルが得られるものの方向に、頭部ユニット12を動かすことによって、CCDカメラ81Lおよび81Rにおいて、ユーザを撮像することができるようにすることが可能である。
【0055】
また、例えば、マイクロホン82として、CCDカメラ81Lおよび81Rの撮像方向と同一方向の指向性を有するマイクロホンを採用し、マイクロホン82に入力される音声レベルが最大となる方向に、頭部ユニット12を動かし、これにより、CCDカメラ81Lおよび81Rにおいて、ユーザを撮像することができるようにすることも可能である。
【0056】
圧力処理部101Cは、タッチセンサ51から与えられる圧力検出信号S1Cを処理する。そして、圧力処理部101Cは、その処理の結果、例えば、所定の閾値以上で、かつ短時間の圧力を検出したときには、「叩かれた(しかられた)」と認識し、所定の閾値未満で、かつ長時間の圧力を検出したときには、「撫でられた(ほめられた)」と認識して、その認識結果を、状態認識情報として、モデル記憶部102および行動決定機構部103に通知する。
【0057】
状態認識情報処理部101には、その他、超音波センサ83の出力も供給されるようになっており、状態認識情報処理部101は、超音波センサ83の出力に応じて、所定の物体までの距離を求め、行動決定機構部103に供給する。
【0058】
モデル記憶部102は、ロボット1の感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶、管理している。
【0059】
ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態(度合い)を、所定の範囲(例えば、−1.0乃至1.0等)の値によってそれぞれ表し、状態認識情報処理部101からの状態認識情報や時間経過等に基づいて、その値を変化させる。本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態(度合い)を、所定の範囲の値によってそれぞれ表し、状態認識情報処理部101からの状態認識情報や時間経過等に基づいて、その値を変化させる。成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態(度合い)を、所定の範囲の値によってそれぞれ表し、状態認識情報処理部101からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【0060】
モデル記憶部102は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を、状態情報として、行動決定機構部103に送出する。
【0061】
なお、モデル記憶部102には、状態認識情報処理部101から状態認識情報が供給される他、行動決定機構部103から、ロボット1の現在または過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部102は、同一の状態認識情報が与えられても、行動情報が示すロボット1の行動に応じて、異なる状態情報を生成するようになっている。
【0062】
即ち、例えば、ロボット1が、ユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部102に与えられ、この場合、モデル記憶部102では、「うれしさ」を表す感情モデルの値が増加される。
【0063】
一方、ロボット1が、何らかの仕事を実行中に頭を撫でられた場合には、仕事を実行中であるという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部102に与えられ、この場合、モデル記憶部102では、「うれしさ」を表す感情モデルの値は変化されない。
【0064】
このように、モデル記憶部102は、状態認識情報だけでなく、現在または過去のロボット1の行動を示す行動情報も参照しながら、感情モデルの値を設定する。これにより、例えば、何らかのタスクを実行中に、ユーザが、いたずらするつもりで頭を撫でたときに、「うれしさ」を表す感情モデルの値を増加させるような、不自然な感情の変化が生じることを回避することができる。
【0065】
なお、モデル記憶部102は、本能モデルおよび成長モデルについても、感情モデルにおける場合と同様に、状態認識情報および行動情報の両方に基づいて、その値を増減させるようになっている。また、モデル記憶部102は、感情モデル、本能モデル、成長モデルそれぞれの値を、他のモデルの値にも基づいて増減させるようになっている。
【0066】
行動決定機構部103は、状態認識情報処理部101からの状態認識情報や、モデル記憶部102からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容が、例えば、「ダンスをする」というような音声認識処理や画像認識処理を必要としない場合、その行動の内容を、行動指令情報として、姿勢遷移機構部104に送出する。
【0067】
すなわち、行動決定機構部103は、ロボット1がとり得る行動をステート(状態:state)に対応させた有限オートマトンを、ロボット1の行動を規定する行動モデルとして管理しており、この行動モデルとしての有限オートマトンにおけるステートを、状態認識情報処理部101からの状態認識情報や、モデル記憶部102における感情モデル、本能モデル、または成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を、次にとるべき行動として決定する。
【0068】
ここで、行動決定機構部103は、所定のトリガ(trigger)があったことを検出すると、ステートを遷移させる。即ち、行動決定機構部103は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部102から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下または以上になったとき等に、ステートを遷移させる。
【0069】
なお、行動決定機構部103は、上述したように、状態認識情報処理部101からの状態認識情報だけでなく、モデル記憶部102における感情モデルや、本能モデル、成長モデルの値等にも基づいて、行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても、感情モデルや、本能モデル、成長モデルの値(状態情報)によっては、ステートの遷移先は異なるものとなる。
【0070】
また、行動決定機構部103では、上述したように、ロボット1の頭部や手足等を動作させる行動指令情報の他、ロボット1に発話を行わせる行動指令情報も生成される。ロボット1に発話を行わせる行動指令情報は、音声合成部105に供給されるようになっており、音声合成部105に供給される行動指令情報には、音声合成部105に生成させる合成音に対応するテキスト等が含まれる。そして、音声合成部105は、行動決定機構部103から行動指令情報を受信すると、その行動指令情報に含まれるテキストに基づき、合成音を生成し、スピーカ72に供給して出力させる。
【0071】
姿勢遷移機構部104は、上述したように、行動決定機構部103から供給される行動指令情報に基づいて、ロボット1の姿勢を、現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これをサブ制御部63A乃至63Dに送出する。
【0072】
次に、図7は、図6の音声認識部101Aの構成例を示している。
【0073】
図5のマイクロホン82が出力するアナログの音声信号は、A/D(Analog/Digital)変換部111に供給される。A/D変換部111は、マイクロホン82からのアナログの音声信号をA/D変換し、ディジタルの音声データにして、音声検出部112と特徴抽出部113とに供給する。
【0074】
音声検出部112は、A/D変換部111の出力から、ユーザの音声が入力されている(と思われる)区間を、発話区間として検出し、その発話区間における音声データを処理するように、特徴抽出部113、特徴ベクトルバッファ114、マッチング部115、および話者識別部119を制御する。ここで、発話区間の検出方法としては、例えば、A/D変換部111の出力のパワー(例えば、ある期間ごとの平均パワーなど)が所定値以上(より大)の区間を、発話区間として検出する方法がある。従って、発話区間として検出される区間には、ユーザの音声の他、雑音だけの部分も含まれることがある。また、ユーザの音声ではない何らかの大きな物音が存在する区間なども、発話区間として検出されることがあり得る。
【0075】
特徴抽出部113は、A/D変換部112からの音声データについて、適当なフレームごとに音響分析処理を施し、これにより、例えば、MFCC(Mel Frequency Cepstrum Coefficient)等の特徴量としての特徴ベクトルを抽出する。なお、特徴抽出部113では、その他、例えば、スペクトルや、線形予測係数、ケプストラム係数、線スペクトル対等の特徴ベクトル(特徴パラメータ)を抽出することが可能である。
【0076】
特徴抽出部113においてフレームごとに得られる特徴ベクトルは、特徴ベクトルバッファ114に順次供給されて記憶される。従って、特徴ベクトルバッファ114では、フレームごとの特徴ベクトルが時系列に記憶されていく。
【0077】
なお、特徴ベクトルバッファ114は、例えば、音声検出部112で検出される発話区間に得られる時系列の特徴ベクトルを記憶する。
【0078】
マッチング部115は、特徴ベクトルバッファ114に記憶された特徴ベクトルを用いて、音響モデルデータベース116、辞書データベース117、および文法データベース118を必要に応じて参照しながら、マイクロホン82に入力された音声(入力音声)を、例えば、連続分布HMM法等に基づいて音声認識する。即ち、音響モデルデータベース116は、音響モデルとして、例えば、ガウス分布等の確率密度関数を用いたHMM(Hidden Markov Model)を記憶している。辞書データベース117は、認識対象の各単語(語彙)について、その発音に関する情報(音韻情報)が記述された単語辞書を記憶している。文法データベース118は、辞書データベース117の単語辞書に登録されている各単語が、どのように連鎖する(つながる)かを記述した文法規則(言語モデル)を記憶している。ここで、文法規則としては、例えば、文脈自由文法(CFG)や、正規文法(RG)、統計的な単語連鎖確率(N−gram)などに基づく規則を用いることができる。
【0079】
マッチング部115は、辞書データベース117の単語辞書を参照することにより、音響モデルデータベース116に記憶されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成する。さらに、マッチング部115は、幾つかの単語モデルを、文法データベース118に記憶された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、時系列の特徴ベクトルとのマッチングを、連続分布HMM法によって行い、マイクロホン82に入力された音声を認識する。即ち、マッチング部115は、上述したようにして構成された各単語モデルの系列から、特徴ベクトルバッファ114に記憶された時系列の特徴ベクトルが観測される尤度を表すスコアを計算する。そして、マッチング部115は、例えば、そのスコアが最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列を、音声の認識結果として出力する。
【0080】
なお、ここでは、HMM法により音声認識が行われるため、マッチング部115は、音響的には、接続された単語モデルに対応する単語列について、各特徴ベクトルの出現確率を累積し、その累積値をスコアとする。
【0081】
即ち、マッチング部115におけるスコア計算は、音響モデルデータベース116に記憶された音響モデルによって与えられる音響的なスコア(以下、適宜、音響スコアという)と、文法データベース118に記憶された文法規則によって与えられる言語的なスコア(以下、適宜、言語スコアという)とを総合評価することで行われる。
【0082】
具体的には、音響スコアは、例えば、HMM法による場合には、単語モデルを構成する音響モデルから、特徴抽出部113が出力する特徴ベクトルの系列が観測される確率(出現する確率)に基づいて、単語ごとに計算される。また、言語スコアは、例えば、バイグラムによる場合には、注目している単語と、その単語の直前の単語とが連鎖(連接)する確率に基づいて求められる。そして、各単語についての音響スコアと言語スコアとを総合評価して得られる最終的なスコア(以下、適宜、最終スコアという)に基づいて、音声認識結果が確定される。
【0083】
ここで、音声認識部101Aは、文法データベース118を設けずに構成することも可能である。但し、文法データベース118に記憶された規則によれば、接続する単語モデルが制限され、その結果、マッチング部115における音響スコアの計算の対象とする単語数が限定されるので、マッチング部115の計算量を低減し、処理速度を向上させることができる。
【0084】
なお、マッチング部115は、例えば、最も大きい最終スコアが得られた単語列(または単語)、その最終スコア、HMM法において最終スコアが得られたときに確定する、その最終スコアが得られた単語に対応する音声の区間(音声区間)を、音声認識結果として出力する。この音声認識結果は、話者識別部119と、図6の行動決定機構部103に供給される。
【0085】
話者識別部119は、特徴ベクトルバッファ114に記憶された時系列の特徴ベクトルとマッチング部115の音声認識結果を用いて、発話を行った話者(ユーザ)が、あらかじめ登録された話者のうち誰であるのかを判定、識別する。マッチング部115の音声認識結果には、入力音声(ユーザの音声)における単語(以下、適宜、認識単語という)、その単語の音声区間、最終スコア(音声認識結果の確からしさを表す尤度としてのコンフィデンスメジャー(Confidence Measure))が含められている。話者識別部119は、このような音声認識結果を利用して、例えば、無音部分を除く、有声音のみを用いるなどのルールを適用して話者識別を行う。
【0086】
話者識別方法には、例えば、発話内容があらかじめ決まっているテキスト依存型、話者識別を行う際の発話内容を提示するテキスト指定型、発話内容に依存しないテキスト独立型などがあるが、話者識別部119では、いずれの方法を採用することもできる。さらに、話者識別のアルゴリズムも、特に限定されるものではない。なお、ここでは、例えば、Herbert Gish, Man−Hung Siu, and Robin Rohlicek, ”Segregation of Speakers for Speech Recognition and Speaker Identification”, BBN Systems and Technologies Proc.IEEE ICASSP−91, pp.873−876, May 1991に記載されているアルゴリズムなどを採用することができる。
【0087】
話者識別部119は、話者識別により、発話を行った話者を特定する話者ID(Identification)を求め、その話者IDを、音声認識部101Aによる音声認識結果に含めて、図6の行動決定機構部103に供給する。
【0088】
この場合、行動決定機構部103は、話者識別部119から供給される話者IDによって特定される話者(ユーザ)に応じて、ユーザの発話に対する応答文を生成したり、動作を決定したりといったロボット1の行動(反応)を決定する。
【0089】
行動決定機構部103において、話者(ユーザ)に応じて、ロボット1の行動を決定することにより、ロボット1において、ユーザとのコミュニケーションを円滑に進める行動を行うことが可能となる。
【0090】
即ち、例えば、ロボットにおいて、複数のユーザの名前を記憶しておき、あるユーザが近づいてきた場合には、そのユーザの名前を発話するようにすることができる。また、例えば、ロボットにおいて、ユーザの過去の発話内容を記憶しておき、そのユーザが近くに寄ってきた場合には、「以前、○○○って言っていたよね」などと、ユーザに話しかけるようにすることができる。さらに、例えば、ロボットにおいて、あるユーザAとの会話の最中に、他のユーザBが割り込んできた場合には、一旦は、他のユーザBの方を向いて会話をし、その会話の終了後、元のユーザAの方を振り向いて、「ごめんね、××さん。」(××は、ユーザAの名前)などと発話するようにすることができる。
【0091】
次に、図8は、音声検出部112が検出する発話区間と、マッチング部115で得られる音声区間との関係を示している。
【0092】
音声検出部112では、例えば、A/D変換部111の出力のある期間ごとの平均パワーが所定値以上の区間が、発話区間として検出される。従って、発話区間は、図8に示すように、ユーザの音声が存在する部分の他、そのユーザの音声が存在する部分の前後の部分も含む区間となる。図8では、時間t0乃至t5の区間が、発話区間として検出されている。但し、t0<t5である。
【0093】
一方、マッチング部115では、例えば、HMM法において最終スコアが得られたときに確定する、その最終スコアが得られた単語に対応する音声の区間が、音声区間として得られる。従って、音声区間は、図8に示すように、ユーザの音声が存在する部分だけの区間となる。図8では、時間t0乃至t5の発話区間のうち、時間t1乃至t2の区間と、時間t3乃至t4の区間が、音声区間として検出されている。但し、t0<t1<t2<t3<t4<t5である。
【0094】
次に、図9は、図7の話者識別部119の構成例を示している。
【0095】
話者登録部131は、話者識別に使用するユーザの情報と、そのユーザを特定する話者IDとを対応付けて、登録話者記憶部132に供給することにより、話者識別の対象とするユーザを登録する。登録話者記憶部132は、話者登録部131から供給される情報を記憶する。
【0096】
有効区間設定部133には、図7のマッチング部115が出力する音声認識結果としての認識単語(列)、最終スコア、および音声区間が供給されるようになっている。有効区間設定部133は、音声認識結果のうちの、例えば、最終スコアと音声区間に基づき、話者識別を行うのに有効な区間(以下、適宜、有効区間という)を設定し、話者識別処理部134に供給する。
【0097】
話者識別処理部134は、有効区間設定部133から供給される有効区間の特徴ベクトル系列を、特徴ベクトルバッファ114から読み出し、その特徴ベクトル系列を用い、登録話者記憶部132に情報が記憶されている話者(ユーザ)を対象とした話者識別処理を行い、発話を行ったユーザの話者IDを求める。そして、話者識別処理部134は、話者識別の結果得られる話者IDを、話者の識別結果として出力する。
【0098】
言語処理部135には、図7のマッチング部115が出力する音声認識結果としての認識単語、最終スコア、および音声区間が供給されるようになっている。言語処理部135は、音声認識結果のうちの認識単語を言語処理することにより、ユーザの発話内容を理解し、その発話内容に基づいて、同一ユーザによる発話が続いているかどうかを判定する。さらに、言語処理部135は、その判定結果に基づいて、話者識別処理部134を制御する。
【0099】
次に、図10のフローチャートを参照して、図9の話者識別部119の処理について説明する。
【0100】
話者識別部119は、例えば、図7のマッチング部115から音声認識結果としての認識単語、最終スコア、および音声区間が供給された場合に、処理を開始する。
【0101】
即ち、マッチング部115から話者識別部119に対して、音声認識結果としての認識単語、最終スコア、および音声区間が供給されると、ステップS1において、有効区間設定部133と言語処理部135は、その音声認識結果としての認識単語、最終スコア、および音声区間を受信することにより取得し、ステップS2に進む。
【0102】
ステップS2では、有効区間設定部133が、ステップS1で取得した最終スコアが所定の条件を満たすかどうか、即ち、例えば、最終スコアが所定の閾値以上(より大)であるかどうかを判定する。ステップS2において、最終スコアが所定の閾値以上でないと判定された場合、即ち、マッチング部115から供給された音声認識結果の確からしさが低い場合、話者識別部119は、ステップS3乃至S7をスキップして、処理を終了する。
【0103】
即ち、音声認識結果の確からしさが低い場合は、例えば、大きな物音などの、ユーザの正常な音声以外について音声認識が行われたとして、話者識別部119は、話者識別処理を行わない。従って、この場合、誤った話者識別結果が得られることを防止することができる。
【0104】
なお、ステップS2で用いる閾値は、例えば、実験等によって決定しておくことができる。
【0105】
一方、ステップS2において、最終スコアが所定の閾値以上であると判定された場合、ステップS3に進み、有効区間設定部133は、音声区間内のある区間を、話者識別処理部134において話者識別処理の対象とする区間である有効区間として設定する。即ち、有効区間設定部133は、例えば、音声認識結果としての音声区間を、そのまま有効区間として設定する。また、有効区間設定部133は、例えば、音声認識結果としての音声区間から、有声音の部分だけを検出し、その区間を、有効区間として設定する。そして、有効区間設定部133は、設定した有効区間を、話者識別処理部134に供給して、ステップS3からS4に進む。
【0106】
ステップS4では、言語処理部135が、ステップS1で取得した音声認識結果としての認識単語を言語処理することにより、ユーザの発話内容を理解し、ステップS5に進む。ステップS5では、言語処理部135は、ステップS4で理解した発話内容に基づいて、直前の話者識別処理の対象となったユーザと同一ユーザによる発話が続いているかどうかを判定する。ステップS5において、直前の話者識別処理の対象となったユーザと同一ユーザによる発話が続いていると判定された場合、話者識別部119は、ステップS6およびS7をスキップして、処理を終了する。
【0107】
即ち、直前の話者識別処理の対象となったユーザと同一ユーザによる発話が続いている場合には、発話を行っているユーザは、その直前の話者識別処理によって識別されたユーザであるから、新たに、話者識別処理を行う必要性が低い。そこで、ここでは、直前の話者識別処理の対象となったユーザと同一ユーザによる発話が続いている場合には、話者識別処理部134による話者識別処理を停止するようになっている。
【0108】
一方、ステップS5において、直前の話者識別処理の対象となったユーザと同一ユーザによる発話が続いていると判定された場合、ステップS6に進み、話者識別処理部134は、ステップS3で有効区間設定部133から供給された有効区間を対象とした話者識別処理を行う。即ち、話者識別処理部134は、有効区間設定部133から供給される有効区間の特徴ベクトル系列を、特徴ベクトルバッファ114から読み出し、その特徴ベクトル系列を用い、登録話者記憶部132に情報が記憶されている話者(ユーザ)を対象とした話者識別処理を行う。
【0109】
なお、話者識別処理部134で採用する話者識別処理のアルゴリズムは、特に限定されない。また、ここでは、ユーザの音声から得られた特徴ベクトル系列を用いて話者識別処理を行うが、話者識別処理は、その他、例えば、CCDカメラ81Lおよび81Rがユーザを撮像することにより得られるユーザの画像も用いて行うことが可能である。
【0110】
話者識別処理部134は、ステップS6において話者識別処理を行うことにより、発話を行ったユーザの話者IDを得ると、ステップS7に進み、その話者IDを出力して処理を終了する。
【0111】
以上のように、話者識別部119では、音声認識結果に基づいて、有効区間を設定し、その有効区間の音声に基づいて、話者識別処理を行うので、ユーザの特徴が含まれる、話者識別処理に有効な音声の部分のみを対象として、話者識別処理を行うことができる。そして、その結果、高精度な話者識別結果を得ることができる。
【0112】
さらに、話者識別部119では、認識単語の最終スコアが大きい場合に、話者識別処理が行われるので、ユーザの音声でない部分を対象として話者識別処理が行われることによる処理精度の劣化を防止することができる。
【0113】
また、話者識別部119では、認識単語に基づいて、ユーザによる発話内容を理解し、その発話内容に基づいて、同一ユーザによる発話が続いているかどうかを判定し、前回識別したユーザと同一のユーザの発話が続いている場合には、話者識別処理を行わない(停止する)ようにしたので、図5のCPU61Bの負担を軽減することができる。
【0114】
ここで、上述した一連の処理を実行するプログラムは、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができ、メモリ61Aにインストールされる。
【0115】
さらに、プログラムは、上述したようなリムーバブル記録媒体からメモリ61Aにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、メモリ61Aにインストールすることができる。
【0116】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0117】
また、話者識別部119では、認識単語の最終スコアの大小や、前回識別したユーザと同一のユーザの発話が続いているかどうかにかかわらず、音声認識結果を得た場合に、話者識別処理を行うようにすることが可能である。
【0118】
さらに、話者識別部119では、音声認識結果が得られるごとに、話者識別処理を行う他、無音がある程度連続した直後のユーザの音声(会話の開始直後のユーザの音声)の音声認識結果が得られた場合だけ、話者識別処理を行うようにすることが可能である。
【0119】
また、音声認識部101Aにおいては、音響モデルデータベース116の音響モデルを、ユーザ(話者)ごとに適応させる話者適応(モデル適応)を行う機能を設けることができる。この場合、話者識別部119において話者識別処理結果としての話者IDが得られた後は、別の話者IDが得られるまでに入力されるユーザの音声を用い、そのユーザについての話者適応を行うようにすることができる。
【0120】
なお、本発明は、ロボット以外の話者識別を行う機能を備えるあらゆる装置に適用可能である。
【0121】
【発明の効果】
以上の如く、本発明によれば、話者識別の精度を向上させることができる。
【図面の簡単な説明】
【図1】本発明を適用したロボット1の外観構成を示す斜視図である。
【図2】ロボット1の外観構成を示す、背後側の斜視図である。
【図3】ロボット1の軸構成について説明するための略線図である。
【図4】ロボット1の制御系の構成例を示すブロック図である。
【図5】ロボット1の電気的構成例を示すブロック図である。
【図6】メイン制御部61の機能的構成を示すブロック図である。
【図7】音声認識部101Aの構成例を示すブロック図である。
【図8】発話区間と音声区間を説明する図である。
【図9】話者識別部119の構成例を示すブロック図である。
【図10】話者識別部119の処理を説明するフローチャートである。
【符号の説明】
82 マイクロホン, 101A 音声認識部, 111 A/D変換部, 112 音声検出, 113 特徴抽出部, 114 特徴ベクトルバッファ,115 マッチング部, 119 話者識別部, 131 話者登録部, 132 登録話者記憶部, 133 有効区間設定部, 134 話者識別処理部, 135 言語処理部
Claims (7)
- 話者を識別する話者識別装置において、
音声を認識する音声認識手段による前記話者の音声認識結果を取得する取得手段と、
前記音声認識結果に基づいて、前記話者の識別に用いる音声の区間である有効区間を設定する設定手段と、
前記有効区間の音声に基づいて、前記話者を識別する識別処理を行う識別手段と
を備えることを特徴とする話者識別装置。 - 前記音声認識結果は、前記話者が発話した語彙の音声区間を少なくとも含み、
前記設定手段は、前記音声区間内の区間を、前記有効区間として設定する
ことを特徴とする請求項1に記載の話者識別装置。 - 前記音声認識結果は、その音声認識結果の確からしさを表すスコアを含み、
前記スコアが所定の条件を満たすかどうかを判定するスコア判定手段をさらに備え、
前記識別手段は、前記スコアが所定の条件を満たす場合に、前記識別処理を行う
ことを特徴とする請求項1に記載の話者識別装置。 - 前記音声認識結果は、前記話者が発話した語彙を含み、
前記話者が発話した語彙に基づいて、前記話者による発話内容を理解し、その発話内容に基づいて、同一話者による発話が続いているかどうかを判定する発話内容判定手段をさらに備え、
前記識別手段は、前回識別した話者と同一の話者の発話が続いている場合、前記識別処理を停止する
ことを特徴とする請求項1に記載の話者識別装置。 - 前記音声認識手段をさらに備える
ことを特徴とする請求項1に記載の話者識別装置。 - 話者を識別する話者識別方法において、
音声を認識する音声認識手段による前記話者の音声認識結果を取得する取得ステップと、
前記音声認識結果に基づいて、前記話者の識別に用いる音声の区間である有効区間を設定する設定ステップと、
前記有効区間の音声に基づいて、前記話者を識別する識別処理を行う識別ステップと
を備えることを特徴とする話者識別方法。 - 話者を識別する話者識別処理を、コンピュータに行わせるプログラムにおいて、
音声を認識する音声認識手段による前記話者の音声認識結果を取得する取得ステップと、
前記音声認識結果に基づいて、前記話者の識別に用いる音声の区間である有効区間を設定する設定ステップと、
前記有効区間の音声に基づいて、前記話者を識別する識別処理を行う識別ステップと
を備えることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003075578A JP2004286805A (ja) | 2003-03-19 | 2003-03-19 | 話者識別装置および話者識別方法、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003075578A JP2004286805A (ja) | 2003-03-19 | 2003-03-19 | 話者識別装置および話者識別方法、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004286805A true JP2004286805A (ja) | 2004-10-14 |
Family
ID=33290861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003075578A Withdrawn JP2004286805A (ja) | 2003-03-19 | 2003-03-19 | 話者識別装置および話者識別方法、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004286805A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005076661A1 (ja) * | 2004-02-10 | 2005-08-18 | Mitsubishi Denki Engineering Kabushiki Kaisha | 超指向性スピーカ搭載型移動体 |
WO2005076660A1 (ja) * | 2004-02-10 | 2005-08-18 | Mitsubishi Denki Engineering Kabushiki Kaisha | 超指向性スピーカ搭載型移動体 |
JP2007156337A (ja) * | 2005-12-08 | 2007-06-21 | Nippon Telegr & Teleph Corp <Ntt> | 音声信号分析装置、音声信号分析方法、音声信号分析プログラム、自動音声認識装置、自動音声認識方法及び自動音声認識プログラム |
KR100840427B1 (ko) * | 2005-12-12 | 2008-06-20 | 혼다 기켄 고교 가부시키가이샤 | 각식 이동 로봇의 제어장치 |
JP2008299221A (ja) * | 2007-06-01 | 2008-12-11 | Fujitsu Ten Ltd | 発話検知装置 |
JP2011221101A (ja) * | 2010-04-05 | 2011-11-04 | Ai:Kk | コミュニケーション装置 |
JPWO2014024751A1 (ja) * | 2012-08-10 | 2016-07-25 | エイディシーテクノロジー株式会社 | 音声応答装置 |
-
2003
- 2003-03-19 JP JP2003075578A patent/JP2004286805A/ja not_active Withdrawn
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005076661A1 (ja) * | 2004-02-10 | 2005-08-18 | Mitsubishi Denki Engineering Kabushiki Kaisha | 超指向性スピーカ搭載型移動体 |
WO2005076660A1 (ja) * | 2004-02-10 | 2005-08-18 | Mitsubishi Denki Engineering Kabushiki Kaisha | 超指向性スピーカ搭載型移動体 |
US7424118B2 (en) | 2004-02-10 | 2008-09-09 | Honda Motor Co., Ltd. | Moving object equipped with ultra-directional speaker |
JP2007156337A (ja) * | 2005-12-08 | 2007-06-21 | Nippon Telegr & Teleph Corp <Ntt> | 音声信号分析装置、音声信号分析方法、音声信号分析プログラム、自動音声認識装置、自動音声認識方法及び自動音声認識プログラム |
JP4630183B2 (ja) * | 2005-12-08 | 2011-02-09 | 日本電信電話株式会社 | 音声信号分析装置、音声信号分析方法及び音声信号分析プログラム |
KR100840427B1 (ko) * | 2005-12-12 | 2008-06-20 | 혼다 기켄 고교 가부시키가이샤 | 각식 이동 로봇의 제어장치 |
JP2008299221A (ja) * | 2007-06-01 | 2008-12-11 | Fujitsu Ten Ltd | 発話検知装置 |
JP2011221101A (ja) * | 2010-04-05 | 2011-11-04 | Ai:Kk | コミュニケーション装置 |
JPWO2014024751A1 (ja) * | 2012-08-10 | 2016-07-25 | エイディシーテクノロジー株式会社 | 音声応答装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4296714B2 (ja) | ロボット制御装置およびロボット制御方法、記録媒体、並びにプログラム | |
US7065490B1 (en) | Voice processing method based on the emotion and instinct states of a robot | |
EP1609568B1 (en) | Robot device, information processing method, and program | |
JP2004090109A (ja) | ロボット装置およびロボット装置の対話方法 | |
US20030163320A1 (en) | Voice synthesis device | |
JP2004198831A (ja) | 音声認識装置および方法、プログラム、並びに記録媒体 | |
JP2001188779A (ja) | 情報処理装置および方法、並びに記録媒体 | |
JP2002116792A (ja) | ロボット制御装置およびロボット制御方法、並びに記録媒体 | |
WO2019181144A1 (ja) | 情報処理装置及び情報処理方法、並びにロボット装置 | |
JP2004286805A (ja) | 話者識別装置および話者識別方法、並びにプログラム | |
JP4600736B2 (ja) | ロボット制御装置および方法、記録媒体、並びにプログラム | |
JP4587009B2 (ja) | ロボット制御装置およびロボット制御方法、並びに記録媒体 | |
JP4706893B2 (ja) | 音声認識装置および方法、並びに、プログラムおよび記録媒体 | |
JP2002268663A (ja) | 音声合成装置および音声合成方法、並びにプログラムおよび記録媒体 | |
JP2001154693A (ja) | ロボット制御装置およびロボット制御方法、並びに記録媒体 | |
JP4656354B2 (ja) | 音声処理装置および音声処理方法、並びに記録媒体 | |
JP2005335001A (ja) | ロボット制御装置および方法、記録媒体、並びにプログラム | |
JP2004170756A (ja) | ロボット制御装置および方法、記録媒体、並びにプログラム | |
JP2002258886A (ja) | 音声合成装置および音声合成方法、並びにプログラムおよび記録媒体 | |
JP4742415B2 (ja) | ロボット制御装置およびロボット制御方法、並びに記録媒体 | |
JP2001188783A (ja) | 情報処理装置および方法、並びに記録媒体 | |
JP4639533B2 (ja) | 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 | |
JP2001154692A (ja) | ロボット制御装置およびロボット制御方法、並びに記録媒体 | |
JP2004258290A (ja) | 音声処理装置および方法、記録媒体、並びにプログラム | |
JP2004258289A (ja) | ロボット制御装置および方法、記録媒体、並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060606 |