(57)【特許請求の範囲】
【請求項１】
学習テキストに含まれる観測語系列に対応する潜在語系列である学習潜在語系列の確率分布並びに上記観測語系列中の観測語及び上記潜在語系列中の潜在語の確率分布を学習した潜在語言語モデルを記憶する潜在語言語モデル記憶部と、
上記潜在語言語モデルに含まれる潜在語系列の確率分布及び上記観測語系列の確率分布を混合したベースライン言語モデルを記憶するベースライン言語モデル記憶部と、
上記ベースライン言語モデルを用いて入力音声を音声認識し、複数の音声認識結果の仮説及び各仮説に対する仮音声認識スコアを生成する複数仮説生成部と、
上記潜在語言語モデルを用いて上記仮説に対応する潜在語系列である仮説潜在語系列を決定し、上記仮説及び上記仮説潜在語系列の同時確率を求める潜在語系列決定部と、
上記仮音声認識スコア及び上記同時確率を用いて音声認識スコアを求めるスコア再計算部と、
上記複数の仮説から上記音声認識スコアに基づいて上記入力音声に対する音声認識結果を決定する一位仮説決定部と、
を含む音声認識装置。
【請求項２】
請求項１に記載の音声認識装置であって、
上記潜在語言語モデル記憶部は、上記観測語系列に対応する複数の上記学習潜在語系列のＮグラム確率及び上記観測語と上記潜在語それぞれとのユニグラム確率を学習した上記潜在語言語モデルを記憶するものである
音声認識装置。
【請求項３】
請求項１または請求項２に記載の音声認識装置であって、
上記潜在語系列決定部は、上記仮説潜在語系列の決定並びに上記仮説及び上記仮説潜在語系列の同時確率の計算を並行して行うものである
音声認識装置。
【請求項４】
請求項１から３のいずれかに記載の音声認識装置であって、
上記スコア再計算部は、上記仮音声認識スコアに上記同時確率の対数値を予め定めた重みで重み付けして加算することで上記音声認識スコアを求めるものである
音声認識装置。
【請求項５】
潜在語言語モデルは、学習テキストに含まれる観測語系列に対応する潜在語系列である学習潜在語系列の確率分布並びに上記観測語系列中の観測語及び上記潜在語系列中の潜在語の確率分布を学習したものであり、
ベースライン言語モデルは、上記潜在語言語モデルに含まれる潜在語系列の確率分布及び上記観測語系列の確率分布を混合したものであり、
複数仮説生成部が、上記ベースライン言語モデルを用いて入力音声を音声認識し、複数の音声認識結果の仮説及び各仮説に対する仮音声認識スコアを生成する複数仮説生成ステップと、
潜在語系列決定部が、上記潜在語言語モデルを用いて上記仮説に対応する潜在語系列である仮説潜在語系列を決定し、上記仮説及び上記仮説潜在語系列の同時確率を求める潜在語系列決定ステップと、
スコア再計算部が、上記仮音声認識スコア及び上記同時確率を用いて音声認識スコアを求めるスコア再計算ステップと、
一位仮説決定部が、上記複数の仮説から上記音声認識スコアに基づいて上記入力音声に対する音声認識結果を決定する一位仮説決定ステップと、
を含む音声認識方法。
【請求項６】
請求項１から４のいずれかに記載の音声認識装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音声認識技術に関し、特に、潜在語言語モデル（Latent Words Language Model）を用いて高速に音声認識を行う技術に関する。
【背景技術】
【０００２】
音声認識技術では言語的な予測のために言語モデルが必要である。音声認識の分野では言語モデルとしてＮグラム言語モデルが一般的に利用されている。Ｎグラム言語モデルは音声認識のデコーディングと非常に相性の良い形である。Ｎグラム言語モデルは学習テキストがあれば容易に学習することが可能である。Ｎグラム言語モデルを学習する方法は非特許文献１などに記載されている。
【０００３】
Ｎグラム言語モデル以外にも様々な言語モデルが提案されている。しかし、音声認識のデコーディングとの相性を考慮するとＮグラム言語モデル以外の言語モデルが音声認識で利用されることは非常に少ない。Ｎグラム言語モデル以外の言語モデルでは音声認識の際に実行される探索処理を現実的な時間で行うことが困難であることが理由である。
【０００４】
Ｎグラム言語モデルは音声認識で一般的に利用されているものの問題も存在する。例えば、Ｎグラム言語モデルでは学習テキスト中に存在した言語現象しか学習できない点が挙げられる。実例を挙げて説明する。学習テキスト内に「りんごを食べる」が存在して「みかんを食べる」が存在しない場合、その学習テキストで構築したＮグラム言語モデルを用いて「みかんを食べる」の確率を求めると、基本的には「を食べる」という情報しか使われない。しかしながら、「みかん」と「りんご」は通常の場合には類似した単語であり、「りんごを食べる」の確率は、「みかんを食べる」の情報を使う方がよい場合が多いと考えられる。
【０００５】
類似単語の情報を利用する言語モデルとして、非特許文献２に記載されている潜在語言語モデルがある。潜在語言語モデルは学習テキスト中の各単語に対する潜在語を考慮したモデルである。潜在語言語モデルは、例えば「りんご」と「みかん」は類似単語であることを考慮して確率モデルを構築することができる。非特許文献２では、潜在語言語モデルはＮグラム言語モデルと比較して高い言語予測性能があることが報告されている。
【０００６】
潜在語言語モデルの構造は、非特許文献３に記載されているクラスＮグラム言語モデルと同様の構造を持つ。クラスＮグラム言語モデルは、一般的なＮグラム言語モデルではなく、単語をクラスと呼ばれる形態に落とし、そのクラス系列に関するＮグラム言語モデルとして表現される。ここで、クラスとは単語の集合を何らかの基準で分類した概念であり、例えば、果物名クラスや姓クラスなどが考えられる。クラスＮグラム言語モデルでは、さらにクラス内単語生起確率の分布を持つ。クラス内単語生起確率は、例えば、果物名クラスであれば、「りんご」が生起する確率は0.2、「みかん」が生起する確率は0.1といった値になる。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】北健二著、「言語と計算−４  確率的言語モデル」、東京大学出版会、1999年11月、pp. 57-62
【非特許文献２】K. Deschacht, J. D. Belder, M-F. Moens, “The latent words language model”, Computer Speech and Language, vol.26, pp.384-409, 2012.
【非特許文献３】北健二著、「言語と計算−４  確率的言語モデル」、東京大学出版会、1999年11月、pp. 72-74
【発明の概要】
【発明が解決しようとする課題】
【０００８】
潜在語言語モデルは音声認識や機械翻訳などでは利用されていない。音声認識で従来の一般的なＮグラム言語モデルの代わりとして潜在語言語モデルを直接利用することは非現実的である。その理由は、デコーディングの際の計算時間が大幅に上がってしまうためである。これは、潜在語言語モデルがソフトクラスタリングのクラスＮグラム言語モデルとしての構造を持つことに起因する。
【０００９】
音声認識にも利用される一般的なクラスＮグラム言語モデルはハードクラスタリングの構造を持っている。ハードクラスタリングの構造というのは、ある単語は一つのクラスにしか属さない構造である。一方、ソフトクラスタリングの構造というのは、一つの単語が複数のクラスに属し得る構造のことを指す。潜在語言語モデルの場合は、一つの単語がすべてのクラスに属す構造である。ハードクラスタリングの場合は、ある単語列を見るとそのクラス系列は一意に決定できる。しかしながら、ソフトクラスタリングの場合は、ある単語列に対するクラスの系列は膨大に存在する。音声認識では、言語モデルを利用して任意の単語列に対する確率値を求める行程が必要となるが、潜在語言語モデルでは膨大な計算量が必要となり、音声認識への利用は非現実的である。
【００１０】
潜在語言語モデルを音声認識に利用する場合は、一つの単語がすべてのクラスに属す構造であるため、クラスを見つける問題は非常に難しい。クラスを見つけながら音声認識を行う方法は、ビタビ（Viterbi）探索と呼ばれる。ビタビ探索は、単語系列と潜在語系列の同時復号を実現する公知の技術であり、様々な復号化問題で利用される。
【００１１】
この発明は、優れた言語予測性能を持つ潜在語言語モデルを音声認識に現実的に利用することを目的とする。より詳しくは、ビタビ探索に必要である膨大な計算量の問題を大幅に解決させ、潜在語言語モデルをビタビ探索で利用できるように構成する。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、この発明の音声認識装置は、潜在語言語モデル記憶部、ベースライン言語モデル記憶部、複数仮説生成部、潜在語系列決定部、スコア再計算部及び一位仮説決定部を含む。潜在語言語モデル記憶部は、学習テキストに含まれる観測語系列に対応する潜在語系列である学習潜在語系列の確率分布並びに観測語系列中の観測語及び潜在語系列中の潜在語の確率分布を学習した潜在語言語モデルを記憶する。ベースライン言語モデル記憶部は、潜在語言語モデルに含まれる潜在語系列の確率分布及び観測語系列の確率分布を混合したベースライン言語モデルを記憶する。複数仮説生成部は、ベースライン言語モデルを用いて入力音声を音声認識し、複数の音声認識結果の仮説及び各仮説に対する仮音声認識スコアを生成する。潜在語系列決定部は、潜在語言語モデルを用いて仮説に対応する潜在語系列である仮説潜在語系列を決定し、仮説及び仮説潜在語系列の同時確率を求める。スコア再計算部は、仮音声認識スコア及び同時確率を用いて音声認識スコアを求める。一位仮説決定部は、複数の仮説から音声認識スコアに基づいて入力音声に対する音声認識結果を決定する。
【発明の効果】
【００１３】
この発明の音声認識技術は、優れた言語予測性能を持った潜在語言語モデルを利用して音声認識を行うため、従来の一般的な学習方法で構築したＮグラム言語モデルを利用した音声認識よりも高い言語予測性能を得ることができる。また、音声認識時において、最初に一般的なＮグラム言語モデルの構造を持つベースライン言語モデルを用いて音声認識結果の候補を絞り、その上で潜在語言語モデルによるビタビ探索を行うことで、単純にビタビ探索を行う場合と比較して、計算量を大幅に減らすことができる。これにより、通常の計算機でも潜在語言語モデルを用いた音声認識を実現可能となる。したがって、この発明の音声認識技術によれば、優れた言語予測性能を持つ潜在語言語モデルを用いた音声認識を高速に行うことができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、潜在語系列と観測語系列を説明するための図である。
【図２】図２は、音声認識装置の機能構成を例示する図である。
【図３】図３は、音声認識方法の処理フローを例示する図である。
【図４】図４は、音声認識探索のデータフローを説明するための図である。
【発明を実施するための形態】
【００１５】
〔発明のポイント〕
実施形態の説明に先立ち、この発明のポイントについて説明する。
【００１６】
この発明では、潜在語言語モデルが確率的生成モデルであることに着目して、潜在語言語モデルの確率過程に従って生成した擬似学習テキストから一般的な単語Ｎグラム言語モデルを構築する。つまり、潜在語言語モデルの性質をＮグラム言語モデルとして近似的に表現する。また、構築したＮグラム言語モデルと一般的な方法で学習テキストから直接学習したＮグラム言語モデルを組み合わせることで、両者の性質を活かした言語モデルを構築する。例えば、学習テキスト内に「りんごを食べる」は存在するが「みかんを食べる」は存在しない場合であっても、一度潜在語言語モデルを構築してテキストを生成すると、「みかんを食べる」というテキストが生成し得る枠組みである。したがって、「みかんを食べる」を含む学習テキストからＮグラム言語モデルを学習すれば、「みかん」と「りんご」が類似していることを考慮したＮグラム言語モデルを構築することができる。また、単純なＮグラムとして表すことができれば、一般的な方法で構築するＮグラム言語モデルと混合して単一の言語モデルとして表すことが可能となる。この混合した言語モデルは、潜在語言語モデルの特性と単純なＮグラム言語モデルの特性を補完し合う言語モデルとなることが期待できる。
【００１７】
この発明ではさらに潜在語言語モデルを使ったビタビ探索を高速で行うために、出力する単語系列の候補を絞ってから各単語系列の裏に隠れた潜在語系列を推定する。単語系列の候補を絞る段階においては一般的なＮグラム言語モデルを用いる。各単語系列の裏に隠れた潜在語系列を推定する段階においては潜在語言語モデルを使用する。最終的に、裏に隠れた潜在語系列と実際の単語系列の同時確率を参考にして音声認識結果を決定する。
【００１８】
〔潜在語言語モデル〕
潜在語は、クラスＮグラム言語モデルにおけるクラスに相当し、ある文脈において意味や構文的な役割が似た単語をグループ化した場合の代表語を表わす。図１に、潜在語と観測語との関係を例示する。観測語とは、学習テキスト上に現れる単語のことであり、例えば図１に示すような「今日  は  いい  天気  です」という一文を構成する個々の単語のことである。以下では観測語の連なる一文を観測語系列と呼ぶ。この観測語に対して、潜在語は観測語に類似する単語の代表語を用いて表される。観測語の「今日」は、潜在語の「明日」に対応し、「明日」「昨日」「今日」等の複数の類似単語の代表として表される。
【００１９】
潜在語言語モデルは、例えば、技術的な単語と一般的な単語が文脈的に類似した役割を持つ場合、一つの潜在語として近い確率を持つように学習できる。このため潜在語言語モデルは、通常のＮグラム言語モデルと比較してデータスパースネスの問題を回避することができ、様々なタスクに頑健に動作することが期待できる。
【００２０】
しかし、潜在語言語モデルは、上述したように音声認識のデコーディングの際に計算コストが大幅に増加してしまう課題がある。この発明では、潜在語言語モデルから一旦疑似学習テキストを作成し、その疑似学習テキストからＮグラム言語モデルを作成することで、潜在語言語モデルを単純なＮグラム言語モデルとして近似したものを利用する。
【００２１】
〔実施形態〕
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００２２】
図２を参照して、実施形態に係る音声認識装置の機能構成の一例を説明する。音声認識装置１は、学習テキスト記憶部１０、潜在語言語モデル学習部１２、潜在語言語モデル記憶部１４、ベースライン言語モデル学習部１６、ベースライン言語モデル記憶部１８、複数仮設生成部２０、潜在語系列決定部２２、スコア再計算部２４及び一位仮説決定部２６を含む。
【００２３】
音声認識装置１は、例えば、中央演算処理装置（Central Processing Unit、ＣＰＵ）、主記憶装置（Random Access Memory、ＲＡＭ）等を有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。音声認識装置１は例えば、中央演算処理装置の制御のもとで各処理を実行する。音声認識装置１に入力されたデータや各処理で得られたデータは例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。音声認識装置１が備える各記憶部は、例えば、ＲＡＭ（Random Access Memory）などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ（Flash Memory）のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。音声認識装置１が備える各記憶部は、それぞれ論理的に分割されていればよく、一つの物理的な記憶装置に記憶されていてもよい。
【００２４】
図３を参照して、音声認識装置１が実行する音声認識方法の処理フローの一例を、実際に行われる手続きの順に従って説明する。
【００２５】
学習テキスト記憶部１０には、予め用意した学習テキストが記憶されている。学習テキストは、潜在語言語モデルや通常のＮグラム言語モデルなどの言語モデルを学習するために利用するテキストである。この発明では、学習テキストは単語単位で分割されていることを前提とする。
【００２６】
ステップＳ１２において、潜在語言語モデル学習部１２は、学習テキスト記憶部１０に記憶された学習テキストを読み込み、学習テキストに含まれる観測語の単語系列である観測語系列に対応する潜在語の単語系列である学習潜在語系列の確率分布並びに上記観測語及び上記潜在語の確率分布を学習することで潜在語言語モデルを生成する。生成した潜在語言語モデルは潜在語言語モデル記憶部１４に記憶される。
【００２７】
潜在語言語モデルは、P(hk|hk-2,hk-1)という確率分布と、P(wk|hk)という確率分布の二つの確率分布を持っている。ここで、hは潜在語であり、wは観測語である。潜在語hは、潜在語言語モデルにおける潜在変数にあたり、観測語wは、学習テキスト中に実際に出現する単語を表す。確率分布P(hk|hk-2,hk-1)は一般的な単語Ｎグラム言語モデルの形、確率分布P(wk|hk)はユニグラム（unigram）言語モデルの形となっている。これは、一般的なクラスＮグラム言語モデルと同じ形であり、潜在語はクラスＮグラム言語モデルにおけるクラスに当たる。
【００２８】
潜在語言語モデルの学習は、入力する学習テキストの各観測語に対して、潜在語の割り当てを推定する問題である。つまり、「w1 w2 … wL」（Lは学習テキストに含まれる総単語数）という学習テキスト（観測語の系列）があるとして、「w1」「w2」…「wL」の各観測語に対応する潜在語「h1」「h2」…「hL」を推定する問題と言える。この割り当てを推定できれば、潜在語系列「h1 h2 … hL」に対してＮグラム言語モデルを学習して確率分布P(hk|hk-2,hk-1)を構築でき、「h1→w1」「h2→w2」…「hL→wL」に対してユニグラム言語モデルを学習して確率分布P(wk|hk)を構築できる。
【００２９】
具体的な潜在語の割り当ての推定は、非特許文献２などに記載されているギブスサンプリングという方法により行うことができる。学習テキストに含まれる観測語の集合をWとすると、各潜在語はWに含まれるいずれかの単語が割り当てられる。例えば、学習テキスト（観測語の系列）が「りんご  みかん  パイン  です」という４単語からなる文であるとした場合、Wは「りんご」「みかん」「パイン」「です」の４単語からなる集合である。この場合、学習テキストの潜在語系列は「りんご  りんご  りんご  です」や「みかん  りんご  みかん  です」「パイン  パイン  パイン  パイン」などが候補となる。すなわち、潜在語系列の候補は潜在語のすべての組み合わせであり、例えばM個の単語系列にJ種類の潜在語があるならばMJ個（MのJ乗個）の潜在語系列の候補が存在することになる。各潜在語系列の候補は、その潜在語系列が実際に正解系列である確率を持っていることになる。この複数の候補からより確からしいものを決定する処理をギブスサンプリングでは行うことができる。例えば、非特許文献２では、最終的に単一の潜在語系列を選択する。選択される潜在語系列は、ギブスサンプリングを繰り返した場合に最終的に得られる潜在語系列を利用すればよい。
【００３０】
上記の例において、「りんご  りんご  りんご  です」が最終的に潜在語系列として選択された場合を例として、二つの確率分布の意味合いを説明する。上述の通り、潜在語系列が決まれば、確率分布P(hk|hk-2,hk-1)と確率分布P(wk|hk)を得ることができる。この例では、潜在語系列が「りんご  りんご  りんご  です」であるから、果物名として「りんご」という単語を代表としている。つまり、確率分布P(hk|hk-2,hk-1)は、果物名の後には果物名がよく出現するという分布を得ている。確率分布P(wk|hk)は、果物名の実体が実際に「りんご」や「みかん」、「パイン」であるということを示している。
【００３１】
非特許文献２に記載されたギブスサンプリングでは、潜在語系列の割り当ては一意に決定している。しかし、割り当てる潜在語を複数持つことも可能である。つまり、潜在語系列の候補から複数個を利用することができる。例えば、B（≧2）個の候補を利用する場合は、確率分布P(hk|hk-2,hk-1)と確率分布P(wk|hk)の組をB個内在することになる。例えば、B=2であるならば、確率分布P1(hk|hk-2,hk-1)と確率分布P1(wk|hk)の組と、確率分布P2(hk|hk-2,hk-1)と確率分布P2(wk|hk)の組を持つ。値Bは事前に人手で与えることになる。言語モデルをより詳細にしたい場合はBの値を大きくすればよい。Bの値は10程度であれば、ある程度詳細であるといえる。なお、複数個の潜在語系列の候補を利用する場合は、ギブスサンプリングにおける最後のB回の割り当てを潜在語系列の候補として利用すればよい。
【００３２】
ステップＳ１６において、ベースライン言語モデル学習部１６は、学習テキスト記憶部１０に記憶された学習テキスト及び潜在語言語モデル記憶部１４に記憶された潜在語言語モデルを読み込み、潜在語言語モデルに含まれる潜在語系列の確率分布を学習し、学習テキストに含まれる観測語系列の確率分布を学習し、これらの確率分布を混合してベースライン言語モデルを生成する。
【００３３】
まず、ベースライン言語モデル学習部１６は、読み込んだ学習テキスト中の単語のＮ個組みのすべての組み合わせについて頻度を数えてＮグラム言語モデルを作成する。Ｎグラム言語モデルの学習方法は非特許文献１などを参照されたい。例えばトライグラム（trigram）の構造を持つベースライン言語モデルはPbase(wk|wk-2,wk-1)という確率分布を与えるものである。これは、単語列wk-2,wk-1が出た後の単語wkの出現する確率を表す。
【００３４】
次に、ベースライン言語モデル学習部１６は、読み込んだ潜在語言語モデルを用いて、確率分布P(hk|hk-2,hk-1)から潜在語系列を生成し、その潜在語系列と確率分布P(wk|hk)とから疑似学習テキストを作成する。
【００３５】
疑似学習テキストの作成は、例えば以下のように行う。まず、ベースライン言語モデル学習部１６は、一様乱数randh1を発生させ、P(h1|-,-)に従って最初の潜在語h1を決定する。潜在語h1は、一様乱数と潜在語h1の確率との関係で決定する。例えば、P(りんご|-,-)=0.3、P(みかん|-,-)=0.3、P(パイン|-,-)=0.3、P(です|-,-)=0.1と仮定した時に、randh1=0.1の場合は最初の潜在語h1=「りんご」に決定する。同様に、randh1=0.4の場合は潜在語h1=「みかん」、randh1=0.7の場合は潜在語h1=「パイン」、randh1=0.95の場合は潜在語h1=「です」に決定する。次に、ベースライン言語モデル学習部１６は、一様乱数randw1を発生させ、P(w1|h1)を参照して観測語w1を決定する。観測語w1は、一様乱数と確率P(w1|h1)との関係で決定する。例えば、P(りんご|h1)=0.3、P(みかん|h1)=0.3、P(パイン|h1)=0.3、P(です|h1)=0.1と仮定した時に、randw1=0.1の場合は観測語w1=「りんご」に決定する。同様に、randw1=0.4の場合は観測語w1=「みかん」、randw1=0.7の場合は観測語w1=「パイン」、randw1=0.95の場合は観測語w1=「です」に決定する。決定した観測語w1は擬似学習テキストに出力する。この一連の処理を予め定めた回数だけ繰り返すことで、擬似学習テキストを生成する。出力する擬似学習テキストの件数は大きいほど潜在語言語モデルの性質を良く表わす疑似学習テキストとすることができる。
【００３６】
複数個の潜在語系列の候補を利用するために、複数の確率分布Pb(hk|hk-2,hk-1)と確率分布Pb(wk|hk)の組を持つ場合には（1≦b≦B）、学習テキストの生成にあたり、さらに一様乱数randpを発生させ、値Bの逆数と一様乱数randpとの関係で利用する確率分布の組を選択するようにすればよい。例えば、B=2のとき、randp=0.3であったとすると、確率分布P1(hk|hk-2,hk-1)と確率分布P1(wk|hk)を用いて、潜在語hk及び観測語wkを決定するように構成すればよい。
【００３７】
続いて、ベースライン言語モデル学習部１６は、生成した擬似学習テキスト中の単語のＮ個組みのすべての組み合わせについて頻度を数えてＮグラム言語モデルを作成する。Ｎグラム言語モデルの学習方法は非特許文献１などを参考にされたい。
【００３８】
そして、ベースライン言語モデル学習部１６は、学習テキストに基づいて生成したＮグラム言語モデルと潜在語言語モデルに基づいて生成したＮグラム言語モデルとを重み付き和してベースライン言語モデルを生成する。生成したベースライン言語モデルはベースライン言語モデル記憶部１８に記憶される。
【００３９】
以下、上述のように生成した潜在語言語モデル及びベースライン言語モデルを用いて音声認識を行う処理の詳細を説明する。以降の説明では、図４に示した実例を適宜参照しながら説明する。
【００４０】
ステップＳ２０において、音声信号が複数仮説生成部２０へ入力される。複数仮説生成部２０は、ベースライン言語モデル記憶部１８からベースライン言語モデルを読み込み、ベースライン言語モデルを用いて入力音声を音声認識し、複数の音声認識結果の仮説及び各仮説に対する音声認識スコアである仮音声認識スコアを生成する。生成した仮説は潜在語系列決定部２２へ入力される。生成した仮説及び仮音声認識スコアはスコア再計算部２６へ入力される。
【００４１】
ベースライン言語モデルは、通常のＮグラム言語モデルであるため、任意の音声認識のデコーディングアルゴリズムが利用できる。例えば、１パスフレーム同期ビームサーチなどが利用できる。１パスフレーム同期ビームサーチについての詳細は「鹿野清宏、伊藤克亘、河原達也、武田一哉、山本幹雄、「IT Text 音声認識システム」、オーム社出版局、pp.110.（参考文献１）」などを参考にされたい。
【００４２】
複数仮説生成部２０は、様々な音声認識結果をスコア付きで出力する。図４に示すように、ある入力音声に対する複数仮説は、「今日が晴れです：-15000」「今日は晴れです：-18000」「今日はまれです：-20000」などである。「:（コロン）」の前方の文字列が音声認識結果の仮説であり、後方の数値が仮音声認識スコアである。ここで、仮音声認識スコアがマイナスである理由を説明する。音声認識では確率の対数値を音声認識スコアとして利用することが一般的である。0より大きく1より小さい値の対数値はマイナスになる。したがって、仮音声認識スコアはマイナス値となる。
【００４３】
複数仮説はＮベストと呼ばれる。Ｎベストは、音声認識スコアの良いものからN個の仮説を選択した音声認識結果の仮説のことを表す。音声認識スコアは値が大きいほどその仮説が良いということを意味している。例えば、10ベストであればスコア上位10仮説であることを表している。このNの値は人手で設定する。例えば、1000と設定する。この値は理想的には非常に大きい値がよいが、計算量を考慮して1000から5000までとすることが一般的である。最終的に、複数仮説生成部２０は、N個の仮説と仮音声認識スコアの組、上述の例であれば「今日は晴れです：-15000」などを得て出力する。
【００４４】
ステップＳ２２において、潜在語系列決定部２２は、潜在語言語モデル記憶部１４から潜在語言語モデルを読み込み、潜在語言語モデルを用いて仮説に対応する潜在語系列である仮説潜在語系列を決定し、仮説及び仮説潜在語系列の同時確率を求める。求まった同時確率は潜在語系列と組にしてスコア再計算部２４へ入力される。
【００４５】
潜在語系列決定部２２は、具体的には、ビタビ（Viterbi）アルゴリズムを利用できる。ビタビアルゴリズムは、ある仮説の裏に隠れた潜在語系列の決定と、ある仮説と潜在語系列の同時確率の計算を平行して行うことができるアルゴリズムである。ビタビアルゴリズムについての詳細は、上述の参考文献１を参照されたい。ビタビアルゴリズムを利用すれば、潜在語系列と同時確率を求めることができる。ここでは、同時確率をビタビ確率と呼ぶ。例えば、入力された仮説が「みかんです」であるとき、決定された潜在語系列は「りんごです」、入力された仮説と潜在語系列のビタビ確率は、0.0005と一意に決定できる。ビタビ確率は対数確率化して出力する。その理由は、もともとのスコアも確率の対数値に基づいているため、スコアの意味合いを同じにするためである。ビタビ確率が0.0005であれば、対数確率値は-3.301となる。図４に示すように、「今日が晴れです：-15000」という仮説に対する出力は、例えば「今日は天気だ：-8」などとなる。ここでは、「:（コロン）」の前方の文字列が潜在語系列であり、後方の数値が同時確率である。
【００４６】
ステップＳ２４において、スコア再計算部２４は、複数の仮説それぞれについて、複数仮説生成部２０から入力される仮音声認識スコア及び潜在語系列決定部２２から入力される同時確率を用いて音声認識スコアを求める。音声認識スコアは仮説と組にして一位仮説決定部２６へ入力される。
【００４７】
音声認識スコアは仮音声認識スコアとビタビ対数確率である同時確率とを重み付きで加算することで求めることができる。すなわち、以下の式を計算することで、音声認識スコアを求める。
（音声認識スコア）＝（仮音声認識スコア）＋（重み）×（同時確率）
【００４８】
このとき、重みは人手で調整する。例えば、重み調整用の音声データを準備して、音声認識の性能が良くなるような値に調整してもよい。例えば、5000などと設定する。図４に示すように、「今日が晴れです：-15000」という仮説に対して同時確率が「-8」であれば、音声認識スコアは、-15000+5000*(-8)=-55000となる。
【００４９】
ステップＳ２６において、一位仮説決定部２６は、スコア再計算部２４から入力される複数の仮説から音声認識スコアに基づいて入力音声に対する音声認識結果を決定する。具体的には音声認識スコアを降順にソートして最も音声認識スコアが大きい仮説を一位仮説として決定する。このように決定した一位仮説を音声認識結果として出力する。図４の例であれば、「今日が晴れです」の音声認識スコアは-55000、「今日は晴れです」の音声認識スコアは-40500、「今日が晴れです」の音声認識スコアは-85000であるから、「今日は晴れです」という仮説が音声認識結果として出力される。
【００５０】
このように構成することで、実施形態の音声認識装置１は、潜在語言語モデルを用いた音声認識を高速に行うことができる。すなわち、潜在語言語モデルの優れた言語予測性能を持ったＮグラム言語モデルを利用して音声認識を行うため、従来の一般的な学習方法で構築したＮグラム言語モデルを利用した音声認識よりも高い言語予測性能を得ることができる。また、潜在語言語モデルに基づいて生成した潜在語系列のＮグラム言語モデルを用いて音声認識結果の候補を絞った上で潜在語言語モデルの探索を行うことで、単純にビタビ探索を行う場合と比較して、計算量を大幅に減らすことができる。これにより、通常の計算機でも潜在語言語モデルを用いた音声認識を実現可能となる。
【００５１】
〔プログラム、記録媒体〕
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【００５２】
また、上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００５３】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００５４】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００５５】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００５６】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【００５７】
１  音声認識装置
１０  学習テキスト記憶部
１２  潜在語言語モデル学習部
１４  潜在語言語モデル記憶部
１６  ベースライン言語モデル学習部
１８  ベースライン言語モデル記憶部
２０  複数仮説生成部
２２  潜在語系列決定部
２４  スコア再計算部
２６  一位仮説生成部
【図１】
0005975938.tif 000002
【図２】
0005975938.tif 000003
【図３】
0005975938.tif 000004
【図４】
0005975938.tif 000005