説明

音素モデルをクラスタリングする装置、方法およびプログラム

【課題】類似する音素モデルを適切にクラスタリングする装置を提供する。
【解決手段】音素モデルを入力する入力部101と、入力された音素モデルを含むルートノードを生成するノード初期化部111と、子ノードを有さないノードに対してノードに含まれる音素モデルの集合を2つに分割した子集合の組の候補を生成する候補生成部112と、子集合の少なくとも一方が学習用の音声データが少ないことを表す判定情報が付与された音素モデルのみを含む候補を削除する候補削除部113と、子集合に含まれる音素モデル間の類似度の和を算出する類似度算出部114と、和が最大となる候補を選択する候補選択部115と、選択した候補に含まれる2つの子集合を含む2つのノードを生成するノード生成部116と、ノードに含まれる音素モデルの集合を単位として音素モデルをクラスタリングするクラスタリング部120と、を備えた。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ツリー構造のノードをクラスタとして音素モデルをクラスタリングする装置、方法およびプログラムに関するものである。
【背景技術】
【0002】
音声認識の分野では、入力音声の音響的特徴を音素ごとの確率モデルで表現する手法が一般的に用いられている。この確率モデルのことを音素モデルと呼ぶ。音素モデルは、音素を発音した音声データを用いて、音素モデルのパラメタを統計的に学習することで得られる。音素モデルの精度は学習に用いる音声データに依存するため、精度の高い音素モデルを得るためには、できるだけ大量の音声データを用いて音素モデルを学習することが望ましい。
【0003】
しかし、音素モデルの学習時に大量の学習データが利用できない場合がある。例えば、タイ語をはじめとする東南アジア系の言語では、音素モデルを学習するための音声データが少量しか利用できない場合がある。このため、比較的大量の音声データが利用可能な欧米言語などに比べて、精度の低い音素モデルしか得られないという問題が生じうる。また、タイ語の音素には短母音と長母音の区別が存在するが、短母音に比べて、長母音の音声データが少量しか利用できない場合もある。このような場合には、短母音の音素モデルの精度に比べて長母音の音素モデルの精度が相対的に低くなるという問題が生じうる。
【0004】
学習用の音声データが少量しか利用できない音素モデルを高精度に学習する方法として、適応学習と呼ばれる方法が知られている。適応学習では、少量の音声データしか利用できない音素モデルAとは別の音素モデルBを選択し、音素モデルAおよびBに対応する音声データを用いて学習した初期音素モデルに対して、音素モデルAに対応する少量の音声データを用いて初期音素モデルのパラメタを適応的に更新することで、音素モデルAを学習する。このように、適応学習とは、初期音素モデルのパラメタを、学習対象の音素モデルに対応する音声データを用いて適応的に更新していくことで、初期音素モデルから学習対象の音素モデルを得る技術である。
【0005】
適応学習では、初期音素モデルとして学習対象の音素モデルと十分に類似した音素モデルを選択し、かつ、精度の高い初期音素モデルを用意することで、学習対象の音素モデルに対応する音声データが少量の場合でも、精度の高い音素モデルを得られることが知られている。したがって、適応学習で高精度の音素モデルを得るためには、まず、ある言語における任意の音素モデルに対して、同じ言語の他の1つ以上の音素モデル、または、他の言語の音素モデルのうち当該音素モデルに類似した1つ以上の音素モデルを得る必要がある。
【0006】
互いに類似する音素モデルを得るための手法としては、ツリー構造を用いて音素モデルをクラスタリングする方法が知られている。これは、クラスタリング対象の全ての音素モデルから、相互に類似する音素モデルの集合を含む1つ以上の音素モデルクラスタを得る方法である。
【0007】
例えば、特許文献1および非特許文献1では、決定木(Decision Tree)を用いて音素モデルをクラスタリングする技術が提案されている。決定木を用いた方法では、クラスタリング対象となる音素モデルを全て含むルートノードから出発し、クラスタリング対象となる音素モデルの種別に関する質問を適用することで、相互に類似する音素モデルの子集合を含む新たな子ノードを階層的に追加し、音素モデルの集合を含むノードから構成されるツリー構造を生成する。さらに、生成されたツリー構造のうち子ノードを持たないノード(リーフノード)に含まれる音素モデルの集合を、音素モデルのクラスタとして取得する。
【0008】
このようにして取得した音素モデルのクラスタに着目することで、相互に類似する音素モデルの集合を得ることができる。すなわち、ある言語の任意の音素モデルに対して、当該音素モデルを含む音素モデルのクラスタに属する他の音素モデルのうち少なくとも1つを、当該音素モデルに類似する他の音素モデルとして選択することができる。
【0009】
【特許文献1】特許第3547349号公報
【非特許文献1】“Tree-based state tying for high accuracy acoustic modeling”, S.J.Young, et. al.(Proceedings of the workshop on Human Language Technology, 1994, p307-312, Figure 2)
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら、特許文献1および非特許文献1の方法では、音素モデルの類似性のみによって音素モデルを分類するため、学習用の音声データが少量しか利用できない音素モデルのみからなるクラスタが生成される可能性がある。この場合、初期音素モデルの精度が低くなるため、適応学習による当該音素モデルの精度向上が確保できないという問題があった。
【0011】
本発明は、上記に鑑みてなされたものであって、適応学習によって高精度の音素モデルを得られるように、類似する音素モデルを適切にクラスタリングすることができる装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上述した課題を解決し、目的を達成するために、本発明は、学習用の音声データが少ないことを表す判定情報が付与された音素モデルおよび前記判定情報が付与されていない音素モデルをそれぞれ少なくとも1つ入力する入力部と、ツリー構造のルートノードとして、入力された音素モデルを含むノードを生成するノード初期化部と、ツリー構造のノードのうち子ノードを有さないノードに対して、ノードに含まれる音素モデルの集合を2つに分割して得られる2つの子集合の組の候補を生成する候補生成部と、前記候補のうち、前記候補に含まれる2つの前記子集合の少なくとも一方が、前記判定情報が付与された音素モデルのみを含む前記候補を削除する候補削除部と、削除された前記候補以外の前記候補それぞれに対して、前記候補に含まれる2つの前記子集合ごとに前記子集合に含まれる前記音素モデル間の類似度を算出し、各子集合で算出した類似度の和を算出する類似度算出部と、算出した和が最大となる前記候補を選択する候補選択部と、選択した前記候補の生成元であるノードの子ノードとして、選択した前記候補に含まれる2つの子集合それぞれを含む2つのノードを生成するノード生成部と、前記ツリー構造のノードに含まれる音素モデルの集合を単位として音素モデルをクラスタリングするクラスタリング部と、を備えたことを特徴とする。
【0013】
また、本発明は、上記装置を実行することができる方法およびプログラムである。
【発明の効果】
【0014】
本発明によれば、適応学習によって高精度の音素モデルを得られるように、類似する音素モデルを適切にクラスタリングすることができるという効果を奏する。
【発明を実施するための最良の形態】
【0015】
以下に添付図面を参照して、この発明にかかる装置、方法およびプログラムの最良な実施の形態を詳細に説明する。
【0016】
(第1の実施の形態)
第1の実施の形態にかかるクラスタリング装置は、学習用の音声データが少量しか利用できない任意の音素モデルに対して、学習用の音声データが大量に利用できる1つ以上の音素モデルが必ず同じクラスタに属するという制約を満たすように音素モデルをクラスタリングするものである。
【0017】
図1は、第1の実施の形態にかかるクラスタリング装置100の構成を示すブロック図である。図1に示すように、クラスタリング装置100は、記憶部130と、入力部101と、ツリー生成部110と、クラスタリング部120と、を備えている。
【0018】
入力部101は、クラスタリングの対象とする音素モデルを入力するものである。具体的には、入力部101は、学習用の音声データが少量しか得られない音素モデルであることを判定するための判定情報(以下、判定タグという)が付与された1つ以上の音素モデルと、判定タグが付与されていない1つ以上の音素モデルとを入力する。
【0019】
入力部101は、従来から用いられているあらゆる方法で音素モデルを入力できる。例えば、入力部101が、ネットワーク等によって接続された外部装置から音素モデルを入力するように構成してもよいし、可搬性の記憶媒体から音素モデルを入力するように構成してもよい。また、入力部101が、事前に記憶部130等に記憶した音素モデルを入力するように構成してもよい。
【0020】
本実施の形態では、HMM(Hidden Markov Model:隠れマルコフモデル)によって表された音素モデルを入力する。HMMは、1つ以上の状態Siと、初期状態の集合SSおよび最終状態の集合SFと、ある状態Sjから自分自身または他の状態Siへの遷移確率Ajiと、ある状態Siにおける音声特徴ベクトルXの出力確率Pi(X)で定義される。ただし、1<=i<=NSおよび1<=j<=NSであり、NSはHMMを構成する状態の総数である。また、出力確率Pi(X)は、平均ベクトルμi、共分散行列Σiで定義される多次元正規分布N(μi、Σi)により、Pi(X)=N(X;μi、Σi)で与えられるものとする。
【0021】
図2は、入力される音素モデルの一例を示す図である。図2は、状態数NS=3のHMMの例を表している。なお、同図では、遷移確率が有意な値を持たない、すなわち常に0である遷移パスの記述を省略している。また、同図では、初期状態の集合SS={S1}、最終状態の集合SF={S3}である。同図のHMMは、音声認識で典型的に用いられるHMMの例である。すなわち、Left−to−Right型と呼ばれるトポロジーをもち、初期状態の集合SSおよび最終状態の集合SFの要素数がそれぞれ1であり、i=jまたはi=j+1である遷移パス(j、i)にのみ有意な遷移確率AjiをもつHMMの例を表している。
【0022】
以下では、音素モデルとして図2で例示したHMMを用いることを前提に説明を続ける。ただし、適用可能な音素モデルは図2のようなHMMに限られず、他の形式のHMMを用いてもよい。さらに、音素モデル相互間の類似する度合いを表す相互類似度を算出可能なモデルであれば、HMM以外の任意の音素モデルを使用することができる。
【0023】
なお、図2に例示したような2つ以上の状態数をもつHMMを利用する場合は、HMMの同じ位置に存在する状態ごとにクラスタリングを行う。例えば、図2で例示したHMMの場合、第1の状態S1、第2の状態S2、および第3の状態S3ごとに、それぞれHMMの状態を対象としたクラスタリングを行う。言い換えると、図2のようなHMMを利用する場合は、HMMの各状態が音素モデルに相当する。そして、このような音素モデルである各状態のクラスタリングが状態数分(NS回)実行される。
【0024】
図1に戻り、ツリー生成部110は、音素モデルをクラスタリングするためのツリー構造を生成するものである。ここで、ツリー生成部110によって生成されるツリー構造の具体例について説明する。図3は、クラスタリングに用いるツリー構造の一例を示す図である。
【0025】
図3に示すように、音素モデルのクラスタリングに用いるツリー構造は、音素モデルの集合を含むノードと、ノード間の親子関係を示す有向アークから構成される。このとき、有向アークで結ばれた2つのノードのうち、有向アークの発信側を親ノード、有向アークの受信側を子ノードと呼ぶ。さらに、親ノードを持たないノードをルートノードと呼び、子ノードを持たないノードをリーフノードと呼ぶ。
【0026】
同図のツリー構造における全てのノードは、音素モデルの集合を含んでいる。例えば同図のルートノードは、音素モデル”*TH_a”、”TH_b”、”*TH_d”、”*ZH_a”、”ZH_c”、”ZH_d”、”EN_a”、”EN_b”、および”EN_c”の9個の音素モデルを含んでいる。すなわち、同図は、タイ語(TH)の音素a、b、dの音素モデル、中国語(ZH)の音素a、c、dの音素モデル、英語(EN)の音素a、b、cの音素モデルをクラスタリングの対象として入力し、ルートノードに設定した例を表している。
【0027】
また、同図に示すように、本実施の形態では、“(言語種別)_(音素種別)”の形式により、言語種別と音素種別を組み合わせた名前を音素モデルそれぞれに付与する。例えば、タイ語の音素aの音素モデルを”TH_a”、中国語の音素cの音素モデルを”ZH_c”のように表す。
【0028】
ここで、異なる言語間で同じ音素種別に対応する音素モデルは、音声学的な観点から、汎言語的に同一の音素種別に相当すると判断された音素モデルであるものとする。例えば”TH_a”、”ZH_a”、”EN_a”は、それぞれ汎言語的な音素種別”a”に相当すると判断された音素モデルであるものとする。そのような汎言語的な音素種別としては、例えばIPA(International Phonetic Alphabet)を用いることができる。
【0029】
なお、同じ汎言語的な音素種別”a”に相当する音素モデルであっても、実際には、その音声学的な特徴は言語によって大きく変動する。すなわち、同じ汎言語的な音素種別”a”に相当する音素モデルであっても、異なる言語間では、相互に類似するとは限らない。例えば、タイ語の音素モデル”TH_a”に対して、中国語の音素モデル”ZH_a”または英語の音素モデル”EN_a”が類似する音素モデルであるとは限らない。そこで、本実施の形態では、ある音素モデルに類似する音素モデルを音素種別に依らずに選択するために、以下に述べるようなツリー構造を用いた音素モデルのクラスタリング方法を利用する。
【0030】
さらに、同図に示すように、本実施の形態では、記号「*」を判定タグとして用いる。すなわち、音素モデル名の前に記号「*」が付与された音素モデルは、学習用の音声データが少量しか利用できない音素モデルであることを意味する。
【0031】
同図では、学習用の音声データが少量しか利用できない音素モデル”TH_a”、“TH_d”および”ZH_a”に、判定タグ”*”が付与されており、それぞれ”*TH_a”、“*TH_d”および”*ZH_a”と表記されている。すなわち、タイ語の音素a、タイ語の音素d、および中国語の音素aの音素モデルが、学習用の音声データが少量しか利用できない音素モデルである。
【0032】
なお、同図のツリー構造で、ある親ノードが含む音素モデルの集合は、その全ての子ノードがそれぞれ含む音素モデルの集合の和集合となっている。逆に言えば、ある親ノード2つの子ノードが含む音素モデルの集合は、それぞれ親ノードが含む音素モデルの集合を分割した子集合となる。
【0033】
ツリー構造を用いた音素モデルのクラスタリングでは、まず、クラスタリング対象となる全ての音素モデルを含むルートノードを設定する。そして、ルートノードに対して子ノードを新たに生成し、さらに、ある時点で子ノードを持たない全てのノードに対して子ノードを生成する処理を繰り返す。この結果生成されたツリー構造に対して、個々のリーフノードに含まれる音素モデルの集合を、音素モデルのクラスタとして取得する。同図の例では、音素モデルのクラスタとして、(*TH_a、TH_b、*ZH_a)、(ZH_c)、(*TH_d、ZH_d)、(EN_a、EN_b、EN_c)の、4つのクラスタを得ることができる。このようにして得られた音素モデルのクラスタに含まれる1つ以上の音素モデルは、相互に十分に類似することが期待される。
【0034】
図1に戻り、さらにツリー生成部110の詳細な構成について説明する。同図に示すように、ツリー生成部110は、ノード初期化部111と、候補生成部112と、候補削除部113と、類似度算出部114と、候補選択部115と、ノード生成部116と、を備えている。
【0035】
ノード初期化部111は、ツリー構造のノードを初期化するものである。具体的には、ノード初期化部111は、ツリー構造のノードの初期値として、入力された音素モデルを含むツリー構造のルートノードを生成する。
【0036】
候補生成部112は、ツリー生成過程の任意の時点で、子ノードを持たないノードに含まれる音素モデルの集合を、2つの子ノードに割り当てるための2つの子集合に分割し、分割した2つの子集合の組の候補(以下、分割候補という)を生成するものである。具体的には、候補生成部112は、後述する記憶部130に記憶された質問リストを参照し、質問リスト内の質問ごとに、質問に適合する音素モデルと適合しない音素モデルとに分割することにより、質問ごとに異なる分割候補を生成する。質問リストと質問リストを用いた音素モデルの集合の分割方法の詳細については後述する。
【0037】
ノードを初期化した時点、すなわち、ルートノードのみが存在する時点では、子ノードを持たないノードはルートノードのみであるため、候補生成部112は、ルートノードを対象として分割候補を生成する。
【0038】
候補削除部113は、生成された分割候補のうち、2つの子集合の少なくとも一方に判定タグが付与された音素モデルのみが含まれる場合に、当該分割候補を削除するものである。これにより、少量の学習用の音声データしか得られない音素モデルのみが同一のクラスタに分類されることを回避可能となる。
【0039】
類似度算出部114は、分割候補ごとに分割候補に含まれる子集合内の音素モデル間の相互類似度の和を算出するものである。具体的には、類似度算出部114は、まず、候補削除部113によって削除された分割候補を除く各分割候補に対して、分割候補に含まれる2つの子集合ごとに子集合内の音素モデル間の相互類似度を算出する。そして、類似度算出部114は、算出した子集合ごとの相互類似度の和を算出する。これにより、類似度算出部114は、分割候補ごとの相互類似度の和を算出することができる。
【0040】
ここで、HMMの各状態を音素モデルとする場合の相互類似度の算出方法について説明する。
【0041】
いま、クラスタリング対象の音素モデルの集合が、HMMの第i番目の状態Simの集合として与えられており、状態Simの出力確率Pim(X)が正規分布N(μim、Σim)で与えられるとする。ここでmは、クラスタリング対象のHMMの状態に付与されたインデクスである。
【0042】
相互類似度を算出する音素モデルの集合、すなわち、HMMの第i番目の状態Simの集合をMとおく。また、集合Mに含まれるHMMの状態を学習するために用いられた音声特徴ベクトルXの集合をFとおく。このとき、音素モデルの集合Mの相互類似度L(M)として、以下の(1)式で算出される対数尤度を用いる。
【数1】

【0043】
ここで、Nは音声特徴ベクトルXの次元数、Σ(M)は集合Mに含まれる全てのHMM状態の共有共分散行列、γ(X)はHMMの状態Simに対する音声特徴ベクトルXの事後確率を表す。
【0044】
(1)式で算出される相互類似度L(M)は、音素モデルの集合Mを構成する音素モデルが相互に類似するほど大きくなる。すなわち、相互類似度L(M)は、集合Mに含まれる音素モデルが相互に類似する度合いを表す定量的な評価値となっている。なお、相互類似度の算出方法は(1)式で示した方法に限られず、音素モデルが相互に類似する度合いを定量的に表現する任意の算出方法を用いることができる。
【0045】
また、相互類似度の代わりに、集合Mを構成するHMMの状態の相互距離D(M)を用いることもできる。このとき、相互類似度L(M)が小さくなるほど相互距離D(M)は大きくなり、相互類似度L(M)が大きくなるほど相互距離D(M)は小さくなるという関係がある。従って、例えばL(M)=1/D(M)のように定義することで、相互距離D(M)から相互類似度L(M)を算出することができる。
【0046】
相互距離D(M)は、例えば、異なる2つのHMMの状態間の距離を、集合Mに属する全てのHMMの状態間で算出し、その総和をとることで算出できる。なお、異なる2つのHMMの状態間の距離の算出方法としては、例えば、非特許文献"The Use of State Tying in Continuous Speech Recognition"(S.J. Young & P.C. Woodland, Eurospeech 93, pp. 2203-2206)に記載されている方法を使用できる。なお、相互距離D(M)の算出方法はこれに限られず、従来から用いられている任意の算出方法を用いることができる。
【0047】
候補選択部115は、類似度算出部114によって算出された分割候補ごとの相互類似度の和をすべて参照し、最大の相互類似度の和を与える分割候補を最良分割候補として選択するものである。
【0048】
ノード生成部116は、分割候補の生成元であるノードを新たな親ノードとし、最良分割候補に含まれる2つの子集合のそれぞれを含む2つのノードを当該親ノードの新たな子ノードとして生成するものである。
【0049】
なお、ツリー生成部110は、候補生成部112による候補生成処理、候補削除部113による候補削除処理、類似度算出部114による類似度算出処理、候補選択部115による最良分割候補の選択処理、およびノード生成部116によるノード生成処理を繰り返す。そして、ツリー生成部110は、所定の停止条件を満たした場合に繰り返し処理を停止して、それまでに生成されたノードを含むツリー構造を得る。
【0050】
ツリー生成部110は、停止条件として以下の(1)〜(4)の条件を用いる。
(1)候補生成部112で生成された分割候補が0個である場合。すなわち、その時点で子ノードを持たない全てのノードが、ただ1つの音素モデルしか含まない場合。
(2)候補削除部113が、生成された分割候補を全て削除した場合。
(3)候補選択部115が選択した最良分割候補に含まれる2つの子集合の相互類似度の和と、最良分割候補の生成元であるノードに含まれる音素モデルの集合の相互類似度との差分を算出し、その差分が予め定められた閾値を下回る場合。
(4)ノード生成部116が新たに子ノードを生成した時点で、ツリー構造全体での子ノードを持たないノードの個数を算出し、算出した個数が予め定められた閾値を超えた場合。
【0051】
ここで説明した条件のうち、条件(1)および条件(2)は、常に停止条件として用いる。条件(3)および条件(4)は、これらの条件のうちいずれかを用いても構わないし、両方を用いても構わない。また、条件(3)および条件(4)のどちらも用いず、条件(1)および条件(2)のみを用いることもできる。
【0052】
条件(3)は、ノード分割前に対するノード分割後の相互類似度の増加率が小さい場合に処理を停止する条件である。これにより、分割する効果が小さい分割処理を回避して処理の効率化を図ることができる。また、条件(4)を適用することにより、分割したノード数が過大となるのを防止できる。
【0053】
クラスタリング部120は、上記のような停止条件を満たすことにより最終的に得られたツリー構造を参照し、ツリー構造のノードに含まれる音素モデルの集合を、音素モデルのクラスタとして取得するものである。これにより、ツリー構造の各ノードに含まれる音素モデルの集合を単位として、音素モデルをクラスタリングすることができる。
【0054】
記憶部130は、候補生成部112が音素モデルの集合を分割するときに参照する質問リストを記憶するものである。図4は、質問リストのデータ構造の一例を示す図である。図4に示すように、質問リストは、“is_ph=(質問内容)”あるいは“is_lang=(質問内容)”の形式の質問をリスト形式で記憶している。例えば、“is_ph=a?”は、音素種別が“a”であるか否かを問う質問を表す。また、“is_ph=(a|b)?”は、音素種別が“a”または“b”であるか否かを問う質問を表す。さらに、“is_lang=TH?”は、言語種別が“TH”(タイ語)であるか否かを問う質問を表す。
【0055】
なお、記憶部130は、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【0056】
次に、このように構成された第1の実施の形態にかかるクラスタリング装置100によるクラスタリング処理について図5を用いて説明する。図5は、第1の実施の形態におけるクラスタリング処理の全体の流れを示すフローチャートである。
【0057】
まず、入力部101が、クラスタリングの対象となる複数の音素モデルを入力する(ステップS501)。上述のように、入力部101は、学習用の音声データが少量しか利用できない音素モデルを1つ以上含み、かつ、学習用の音声データが比較的大量に利用できる音素モデルを1つ以上含む複数の音素モデルを入力する。なお、学習用の音声データが少量しか利用できない音素モデルには判定タグが付与されている。
【0058】
次に、ノード初期化部111が、入力された全ての音素モデルを含むノードを、ツリー構造のルートノードとして設定する(ステップS502)。図6は、ノード初期化部111が設定したルートノードの一例を示す図である。図6は、図3と同様に、タイ語(TH)の音素a、b、dの音素モデル、中国語(ZH)の音素a、c、dの音素モデル、英語(EN)の音素a、b、cの音素モデルが入力された場合に生成されるルートノードの例を示している。
【0059】
図5に戻り、次に、候補生成部112が、この時点で存在する子ノードを持たないすべてのノードに対して、当該ノードに含まれる音素モデルの集合を、質問リストを用いて2つの子集合に分割した分割候補を、ノードごとに1つ以上生成する(ステップS503)。
【0060】
図7は、分割候補の一例を示す図である。なお、同図は、“*TH_a”、“TH_b”、“*ZH_a”、および“ZH_c”の4つの音素モデルを含むノード(以下、ノードAという)に対して、図4に示す質問リストを適用して生成された分割候補の例を表している。
【0061】
図7に示すように、ノードAに対して、図4に例示した質問リストを用いた場合には、4つの分割候補が生成される。説明のため、図7では、分割候補ごとに適用した質問を示している。なお、質問の成否に応じて音素モデルの集合を分割する場合、複数の質問が同じ分割候補を生成する場合がある。例えば、同図の分割候補では、括弧内に示した質問を適用しても同じ分割候補を生成することができる。
【0062】
質問リストによる分割候補の生成方法は、任意分割による分割候補の生成方法(詳細は後述)に比べて、生成される分割候補の数は少なくなる。しかし、質問リストによる分割候補の生成方法では、クラスタリング対象の音素モデルに関する音声学的知見に基づいて、分割候補の2つの子集合の片方または両方が相互に類似する音素モデルから構成されることが期待される質問を用いることができる。
【0063】
例えば、同じ音素種別“a”に対応する音素モデル“TH_a”と“ZH_a”が相互に類似するという知見に基づき、音素種別が“a”であるか否かを問う質問“is_ph=a?”を質問リストに加えることができる。そして、この質問により、“TH_a”と“ZH_a”を含む子集合を与える分割候補を生成することができる。逆に、音素モデル“TH_a”と“ZH_c”が相互に類似しないという知見に基づき、音素種別が“a”または“c”であるか否かを問う質問“is_ph=(a|c)?”は、質問リストに加えないようにすることができる。これにより、“TH_a”と“ZH_c”を含む子集合を与える分割候補が生成されることを回避できる。
【0064】
このように、音声的知見に基づいて質問リストを準備することで、音素モデルのクラスタリングにおける分割候補の生成をより効率化できる。
【0065】
なお、ツリー構造を用いた音素モデルのクラスタリングで音素種別に関する質問を用いることの優位性とその方法に関しては、非特許文献1で解説されている。本実施の形態では、音素種別だけでなく、さらに言語種別に関する質問を質問リストに加えることで、言語種別の違いに対しても分割候補を生成させている。
【0066】
図5に戻り、候補削除部113が、生成された全ての分割候補をチェックし、ある分割候補の2つの子集合のうち少なくとも1つの子集合が、判定タグが付与された音素モデルのみから構成される場合に、当該分割候補を削除する(ステップS504)。すなわち、生成された分割候補のうち、学習用の音声データが少量しか利用できない音素モデルのみからなる子集合をもつ分割候補が除去される。
【0067】
図8は、削除された分割候補の一例を示す図である。同図は、図7で例示した分割候補に対して、子集合(*TH_a、*ZH_a)を含む分割候補A1が削除された例を示している。なお、図8は、4つの音素モデルを含む上述のノードAから生成された分割候補のみを処理の対象として、分割候補の除去を行った例を示している。候補削除部113は、実際には、候補生成処理(ステップS503)の対象となった全てのノードから生成された全ての分割候補に対して候補削除処理を実行する。
【0068】
図5に戻り、次に、類似度算出部114が、候補削除処理で除去されなかった全ての分割候補に対して、分割候補ごとに、分割候補の2つの子集合それぞれの相互類似度の和を算出する(ステップS505)。具体的には、類似度算出部114は、上述の(1)式にしたがって各分割候補の子集合ごとに相互類似度を算出し、2つの子集合について算出した相互類似度の和を算出する。
【0069】
次に、候補選択部115が、算出された分割候補ごとの相互類似度の和を全て参照し、最大の相互類似度の和を与える分割候補を最良分割候補として選択する(ステップS506)。
【0070】
図9は、選択された分割候補の一例を示す図である。同図は、ノードAおよびノードAと異なるノードBに対して候補生成部112によって生成され、かつ、候補削除部113によって除去された分割候補を除く分割候補(A2、A3、A4、B1、B2、・・・)と、この分割候補それぞれに対して類似度算出部114によって算出された相互類似度の和を示している。
【0071】
ここでノードAおよびノードBは、候補生成処理の対象となるノード、すなわち、この時点で子ノードを持たないノードであるものとする。候補選択部115は、これらの分割候補から、最大の相互類似度の和を与える分割候補A3を選択する。すなわち、ノードAに対して質問”is_ph=c?”を適用し、2つの子集合(ZH_c)および(*TH_a、TH_b、*ZH_a)を与える分割候補を選択する。
【0072】
図5に戻り、次に、ノード生成部116が、選択された最良分割候補の生成元であるノードを新たな親ノードとして、当該親ノードに対して、最良分割候補に含まれる2つの子集合のそれぞれを含む2つのノードを新たな子ノードとして生成する(ステップS507)。
【0073】
図10は、生成された子ノードの一例を示す図である。図10は、図9で例示した最良分割候補A3を参照し、最良分割候補A3を与えるノードAを新たな親ノードとした上で、最良分割候補A3が与える2つの子集合(ZH_c)、(*TH_a、TH_b、*ZH_a)のそれぞれを含む2つのノードを、ノードAの新たな子ノードとして生成した例を示している。
【0074】
なお、図10では、説明のため、分割候補A3を生成するために適用した質問”is_ph=c?”を、ノードAの下方に付与している。さらに、有向アークに、当該質問に対する成否をそれぞれ”y(yes)”、”n(no)”として示している。すなわち、”y”が付与された有向アークの発信先である子ノードは、ノードAに含まれる音素モデルの集合のうち質問に合致する音素モデルの集合を含み、”n”が付与された有向アークの発信先である子ノードはそれ以外の音素モデルの集合を含む。
【0075】
図5に戻り、次に、ツリー生成部110は、予め定められた停止条件を満たすか否かを判断する(ステップS508)。停止条件を満たさない場合は(ステップS508:NO)、この時点で子ノードを持たないノードを対象として、さらに処理を繰り返す(ステップS503)。
【0076】
停止条件を満たす場合は(ステップS508:YES)、ツリー生成部110によるツリー生成処理が終了する。これにより、例えば図6に示すルートノードから、図11に示すような4つのリーフノードを持つツリー構造が生成される。なお、図11では、候補生成部112が使用した質問リストも例示している。
【0077】
ツリー生成処理が終了すると、クラスタリング部120が、生成されたツリー構造を参照し、ツリー構造のノードに含まれる音素モデルの集合を、音素モデルのクラスタとして取得する(ステップS509)。
【0078】
例えば、クラスタリング部120は、図11で例示したツリー構造から、リーフノードに含まれる音素モデルの集合(*TH_a、TH_b、*ZH_a)、(ZH_c)、(*TH_d、ZH_d)、および(EN_a、EN_b、EN_c)の4つのクラスタを得ることができる。
【0079】
同図に示すように、判定タグ“*”が付与された音素モデルが属するクラスタには、判定タグが付与されていない音素モデルが必ず1つ以上存在する。例えば、判定タグが付与された音素モデル“*TH_a”に着目すると、“*TH_a”が属するクラスタには、判定タグが付与されていない音素モデル“TH_b”が属している。また、“*ZH_a”が属するクラスタには同じく“TH_b”が属している。さらに、“*TH_d”が属するクラスタには、“ZH_d”が属している。
【0080】
このように、図5で示したフローチャートにしたがって音素モデルをクラスタリングすることで、判定タグが付与された任意の音素モデルに対して、判定タグが付与されていない1つ以上の音素モデルが必ず同じクラスタに属するという制約を満たすことができる。
【0081】
これは、候補削除処理(ステップS504)で、判定タグ”*”が付与された音素モデルのみから構成される子集合を与える分割候補が除去され、ノード生成処理(ステップS507)でそのような子集合を含む子ノードが生成されないためである。すなわち、本実施の形態では、候補削除処理を備えることにより、クラスタリング部120によって取得される音素モデルのクラスタが所望の条件を満たすことが保証される。
【0082】
なお、クラスタリング部120は、リーフノードに含まれる音素モデルの集合だけでなく、任意のノードに含まれる音素モデルの集合をクラスタとして得ることができる。例えば、クラスタリング部120は、クラスタ(*TH_a、TH_b、*ZH_a)およびクラスタ(ZH_c)をそれぞれ与えるリーフノードの親ノードが含む音素モデルの集合(*TH_a、TH_b、*ZH_a、ZH_c)を、音素モデルのクラスタとして得ることができる。
【0083】
このように、ツリー構造を用いたクラスタリングでは、生成されたツリー構造の親子関係を反映して、親子関係をもつクラスタを得ることができる。なお、この場合でも、判定タグが付与された任意の音素モデルに対して、判定タグが付与されていない1つ以上の音素モデルが必ず同じクラスタに属するという制約が満たされている。
【0084】
(変形例)
これまでは、候補生成部112が、質問リストを用いて音素モデルの集合を分割する例について説明した。分割候補の生成方法はこれに限られず、例えば、与えられた音素モデルの集合を分割しうるすべての分割パターンで分割する方法(以下、任意分割による分割候補の生成方法という)を用いてもよい。
【0085】
図12は、上述のノードAをこの方法で分割して得られる分割候補の例を示す図である。図12に示すように、ノードAに対しては7つの分割候補が生成される。また、図13は、図12の分割候補に対して候補削除処理によって削除された分割候補の一例を示す図である。図13に示すように、任意分割により生成された分割候補に対しては、それぞれ子集合(*TH_a)、(*ZH_a)、(*TH_a、*ZH_a)を与える分割候補A1、A3、A6が除去される。
【0086】
このように、第1の実施の形態にかかるクラスタリング装置では、学習用の音声データが少量しか利用できない任意の音素モデルに対して、学習用の音声データが比較的大量に利用できる1つ以上の音素モデルが必ず同じクラスタに含まれるという制約を満たした上で、ツリー構造を用いた音素モデルのクラスタリングを行うことができる。このため、少量の音声データしか利用できない音素モデルに対して、大量の音声データを利用できる類似する音素モデルを選択して適応学習を実行できる。すなわち、適応学習によって高精度の音素モデルを得ることが可能となる。
【0087】
(第2の実施の形態)
タイ語をはじめとする東南アジア系の言語では、その言語の全ての音素モデルについて、学習用の音声データが少量しか利用できない場合がある。一方、中国語や、英語をはじめとする欧米系の言語では、その言語の全ての音素モデルについて、学習用の音声データが比較的大量に利用できる。
【0088】
このような状況で、タイ語・中国語・英語の全ての音素モデルを対象として音素モデルのクラスタリングを行う場合には、タイ語の任意の音素モデルに対して、中国語・英語の音素モデルが、タイ語の音素モデルと同じクラスタに1つ以上必ず含まれるという制約を満たすように、ツリー構造を用いた音素モデルのクラスタリングを行えばよい。
【0089】
そこで、第2の実施の形態では、言語単位で、学習用の音声データが少量しか得られない言語の音素モデルであることを判定するための判定情報(以下、言語判定タグという)を付与し、言語判定タグが付与された音素モデルのみを含む分割候補を削除する。
【0090】
図14は、第2の実施の形態にかかるクラスタリング装置1400の構成を示すブロック図である。図14に示すように、クラスタリング装置1400は、記憶部130と、入力部1401と、ツリー生成部1410と、クラスタリング部120と、を備えている。
【0091】
第2の実施の形態では、入力部1401およびツリー生成部1410内の候補削除部1413の機能が第1の実施の形態と異なっている。その他の構成および機能は、第1の実施の形態にかかるクラスタリング装置100の構成を表すブロック図である図1と同様であるので、同一符号を付し、ここでの説明は省略する。
【0092】
入力部1401は、言語判定タグが付与された1つ以上の音素モデルと、言語判定タグが付与されていない1つ以上の音素モデルとを入力するものである。
【0093】
候補削除部1413は、生成された分割候補のうち、2つの子集合の少なくとも一方に言語判定タグが付与された音素モデルのみが含まれる場合に、当該分割候補を削除するものである。
【0094】
次に、このように構成された第2の実施の形態にかかるクラスタリング装置1400によるクラスタリング処理について説明する。第2の実施の形態では、入力部1401による音素モデルの入力処理、および候補削除部1413による候補削除処理が、第1の実施の形態のクラスタリング処理と異なっている。
【0095】
すなわち、第2の実施の形態では、第1の実施の形態のクラスタリング処理を表す図5のステップS501で、入力部1401が判定タグの代わりに言語判定タグが付与された音素モデルを入力する点、および、ステップS504で、候補削除部1413が、ある分割候補の2つの子集合のうち少なくとも1つの子集合が、言語判定タグが付与された音素モデルのみから構成される場合に、当該分割候補を削除する点が変更されている。
【0096】
その他の処理(ステップS502〜ステップS503、ステップS505〜ステップS509)は、第1の実施の形態と同様の処理なので、その説明を省略する。
【0097】
このように、第2の実施の形態にかかるクラスタリング装置では、学習用の音声データが少量しか利用できない言語の音素モデルに対して、学習用の音声データが比較的大量に利用できる言語の1つ以上の音素モデルが必ず同じクラスタに含まれるという制約を満たした上で、ツリー構造を用いた音素モデルのクラスタリングを行うことができる。このため、少量の音声データしか利用できない音素モデルに対して、大量の音声データを利用できる類似する音素モデルを選択して適応学習を実行できる。
【0098】
(第3の実施の形態)
学習用の音声データが大量に利用できる音素モデルは、クラスタリングによって類似する音素モデルを求め、適応学習を実行する必要がない。したがって、ツリー構造の生成の過程で、学習用の音声データが大量に利用できる音素モデルのみから構成される音素モデルの集合を含むノードが生成された場合、当該ノードからは分割候補をそれ以上生成する必要はない。そこで、第3の実施の形態にかかるクラスタリング装置は、判定タグが付与された音素モデルを1つ以上含むノードのみを対象として分割候補を生成するものである。
【0099】
図15は、第3の実施の形態にかかるクラスタリング装置1500の構成を示すブロック図である。図15に示すように、クラスタリング装置1500は、記憶部130と、入力部101と、ツリー生成部1510と、クラスタリング部120と、を備えている。
【0100】
第3の実施の形態では、ツリー生成部1510内の候補生成部1512の機能が第1の実施の形態と異なっている。その他の構成および機能は、第1の実施の形態にかかるクラスタリング装置100の構成を表すブロック図である図1と同様であるので、同一符号を付し、ここでの説明は省略する。
【0101】
候補生成部1512は、子ノードを有さず、かつ、判定タグが付与された音素モデルを1つ以上含むノードに対してのみ、当該ノードに含まれる音素モデルの集合を2つの子集合に分割した分割候補を生成するものである。
【0102】
次に、このように構成された第3の実施の形態にかかるクラスタリング装置1500によるクラスタリング処理について説明する。第3の実施の形態では、候補生成部1512による候補生成処理が、第1の実施の形態のクラスタリング処理と異なっている。
【0103】
すなわち、第3の実施の形態では、第1の実施の形態のクラスタリング処理を表す図5のステップS503で、候補生成部1512が、子ノードを持たず、かつ、判定タグが付与された音素モデルを1つ以上含むすべてのノードを対象として候補生成処理を実行する点が、第1の実施の形態と異なっている。
【0104】
その他の処理(ステップS501〜ステップS502、ステップS504〜ステップS509)は、第1の実施の形態と同様の処理なので、その説明を省略する。
【0105】
このように、第3の実施の形態にかかるクラスタリング装置では、判定タグが付与された音素モデルを1つ以上含むノードのみを対象として分割候補を生成することができる。これにより、不要な分割候補の生成が抑制され、ツリー構造を用いた音素モデルのクラスタリング方法を実行する際の処理コストを削減することができる。
【0106】
次に、第1〜第3の実施の形態にかかるクラスタリング装置のハードウェア構成について図16を用いて説明する。図16は、第1〜第3の実施の形態にかかるクラスタリング装置のハードウェア構成を示す説明図である。
【0107】
第1〜第3の実施の形態にかかるクラスタリング装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
【0108】
第1〜第3の実施の形態にかかるクラスタリング装置で実行されるクラスタリングプログラムは、ROM52等に予め組み込まれて提供される。
【0109】
第1〜第3の実施の形態にかかるクラスタリング装置で実行されるクラスタリングプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0110】
さらに、第1〜第3の実施の形態にかかるクラスタリング装置で実行されるクラスタリングプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1〜第3の実施の形態にかかるクラスタリング装置で実行されるクラスタリングプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【0111】
第1〜第3の実施の形態にかかるクラスタリング装置で実行されるクラスタリングプログラムは、上述した各部(入力部、ツリー生成部、クラスタリング部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU51が上記ROM52からクラスタリングプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、各部が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【0112】
以上のように、本発明にかかる装置、方法およびプログラムは、ツリー構造のノードをクラスタとして音素モデルをクラスタリングする装置、方法およびプログラムに適している。
【図面の簡単な説明】
【0113】
【図1】第1の実施の形態にかかるクラスタリング装置の構成を示すブロック図である。
【図2】入力される音素モデルの一例を示す図である。
【図3】クラスタリングに用いるツリー構造の一例を示す図である。
【図4】質問リストのデータ構造の一例を示す図である。
【図5】第1の実施の形態におけるクラスタリング処理の全体の流れを示すフローチャートである。
【図6】ルートノードの一例を示す図である。
【図7】分割候補の一例を示す図である。
【図8】削除された分割候補の一例を示す図である。
【図9】選択された分割候補の一例を示す図である。
【図10】生成された子ノードの一例を示す図である。
【図11】生成されたツリー構造の一例を示す図である。
【図12】分割候補の例を示す図である。
【図13】図12の分割候補に対して候補削除処理によって削除された分割候補の一例を示す図である。
【図14】第2の実施の形態にかかるクラスタリング装置の構成を示すブロック図である。
【図15】第3の実施の形態にかかるクラスタリング装置の構成を示すブロック図である。
【図16】第1〜第3の実施の形態にかかるクラスタリング装置のハードウェア構成を示す説明図である。
【符号の説明】
【0114】
51 CPU
52 ROM
53 RAM
54 通信I/F
61 バス
100 クラスタリング装置
101 入力部
110 ツリー生成部
111 ノード初期化部
112 候補生成部
113 候補削除部
114 類似度算出部
115 候補選択部
116 ノード生成部
120 クラスタリング部
130 記憶部
1400 クラスタリング装置
1401 入力部
1410 ツリー生成部
1413 候補削除部
1500 クラスタリング装置
1510 ツリー生成部
1512 候補生成部

【特許請求の範囲】
【請求項1】
学習用の音声データが少ないことを表す判定情報が付与された音素モデルおよび前記判定情報が付与されていない音素モデルをそれぞれ少なくとも1つ入力する入力部と、
ツリー構造のルートノードとして、入力された音素モデルを含むノードを生成するノード初期化部と、
ツリー構造のノードのうち子ノードを有さないノードに対して、ノードに含まれる音素モデルの集合を2つに分割して得られる2つの子集合の組の候補を生成する候補生成部と、
前記候補のうち、前記候補に含まれる2つの前記子集合の少なくとも一方が、前記判定情報が付与された音素モデルのみを含む前記候補を削除する候補削除部と、
削除された前記候補以外の前記候補それぞれに対して、前記候補に含まれる2つの前記子集合ごとに前記子集合に含まれる前記音素モデル間の類似度を算出し、各子集合で算出した類似度の和を算出する類似度算出部と、
算出した和が最大となる前記候補を選択する候補選択部と、
選択した前記候補の生成元であるノードの子ノードとして、選択した前記候補に含まれる2つの子集合それぞれを含む2つのノードを生成するノード生成部と、
前記ツリー構造のノードに含まれる音素モデルの集合を単位として音素モデルをクラスタリングするクラスタリング部と、
を備えたことを特徴とするクラスタリング装置。
【請求項2】
前記入力部は、前記音声データが少ない言語であることを表す言語判定情報が前記判定情報として付与された音素モデルおよび前記言語判定情報が付与されていない音素モデルをそれぞれ少なくとも1つ入力し、
前記候補削除部は、前記候補のうち、前記候補に含まれる2つの前記子集合の少なくとも一方が、前記言語判定情報が付与された音素モデルのみを含む前記候補を削除すること、
を特徴とする請求項1に記載のクラスタリング装置。
【請求項3】
前記候補生成部は、ツリー構造のノードのうち、子ノードを有さず、かつ、前記判定情報が付与された音素モデルを含むノードに対して前記候補を生成すること、
を特徴とする請求項1に記載のクラスタリング装置。
【請求項4】
前記音素モデルは、音素の音響的特徴の遷移関係をモデル化したHMM(Hidden Markov Model)の各状態であること、
を特徴とする請求項1に記載のクラスタリング装置。
【請求項5】
入力部が、学習用の音声データが少ないことを表す判定情報が付与された音素モデルおよび前記判定情報が付与されていない音素モデルをそれぞれ少なくとも1つ入力する入力ステップと、
ノード初期化部が、ツリー構造のルートノードとして、入力された音素モデルを含むノードを生成するノード初期化ステップと、
候補生成部が、ツリー構造のノードのうち子ノードを有さないノードに対して、ノードに含まれる音素モデルの集合を2つに分割して得られる2つの子集合の組の候補を生成する候補生成ステップと、
候補削除部が、前記候補のうち、前記候補に含まれる2つの前記子集合の少なくとも一方が、前記判定情報が付与された音素モデルのみを含む前記候補を削除する候補削除ステップと、
類似度算出部が、削除された前記候補以外の前記候補それぞれに対して、前記候補に含まれる2つの前記子集合ごとに前記子集合に含まれる前記音素モデル間の類似度を算出し、各子集合で算出した類似度の和を算出する類似度算出ステップと、
候補選択部が、算出した和が最大となる前記候補を選択する候補選択ステップと、
ノード生成部が、選択した前記候補の生成元であるノードの子ノードとして、選択した前記候補に含まれる2つの子集合それぞれを含む2つのノードを生成するノード生成ステップと、
クラスタリング部が、前記ツリー構造のノードに含まれる音素モデルの集合を単位として音素モデルをクラスタリングするクラスタリングステップと、
を備えたことを特徴とするクラスタリング方法。
【請求項6】
コンピュータを、
学習用の音声データが少ないことを表す判定情報が付与された音素モデルおよび前記判定情報が付与されていない音素モデルをそれぞれ少なくとも1つ入力する入力部と、
ツリー構造のルートノードとして、入力された音素モデルを含むノードを生成するノード初期化部と、
ツリー構造のノードのうち子ノードを有さないノードに対して、ノードに含まれる音素モデルの集合を2つに分割して得られる2つの子集合の組の候補を生成する候補生成部と、
前記候補のうち、前記候補に含まれる2つの前記子集合の少なくとも一方が、前記判定情報が付与された音素モデルのみを含む前記候補を削除する候補削除部と、
削除された前記候補以外の前記候補それぞれに対して、前記候補に含まれる2つの前記子集合ごとに前記子集合に含まれる前記音素モデル間の類似度を算出し、各子集合で算出した類似度の和を算出する類似度算出部と、
算出した和が最大となる前記候補を選択する候補選択部と、
選択した前記候補の生成元であるノードの子ノードとして、選択した前記候補に含まれる2つの子集合それぞれを含む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

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2009−103962(P2009−103962A)
【公開日】平成21年5月14日(2009.5.14)
【国際特許分類】
【出願番号】特願2007−276236(P2007−276236)
【出願日】平成19年10月24日(2007.10.24)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願 平成19年度経済産業省「戦略的技術開発委託費(情報家電センサー・ヒューマンインターフェースデバイス活用技術開発<音声認識基盤技術の開発>にかかるもの」委託研究、産業技術力強化法第19条の適用を受ける特許出願)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】