"言語表現の出現頻度の特徴を表わす話題特徴量データを話題毎に記憶する話題特徴量記憶部と、音声認識装置から出力された音声認識結果データに基づいて前記音声認識結果データに含まれる言語表現の出現頻度の特徴を表わすフィードバック特徴量データを生成するフィードバック特徴量生成部と、前記フィードバック特徴量データと前記話題特徴量記憶部から読み出した前記話題特徴量データとに基づく類似度を計算するとともに、計算された前記類似度に基づいて前記音声認識結果データの話題を推定する類似度計算部と、前記類似度計算部によって推定された前記話題に対応する言語モデルを使用して入力音声を音声認識処理するよう言語モデルを切り替える言語モデル切替制御部と、を具備することを特徴とする言語モデル切替装置。話題毎の学習テキストを記憶する学習テキスト記憶部と、前記学習テキスト記憶部から読み出した前記学習テキストに含まれる前記言語表現をカウントすることによって言語表現毎の出現頻度を算出する話題特徴量生成部と、前記話題特徴量生成部が算出した言語表現毎の出現頻度に、言語表現ごとのIDF値を反映させ、IDF値反映済の出現頻度に基づく前記話題特徴量データを前記話題特徴量記憶部に書き込むIDF反映部と、をさらに具備することを特徴とする請求項1に記載の言語モデル切替装置。話題毎の言語モデルを記憶する言語モデル記憶部を備え、前記言語モデル切替制御部によって切り替えられた言語モデルを用いて前記入力音声の音声認識処理を行い、前記音声認識結果データを出力する音声認識装置と、請求項1または請求項2に記載の言語モデル切替装置と、を具備して構成される音声認識システム。前記音声認識装置から出力される前記音声認識結果データを修正する修正装置をさらに具備し、前記修正装置によって修正された音声認識結果データを出力するとともに、前記フィードバック特徴量生成部は、前記修正装置によって修正された音声認識結果データに基づいて前記フィードバック特徴量データを生成する、ことを特徴とする請求項3に記載の音声認識システム。前記類似度計算部は、話題毎に定められ話題毎の優先度に対応する所定の優先度数値を予め記憶し、前記類似度を計算する際に話題毎に前記優先度数値を加味する、ことを特徴とする請求項3または請求項4に記載の音声認識システム。言語表現の出現頻度の特徴を表わす話題特徴量データを話題毎に記憶する話題特徴量記憶部と、音声認識装置から出力された音声認識結果データに基づいて前記音声認識結果データに含まれる言語表現の出現頻度の特徴を表わすフィードバック特徴量データを生成するフィードバック特徴量生成部と、前記フィードバック特徴量データと前記話題特徴量記憶部から読み出した前記話題特徴量データとに基づく類似度を計算するとともに、計算された前記類似度に基づいて前記音声認識結果データの話題を推定する類似度計算部と、前記類似度計算部によって推定された前記話題に対応する言語モデルを使用して入力音声を音声認識処理するよう言語モデルを切り替える言語モデル切替制御部と、を具備する言語モデル切替装置としてコンピューターを機能させるプログラム。しかしながら、特許文献1では、言語モデルを選択する手法として、カルバックのダイバージェンスを用いる方法が開示されているのみである。このため、より精度の高い方法で言語モデルを選択することが求められる。また、実世界のスピーチにおいては、話題は一定ではなく逐次移り変わっていく。例えば放送番組等においては、時事ニュースの後に、スポーツに関する話題、さらにその後に芸術に関する話題と、全く異なる話題に移り変わっていくこともある。例えば、このような放送番組において、リアルタイムに字幕を付与することを目的として番組音声の音声認識処理をするためには、その話題ごとに適切な言語モデルを用いて音声認識処理を行うことが求められる。本発明は、上記の事情を考慮してなされたものであり、予め準備する必要のあるデータを最小限としながら、少ない計算量で入力音声の話題を高精度に推定し、また話題の変化にも追従しながら、話題の推定結果に応じた最適な言語モデルを選択することのできる言語モデル切替装置、およびそのプログラムを提供する。[1]上記の課題を解決するため、本発明の一態様による言語モデル切替装置は、言語表現の出現頻度の特徴を表わす話題特徴量データを話題毎に記憶する話題特徴量記憶部と、音声認識装置から出力された音声認識結果データに基づいて前記音声認識結果データに含まれる言語表現の出現頻度の特徴を表わすフィードバック特徴量データを生成するフィードバック特徴量生成部と、前記フィードバック特徴量データと前記話題特徴量記憶部から読み出した前記話題特徴量データとに基づく類似度を計算するとともに、計算された前記類似度に基づいて前記音声認識結果データの話題を推定する類似度計算部と、前記類似度計算部によって推定された前記話題に対応する言語モデルを使用して入力音声を音声認識処理するよう言語モデルを切り替える言語モデル切替制御部とを具備することを特徴とする。この構成により、フィードバック特徴量生成部は、音声認識装置から出力される音声認識結果データを元に、逐次、フォードバック特徴量データを生成する。そして、類似度計算部は、逐次、フォードバック特徴量データと話題特徴量データとに基づいて類似度を計算する。類似度計算部は、類似度の高い話題を、そのときの音声認識結果データが属する話題として推定する。これにより、言語モデル切替装置は、入力音声を認識するために用いる言語モデルとして、逐次、話題にあった言語モデルを選択することができる。また、入力音声が、その推定された話題に対応する言語モデルを用いて認識処理されるよう、言語モデルの切替制御を行う。[2]また、本発明の一態様は、上記の言語モデル切替装置において、話題毎の学習テキストを記憶する学習テキスト記憶部と、前記学習テキスト記憶部から読み出した前記学習テキストに含まれる前記言語表現をカウントすることによって言語表現毎の出現頻度を算出する話題特徴量生成部と、前記話題特徴量生成部が算出した言語表現毎の出現頻度に、言語表現ごとのIDF値を反映させ、IDF値反映済の出現頻度に基づく前記話題特徴量データを前記話題特徴量記憶部に書き込むIDF反映部とをさらに具備するものである。言語表現とは、例えば単語など、文等を構成する所定の単位である。IDF値を反映させる具体的な方法として、例えば、言語表現毎の出現頻度の数値に、IDF値を乗算する。IDF値を反映させることにより、各話題に共通するありふれた言語表現典型的には、助詞や助動詞などの出現頻度が相対的に特徴量に大きな影響を与えることがなくなる。[3]また、本発明の一態様は、話題毎の言語モデルを記憶する言語モデル記憶部を備え、前記言語モデル切替制御部によって切り替えられた言語モデルを用いて前記入力音声の音声認識処理を行い、前記音声認識結果データを出力する音声認識装置と、上記の言語モデル切替装置とを具備して構成される音声認識システムである。[4]また、本発明の一態様は、上記の音声認識システムにおいて、前記音声認識装置から出力される前記音声認識結果データを修正する修正装置をさらに具備し、前記修正装置によって修正された音声認識結果データを出力するとともに、前記フィードバック特徴量生成部は、前記修正装置によって修正された音声認識結果データに基づいて前記フィードバック特徴量データを生成するものである。修正装置を設けることにより、より一層、音声認識の精度が上がり、ひいては話題推定の精度が上がる。よって、入力音声にマッチした適切な言語モデルを選択することとなる。[5]また、本発明の一態様は、上記の音声認識システムにおいて、前記類似度計算部は、話題毎に定められ話題毎の優先度に対応する所定の優先度数値を予め記憶し、前記類似度を計算する際に話題毎に前記優先度数値を加味するものである。優先度数値は、例えば、話題毎の定数として予め設定される。そして例えば、類似度計算部は、類似度を計算する際に、フィードバック特徴量と話題特徴量とで所定の演算を行った結果に、この優先度数値を加算して類似度とする。フィードバック特徴量と話題特徴量がそれぞれ言語表現の出現頻度を表わすベクトルであるとき、例えば、類似度計算部は、両ベクトルのコサイン類似度の値にこの優先度数値を加算して類似度とする。[6]また、本発明の一態様は、言語表現の出現頻度の特徴を表わす話題特徴量データを話題毎に記憶する話題特徴量記憶部と、音声認識装置から出力された音声認識結果データに基づいて前記音声認識結果データに含まれる言語表現の出現頻度の特徴を表わすフィードバック特徴量データを生成するフィードバック特徴量生成部と、前記フィードバック特徴量データと前記話題特徴量記憶部から読み出した前記話題特徴量データとに基づく類似度を計算するとともに、計算された前記類似度に基づいて前記音声認識結果データの話題を推定する類似度計算部と、前記類似度計算部によって推定された前記話題に対応する言語モデルを使用して入力音声を音声認識処理するよう言語モデルを切り替える言語モデル切替制御部とを具備する言語モデル切替装置としてコンピューターを機能させるプログラムである。本発明によれば、話題推定の精度を向上させ、適切な言語モデルに切り替えることができる。これにより、音声認識装置における音声認識の精度が向上する。例えば、放送番組のリアルタイム字幕付与に、このような音声認識システムを用いることにより、字幕データ生成の精度が向上する。また、学習が容易で、かつ、少ない計算量で高速に話題推定結果を出力できるようにすることが可能となる。[第1の実施形態]次に、図面を参照しながら、本発明の実施形態について説明する。本実施形態は話題別に適応化された、複数個の言語モデルが用意されている場合において、音声認識結果を利用して現在進行中の話題を推定し、その話題にマッチした言語モデルに逐次切り替える機能を持つ。そのために、認識結果内で観測された単語出現頻度の分布に基づくベクトルと、言語モデルの適応に用いた話題別の学習テキスト内で観測された単語出現頻度の分布に基づくベクトルの類似度を利用することによって逐次話題を推定する。また、前記のベクトルにIDFInversedocumentfrequency値を乗ずることによって、話題に依存しない助詞等の影響を抑制し、話題推定精度を高める。図1は、第1の実施形態による言語モデル切替装置の機能構成を示すブロック図である。図示するように、言語モデル切替装置1は、フィードバックベクトル生成部21フィードバック特徴量生成部と、類似度計算部22と、言語モデル切替制御部23と、話題ベクトル記憶部24話題特徴量記憶部と、IDF記憶部25と、話題ベクトル学習部30とを含んで構成される。話題ベクトル学習部30は、さらに、学習テキスト記憶部31と、話題ベクトル生成部32話題特徴量生成部と、IDF乗算部33IDF反映部とを含んで構成される。なお、IDFは、InverseDocumentFrequencyの略であり、逆文書頻度を表す。フィードバックベクトル生成部21は、音声認識装置から出力された音声認識結果データに基づいて音声認識結果データに含まれる単語言語表現の出現頻度の特徴を表わすフィードバックベクトルフィードバック特徴量データを生成する。類似度計算部22は、フィードバックベクトル生成部21が生成したフィードバックベクトルと、話題ベクトル記憶部24から読み出した話題ベクトルとに基づく類似度を計算するとともに、計算された類似度に基づいて音声認識結果データの話題を推定する。言語モデル切替制御部23は、類似度計算部22によって推定された話題に対応する言語モデルを使用して入力音声を音声認識処理するよう言語モデルを切り替える制御を行う。話題ベクトル記憶部24は、単語言語表現の出現頻度の特徴を表わす話題ベクトル話題特徴量データを話題毎に記憶する。IDF記憶部25は、単語ごとのIDF値を予め記憶しておく。話題ベクトル学習部30は、話題毎に準備した学習テキストを用いて、話題推定用に用いられる話題ベクトルを生成する。学習テキスト記憶部31は、話題毎の学習テキストを記憶する。話題ベクトル生成部32は、学習テキスト記憶部31から読み出した学習テキストに含まれる単語等の言語表現をカウントすることによって言語表現毎の出現頻度話題特徴量データを算出する。IDF乗算部33は、話題ベクトル生成部32が算出した言語表現毎の出現頻度に、言語表現ごとのIDF値を反映させ、IDF値反映済の出現頻度に基づく話題ベクトル話題特徴量データを話題ベクトル記憶部24に書き込む。なお、話題ベクトル学習部30の処理は、音声認識の準備の段階で事前に行うものである。そして、この準備が完了して、話題ベクトル記憶部24に話題ベクトルの情報が書き込まれた後、音声認識の実行中に、フィードバックベクトル生成部21と類似度計算部22と言語モデル切替制御部23の処理をオンラインで実行するものである。まず、話題ベクトル学習部30の処理について説明する。学習テキスト記憶部31は、学習に使用するための大量のテキストを記憶する。これらのテキストは、M個の話題別に分類されている。話題ベクトル生成部32は、学習テキスト記憶部31から話題ごとにテキストを読み出し、それぞれの話題のテキストにおける単語言語表現の出現頻度ユニグラム,unigramを算出する。具体的には、話題ベクトル生成部32は、第m番目の文書話題のテキストを読み込み、そのテキストに含まれる単語の出現頻度に基づき、ベクトルUNIm=wm1,,wmi,,wmVを生成する。wmiは、M個の文書において出現頻度の高い単語上位V個のうちの、第i位の単語の、第m番目の文書における出現頻度である。Vの値は、学習テキストのサイズに応じて適宜決定すればよいが、例えば、V=10000とする。これにより、話題ベクトル生成部32は、M個のベクトルUNI1,UNI2,,UNIMを生成する。IDF乗算部33は、話題ベクトル生成部32が生成したベクトルの各要素に、IDF値を乗算する。IDF値は、次の式1によって計算される値である。なお、式1において、Mは総文書数、wは単語、dfwはM個の文書のうち単語wが出現する文書数である。そして、IDFwは、単語wのIDF値である。但し、単語wがどの文書にも出現しない場合は、dfw=0とする代わりに、1未満の適切な数値をdfwの値として使用する。なお、IDF乗算部33は、単語毎のIDF値を予め記憶しているIDF記憶部25から、必要な単語のIDF値を読み出して使用する。IDF記憶部25は、一例としては、単語と、その単語のIDF値を対応付けた表形式のデータを記憶する。学習テキストが与えられれば、上記の式1によって、各単語のIDF値を計算することが可能である。不図示のIDF値計算部が、予め各単語のIDF値を計算し、IDF記憶部25に書き込んでおくようにする。上記のように、話題ベクトル生成部32が生成したベクトルのそれぞれの要素に、IDF乗算部33がIDF値の乗算を行う。IDF乗算部33は、IDF値を乗算した結果である、M個のベクトルUNI1,UNI2,,UNIMを、話題ベクトル記憶部24に書き込む。図2は、話題ベクトル記憶部24が記憶するデータの構成例を示す概略図である。図示するように、このデータは、表形式のデータであり、話題番号と話題ベクトルとを対応付けたものである。例えば、図示するデータ例の第1行目は、話題番号1に対応して、話題ベクトルUNI1を格納している。図示するデータ例における表は、M行からなり、各行はM個の話題の各々に対応している。図3は、IDF記憶部25が記憶するデータの構成例を示す概略図である。図示するように、このデータは、表形式のデータであり、単語とその単語のIDF値とを対応付けたものである。例えば、図示するデータの第1行目は、第1番目の単語w1と、その単語のIDF値であるIDF1とを対応付けて格納している。図示するデータ例では、表の行数はV行であるが、さらにこれら以外の単語についても、単語とIDF値のペアを記憶させるようにしても良い。図1に戻り、フィードバックベクトル生成部21は、音声の認識結果を取り込み、この認識結果に基づくフィードバックベクトルXmiを生成する。なお、言語モデル切替装置1と、音声認識結果を出力する音声認識装置との関係については、後述する。具体的には、フィードバックベクトル生成部21は、入力音声の第i番目の発話Siの終端前に出力されたN単語を元に、単語の出現頻度ユニグラム頻度をカウントし、先に生成されている話題ベクトルにおける単語順と同じ単語順で、フィードバックベクトルXmiを生成する。なお、この単語数Nは、適宜決定すれば良いが、例えば40とする。また、話題ベクトルUNImを生成したときと同様に、フィードバックベクトル生成部21は、IDF記憶部25から読み出した単語毎のIDF値を、生成するベクトルXmiの対応する要素に乗算する。類似度計算部22は、話題ベクトル記憶部24から読み出す話題ベクトルUNIm1≦m≦Mの各々と、フィードバックベクトル生成部21から渡されるフィードバックベクトルXmiとの間の類似度simUNIm,Xmiを計算する。そして、この類似度を最大にするmが、発話Siが属する話題であると推定し、その話題番号を出力する。つまり、類似度計算部22が推定する話題番号miハットは、下の式2によって表される。なお、式2において、αmは、言語モデルの優先度を制御可能とするためのパラメータ優先度数値であり、αm1≦m≦Mの値を予め設定してメモリに記憶させるようにしておく。つまり、類似度計算部22は、話題毎に定められ話題毎の優先度に対応する所定の優先度数値を予め記憶し、類似度を計算する際に話題毎に優先度数値を加味する。なお、言語モデルの優先度を用いず、全ての話題を平等に扱う場合には、単にαmの値を全て等しくすれば良い。また、類似度を計算する方法は様々であるが、一例としては、コサイン類似度コサイン尺度を用いる。コサイン類似度は、下の式3で計算される。なお、式3において、UNImXmiは、ベクトルUNImとXmiの内積である。言語モデル切替制御部23は、類似度計算部22によって出力された番号miハットを用いて、入力音声を、どの言語モデルを使用した音声認識装置に振り向けるかを切り替える制御を行う。つまり、言語モデル切替制御部23は、認識結果のフィードバックに基づいて推定された話題に適合する音声認識装置に、入力音声を仕向ける制御を行う。そして、ここで選択された音声認識装置が入力音声中の次の発話の認識処理を行う。図4は、言語モデル切替の処理手順を示すフローチャートである。このフローチャートに沿って、言語モデル切替装置1の動作について説明する。ステップS1において、フィードバックベクトル生成部21は、外部の音声認識装置から、認識結果を受信する。ステップS2において、フィードバックベクトル生成部21は、受信した認識結果に置いて発話終端ポーズが検出されたか否かを判断する。発話終端が検出された場合には次のステップS3に進み、その他の場合にはさらに認識結果を受信するためにステップS1に戻る。ステップS3においては、フィードバックベクトル生成部21は、認識結果のうち、最新のN単語を、一時的にメモリに格納する。ステップS4において、フィードバックベクトル生成部21は、メモリに格納したN単語に基づいて、各単語上位V単語のユニグラム頻度をカウントする。また、ステップS5において、フィードバックベクトル生成部21は、カウントしたユニグラム頻度の値の各々に、その単語のIDF値をIDF記憶部25から読み出し、乗算する。この処理で生成されたフィードバックベクトルを、フィードバックベクトル生成部21は類似度計算部22に渡す。そして、ステップS6において、類似度計算部22は、フィードバックベクトル生成部21から渡されたフィードバックベクトルと、話題ベクトル記憶部24から読み出す各話題の話題ベクトルとの間の類似度を計算する。そして、類似度に基づいて、認識結果にマッチしている話題を決定する。この際には、式2で既に説明した話題ごとの優先度に対応する値αmをも反映させる。そして、選択する言語モデルの番号を出力する。また、類似度計算部によって出力された言語モデルの番号に従って、言語モデル切替制御部23は、使用する言語モデルを切り替える制御を行う。ステップS7において、フィードバックベクトル生成部21は、次の発話があるか否かを判断する。発話がある場合にはステップS1に戻り、次の発話についての処理を行う。発話がない場合にはこのフローチャート全体の処理を終了する。図5は、言語モデル切替装置1を適用した音声認識システムの機能構成を示すブロック図である。図示するように、音声認識システム100は、言語モデル切替装置1と、M個を並列に配置した音声認識装置7-1~7-Mを含んで構成される。音声認識装置7-1~7-Mは、それぞれ話題に対応しており、それぞれが異なる言語モデルを内部に保持している。また、図示する例では、入力音声はテレビ放送等の音声であり、そして、音声認識システム100が出力する認識結果のデータを用いて、字幕データ生成装置500がその放送用の字幕データをリアルタイムに作成する。字幕データ生成装置500が生成した字幕データは、入力音声信号や映像信号とともに符号化され、不図示の送信装置から放送信号として送信される。音声認識システム100において、音声認識装置7-1~7-Mのうちの選択されたいずれかが一時点では稼動する。そして、言語モデル切替装置1は、稼動している音声認識装置から、認識結果のデータをフィードバックとして受け入れる。言語モデル切替装置1は、前述の処理によりフィードバックベクトルを生成し話題を推定するとともに、推定結果に基づいて入力音声を振り向ける先の言語モデルを切り替える。つまり、言語モデル切替装置1は、入力音声が音声認識装置7-1~7-Mのいずれかに入力されるように切り替える。音声の入力を受けた音声認識装置は、その装置に固有の言語モデルを用いて音声認識処理を行い、認識結果を出力する。図6は、音声認識装置7-1の内部の機能構成を示すブロック図である。図示するように、音声認識装置7-1は、音響分析部71と、正解単語探索部72と、音響モデル記憶部77と、言語モデル記憶部78-1とを含んで構成される。言語モデル記憶部78-1は、第1番目の話題に対応する言語モデルを記憶している。音響分析部71は、入力音声のパワーや周波数特性などの音響特徴量を抽出する。音響特徴量の一例としては、メル周波数ケプストラムMFCCを用いる。正解単語探索部は、音響特徴量の列時系列を入力として、音響モデル記憶部77から読み出す音響モデルおよび言語モデル記憶部78-1から読み出す言語モデルを用いて、正解単語を探索し、統計的な処理の結果として、最尤単語列を認識結果のデータとして出力する。なお、音響モデルは、音響特徴量と音素との間の統計的確率などの数値を含む。また、言語モデルは、大量のテキストを用いて学習される統計モデルであり、実体は、単語の出現確率や単語どうしの接続確率などの数値をテーブル化したデータベースである。言語モデルのフォーマットの一例としては、ARPA形式を用いる。この形式を用いることにより、元のテキストを統計的に解析して得られるNグラムngramの出現確率を参照できることに加えて、元のテキストに現れなかったNグラムの出現確率を、N-1グラムから推定することもできる。なお、音声認識処理7-2~7-Mの構成も、言語モデルの内容を除いては、音声認識処理7-1と同様である。音声認識処理7-2~7-Mの各々において、言語モデル記憶部は、それぞれの話題に応じた言語モデルを記憶している。そして音声認識処理7-2~7-Mの各々は、その言語モデルを利用して、入力音声の認識処理を行い、認識結果のデータを出力する。つまり、音声認識システム100においては、各音声に錦装置が話題毎の言語モデルを記憶する言語モデル記憶部を備え、言語モデル切替制御部23によって切り替えられた言語モデルを用いて入力音声の音声認識処理を行い、音声認識結果データを出力する。これにより、話題推定の精度および音声認識の精度が向上する。従って、字幕データ生成装置500が生成する字幕データの精度も上がる。これにより、字幕データ生成の際に人手による修正等を削減できる。[第2の実施形態]次に、第2の実施形態について説明する。図7は、本実施形態による音声認識システムの機能構成を示すブロック図である。図示するように、音声認識システム200は、修正装置9を含んで構成されている。そして、音声認識装置7-1~7-Mから出力される認識結果を、この修正装置9が修正し、音声認識システム200は、修正済みの認識結果データを出力する。そして、字幕データ生成装置500は、この修正済みの認識結果を取り込んで字幕データの生成を行う。また、言語モデル切替装置1は、修正装置9からの出力である修正済み認識結果を取り込み、この修正済み認識結果のデータに基づいて前述したフィードバックベクトルの生成処理を行う。音声認識システム200のその他の構成は、図5により説明した音声認識システム100と同様である。図8は、修正装置9の機能構成を示すブロック図である。図示するように、修正装置9は、認識結果受信部910と、認識結果記憶部920認識結果単語列データ記憶部と、テキスト記憶部930と、テキストNグラム取得部940と、テキストNグラム記憶部950テキスト単語列データ記憶部と、テキスト区間推定部960と、誤り修正部980と、テキスト出力部990とを備えて構成される。認識結果受信部910は、音声認識装置7-1,7-2,,7-Mのうち、そのとき選択されて稼動しているものから音声認識結果を逐次受信して認識結果記憶部920に書き込む。なお、認識結果受信部910は、音声認識結果を単語単位で受信し、受信した単語を逐次、認識結果記憶部920に書き込む。認識結果記憶部920は、認識結果受信部910が受信した音声認識結果に基づいて得られる認識結果Nグラム認識結果単語列データを記憶する。テキスト記憶部930は、予め与えられるテキストデータを記憶する。テキストNグラム取得部940は、テキスト記憶部930に記憶されているテキストデータを元に、テキストNグラムテキスト単語列データを取得し、テキストNグラム記憶部950に書き込む。テキストNグラム記憶部950は、テキストデータに基づいて得られるテキストNグラムを記憶する。テキスト区間推定部960は、認識結果記憶部920に書き込まれた認識結果Nグラムの長さ単語数が予め定められた所定値NNは正整数以上であるか否かを判定するとともに、その長さがN以上であると判定されると、テキストNグラム記憶部950に記憶されている複数のテキストNグラムのそれぞれと、長さNの認識結果Nグラムとのマッチング処理を行って、そのテキストNグラムと認識結果Nグラムとの間の類似度を算出し、算出された類似度に基づいて、類似度の高いテキストNグラムを修正候補として選択する。誤り修正部980は、認識結果記憶部920に記憶された認識結果Nグラム内における、テキスト区間推定部960によって修正候補として選択されたテキストNグラムとの間の不一致区間について、選択された修正候補であるテキストNグラムに基づく修正を行う。つまり、誤り修正部980は、認識結果の誤りと推定された部分を、テキストNグラムを用いて修正する。また、そのテキストNグラムは与えられたテキストデータから取得されたものであるので、誤り修正部980は、つまり、テキストデータの中のテキスト区間推定部960によって推定された区間を用いて認識結果を修正する。テキスト出力部990は、認識結果記憶部920に記憶されている認識結果Nグラムのうちの前方の少なくとも一部分例えば、単語数がN/2に相当する部分を出力するとともに、その認識結果Nグラムのうち出力した部分を認識結果記憶部920から削除する。テキスト記憶部930が記憶するテキストデータは、放送番組の台本から起こしたテキストデータや、放送番組の電子的台本データのテキストや、ニュース番組で使用するニュース原稿のテキストデータなどといったデータである。これらの各テキストファイルは、ファイル名などによってコンテンツIDと関連付けられている。テキストNグラム記憶部950が記憶するデータは、表形式のデータであり、コンテンツIDとNグラムIDとテキストNグラムとを互いに関連付けたデータである。認識結果記憶部920が記憶する認識結果データは、単語毎に区切られて保持されている。認識結果記憶部920は、FIFOFirstinFirstout式に、単語列の前から順に削除つまり先に書き込まれた単語から先に削除できるように構成されている。修正装置9の動作は次に述べる通りである。まず予め、テキスト記憶部930のデータを元に、テキストNグラムを生成する。具体的には、テキストNグラム取得部940は、テキスト記憶部930からテキストを読み込む。このテキストは、前述の通り、放送番組の台本や、ニュース番組の原稿であり、発話の情報源となるテキストである。そして、テキストNグラム取得部40は、読み込んだテキストに対して形態素解析処理を行う。そして、その結果、単語単位に分割されたテキストを得る。さらにテキストNグラム取得部940は、単語単位に分割されたテキストを元に、単語Nグラムを取得する。ここで、単語Nグラムの長さは、予め設定されており、例えば長さ4とする。具体的には、テキストNグラム取得部940は、当該テキストに関して、第1単語から始まるNグラム、第2単語から始まるNグラム以下同様を順次取得する。また、テキストNグラム取得部940は、得られたNグラムの各々にNグラムIDを付与する。NグラムIDとしては、例えば、1から始まる整数値を順次用いる。そして、テキストNグラム取得部940は、各テキストNグラムの出現順に、NグラムIDを付与する。つまりNグラムIDは、コンテンツごとに、元のテキストデータにおけるそのテキストNグラムの位置を表わす。また、テキストNグラム取得部940は、NグラムIDと単語Nグラムとを関連付けて、テキストNグラム記憶部950に書き込む。なお、テキスト記憶部930が複数のコンテンツのテキストを記憶する場合には、テキストNグラム取得部940は、それらのコンテンツの各々について、上述した、テキストNグラム抽出の処理を行う。そして、修正装置9は、認識結果データを受信し、その認識結果データを修正する処理を行う。具体的には、認識結果受信部910が、音声認識装置から認識結果のデータを受信する。認識結果受信部910は、単語単位で、あるいは所定数のまとまった単語の単位で、その単語列のデータを受信する。そして、認識結果受信部910は、受信したデータを逐次、認識結果記憶部920に書き込む。テキスト区間推定部960は、認識結果記憶部920に所定の長さの単語列N単語が既に格納されているか否かを判断する。ここで所定の長さNとは、予め設定された長さであり、例えばN=4である。なお、ここで認識結果記憶部920から取り出す単語の長さと、テキストNグラム取得部940が取得した単語Nグラムの長さとは、等しい。具体的には、認識結果記憶部920は前述の通りFIFOとして構成されているので、テキスト区間推定部960は、そのFIFOの先頭からの単語数が所定の長さ以上であるか否かを判断する。そして、所定の長さの単語列が既に格納されている場合には、テキスト区間推定部960は、認識結果記憶部920から先頭のN単語の列を読み出す。なお、この読み出された単語列を、便宜上、認識結果Nグラムと呼ぶ。そして、テキスト区間推定部960は、この認識結果Nグラムと、テキストNグラム記憶部950に記憶されている当該コンテンツのテキストNグラムとの間で、DPDynamicProgramming,動的計画法マッチングの処理を行う。テキスト区間推定部960は、このDPマッチングの処理により、認識結果Nグラムと各々のテキストNグラムとの間の類似度を算出する。具体的には、テキスト区間推定部960は、マッチング対象の両Nグラムに基づき、一致精度、一致率、脱落率、挿入率、編集距離などといった数値のいずれかを算出し、これに基づき類似度として用いる。なお、一致精度または一致率を用いる場合には、これらの数値が大きいほど、類似度が高いより類似していることを表す。また、脱落率や挿入率や編集距離を用いる場合には、これらの数値が小さいほど、類似度が高いより類似していることを表す。なお、複数のコンテンツIDに相当するテキストNグラムがテキストNグラム記憶部50に記憶されている場合、テキスト区間推定部960がマッチングの対象とするテキストNグラムのコンテンツIDは、適宜与えられる。例えば、利用者が選択したコンテンツのIDをテキスト区間推定部960に渡すようにしても良いし、前回までのマッチングにおいて類似度の高いテキストNグラムが属するコンテンツを現在のコンテンツと推定するようにしても良い。次に、テキスト区間推定部960は、上で求めた類似度に基づき、ひとつのテキストNグラムを修正候補単語列として選択しメモリに一時的に格納する。ここでテキスト区間推定部60が選択するテキストNグラムは、現在対象としている認識結果Nグラムとの間で最も類似度の高いテキストNグラムである。そして、選択されメモリに格納されたテキストNグラムについて、テキスト区間推定部960は、類似度が所定の閾値よりも高いか否かを判定する。なお、この類似度に関する閾値は、予め設定される。このテキストNグラムと認識結果Nグラムとの間の類似度が所定の閾値よりも高い場合には、誤り修正部980は、メモリに格納されたテキストNグラムを用いて、認識結果Nグラムの修正を行なう。具体的には、誤り修正部980は、上のDPマッチング処理の結果に基づき、認識結果Nグラムと選択されたテキストNグラムとの間の不一致区間を抽出し、不一致区間において置換と判定された単語の部分を修正する。例えば、認識結果Nグラムが京都市-の-河浦-市長で、選択されたテキストNグラムが京都市-の-川村-市長の場合、DPマッチング処理においては河浦と川村が対応し、これらの両単語は置換関係である。従って、誤り修正部980は認識結果記憶部20に記憶されている認識結果Nグラム内の河浦を川村に変更する修正を行なう。類似度が所定の閾値よりも高くない場合には、このような修正処理を行わない。そして、テキスト出力部990が、認識結果記憶部920に記憶されている認識結果Nグラムのうち、前の半分の単語列に相当するテキストを出力する。例えば、単語列の長さNが4の場合、テキスト出力部990は、前半の2単語に相当する分を出力する。つまり、誤り修正部980がその部分を修正している場合には、修正済みのテキストがテキスト出力部990によって出力される。そして、テキスト出力部990は、出力済みの単語列を認識結果記憶部920から削除する。この処理は、テキスト出力部990が全体の単語長の半分だけ認識結果Nグラムを前にシフトすることと同等である。以上の一連の処理が終わると、また、さらなる音声認識結果のデータを受信し、必要な修正処理を繰り返す。このように、修正装置9は、認識結果データに含まれる誤りを訂正し、精度の高い認識結果データを出力する。[第3の実施の形態]次に、第3の実施形態について説明する。図9は、本実施形態による言語モデル切替装置の機能構成を示すブロック図である。図示するように、言語モデル切替装置2は、フィードバックベクトル生成部21と、類似度計算部22と、言語モデル切替制御部23と、話題ベクトル記憶部24と、IDF記憶部25とを含んで構成される。この言語モデル切替装置2は、図1により説明した言語モデル切替装置1と異なり、話題ベクトル学習部30を有しない。しかしながら、予め行われた話題ベクトル学習処理によって生成された話題ベクトルを、既に話題ベクトル記憶部24に記憶しているため、類似度計算部22は、話題ベクトル記憶部24から読み出す話題ベクトルと、フィードバックベクトル生成部21から渡されるフィードバックベクトルとの間の類似度を計算できる。その他の点に関しては、この言語モデル切替装置2は、既に説明した言語モデル切替装置1と同様の構成を備えている。この構成により、フィードバックベクトル生成部21は、修正装置9によって修正された音声認識結果データをフィードバックとして受け入れ、この修正済みの音声認識結果データに基づいてフィードバックベクトルを生成する、これにより、より一層、話題推定の精度および音声認識の精度が向上する。なお、上述した実施形態における言語モデル切替装置、音声認識装置、字幕データ生成装置の機能をコンピューターで実現するようにしても良い。その場合、これら機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいうコンピューターシステムとは、OSや周辺機器等のハードウェアを含むものとする。また、コンピューター読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらにコンピューター読み取り可能な記録媒体とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、上記の実施形態では、M個の音声認識装置7-1~7-Mを設け、その各々が音響分析部71と正解単語探索部72と音響モデル記憶部77と言語モデル記憶部78-1~78-Mとを備えるようにした。その代わりに、各音声認識装置のうち、音響分析部71と正解単語探索部72と音響モデル記憶部77とを共用とし、言語モデル記憶部78-1~78-Mのみを切り替えるよう設計しても良い。また例えば、修正装置9は、予め蓄えたテキストを用いて、音声認識結果を自動的に修正するように構成した。その代わりに、人が音声認識結果を目で見ながら手動ないしは半手動で、修正編集するように修正装置を構成してもよい。[実験による精度測定]本発明の第1の実施形態による言語モデル切替装置を実際に構成し、その精度を測定した。また、比較対象として、従来技術パープレキシティーの符号反転を用いたものによる言語モデルの選択の精度も測定した。評価データとして、2010年9月から10月に放送されたNHKの情報番組あさイチ6番組分のリスピーク音声58k単語を利用した。リスピーク音声とは、番組音声を特定の話者が聞き取り、言い直して発声された音声である。言語モデルとしては、大量の放送番組の書き起こし等412M単語によって学習した語彙サイズ93kのトライグラムtrigramモデルをベースBaseと呼ぶとし、さらに、線形補間によって、一般、料理、園芸という3つの話題に対応した3種類の言語モデルを構築した。これらの言語モデルを、それぞれ、General、Cooking、Gardeningと呼ぶ。Generalは、番組毎の関連テキスト平均17k単語によって構築した言語モデルとBaseを線形補間したものである。Cookingは、料理番組の放送済み字幕6.3M単語によって構築した言語モデルとGeneralを線形補間したものである。Gardeningは、園芸番組の放送済み字幕0.55M単語によって構築した言語モデルとGeneralを線形補間したものである。なお、料理と園芸の話題に関連するテキストは、放送済みの字幕テキストを電子番組ガイドEPGの分類区分を用いて分類し、これより話題ベクトルモデルを構築した。また、一般を推定するユニグラムunigramモデルについては、Baseの学習テキストより構築した。なお、これらの語彙サイズVは10kとした。また、話題推定で用いる認識結果の単語数Nは40とした。なお、各言語モデルの線形補間係数や、認識装置の優先度式2におけるαmは、開発用のデータを別途用意して音声認識精度が最大となるように決定した。実験の結果、言語モデルの切り替え精度は次の通りとなった。料理の話題の区間においては、従来技術による精度が58.2、本発明による精度が87.2。園芸の話題の区間においては、従来技術による精度が63.4、本発明による精度が90.6。いずれも、従来技術よりも大きく改善されている。なお、一般の話題の区間に関しては、料理や園芸を含む多様な話題が一部混在していたため、評価対象から除外した。また、音声認識精度単語誤り率は次の通りとなった。一般の話題の区間においては、従来技術による単語誤り率が9.4、本発明による単語誤り率が9.1。料理の話題の区間においては、従来技術による単語誤り率が10.2、本発明による単語誤り率が9.8。園芸の話題の区間においては、従来技術による単語誤り率が7.2、本発明による単語誤り率が5.4。全体の区間においては、従来技術による単語誤り率が9.6、本発明による単語誤り率が9.3。上記のように、実験により、本発明の効果が確認された。"