説明

音響処理装置およびプログラム

【課題】話者交替点検出および話者認識の精度のよい音響処理装置を提供する。
【解決手段】音響処理装置において、音素認識部が入力される音響特徴量データに基づき音素認識を行なう。音素クラス分類部が音素情報に基づいて音素クラス別音響特徴量を生成する。そして、話者交替点検出部は、音素クラスに関連付けられた音響特徴量データを読み出し、時間区間を区切って得られる第1区間と第2区間のそれぞれに属する音響特徴量データについて、音素クラス毎の統計量を算出し、第1区間および第2区間に対応する複数の音素クラスの統計量をクラスタ分析処理することによって、第1区間と第2区間が別クラスタであると判定される場合に話者交替点を検出する。話者クラスタリング部は、蓄積された複数の音素クラスの統計量と、予め話者モデルとして記憶された複数の音素クラスの統計量とに基づくクラスタ分析処理で、話者を識別する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、発話音声の音響特徴量に基づき話者交替点を検出したり話者を識別したりする音響処理装置、およびそのプログラムに関する。
【背景技術】
【0002】
一般に、話者認識技術とは、音声を基に個人を認識する技術のことである。その応用分野としては、ある人物が本人であるかどうかを音声により照合/認証する話者照合/話者認証や、入力される音声から「誰が、いつ」発話したかを検出し時刻情報付きで話者識別結果(話者名もしくは話者IDなど)を出力する話者識別(スピーカー・ダイアライゼーション)などが挙げられる。
【0003】
話者照合/話者認証では、通常は1フレーズ程度のパスワードなどといった短い発話を基に、本人の照合/認証を行う。それに対し、話者識別では、例えばニュース音声や会議音声など、複数の異なる話者が交替して発話するような状況を想定している。従って、「誰が、いつ」発話したかを判定するためには、まず発話者が交替した時点(話者交替点)を検出し、さらに、その発話交替点の情報をもとに話者判定を行うという2段階の処理が必要となる。
【0004】
また、話者照合/話者認証では、基本的には登録された話者かそうでないかの二者択一の判定が行われる。それに対し、話者識別では、複数の話者の中からどの話者が発話したか、もしくは、それら複数の話者には含まれない新規話者(例えば、それまでには発話していなかった話者)であるか、を判定するための話者クラスタリングが行われる。そして、新規話者が検出された場合には、その新規話者の発話の統計量である話者モデルを逐次作成し登録する。このような処理により、話者識別では、あらかじめ登録された話者だけでなく、オンラインで逐次登録される新規話者も加えた複数の話者の中から、話者の判定が行われる。
【0005】
非特許文献1には、発話から刻々得られる音響特徴量を用いて、話者交替点の検出を行う技術が記載されている。また、非特許文献2には、音響特徴量を用いて話者判定を行う技術が記載されている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Daben Liu,Francis Kubala,“Fast Speaker Change Detection for Broadcast News Transcription and Indexing”,1999年,Proc. Sixth European Conference on Speech Communication and Technology (Eurospeech ’99),pp.1031−1034
【非特許文献2】Daben Liu,Francis Kubala,“Online Speaker Clustering”,2004年,ICASSP’04,pp.333−336
【発明の概要】
【発明が解決しようとする課題】
【0007】
上で説明した従来技術では、発話の音響的特徴量系列をすべて同等に扱っているため、識別誤りが存在する。本発明は、話者交替点検出の精度および話者識別の精度を向上させることのできる音響処理装置およびそのプログラムを提供することを目的とする。
【0008】
また、本発明は、オンラインで刻々得られる音響特徴量を、遅滞なく処理することのできる音響処理装置およびそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
[1]上記の課題を解決するため、本発明の一態様による音響処理装置は、音響特徴量データを音素クラスに関連付けて記憶するクラス別音響特徴量記憶部と、入力される音響特徴量データに基づき音素認識処理を行いその結果得られる音素情報を出力する音素認識部と、前記音素認識部で得られた前記音素情報に基づいて前記音響特徴量データを前記音素クラスに分類するとともにその結果得られる音素クラス情報を関連付けた前記音響特徴量データを前記クラス別音響特徴量記憶部に書き込む音素クラス分類部と、前記クラス別音響特徴量記憶部から前記音素クラスに関連付けられた前記音響特徴量データを読み出し、所定の時間区間を候補点で区切って得られる第1区間と第2区間のそれぞれに属する前記音響特徴量データについて、前記音素クラス毎の統計量を算出し、前記第1区間に対応する複数の前記音素クラスの前記統計量と前記第2区間に対応する複数の前記音素クラスの前記統計量とをクラスタ分析処理することによって、前記第1区間と前記第2区間が別クラスタであると判定される場合に当該候補点を話者交替点として検出する話者交替点検出部とを具備することを特徴とする。
【0010】
ここで、音素クラスとは、複数の音素を含むクラスである。例えば、母音、子音、鼻音などは音素クラスとなり得る。音素クラスは、音素の集合に対応付けられる。つまり、音素クラスと音素とは、原則として1対多の対応関係である。但し、特殊な場合、1対1の対応関係が含まれていても良い。また、統計量とは、音響特徴量データの統計的性質を表わすデータである。例えば、音素クラス毎の、或いは音素クラス毎且つ話者毎の、音響特徴量データのフレーム数(サンプル数)や、平均値や、共分散行列などが、この統計量である。
また、クラスタ分析処理としては、例えばベイズ情報量基準に基づくクラスタ分析を行う。具体的には、第1区間と第2区間を同一クラスタと見なす場合の統計量と別クラスタと見なす場合の統計量との差分に基づき、いずれであるかを判定する。
また、上記候補点を、音素境界の点の集合に限定するようにしても良い。
【0011】
[2]また、本発明の一態様による音響処理装置は、話者毎の音素クラス別の音響特徴量の統計量を記憶する話者モデル記憶部と、判定対象区間に属する前記音響特徴量データについての複数の前記音素クラスの統計量と前記話者モデル記憶部から読み出した話者毎の複数の前記音素クラスの前記統計量とをクラスタ分析処理することによって、前記判定対象区間の話者を判定する話者クラスタリング部とを更に具備する。
【0012】
この構成においても、クラスタ分析処理としては、例えばベイズ情報量基準に基づくクラスタ分析を行う。判定対象区間の統計量と、話者モデル記憶部に記憶されている各話者の統計量とに基づき、判定対象区間の話者を識別する。
なお、話者の識別結果に基づき、判定対象区間で得られた統計量を用いて、話者モデル記憶部に記憶されている統計量を更新するようにしても良い。
また、クラスタ分析処理の結果、判定対象区間の統計量が、話者モデルに既に記憶されている各話者に対応するクラスタのいずれにも該当しないと判定された場合には、当該判定対象区間の話者を新規話者として判定結果を出力するようにしても良い。
また更に、判定対象区間の話者が新規話者であると判定された場合には、判定対象区間で得られた統計量を用いて、話者モデル記憶部に当該新規話者の統計量を新規登録するようにしても良い。
【0013】
[3]また、本発明の一態様は、上記の音響処理装置において、前記話者クラスタリング部が、前記話者交替点検出部によって検出された前記話者交替点で区切られる区間を前記判定対象区間とする。
【0014】
[4]また、本発明の一態様は、上記の音響処理装置において、前記話者クラスタリング部が、前記話者交替点に加えて、検出された発話区間の発話末においても区切られる区間を前記判定対象区間とする。
【0015】
[5]また、本発明の一態様は、上記の音響処理装置において、前記話者クラスタリング部が、最新の時刻より予め定められた所定の時間窓の長さ以前の区間を前記判定対象区間として、逐次話者を判定する。
【0016】
[6]また、本発明の一態様による音響処理装置は、予め記憶された話者毎の音響モデルから、前記話者クラスタリング部によって判定された話者の音響モデルを選択し、当該選択された音響モデルを用いて前記判定対象区間の音声認識処理を行う音声認識処理部を更に具備する。
【0017】
[7]また、本発明の一態様は、コンピュータを、音響特徴量データを音素クラスに関連付けて記憶するクラス別音響特徴量記憶部と、入力される音響特徴量データに基づき音素認識処理を行いその結果得られる音素情報を出力する音素認識部と、前記音素認識部で得られた前記音素情報に基づいて前記音響特徴量データを前記音素クラスに分類するとともにその結果得られる音素クラス情報を関連付けた前記音響特徴量データを前記クラス別音響特徴量記憶部に書き込む音素クラス分類部と、前記クラス別音響特徴量記憶部から前記音素クラスに関連付けられた前記音響特徴量データを読み出し、所定の時間区間を候補点で区切って得られる第1区間と第2区間のそれぞれに属する前記音響特徴量データについて、前記音素クラス毎の統計量を算出し、前記第1区間に対応する複数の前記音素クラスの前記統計量と前記第2区間に対応する複数の前記音素クラスの前記統計量とをクラスタ分析処理することによって、前記第1区間と前記第2区間が別クラスタであると判定される場合に当該候補点を話者交替点として検出する話者交替点検出部とを具備する音響処理装置として機能させるプログラムである。
【発明の効果】
【0018】
本発明によれば、音声入力からできるだけ少ない遅れ時間で話者を高精度に判定することができるようになる。また、話者適応による音声認識精度の改善など、話者判定結果を用いた様々な音声処理の精度を向上させることができる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施形態による話者識別装置(音響処理装置)の概略機能構成を示すブロック図である。
【図2】同実施形態による話者識別装置の処理要点を示す概略図である。
【図3】同実施形態による、音素を音素クラスに分類するための対応関係を保持する音素クラス分類テーブルの構成とそのデータ例を示す概略図である。
【図4】同実施形態による、音響特徴量データを元にクラス別音響特徴量の抽出を行う処理の手順を示すフローチャートである。
【図5】同実施形態によるクラス別音響特徴量記憶部が記憶するデータの構成を示す概略図である。
【図6】同実施形態による話者交替点検出の処理の手順を示すフローチャートである。
【図7】同実施形態による話者モデル記憶部に記憶される話者モデルのデータ構成を示す概略図である。
【図8】同実施形態による話者クラスタリング部が実行するクラスタリング処理(話者判定)の手順を示すフローチャートである。
【発明を実施するための形態】
【0020】
以下、図面を参照しながら、本発明の一実施形態について説明する。
図1は、本実施形態による話者識別装置の機能構成を示すブロック図である。この図において、符号1は話者識別装置(音響処理装置)である。図示するように、話者識別装置1は、音素クラス分類部5と、音素情報記憶部6と、音素認識部7と、クラス別音響特徴量記憶部8と、話者交替点検出部9と、統計量データ蓄積部10と、話者交替点データ記憶部11と、話者クラスタリング部12と、話者モデル記憶部13とを含んで構成される。そして、この話者識別装置1は、発話音声データ2を元に外部の音響特徴量抽出部3が抽出した音響特徴量データ4を取り込むように構成されている。また、この話者識別装置1は、話者識別結果データ14を出力する。
この構成において、音素情報記憶部6や、クラス別音響特徴量記憶部8や、統計量データ蓄積部11や、話者交替点データ記憶部11や、話者モデル記憶部13は、半導体記憶装置や磁気ハードディスク装置などを用いて実現される。
【0021】
音素認識部7は、入力される音響特徴量データ4に基づき音素認識処理を行いその結果得られる音素情報を音素情報記憶部6に書き込む。
音素情報記憶部6は、音素認識部7によって得られた音素情報を、該当する音響特徴量データに関連付けて記憶する。
音素クラス分類部5は、音素認識部7で得られた音素情報に基づいて音響特徴量データを音素クラス毎に分類するとともに、その結果得られる音素クラス情報を音響特徴量データに関連付けてクラス別音響特徴量記憶部8に書き込む。
クラス別音響特徴量記憶部8は、音響特徴量データを音素クラスに関連付けて記憶する。
【0022】
話者交替点検出部9は、クラス別音響特徴量記憶部8から音素クラスに関連付けられた音響特徴量データを読み出し、時間区間を候補点(話者交替点の候補)で区切って得られる第1区間(例えば候補点の前の区間)と第2区間(例えば候補点の後の区間)のそれぞれに属する音響特徴量データについて、音素クラス毎の統計量(例えば、当該音素クラスに属するフレーム数と、当該音素クラスに属する音響特徴量データに基づく共分散行列)を算出し、第1区間に対応する複数の音素クラスの統計量と第2区間に対応する複数の音素クラスの統計量とをクラスタ分析処理(具体的には、例えば、後述するベイズ情報量基準を用いて、第1区間と第2区間とが同一クラスタと見なせるか別クラスタと見なせるかを、数値的に分析する)することによって、第1区間と第2区間が統計的に別クラスタであると判定される場合に候補点を話者交替点として検出する。
【0023】
統計量データ蓄積部10は、処理中の音響特徴量の統計量を蓄積する。話者交替点検出部9がここに蓄積される統計量を逐次更新し、話者クラスタリング部12が蓄積された統計量を用いて話者判定を行う。
話者交替点データ記憶部11は、話者交替点検出部9によって検出された話者交替点の情報(具体的には、時刻情報や、フレームのインデックス番号など)を記憶する。
【0024】
話者クラスタリング部12は、判定対象区間に属する音響特徴量データについての複数の音素クラスの統計量(統計量データ蓄積部10から得られる)と話者モデル記憶部13から読み出した話者毎の複数の音素クラスの統計量とをクラスタ分析処理することによって、判定対象区間の話者を判定する。
なお、話者クラスタリング部12は、手法1を用いる場合には話者交替点検出部9によって検出された話者交替点で区切られる区間を判定対象区間とし、手法2を用いる場合には前記話者交替点に加えて検出された発話区間の発話末においても区切られる区間を判定対象区間とし、手法3を用いる場合には最新の時刻(例えば現在時刻)より予め定められた所定の時間窓の長さ(w)以前の区間を判定対象区間として逐次話者を判定する。これらの手法1〜3については、後で詳しく説明する。
話者モデル記憶部13は、話者毎の音素クラス別の音響特徴量の統計量を記憶する。
【0025】
発話音声データ2は、発話音声を適宜サンプリングして得られるデータであり、具体的には、時間領域における強度あるいは周波数領域における強度を表わす数値データである。
音響特徴量抽出部3は、発話音声データ2から音響特徴量データ4を抽出する。
話者識別結果データ14は、話者を識別する情報であり、番号や記号や文字(氏名)など、適宜、適切な形態のデータを用いる。
【0026】
つまり、発話音声データ2を入力として、音響特徴量抽出部3において音響特徴量データ4を抽出する。そして、話者識別装置1では、音素認識部7で得られる音素情報を用いて、音素クラス分類部5において、発話の音響特徴量データ4からクラス別音響特徴量を得て、クラス別音響特徴量記憶部8に書き込む。このクラス別音響特徴量記憶部8から読み出した情報を用いて、話者交替点検出部9にて話者交替点を検出し、また特徴量の統計量を統計量データ蓄積部10に蓄積する。また、話者クラスタリング部12は話者モデル記憶部13に登録された話者モデルにより、話者の判定を行い、話者識別結果データ14を出力する。
【0027】
図2は、話者識別装置1による処理の要点を示す概略図である。同図において、符号50は発話音声の信号を表わす。この発話音声50は時系列の信号であり、同図においては、左から右への時間軸に沿って示されている。この発話音声50は、発話音声データ2および音響特徴量データ4に対応するものである。
また、51は音素情報であり、この音素情報51は音素認識部7が音響特徴量データ4に基づいて音素を認識した結果として得られる。音素情報51は、音素情報記憶部6に記憶されている。図2において、音素情報51は、前記時間軸に沿って、発話音声50に対応する形で示されている。
52はクラス別音響特徴量である。このクラス別音響特徴量52は、音素クラス分類部5が、音素情報51を用いて、音響特徴量データ4を音素のクラスごとに分類することによって得られるものである。クラス別音響特徴量52は、クラス別音響特徴量記憶部8に記憶される。
53は話者交替の候補点である。図2において、三角形の印で示すものが前記時間軸における話者交替の候補点である。なお、話者交替の候補点を決定する方法については後述する。
【0028】
54は話者交替点を検出する処理を示している。この処理は、話者交替の候補点53の各々について、その前後のクラス別音響特徴量52を統計的に比較することによって、話者交替点55を検出するものである。図示する例では、音素情報「a」と音素情報「e:」の間の候補点について、当該候補点の前の区間(音素情報「・・・esuka」に対応)と後の区間(音素情報「e:wata・・・」に対応)のクラス別音響特徴量を分析し、その結果、当該候補点が話者交替点55として検出されている。
【0029】
56は、話者判定をする時刻を示す。そして、検出された話者交替点55から話者判定する時刻56までの区間について、話者クラスタリング部12が話者判定(符号57)を行う。このとき、話者クラスタリング部12は、話者モデル記憶部13に記憶されている話者モデルのデータを参照して統計的な比較を行う。そして、この話者判定の結果、識別された話者が既存の話者であった場合には、話者クラスタリング部12は、当該話者のクラス別音響特徴量に基づいて、話者モデル記憶部13における当該話者の話者モデルを更新する。また、識別された話者が新規の話者であった場合には、話者クラスタリング部12は、当該話者のクラス別音響特徴量に基づいて話者モデルを新たに作成して話者モデル記憶部13に登録する。
【0030】
図3は、音素クラス分類部3が内部に保持する音素クラス分類テーブルの構成とそのテーブルのデータ例を示す概略図である。この音素クラス分類テーブルは、例えば半導体メモリなどを用いて実現される。図示するように、この音素クラス分類テーブルは、音素クラスと、各クラスに属する音素情報(「a」や「a:」や「b」など)との関係を対応付ける。これらの音素情報は、音響特徴量1フレーム毎に得られる読みの情報である。図示するデータ例では、音素クラスの総数は2であり、1番目のクラスは「母音+鼻音」であり、「a」,「a:」,「i」,「i:」,「u」,「u:」,「e」,「e:」,「o」,「o:」,「n」,「ny」,「m」,「my」,「N」の各音素がこの1番目のクラスに属する。また、2番目のクラスは「子音」であり、「b」,「by」,「ch」,「d」,「dy」,「f」,「g」,「gy」,「h」,「hy」,「j」,「k」,「ky」,「p」,「py」,「r」,「ry」,「s」,「sh」,「t」,「ts」,「w」,「y」,「z」の各音素がこの2番目のクラスに属する。音声処理技術において、「母音十鼻音」は音響特徴量として個人的特性をより多く含む音素であるため、ここではこの「母音十鼻音」をひとつの音素クラスとして分類している。
なお、図示している例以外にも様々な音素の分類のしかたが考えられ、例えば音素クラスの総数を3とし、それぞれのクラスを「母音」、「有声子音」、「無声子音」としても良い。
【0031】
次に、クラス別音響特徴量を得る処理について説明する。その前提として、外部の音響特徴量抽出部3が、発話音声データ2を分析し、音響特徴量データ4を予め生成している。
音響特徴量データは様々な形態のものを使用し得る。本実施形態では、1フレームの時間の長さを10ミリ秒(msec)として、1フレーム毎に、12次元のMFCC(Mel-Frequency Cepstrum Coefficient,メル周波数ケプストラム係数)および対数パワーと、その1次微分(1階差分)および2次微分(2階差分)との、計39次元のベクトルを音響特徴量データとしている。
【0032】
図4は、上記の音響特徴量データ4を元に、音素認識部7および音素クラス分類部5がクラス別音響特徴量の抽出を行う処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
【0033】
まずステップS101において、音素認識部7が、発話から得られた音響特徴量データ4を読み込む。
次にステップS102において、音素認識部7が、上で読み込んだ音響特徴量データ4を元に音素認識処理を行う。その結果、音素認識部7は、音響特徴量データの1フレーム毎に音素ラベルとして付加する形で、音素情報を音素情報記憶部6に書き込む。ここで、音素情報記憶部6は、音響特徴量データ4そのものと音素ラベルの両方を関連付けて保持する形態でも良く、また、音響特徴量データ4の各フレームへのインデックスと音素ラベルとを関連付けて保持する形でも良い。
なおここで、音素認識部7が行う音素認識処理自体は、既存技術を用いる。一例としては、文献(Toru IMAI他,“Online Speech Detection and Dual-Gender Speech Recognition for Captioning Broadcast News”,2007年,IEICE Transactions on Information and Systems 2007,E90-D(8),pp. 1286-1291)にはその手法が記載されている。また、音素認識部7が行う音素認識は、完全に正確なものでなくても良い。
【0034】
次にステップS103において、音素クラス分類部5は、上で付加された音素ラベルに基づいて音素クラス分類テーブルを参照することにより、音響特徴量データ4を音素クラスに分類する。例えば、あるフレーム(時刻)における音響特徴量に対して、音素認識の結果として音素情報「a」が得られているとき、そのフレームの音響特徴量は、図3に例示した音素クラス分類テーブルにもとづいて「母音十鼻音」のクラスに分類される。音素クラス分類部5が各フレームについてこの処理を行うことで、1フレームの音響特徴量データに対して1つの音素クラスのラベルが付加されたクラス別音響特徴量の系列が得られる。そして、音素クラス分類部5は、得られたクラス別音響特徴量データをクラス別音響特徴量記憶部8に書き込む。
【0035】
図5は、クラス別音響特徴量記憶部8が記憶するデータの構成を示す概略図である。図示するように、クラス別音響特徴量記憶部8は、表形式のデータを保持するように構成されており、その表は、フレームインデックスと、フレーム開始時刻と、音響特徴量データと、音素情報と、音素クラスの各データ項目を有する。この表における各行が、1フレームに対応する。
フレームインデックスは、フレームの時間順の連番である。フレーム開始時刻は、そのフレームの開始時刻を表わす。この時刻は、「時:分:秒.ミリ秒」(HH:MM:SS.mmm)の形式で表わされている。この時刻は絶対的な時刻でも良く、また、何らかの基準時に基づく相対的な時刻でも良い。なお、以下における時刻の扱いにおいても同様である。音響特徴量データは、そのフレームにおける音響特徴量を表わし、前述した通り、本実施形態では39次元のベクトルで表わされている。音素情報は、そのフレームについて音素認識部7が認識した結果の音素情報である。音素クラスは、そのフレームについて音素クラス分類部5が分類した結果の音素クラスである。音素情報と音素クラスとの関係は、前述の音素クラス分類テーブルにも規定されている通りである。
【0036】
話者交替点検出部9による話者交替点の検出、および話者クラスタリング部12によるクラスタリングは、一例として、ベイズ情報量基準(BIC,Bayesian Information Criterion)に基づいて行う(参考文献:S. S. Chen,P. S. Gopalakrishnan,“Speaker environment and channel change detection and clustering via the Bayesian information criterion”,1998年,Proceedings of the DARPA Speech Recognition Workshop,pp.127-132.)。下の式(1)で表わすΔBICは、ベイズ情報量基準に基づくものであり、2つの発話の特徴ベクトル列xおよびyが同一話者によるものであるかどうかを判定する基準とすることができる。
なお、ここではベイズ情報量基準を用いているが、話者交替点の検出および話者クラスタリングには、例えば、GLR(Generalized Likelihood Ratio)の基準を用いるようにしても良い。また、話者クラスタリングに関しては、例えば、混合ガウス分布で表現した話者モデルの尤度比を用いるようにしても良い。
【0037】
【数1】

【0038】
ここで、λ(N,Σ)およびλ(N,Σ)は、それぞれ、話者xおよびyの話者モデルを示す。ΣとΣは共分散行列、NとNはフレーム数である。λxy(Nxy,Σxy)はxとyが同一話者による発話であると仮定した場合の話者モデルである。また、Pはペナルティ項であり、αはペナルティ項の重み係数である。dは特徴ベクトルの次元数である。そして、上の式による計算を行ない、ΔBICの値が正のとき、xとyは別話者による発話であると判定される。
【0039】
本実施形態では、音素クラスの混合モデルを考えて式(1)を拡張し、クラス別音響特徴量を用いた判定を行う。拡張した式は、下の式(2)のように表現できる。
【0040】
【数2】

【0041】
ここで、Mは混合する音素クラスの数を示す。例えば、図3に示した例では、音素クラスは「母音+鼻音」と「子音」の2種類であるため、M=2である。また、λ(N,Σ)およびλ(N,Σ)は、それぞれ話者xおよびyの発話による、音素クラスmに属すると判定されラベル付けされた区間の統計量である。但し、m=1,・・・,Mであり、これらのmについての音響特徴量の全体が話者モデルである。また、λxy(Nxy,Σxy)はxとyが同一話者による発話であると仮定した場合の音素クラスmに属する区間の統計量である。
【0042】
以下に説明する処理では、この式(2)を用いて、ΔBICの値が正のとき、xとyは別話者による発話であると判定される。
つまり、話者xの音素クラス毎の統計量の総和(音素クラスの出現フレーム数で重み付け)と話者yの音素クラス毎の統計量の総和(音素クラスの出現フレーム数で重み付け)との和から、話者xとyが同一であると仮定した場合の音素クラス毎の統計量の総和(音素クラスの出現フレーム数で重み付け)を減じ、さらにペナルティ項を減じた結果(便宜上、ベイズ情報量基準差分と呼ぶ。以下同様。)が正のとき、xとyは別話者による発話であると判定される。言い換えれば、式(2)を用いることによって、音素クラス毎の特徴を反映しながら、話者xとyという2つのクラスタ候補が、別々のクラスタであると見なせるか単一のクラスタであると見なせるかを、判定することができる。
【0043】
図6は、話者交替点検出部9による話者交替点検出の処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
まずステップS201において、話者交替点検出部9は、話者交替点検出の処理を開始し、変数tlastを0(最初のフレームに対応する)に初期設定する。この変数tlastは、直近で最後に検出された話者交替点を記憶するためのものであり、具体的には、その時刻を格納する。但し、時刻の代わりに、対応するフレームへのインデックス値を格納するようにしても良い。
次にステップS202において、話者交替点検出部9は、クラス別音響特徴量記憶部8から1フレーム分の音響特徴量データを読み出し、その1フレーム分の音響特徴量を統計量データ蓄積部10に蓄積する。このとき、話者交替点検出部9は、読み込んだ各フレームのクラス別音響特徴量をそのまま統計量データ蓄積部10に書き込んでも良く、また、話者交替点の候補点と隣り合う候補点との間の区間のそれぞれについて、音素クラスm毎のフレーム数および共分散行列を統計量として統計量データ蓄積部10に書き込むようにしても良い。
【0044】
次にステップS203において、話者交替点検出部9は、統計量データ蓄積部10にτ秒以上の発話長に対応する統計量データが蓄積されたか否かを判定する。τ秒以上蓄積されていれば(ステップS203:YES)次のステップS204へ進み、τ秒未満の蓄積であれば(ステップS203:NO)ステップS202に戻って、引き続き次フレームのクラス別音響特徴量を蓄積する。なお、τの値は設定により可変であるが、例えばτ=4に設定する。
次にステップS204において、話者交替点検出部9は、話者交替点の探索を行う。この処理は、次の式(3)および式(4)の両方を満たすtを探索することにより行う。
【0045】
【数3】

【0046】
【数4】

【0047】
ここで、tcurrは、読み込まれて蓄積された最新のフレームに対応する時刻(遅延がない場合、或いは無視できる程度に小さい場合には、現時刻に相当)である。また、x[t:t]は、時刻tからtまでの区間の発話であり、具体的には、この区間の発話の統計量は、当該区間における音素クラスm毎のフレーム数Nおよび共分散行列Σで表わされる。また、Thyp={tlast,・・・,tcurr}は話者交替点の候補(図2の符号53)であり、これは音素認識結果から得られる音素境界の集合である。音素境界の時刻(または対応するフレームインデックス)の集合は、図5に示した表の音素情報を参照することにより得ることができる。但し、音素認識部7が予め音素境界の時刻の集合を求めておき、話者交替点検出部9がその情報を利用するようにしても良い。このように話者交替点の候補を音素境界に制限することで、話者交替点検出のための計算量を削減し、効率的な処理とすることができる(参考文献:Daben Liu,Francis Kubala,“Fast Speaker Change Detection for Broadcast News Transcription and Indexing”,Proc. Sixth European Conference on Speech Communication and Technology (Eurospeech ’99),1999年,pp.1031−1034)。
なお、十分な統計量に基づいて話者交替点を検出するため、話者交替点検出部9は、t−tlast≧τ/2[sec]、且つ、tcurr−t≧τ/2[sec]を満たすようなtのみを話者交替点として探索する。
【0048】
つまり、ここでの探索の結果得られる話者交替点tとは、時刻tlastから時刻tcurrまでの区間を時刻tで分割した場合にその前後の区間(それぞれ、第1区間および第2区間)のベイズ情報量基準差分が正となって、且つ、他の話者交替点候補で分割したいかなる場合よりもベイズ情報量基準差分が大きくなるような時点である。
【0049】
次にステップS205においては、話者交替点検出部9は、話者交替点が検出できたか否か、即ち、上述した条件を満たすtが存在するか否かを判定する。そのようなtが存在する場合(ステップS205:YES)は、次のステップS206に進む。そのようなtが存在しなかった場合(ステップS205:NO)は、ステップS202に戻り、引き続き次のフレームのクラス別音響特徴量の蓄積を行う。
【0050】
次にステップS206において、話者交替点検出部9は、上の探索で得られた話者交替点tの情報を出力し、話者交替点データ記憶部11に書き込む。
そして、ステップS207では、話者交替点検出部9は、検出された話者交替点tまでの統計量データを統計量データ蓄積部204から消去するとともに、変数tlastがtlast=tとなるように更新し、次の話者交替点の検出を開始するためにステップS202に戻る。
【0051】
次に、話者を判定(識別)する処理について説明する。話者クラスタリング部12は、話者モデル記憶部13に記憶されている話者モデルのデータを参照しながら、話者を判定する。また、話者クラスタリング部12は、音素クラス分類部5がクラス別音響特徴量記憶部8に書き込んだ音響特徴量のデータ(またはその統計量のデータ)に基づき、話者モデル記憶部13を更新する。
【0052】
図7は、話者モデル記憶部13に記憶される話者モデルのデータ構成を示す概略図である。図示するように、話者モデルは、話者識別情報と音素クラスの組み合わせ毎に、音響特徴量の統計量データ(フレーム数、平均値、および共分散行列)を保持する。
図示する例では、話者識別情報は、数値で表わしているが、記号や文字(氏名など)で表わしても良い。また、共分散行列は、図においては便宜上、記号で示しているが、実際には行列の各要素の数値を保持している。
【0053】
図8は、話者クラスタリング部12によるクラスタリング処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
まずステップS301において、話者クラスタリング部12は、話者クラスタリング処理を開始し、変数tの値をtlastに初期設定する。
次にステップS302にいて、話者クラスタリング部12は、話者判定を行うか否かを判断する。ここでの判断の手法は複数考えられ、それらについては後述する。このタイミングで話者判定を行うと判断した場合(ステップS302:YES)は次のステップS303に進み、このタイミングでは話者判定を行わないと判断した場合(ステップS302:NO)には話者判定の処理をスキップしてステップS307に進む。
【0054】
ステップS303に進んだ場合、話者クラスタリング部12は、話者交替点を検出した際に得られている統計量データを統計量データ蓄積部10から読み出すとともに、話者交替点データ記憶部11から読み出した話者交替点tlastの情報を用いて、対象とする区間(最後の話者交替点以後の区間)の発話が、新規話者のものであるか否かを判定する。ここでは、計算により、下の式(5)が満たされるか否かにより判定を行う。
【0055】
【数5】

【0056】
ここで、Cは、既に話者モデル記憶部13に登録されている話者全体の集合を表わす。また、yは、話者iによる発話を表わす。話者クラスタリング部12は、話者iの統計量データを話者モデル記憶部13から読み出して本ステップでの判定に用いる。式(5)が満たされれば、発話x[tlast:t]は新規話者によるものであると判定する。
言い換えれば、話者クラスタリング部12は、判定対象としている区間の発話と、話者モデル記憶部13に既に登録されているいかなる話者の話者モデルとの間のベイズ情報量基準差分も、正となる場合に、当該対象区間の発話は新規話者によるものであると判定する。
そして、判定対象区間の話者が新規話者である場合(即ち、式(5)を満たす場合、ステップS303:YES)には、ステップS306に進む。また、 判定対象区間の話者が新規話者ではない場合(即ち、式(5)を満たさない場合、ステップS303:NO)には、ステップS304に進む。
【0057】
ステップS304に進んだ場合、話者クラスタリング部12は、下の式(6)に基づいて話者の判定を行う。
【0058】
【数6】

【0059】
話者クラスタリング部12は、発話x[tlast:t]がこの式(6)で得られる話者jによるものであると判定する。
言い換えれば、話者クラスタリング部12は、判定対象としている区間の発話と間のベイズ情報量基準差分の値が負であるような話者モデルを有する話者のうち、当該差分値が最も小さい(つまり、当該差分値の絶対値が最も大きい)ような話者を、話者jとして識別する。なお、このフローチャートに示す処理手順において、ステップS303からS304に制御が移る場合には、上記のベイズ情報量基準差分が負となる話者が必ず存在する。
そして、次にステップS305では、話者クラスタリング部12は、話者jの識別データを話者識別結果データ14として出力する。また、話者クラスタリング部12は、話者モデル記憶部13から読み出した話者jの話者モデル(統計量データ)と、発話x[tlast:t]の統計量データとから、話者jの新たな統計量データ(音素クラス毎のフレーム数および共分散行列)を算出し、話者モデル記憶部13に記憶されていた話者jの話者モデルを更新する。
そして、ステップS305の処理終了後は、ステップS307に進む。
【0060】
ステップS306に進んだ場合、発話x[tlast:t]は新規話者によるものと判定されているため、話者クラスタリング部12は、この新規話者の識別データを話者識別結果データ14として出力する。また、話者クラスタリング部12は、既に得られている発話x[tlast:t]の統計量データを元に、この新規話者の話者モデル記憶部13への登録を行う。
そして、ステップS306の処理終了後は、ステップS307に進む。
【0061】
そして、ステップS302、S305、S306のいずれかからステップS307に進んだとき、話者クラスタリング部12は、変数tを1フレーム分進める。即ち、次のフレームの時刻に対応するように変数tの値を更新する。そして、話者クラスタリング部12は、再びステップS302からの処理を継続する。
【0062】
次に、上記のステップS302での話者判定を行うか否かの判断に関して、その3種類の手法を説明する。
<手法1> 第1の手法は、話者交替点tが検出される都度、x[tlast:t]の話者を判定する方法である。つまり、話者交替点検出部9と話者クラスタリング部12とが並列に動作しており、話者交替点検出部9が、図6のステップS206の処理で話者交替点tを出力した後であって、且つステップS207の処理でtlastをtの値で更新する前に、話者交替点tの直前までの区間を対象として、話者クラスタリング部12がステップS303およびそれに続く処理を行う。
【0063】
<手法2> 第2の手法は、発話区間を検出するようにして、上記の手法1のタイミングに加えて、発話末が検出された場合にもその発話末tまでの区間を対象として、話者を判定する方法である。発話区間検出の処理自体には既存の技術を用いる(参考文献:Toru IMAI他,“Online Speech Detection and Dual-Gender Speech Recognition for Captioning Broadcast News”,2007年,IEICE Transactions on Information and Systems 2007,E90-D(8),pp.1286-1291)。具体的には、発話区間の音響モデル(各音素の音響モデル)と非発話区間(無音あるいはバックグラウンドミュージックなど)の音響モデルを予め構築しておいて、入力される音声信号の音響特徴量を元に、発話区間の尤度と、非発話区間の尤度とを算出し、それらの尤度に基づいて発話区間の開始点および終了点(発話末)を検出する。この発話区間の検出自体は、非常に小さな遅延で行うことができる。実際には、音素認識部7による音素認識の処理の際に併せて発話区間の検出を行うことが効率的である。
そしてこの手法をとる場合、話者クラスタリング部12は、発話x[tlast:t]を対象として判定を行う代わりに、発話x[tlast:te]のクラス別音響特徴量の統計量データに基づき、発話x[tpre:t]の話者を判定する。但し、tpreは、話者の判定が終了している区間の最終時刻である。
手法2を用いた場合、話者クラスタリング部12は、手法1よりもやや高い頻度で話者判定を行うこととなる。
【0064】
<手法3> 第3の手法は、現時刻(最新の時刻)から一定の窓幅w(時間窓の長さ)以前の発話者を逐次確定していく方法である。この手法を用いる場合、話者クラスタリング部12は、発話x[tlast:t]を対象として判定を行う代わりに、発話x[tlast:tcurr]のクラス別音響特徴量の統計量データに基づき、発話x[tpre:tcurr−w]の話者の判定を行う。窓幅wは、条件等に応じて適宜設定すればよいが、本実施形態では例えば5秒とする。
つまり、話者クラスタリング部12は、最新の時刻より時間窓の長さ以前の区間を判定対象区間として、逐次話者を判定する。
【0065】
判定手法1は、話者識別する音声の終了時に、話者交替点毎の全発話者の話者識別情報を取得できるため、ニュース番組や会議音声へのメタデータ付与などへの応用に有効である。
判定手法2は、判定手法1のタイミングに加えて、1発話毎(発話末を検出したタイミング)でも判定する場合であり、1発話分の音声から、音声認識用の音響モデルを学習するような場合に有効である。
判定手法3は、リアルタイムに逐次音響モデルを適応化する場合や、話者の情報を逐次取得する必要がある場合に有効である。
【0066】
なお、話者識別装置1の各部は実質的に並列に動作するように構成する。このような実質的な並列動作は、各部に相当する電子回路が物理的に並列に動作するようにしたり、コンピュータの処理資源(CPU時間など)を各部に相当する処理に適宜配分するようにオペレーティングシステムが制御したりすることによって実現する。
放送番組や会議等の現実の発話を取り込んで話者識別をする場合、発話音声データ2に基づく音響特徴量データ4を話者識別装置が小さい遅延時間で取り込むことは容易である。
そして、上述した判定手法1〜3のいずれの手法をとる場合も、オンラインでの話者交替点の検出および話者判定を行うことが可能である。ここで、オンラインでの検出とは、入力される音声データに対する、話者交替点の検出処理や話者識別のための判定処理による遅延が、蓄積されないことである。つまり、話者交替点の検出処理や話者識別のための判定処理のスループットが、現実の発話による音響特徴量データの発生のペースよりも充分に高い場合には、これらの処理による遅延は蓄積されない。
【0067】
なお、判定手法1の場合、1話者交替の分の遅れで、話者を判定できる。また、判定手法2の場合、1発話ごとの遅れで、話者を判定できる。また、判定手法3の場合、窓幅w毎の遅れで、話者を判定できる。
【0068】
なお、上述した実施形態における話者識別装置の全部又は一部の機能をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時刻の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時刻プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0069】
<実施形態の変形例>
上記実施形態による話者識別装置1は、図1に示した構成を有し、話者識別結果データを出力するが、更に、音声認識処理部を付加するようにしても良い。このとき音声認識処理部は、予め話者毎の音響モデルを記憶しておき、話者クラスタリング部12によって得られた話者識別結果データに応じて話者毎の音響モデルを選択し、当該話者が発話する区間についてはこの選択された音響モデルを用いた音声認識処理を行い、認識結果として発話に対応するテキストを出力する。なおここで、音響モデルを用いた音声認識処理自体は、既存の技術を利用して行う。
この構成により、話者交替点の検出と、話者の識別と、話者に応じた音響モデルを用いた音声認識とを一貫して自動的に行うことができ、精度の高い音声認識処理を行うことが可能となる。
【0070】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
例えば、上記実施形態では39次元のベクトルを特徴量として用いたが、他の特徴量を用いて同様に話者交替点検出や話者判定を行うようにしても良い。
また例えば、上記実施形態では、話者識別装置1が音響特徴量抽出部3を構成として含まず、音響特徴量抽出部3が外部に存在しているが、話者識別装置1が音響特徴量抽出部3を構成として含むようにして、外部から直接、発話音声データ2を取り込んで処理するようにしても良い。
【0071】
<実証実験について> 上記実施形態の話者識別装置を実際に用いて行った実証実験について、以下に説明する。
話者判定のタイミングとしては、前記の手法1〜3をそれぞれ実施し、その評価を行った。
識別の評価指標には、NIST(National Institute of Standards and Technology)が提案するDER(Diarization Error Rate,話者逐次識別誤り率)を用いた。このDERは、次の式で定義される。
DER=(FS+MS+SE)/総発話時間
ここで、FS(False Alarm Speech)は発話者なしの区間で発話と誤判定した時間であり、MS(Missed Speech)は発話者ありの区間で発話なしと誤判定した時間であり、SE(Speaker Error)は話者を誤った時間である。
【0072】
評価データとしては2004年5月に放送されたNHKの報道系情報番組の対談部分(総発話時間2000秒、話者7名、話者交替数70)を用いた。なお、評価データの前週の同番組を使用してΔBICのペナルティ項の重みαを決定した。
音素認識部7による音素認識率は59.1%であり、音素クラス分類部5による音素クラス認識率は71.7%であった。また、上記のMSおよびFSは、それぞれ、総発話時間の1.0%および1.5%であった。
【0073】
実験として、従来技術による方法(全音素のベイズ情報量基準を用いる方法)と、本発明の方法(音素クラス毎のベイズ情報量基準を混合して用いる方法)とを実施し、その結果得られた両者のDERを比較した。判定手法としては、手法1〜3のそれぞれを用いた。
手法1を用いた場合には、従来法のDERが4.0%であるのに対して、本発明による方法のDERは3.6%に改善された。手法2を用いた場合には、従来法のDERが5.2%であるのに対して、本発明による方法のDERは4.5%に改善された。
つまり、本発明の有効性が実証された。
【産業上の利用可能性】
【0074】
本発明は、音声処理に利用することができる。特に、放送番組や会議などのように複数の話者が交替しながら発話する場合に、オンラインで(準リアルタイムに)話者識別ラベルを付与しながら発話内容を自動的に記録していくことに利用可能である。つまり、発話を伴う各種コンテンツにメタデータを自動付与する目的に利用可能である。
【符号の説明】
【0075】
1 話者識別装置(音響処理装置)
5 音素クラス分類部
6 音素情報記憶部
7 音素認識部
8 クラス別音響特徴量記憶部
9 話者交替点検出部
10 統計量データ蓄積部
11 話者交替点データ記憶部
12 話者クラスタリング部
13 話者モデル記憶部

【特許請求の範囲】
【請求項1】
音響特徴量データを音素クラスに関連付けて記憶するクラス別音響特徴量記憶部と、
入力される音響特徴量データに基づき音素認識処理を行いその結果得られる音素情報を出力する音素認識部と、
前記音素認識部で得られた前記音素情報に基づいて前記音響特徴量データを前記音素クラスに分類するとともにその結果得られる音素クラス情報を関連付けた前記音響特徴量データを前記クラス別音響特徴量記憶部に書き込む音素クラス分類部と、
前記クラス別音響特徴量記憶部から前記音素クラスに関連付けられた前記音響特徴量データを読み出し、所定の時間区間を候補点で区切って得られる第1区間と第2区間のそれぞれに属する前記音響特徴量データについて、前記音素クラス毎の統計量を算出し、前記第1区間に対応する複数の前記音素クラスの前記統計量と前記第2区間に対応する複数の前記音素クラスの前記統計量とをクラスタ分析処理することによって、前記第1区間と前記第2区間が別クラスタであると判定される場合に当該候補点を話者交替点として検出する話者交替点検出部と、
を具備することを特徴とする音響処理装置。
【請求項2】
話者毎の音素クラス別の音響特徴量の統計量を記憶する話者モデル記憶部と、
判定対象区間に属する前記音響特徴量データについての複数の前記音素クラスの統計量と前記話者モデル記憶部から読み出した話者毎の複数の前記音素クラスの前記統計量とをクラスタ分析処理することによって、前記判定対象区間の話者を判定する話者クラスタリング部と、
を更に具備することを特徴とする請求項1に記載の音響処理装置。
【請求項3】
前記話者クラスタリング部は、前記話者交替点検出部によって検出された前記話者交替点で区切られる区間を前記判定対象区間とする、
ことを特徴とする請求項2に記載の音響処理装置。
【請求項4】
前記話者クラスタリング部は、前記話者交替点に加えて、検出された発話区間の発話末においても区切られる区間を前記判定対象区間とする、
ことを特徴とする請求項2に記載の音響処理装置。
【請求項5】
前記話者クラスタリング部は、最新の時刻より予め定められた所定の時間窓の長さ以前の区間を前記判定対象区間として、逐次話者を判定する、
ことを特徴とする請求項2に記載の音響処理装置。
【請求項6】
予め記憶された話者毎の音響モデルから、前記話者クラスタリング部によって判定された話者の音響モデルを選択し、当該選択された音響モデルを用いて前記判定対象区間の音声認識処理を行う音声認識処理部、
を更に具備することを特徴とする請求項2から5までのいずれか一項に記載の音響処理装置。
【請求項7】
コンピュータを、
音響特徴量データを音素クラスに関連付けて記憶するクラス別音響特徴量記憶部と、
入力される音響特徴量データに基づき音素認識処理を行いその結果得られる音素情報を出力する音素認識部と、
前記音素認識部で得られた前記音素情報に基づいて前記音響特徴量データを前記音素クラスに分類するとともにその結果得られる音素クラス情報を関連付けた前記音響特徴量データを前記クラス別音響特徴量記憶部に書き込む音素クラス分類部と、
前記クラス別音響特徴量記憶部から前記音素クラスに関連付けられた前記音響特徴量データを読み出し、所定の時間区間を候補点で区切って得られる第1区間と第2区間のそれぞれに属する前記音響特徴量データについて、前記音素クラス毎の統計量を算出し、前記第1区間に対応する複数の前記音素クラスの前記統計量と前記第2区間に対応する複数の前記音素クラスの前記統計量とをクラスタ分析処理することによって、前記第1区間と前記第2区間が別クラスタであると判定される場合に当該候補点を話者交替点として検出する話者交替点検出部と、
を具備する音響処理装置として機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−53569(P2011−53569A)
【公開日】平成23年3月17日(2011.3.17)
【国際特許分類】
【出願番号】特願2009−204144(P2009−204144)
【出願日】平成21年9月3日(2009.9.3)
【出願人】(000004352)日本放送協会 (2,206)
【Fターム(参考)】