(57)【特許請求の範囲】
【請求項１】
複数の学習テキストそれぞれについて、言語要素列ごとの出現頻度を表わす出現頻度情報を算出する学習テキスト前処理部と、
目的とする話題を表わす適応用テキストについて、言語要素列ごとの出現頻度を表わす適応用出現頻度情報を算出する適応用テキスト前処理部と、
前記学習テキスト前処理部が算出した前記学習テキストごとの前記出現頻度情報を因子分解して、複数の出現頻度情報基底を算出するテキスト解析部と、
前記テキスト解析部が算出した前記複数の出現頻度情報基底のうちの少なくとも一を用いて、前記適応用テキスト前処理部が算出した前記適応用出現頻度情報との類似度に基づく適応後出現頻度情報を生成し、前記適応後出現頻度情報が表わす言語要素列ごとの出現頻度から言語モデルを構築する言語モデル構築部と、
を具備することを特徴とする言語モデル作成装置。
【請求項２】
前記出現頻度情報は、前記学習テキストごとの次元および前記言語要素列ごとの次元を有する出現頻度値の行列の情報であり、
前記テキスト解析部は、前記前記出現頻度情報について非負値行列因子分解の処理をすることにより、前記複数の出現頻度情報基底を算出する、
ことを特徴とする請求項１に記載の言語モデル作成装置。
【請求項３】
前記言語モデル構築部は、前記複数の出現頻度情報基底のそれぞれに重み付けした線形和と前記適応用出現頻度情報と間の所定尺度により前記類似度を算出するとともに、前記類似度がより良い方向に前記線形和にかかる重みを探索することによって、得られた前記線形和を適応後出現頻度情報として生成する、
ことを特徴とする請求項１または請求項２に記載の言語モデル作成装置。
【請求項４】
請求項１から３までのいずれか一項に記載の言語モデル作成装置と、
入力された音声を音響分析して音響特徴量を出力する音響分析部と、
音響特徴量と音素との統計的関係を表わすデータを記憶する音響モデル記憶部と、
前記音響分析部によって出力される前記音響特徴量の時系列に関して、前記音響モデル記憶部から読み出した前記統計的関係と、前記言語モデル作成装置の前記言語モデル構築部によって構築された前記言語モデルとを用いて、前記音声に対応する言語要素列の正解候補を探索し、前記正解候補の尤度を算出する、正解候補探索部と、
を具備することを特徴とする音声認識装置。
【請求項５】
コンピューターを、
複数の学習テキストそれぞれについて、言語要素列ごとの出現頻度を表わす出現頻度情報を算出する学習テキスト前処理手段、
目的とする話題を表わす適応用テキストについて、言語要素列ごとの出現頻度を表わす適応用出現頻度情報を算出する適応用テキスト前処理手段、
前記学習テキスト前処理手段が算出した前記学習テキストごとの前記出現頻度情報を因子分解して、複数の出現頻度情報基底を算出するテキスト解析手段、
前記テキスト解析手段が算出した前記複数の出現頻度情報基底のうちの少なくとも一を用いて、前記適応用テキスト前処理手段が算出した前記適応用出現頻度情報との類似度に基づく適応後出現頻度情報を生成し、前記適応後出現頻度情報が表わす言語要素列ごとの出現頻度から言語モデルを構築する言語モデル構築手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、言語モデルを作成する言語モデル作成装置と、その言語モデルを用いた音声認識装置、ならびにそのプログラムに関する。
【背景技術】
【０００２】
音声認識や機械翻訳等のテキスト処理を伴うアプリケーションでは、単語の連鎖（単語Ｎグラム）が出現する確率値を言語モデルとして利用する。この言語モデルは、大量のテキストを用いて学習することによって事前に構築しておく。そして、この言語モデルを頼りにして、音声認識処理においては入力音声に最適な正解単語列を探索したり、機械翻訳においては入力テキストを他の言語に翻訳したりする。このような言語モデルを、Ｎグラムモデルと呼ぶ。
【０００３】
例えば、「とくちょうは（わ）とうぶんです」という音声を認識する場合、「特徴は糖分です」も「特徴は等分です」も音響的には同等に正解候補である。このような場合にも、言語モデルは、各々の正解候補に特有の尤もらしさ（尤度、言語スコア）を与える。具体的にＮグラムモデルでは、言語スコアとして、学習テキスト中の単語の相対頻度、つまり出現確率値を用いる。また、Ｎ（単語の連鎖数）が２以上の場合には、ある単語の出現確率は、直前の（Ｎ−１）単語の履歴に依存することを仮定する。例えばＮ＝２の場合（バイグラムの場合）、「特徴は糖分です」という単語連鎖の言語スコアは、次の（１）から（３）までの確率をすべて乗算した値で与えられる。
（１）学習テキストにおいて、「特徴」という単語の次に「は」が出現する確率
（２）学習テキストにおいて、「は」という単語の次に「糖分」が出現する確率
（３）学習テキストにおいて、「糖分」という単語の次に「です」が出現する確率
【０００４】
上記のように、音声認識結果は、言語モデルに依存するため、学習テキスト中の単語の相対頻度によっても変化する。従って、音声認識の精度、つまり単語正解率を向上させるためには、認識対象とする音声の話題や発話スタイルに合致した学習テキストを大量に用意し、そのような学習テキストを用いて言語モデルを構築する必要がある。
また、事前に認識対象がわからない場合には、認識対象に合致した学習テキストを得ることができない。
また、事前に認識対象に関するテキスト（例えば、講演に対してはその概要を表わすテキスト、放送番組に対してはその番組の予告情報のテキスト）が得られたとしても、そこから明確な話題を正しく読み取れない場合には、たとえ人手に頼っても、話題に合致した学習テキストを適切に選択することは困難である。
【０００５】
特許文献１は、テキストの話題分類を自動的に行なう方法を開示している。従って、この技術によって自動的に分類された結果を用いて、話題ごとの言語モデルを構築することは考えられる。
【０００６】
また、特許文献２は、話題ごとの複数の言語モデルを予め記憶させておき、音声認識結果を用いて、どの話題の言語モデルをどの程度の重みで利用するかを計算しながら音声認識を実行する方法を開示している。
【０００７】
また、非特許文献１には、事前に得られる講義スライドのテキストを用いて言語モデルを適応化する技術が記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許第６，６８７，６９６号明細書
【特許文献２】国際公開第２００８／００４６６６号
【非特許文献】
【０００９】
【非特許文献１】根本雄介，河原達也，秋田祐哉，「スライド情報を用いた言語モデル適応による講義の音声認識と字幕付与」，一般社団法人情報処理学会，情報処理学会研究報告，ＳＬＰ，音声言語情報処理，Ｖｏｌ．２００７，Ｎｏ．４７，ｐｐ．９１−９６，２００７年
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１に記載されている技術では、テキスト単位で話題の分類を行なうため、各々のテキスト内での詳細な話題の変化に対応することは困難である。
また、特許文献２に記載されている技術では、話題が多数の場合には言語モデルを記憶するために要する記憶容量が多く必要となる。また、話題ごとの言語モデルに正確に話題性が反映されていない場合には、言語モデルの性能向上は限定的である。
また、非特許文献１に記載されている技術では、すべての学習テキストを用いて構築した単一の言語モデルに対して、事前に入手し得る講義スライドのテキストと学習テキストとの間の話題の関連性を単語の出現確率に基づく尺度で計算して、その結果得られた値に応じて前記言語モデルの確率値を増減させている。この技術で効果を得るためには、各学習テキストに共通する単語や単語列を効果的に表現できる、確率統計的な手法を必要とする。
【００１１】
上述したような事情を考慮すると、大量の未分類の学習テキストの話題性および適応用テキスト（非特許文献１における講義スライドに相当）の話題性を自動的に判定し、人の判断無しに、効率的に言語モデルを適応的に構築することが望まれる。本発明は、大量の未分類の学習テキストと、少量の適応用テキストとに基づき、対象の話題に精度良く合致した言語モデルを自動的に作成することのできる言語モデル作成装置と、そのような言語モデルを利用した音声認識装置、およびそれらのプログラムを提供しようとするものである。
【課題を解決するための手段】
【００１２】
［１］上記の課題を解決するため、本発明の一態様による言語モデル作成装置は、複数の学習テキストそれぞれについて、言語要素列ごとの出現頻度を表わす出現頻度情報を算出する学習テキスト前処理部と、目的とする話題を表わす適応用テキストについて、言語要素列ごとの出現頻度を表わす適応用出現頻度情報を算出する適応用テキスト前処理部と、前記学習テキスト前処理部が算出した前記学習テキストごとの前記出現頻度情報を因子分解して、複数の出現頻度情報基底を算出するテキスト解析部と、前記テキスト解析部が算出した前記複数の出現頻度情報基底のうちの少なくとも一を用いて、前記適応用テキスト前処理部が算出した前記適応用出現頻度情報との類似度に基づく適応後出現頻度情報を生成し、前記適応後出現頻度情報が表わす言語要素列ごとの出現頻度から言語モデルを構築する言語モデル構築部とを具備する。
【００１３】
この構成において、言語要素とは、単語や文字や文などである。言語要素列とは、単語列や文字列や文の列などである。言語要素列の出現頻度とは、テキスト集合における言語要素列の出現回数や出現確率の値である。なお、出現回数の分布と出現確率の分布は本質的に同じものであり、ある特定の言語要素列の出現回数をある集合における全ての言語要素列の総出現回数で除したものが出現確率の値である。出現頻度情報基底とは、複数の出現頻度情報を因子分解して得られるものである。言語モデルは、言語要素列の出現頻度に基づいて構築されたデータの総体である。典型的には、Ｎグラム言語モデルが使われる。
【００１４】
上記の構成により、テキスト解析部は、学習テキストデータの集合から得られる出現頻度情報の基底を算出する。また、言語モデル構築部は、これら基底のうちの一または複数を用いて、適応用テキストデータから得られる出現頻度情報に類似した適応後出現頻度情報を生成する。適応用テキストデータから得られる出現頻度情報が言語要素列全体の集合をカバーする度合いが低いのに対して、学習データから得られる出現頻度情報は言語要素列全体の集合をカバーする度合いが高い。これにより、カバーする度合いが高く、且つ適応用テキストに整合した言語モデルが構築される。
【００１５】
［２］また、本発明の一態様は、上記の言語モデル作成装置において、前記出現頻度情報は、前記学習テキストごとの次元および前記言語要素列ごとの次元を有する出現頻度値の行列の情報であり、前記テキスト解析部は、前記前記出現頻度情報について非負値行列因子分解の処理をすることにより、前記複数の出現頻度情報基底を算出する、ことを特徴とする。
【００１６】
［３］また、本発明の一態様は、上記の言語モデル作成装置において、前記言語モデル構築部は、前記複数の出現頻度情報基底のそれぞれに重み付けした線形和と前記適応用出現頻度情報と間の所定尺度により前記類似度を算出するとともに、前記類似度がより良い方向に前記線形和にかかる重みを探索することによって、得られた前記線形和を適応後出現頻度情報として生成する、ことを特徴とする。
【００１７】
ここで、上記の所定尺度として、ＫＬ情報量、距離尺度、コサイン尺度などのいずれかを用いることができる。
【００１８】
［Ａ１］言語モデル構築部は、一態様として、生成された適応後出現頻度情報の値を用いて、学習テキスト全体から構築される言語モデル（Ｎグラムモデル）が有する出現頻度値をスケーリング調整する。
［Ａ２］言語モデル構築部は、一態様として、生成された適応後出現頻度情報の値を元に変換を行うことによって、当該適応後出現頻度情報が表わす言語要素列の次数（Ｋ）よりも小さい次数（Ｎ）を有するＮグラム言語モデルを構築する。
［Ａ３］言語モデル構築部は、一態様として、［Ａ２］で構築されたＮグラム言語モデルと、学習テキスト全体から構築される言語モデル（Ｎグラムモデル）とを線形補間する。
［Ａ４］言語モデル構築部は、一態様として、［Ａ２］において、複数の次数Ｋの各々により適応後出現頻度情報を算出し、それらに基づいてＮグラム言語モデルを構築する。
【００１９】
［４］また、本発明の一態様は、上記のいずれかの言語モデル作成装置と、入力された音声を音響分析して音響特徴量を出力する音響分析部と、音響特徴量と音素との統計的関係を表わすデータを記憶する音響モデル記憶部と、前記音響分析部によって出力される前記音響特徴量の時系列に関して、前記音響モデル記憶部から読み出した前記統計的関係と、前記言語モデル作成装置の前記言語モデル構築部によって構築された前記言語モデルとを用いて、前記音声に対応する言語要素列の正解候補を探索し、前記正解候補の尤度を算出する、正解候補探索部と、を具備する音声認識装置である。
【００２０】
［５］また、本発明の一態様は、コンピューターを、複数の学習テキストそれぞれについて、言語要素列ごとの出現頻度を表わす出現頻度情報を算出する学習テキスト前処理手段、目的とする話題を表わす適応用テキストについて、言語要素列ごとの出現頻度を表わす適応用出現頻度情報を算出する適応用テキスト前処理手段、前記学習テキスト前処理手段が算出した前記学習テキストごとの前記出現頻度情報を因子分解して、複数の出現頻度情報基底を算出するテキスト解析手段、前記テキスト解析手段が算出した前記複数の出現頻度情報基底のうちの少なくとも一を用いて、前記適応用テキスト前処理手段が算出した前記適応用出現頻度情報との類似度に基づく適応後出現頻度情報を生成し、前記適応後出現頻度情報が表わす言語要素列ごとの出現頻度から言語モデルを構築する言語モデル構築手段、として機能させるためのプログラムである。
【発明の効果】
【００２１】
本発明によれば、各学習テキストに共通する言語要素（単語）や言語要素列（単語列）を、従来技術による方法よりも、一層効果的に表現した言語モデルを作成することができる。また、そのような言語モデルを用いて音声認識等の処理を行なうことができる。
また、本発明によれば、Ｋ＝１の場合（適応用テキストの単語の統計量を用いる場合）も、Ｋ＞１の場合（単語列の統計量を用いる場合）も、実装するアプリケーションの規模に応じて、適応用テキストの話題により良く適応した言語モデルを構築することができる。
また、本発明によれば、適応用テキストへの過適応の問題を避けることができる。
また、本発明によれば、人の判断により話題を分類したり特定したりすることなく、言語モデルの適応化を行うことができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態による言語モデル作成装置と、その言語モデル作成装置を利用した音声認識装置の機能構成を示すブロック図である。
【図２】同実施形態による言語モデル作成装置が言語モデルを構築する処理の手順を示すフローチャートである。
【図３】本発明の実施形態（第１実施形態）により構築した言語モデルを、テストセット・パープレキシティで評価した結果を示すグラフである。
【図４】本発明の実施形態（第３実施形態）により構築した言語モデルを、テストセット・パープレキシティで評価した結果を示すグラフである。
【発明を実施するための形態】
【００２３】
＜第１〜第４実施形態＞
以下、図面を参照しながら、本発明の実施形態について説明する。特に示さない限りは、以下で述べることは第１実施形態から第４実施形態までに共通の事項である。第１〜第４実施形態の各々に特有の技術事項は、言語モデル構築部１２における言語モデルの構築のしかたに関するものであり、それについては下で実施形態ごとに個別に説明する。
【００２４】
図１は、本発明の実施形態による言語モデル作成装置と、その言語モデル作成装置を利用した音声認識装置の機能構成を示すブロック図である。
【００２５】
言語モデル作成装置５１は、大量の学習テキストと比較的少量の適応用テキストとを元に、適応用テキストが表わす話題に良く整合した言語モデルを自動的に作成する装置である。図示するように、言語モデル作成装置５１は、言語モデル記憶部５と、Ｄ個（Ｄは正整数）の学習テキストを各々記憶する学習テキスト記憶部７−１〜７−Ｄと、テキスト前処理部８ａ（学習テキスト前処理部）およびテキスト前処理部８ｂ（適応用テキスト前処理部）と、テキスト解析部９と、テキスト解析結果記憶部１０と、適応用テキスト記憶部１１と、言語モデル構築部１２とを含んで構成される。
【００２６】
言語モデル記憶部５は、言語モデル構築部１２によって構築された言語モデルを記憶する。言語モデルは、Ｎグラムモデルである。言語モデル記憶部５に記憶された言語モデルを、正解単語探索部３が正解を探索する際に参照する。
【００２７】
学習テキスト記憶部７−１〜７−Ｄは、Ｄ個の学習テキストを記憶する。Ｄ個の学習テキストを便宜上、１番からＤ番までに順序付けたとき、学習テキスト記憶部７−１は第１番の学習テキストを記憶し、学習テキスト記憶部７−２は第２番の学習テキストを記憶する。そして、以下、第Ｄ番まで同様である。
【００２８】
テキスト前処理部８ａは、学習テキスト記憶部７−１〜７−Ｄから読み出す学習テキストの前処理を行なう。具体的には、テキスト前処理部８ａは、複数の学習テキストそれぞれについて、Ｋ単語組（言語要素列）ごとの出現確率値（出現頻度値）を表わす出現確率値ベクトル（出現頻度情報）を算出する。また、テキスト前処理部８ａが出力する出現確率値ベクトル（個々のベクトルはＫ単語組の種類の次元を有する）を並べることにより、出現確率値の行列（学習テキストごとの次元およびＫ単語組ごとの次元を有する、出現確率値の行列）として扱うこともできる。
【００２９】
テキスト前処理部８ｂは、適応用テキスト記憶部１１から読み出す適応用テキストの前処理を行なう。具体的には、テキスト前処理部８ｂは、適応用テキストについて、Ｋ単語組（言語要素列）ごとの出現確率値（出現頻度値）を表わす出現確率値ベクトル（出現頻度情報）を算出する。なお、テキスト前処理部８ａと８ｂをハードウェアとして別個に設けても良いし、両者を共通のハードウェアとして、データの入力元および出力先を切り替えながらテキスト前処理を行なうようにしても良い。
【００３０】
テキスト解析部９は、学習テキストに含まれる単語列の出現確率値に基づき、それら学習テキストの解析を行なう。具体的には、テキスト解析部９は、テキスト前処理部８ａが算出した学習テキストごとの出現確率値ベクトル（出現頻度情報）を因子分解して、出現確率値ベクトルの複数の基底（出現頻度情報基底）を算出する。
【００３１】
テキスト解析結果記憶部１０は、テキスト解析部９によって解析された結果（学習テキストごと、且つＫ単語組ごとの２次元の構造（行列など）を有する出現確率値データ）を記憶する。
【００３２】
適応用テキスト記憶部１１は、適応化の対象となる話題を有する適応用テキストを記憶する。例えば、テレビ番組の音声を認識するための言語モデルを構築する場合には、その番組の台本テキストや、その番組の告知文・案内文などが適応用テキストとなり得る。
【００３３】
言語モデル構築部１２は、テキスト解析部９が算出した出現確率値ベクトルの複数の基底のうちの少なくとも一を用いて、テキスト前処理部８ｂが算出した適応用テキストの出現確率値ベクトル（適応用出現頻度情報）との類似度に基づく適応後ベクトル（適応後出現頻度情報）を生成し、この適応後ベクトルが表わす単語組（言語要素列）ごとの出現確率値（出現頻度）からＮグラム言語モデルを構築する。
【００３４】
また、音声認識装置５２は、言語モデル作成装置５１が作成した言語モデルを用いて、入力される音声について、音声認識処理を行なう装置である。音声認識装置５２は、上記の言語モデル作成装置５１を含み、さらに、音声入力部１と、音響分析部２と、正解単語探索部３と、音響モデル記憶部４と、認識結果出力部６とを含んで構成される。
【００３５】
音声入力部１は、認識対象の音声を外部から取得する。音声入力部１が取得する音声データは、例えば、時間領域の信号あるいは周波数領域の信号を量子化してデジタルデータとして表わしたものである。
【００３６】
音響分析部２は、入力された音声を音響分析して音響特徴量を出力する。具体的には、音響分析部２は、音声入力部１が取得した音声を分析し、音の物理的な大きさや周波数特性などといった特徴量を抽出する。抽出される特徴量の一例は、ＭＦＣＣ（メル周波数ケプストラム係数）である。
【００３７】
正解単語探索部３は、音響モデル記憶部４に記憶されている音響モデルと言語モデル記憶部に記憶されている言語モデルとを参照しながら、入力音声に対する尤度の高い正解単語列の探索を実行する。言い換えれば、正解単語探索部３は、音響分析部２によって出力される音響特徴量の時系列に関して、音響モデル記憶部４から読み出した音響特徴量と音素との間の統計的関係と、言語モデル作成装置５１が備える言語モデル構築部１２によって構築されて言語モデル記憶部５に格納された言語モデルとを用いて、音声に対応する単語列（言語要素列）の正解候補を探索するとともに、それら正解候補の尤度を算出する。そして、正解単語探索部３は、探索の結果、尤度の高い単語列を正解単語の列（音声認識結果）として出力する。
【００３８】
音響モデル記憶部４は、音響モデルを記憶する。音響モデルは、音響特徴量と音素との統計的関係を表わすデータである。
認識結果出力部６は、正解単語探索部３によって求められた単語列（正解であると判定された最尤単語列）を、認識結果として出力する。
【００３９】
図２は、言語モデル作成装置５１が言語モデルを構築する処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
【００４０】
まず、ステップＳ１では、テキスト前処理部８ａが、学習テキスト記憶部７−１から７−Ｄまでに記憶されている各々のテキストを読み出し、Ｋ単語組出現確率行列を構築する。そのために、テキスト前処理部８ａはまず、テキストごとに、Ｋ単語組の出現確率値ベクトルを作成する。ここで、Ｋは、適宜定められる正整数である。Ｋ単語組とは、連鎖数Ｋの単語列である。ｎ番目（１≦ｎ≦Ｄ）の学習テキストｄｎにおけるＫ単語組の出現確率値ベクトルｐ（ｔ｜ｄｎ）の要素は、ｐ（ｔｉ｜ｄｎ）と表わされる。ここで、ｔｉは、第ｉ番目（１≦ｉ≦Ｍ）のＫ単語組である。ｉは、特定のＫ単語組を指示するインデックスである。Ｍは、言語モデル作成装置５１が扱う全テキストに出現するＫ単語組の種類数である。例えば、Ｋ＝３とするとき、全テキストに出現する単語語彙のサイズが１万程度である場合に、Ｋ単語組（即ち、３単語組）の種類数Ｍは典型的には１００万から２００万程度の範囲内の値である。つまり、上記の出現確率値ベクトルｐ（ｔ｜ｄｎ）は、Ｍ次元の列ベクトルであり、下の式（１）で表わされる。なお、式（１）における右肩の「Ｔ」は、行列あるいはベクトルの転置を表わす。
【００４１】
【数１】
0005914054.tif 000002
【００４２】
なお、学習テキストｄｎにおけるＫ単語組ｔｉの出現確率値を求めるために、テキスト前処理部８ａは、学習テキストｄｎの形態素解析を行なって単語列に分解し、その単語列に含まれるＫ単語組の各々をカウントし、Ｋ単語組ｔｉの出現頻度を、学習テキストｄｎに含まれる全てのＫ単語組の数で除する計算を行なう。
【００４３】
Ｄ個のＫ単語組の出現確率値ベクトルｐ（ｔ｜ｄｎ）が得られると、テキスト前処理部８ａは、これらのＤ本のベクトルを並べた行列Ｖを構築する。行列Ｖは、下の式（２）に表わされる通りである。そして、テキスト前処理部８ａは、構築した行列Ｖのデータをテキスト解析部９に渡す。Ｖは、Ｍ行Ｄ列の行列である。
【００４４】
【数２】
0005914054.tif 000003
【００４５】
次に、ステップＳ２では、テキスト解析部９が学習テキストを解析し、Ｋ単語組の出現確率値ベクトルの基底を算出する。行列Ｖの要素はいずれも非負値であり、この処理は、テキスト解析部９が行列Ｖに非負値行列因子分解（ＮＭＦ，non-negative matrix factorization）を適用することにより行なう。具体的には、テキスト解析部９は、外部からの入力により指定された、あるいは設定により定められた正整数Ｒに基づいて、下の式（３）によって、行列ＷおよびＨを求める。
【００４６】
【数３】
0005914054.tif 000004
【００４７】
非負値行列因子分解の処理自体は、参考文献［Daniel D. Lee，H. Sebastian Seung，“Learning the parts of objects by non-negative-matrix-factorization.”，Nature，Vol.401，pp.788-791，1999年］にも記載されているように、既存技術を用いて行なえる。非負値行列因子分解の結果得られる行列の積ＷＨは、行列Ｖの近似値である。つまり、非負値行列因子分解は、一例として、ＶとＷＨとの間の距離（距離の公理を満たし、適宜定義される距離）が最小になるようにＷとＨを調整することにより行なう。そして、因子分解の結果得られたＷは、Ｍ行Ｒ列の行列である。またＨは、Ｒ行Ｄ列の行列である。行列Ｗに含まれるＲ本の列ベクトルｐ（ｔ｜ｒ１），・・・，ｐ（ｔ｜ｒＲ）の各々が、行列Ｖに含まれていたＤ本の出現確率ベクトルの基底である。各々の基底ベクトルの第ｉ番目の要素は、当該基底における、第ｉ番目（１≦ｉ≦Ｍ）のＫ単語組の出現確率値を表わす。また、行列Ｈに含まれるＤ本の列ベクトルｈ１，・・・，ｈＤは、それぞれ、元のＤ個の学習テキストに対応する重みである。
【００４８】
このステップＳ２の処理（非負値行列因子分解）により、テキスト解析部９は、Ｄ個の学習テキストにおけるＫ単語組の出現確率値を解析した。この解析の結果としてテキスト解析部９が得たものは、行列Ｗであり、即ち、Ｋ単語組の出現確率値に関するＲ本の基底ベクトルである。テキスト解析部９は、得られた行列Ｗをテキスト解析結果記憶部１０に書き込む。
【００４９】
次に、ステップＳ３では、言語モデル構築部１２が、適応後ベクトルを計算する。
まず、そのための、テキスト前処理部８ｂによる処理から説明する。テキスト前処理部８ｂは、適応用テキスト記憶部１１から適応用テキストを読み出す。そして、この適応用テキストに対応する、Ｋ単語組の出現確率値ベクトルｐ（ｔ｜ｄ´）を算出する。テキスト前処理部８ｂがこの出現確率値ベクトルを作成する方法は、ステップＳ１においてテキスト前処理部８ａが個々の学習テキストに対する出現確率値ベクトルｐ（ｔ｜ｄｎ）を求めた方法と同様である。
【００５０】
そして、言語モデル構築部１２は、テキスト解析結果記憶部１０から、学習テキストに基づく出現確率値の基底ベクトル集合（即ち、行列Ｗ）のデータを読み出す。そして、言語モデル構築部１２は、行列Ｗに含まれている基底ベクトルを用いて、適応用テキストから得られた出現確率値ベクトル（適応用出現頻度情報）ｐ（ｔ｜ｄ´）を最良に近似する確率ベクトルを計算する。この処理で言語モデル構築部１２が求めるベクトルは、下の式（４）で表わされる。
【００５１】
【数４】
0005914054.tif 000005
【００５２】
式（４）において、ｈ´は、Ｒ次元の列ベクトルである。また、Ｄ（ｐ（ｔ｜ｄ´）｜｜Ｗｈ´）は、ベクトルｐ（ｔ｜ｄ´）とＷｈ´の間の近似度（類似度）を表わす距離尺度である。この尺度を算出するために、一例としては、カルバック・ライブラー情報量（ＫＬ情報量）を用いる。また、ＫＬ情報量の代わりに、ユークリッド距離や、他の距離尺度を用いても良い。
【００５３】
この言語モデル構築部１２の処理の段階では、行列Ｗは、テキスト解析結果記憶部１０から読み出される定数である。よって、式（４）によって最適なベクトルＷｈ´を求めるためには、言語モデル構築部１２は、上記の距離尺度の値が最も小さくなるようなｈ´を探索する。この探索のためのアルゴリズムとしては、例えば最急勾配法を用いる。これによって得られたＭ次元の列ベクトルＷｈ´が、出現確率値の適応後ベクトルである。つまり、言語モデル構築部１２は、複数の基底ベクトルのそれぞれにベクトルｈ´によって重み付けした線形和と、適応用テキストから得られた出現確率値ベクトルと間の所定尺度により類似度を算出するとともに、この類似度がより良い方向に（距離尺度の場合には距離が短くなる方向に）、線形和にかかる重みのベクトルｈ´を探索することによって、得られた線形和であるＷｈ´を適応後ベクトルとして生成する。なお、非負値行列因子分解を行なって基底ベクトルを求め、そこから適応後ベクトルを生成したことにより、適応後ベクトルが適応用テキストに過適応（overfitting）することを回避することもできている。
【００５４】
ステップＳ４以後では、ステップＳ３で得られた適応後ベクトル（適応用テキストの出現確率値ベクトルを近似するＷｈ´）を用いて言語モデルを構築する処理を行なう。
ステップＳ４では、不等式で表わされる条件「Ｋ＜Ｎ」の真偽によって処理を分岐する。ここで、Ｎは、構築するＮグラム言語モデルの連鎖数である。なお、ＫおよびＮの各々の値は、装置において固定的に設定するようにしても良く、また動的に設定可能としても良い。条件「Ｋ＜Ｎ」が真であるとき（ステップＳ４：ＹＥＳ）にはステップＳ７へ進み、偽であるとき（ステップＳ４：ＮＯ）にはステップＳ５へ進む。
【００５５】
＜第１実施形態  条件「Ｋ＜Ｎ」＞
ステップＳ７に進んだ場合、即ちＫ＜Ｎの場合、つまり学習テキストから得られた適応後ベクトルが表わす単語組の連鎖数よりも構築しようとするＮグラム言語モデルの単語連鎖数のほうが大きい場合、学習テキスト全体でＮグラム言語モデル（ベース言語モデル）を構築し（ステップＳ７）、そのＮグラム言語モデルの単語確率値を、適応後ベクトルの値に応じて増減させる（ステップＳ８）。その具体的処理は、次の通りである。
【００５６】
まず、ステップＳ７では、言語モデル構築部１２は、学習テキスト記憶部７−１〜７−Ｄに記憶されている全学習テキストに基づき、ベースのＮグラム言語モデルを構築する。そのベース言語モデルは、Ｎ単語組の、第１番目から第（Ｎ−１）番目までの単語列を前提とした、第Ｎ番目の単語の条件付出現確率値のデータを含む。これは、下の式（５）で表わされる。
【００５７】
【数５】
0005914054.tif 000006
【００５８】
式（５）において、「Ｂ」は適応化されていないベース言語モデルであることを表わしている。また、ｗｉ，Ｎは第ｉ番目のＮ単語組における第Ｎ番目の単語を表わす。また、ｗ（上付き：Ｎ−１  下付き：ｉ，１）は、第ｉ番目の単語列の第１番目から第（Ｎ−１）番目までの単語の列を表わす。
【００５９】
さらにこのベース言語モデルは、（Ｎ−１）単語組、（Ｎ−２）単語組、・・・、１単語組についても、同様の条件付確率値のデータを含む。但し、１単語組の場合には、単純な単語の出現確率（ＰＢ（ｗｉ））である。
【００６０】
次に、ステップＳ８では、言語モデル構築部１２は、上記のベース言語モデルに対して、適応後ベクトルの値に応じた確率値の増減を行なう。言い換えれば、言語モデル構築部１２は、ベース言語モデルが有する確率値を、適応後ベクトルが有する確率分布でスケーリングしなおす。即ち、適応後ベクトルＷｈ´をｐｗ（ｗｉ｜ｄ´）と表わす（このベクトルの第ｉ番目の要素は、第ｉ番目のＫ単語組の出現確率値）と、言語モデル構築部１２が求めるＮグラム言語モデルは、下の式（６）で表わされる。
【００６１】
【数６】
0005914054.tif 000007
【００６２】
但し、式（６）で掛けている係数の分母であるＰＢ（ｗｉ）は、Ｋ単語組ｗｉのベース言語モデルにおける出現確率であり、容易に求められる。そして、言語モデル構築部１２は、作成した言語モデルを言語モデル記憶部５に書き込む。
【００６３】
つまり上記の通り、ステップＳ７からＳ８では、ベース言語モデルで得られる出現確率値に、ベース言語モデルにおけるＫ単語組の出現確率（学習テキスト全体におけるＫ単語組の出現確率）に対する適応後ベクトルにおける出現確率の比を、乗じる処理を行なっている。ステップＳ８の終了後には、言語モデル作成装置５１は、このフローチャート全体の処理を終了する。
【００６４】
＜第２実施形態  条件「Ｋ≧Ｎ」＞
ステップＳ５に進んだ場合、即ちＫ≧Ｎの場合、つまり学習テキストから得られた適応後ベクトルが表わす単語組の連鎖数よりも構築しようとするＮグラム言語モデルの単語連鎖数のほうが小さい場合、あるいは両者が等しい場合、適応後ベクトルＷｈ´が有する出現確率値をＮ単語組の出現確率を求め、言語モデルを構築する。つまり、この場合に言語モデル構築部１２が求めるＮグラム言語モデルは、下の式（７）で表わされる。
【００６５】
【数７】
0005914054.tif 000008
【００６６】
なお、式（７）におけるｗ（上付き：Ｎ  下付き：ｉ，１）は、第ｉ番目のＮ単語組における第１番目から第Ｎ番目までの単語の列を表わす。なお、ＮがＫより小さい場合には、Ｋ単語組の出現確率値から、Ｎ単語組の出現確率値を算出する。
【００６７】
即ち、ステップＳ５では、言語モデル構築部１２は、適応後ベクトルＷｈ´（Ｋ単語組の出現確率値）からＮ単語組の出現確率値（回数）への変換を行う。Ｋ単語組の出現確率値からｋ単語組（ｋ≦Ｋ）の出現確率値を求めることは、あるｋ単語組を含むＫ単語組の出現確率値の総和を計算することにより行う。
【００６８】
そして、ステップＳ６では、言語モデル構築部１２は、得られたｋ単語組（ｋ＝Ｎ−１およびｋ＝Ｎ）の出現確率値を用いて、式（７）による計算を行い、Ｎグラム言語モデルを構築する。そして、言語モデル構築部１２は、作成した言語モデルを言語モデル記憶部５に書き込む。ステップＳ６の終了後には、言語モデル作成装置５１は、このフローチャート全体の処理を終了する。
【００６９】
＜第３実施形態  条件「Ｋ≧Ｎ」＞
第３実施形態では、言語モデル構築部１２による言語モデルの構築のしかたのみが異なり、その他の技術事項は、第２実施形態と同様である。
ここで述べる第３実施形態は、上記の第２実施形態のいずれかで得られた言語モデルを、さらに学習テキスト全体から構築される言語モデルとの間で線形補間するものである。本実施形態で作成する言語モデルは、下の式（８）で表わされる。
【００７０】
【数８】
0005914054.tif 000009
【００７１】
式（８）の第１項は、第２実施形態において説明した処理で構築される、適応後ベクトルに基づく言語モデルに、係数λ（０＜λ＜１）を乗じたものである。また、第２稿は、Ｄ個の学習テキスト全体から構築されるベースの言語モデルに、係数（１−λ）を乗じたものである。係数λの値は、設定等により定められる。
【００７２】
＜第４実施形態  条件「Ｋ≧Ｎ」＞
第４実施形態では、以下で述べる事項が第２実施形態と異なり、その他の技術事項は、第２実施形態と同様である。
【００７３】
第２実施形態では、フローチャートにおけるステップＳ５の計算をする際に、あるｋ単語組を含むＫ単語組の出現確率値の総和を計算することにより行うことにより、ｋ単語組（ｋ≦Ｋ）の出現確率値を求めた。第４実施形態による言語モデル作成装置５１では、その代わりに、必要とされる各々のｋについて、図２のフローチャートに示された処理手順のステップＳ１からＳ３までの処理を実行することにより、適応後ベクトルを算出する。そして、ｋ単語組の適応後ベクトルを用いて、言語モデル構築部１２が式（７）の計算を行なう。一例としては、Ｎ＝３でＮグラム言語モデルを構築するときには、下の式（９）の計算を行なう。
【００７４】
【数９】
0005914054.tif 000010
【００７５】
但し、式（９）において、ｗ（上付き：３  下付き：ｉ，１）は、第ｉ番目の３単語組における第１番目から第３番目までの単語の列（つまり、当該３単語組の全体）を表わす。また、ｗ（上付き：２  下付き：ｉ，１）は、第ｉ番目の３単語組における第１番目から第２番目までの単語の列を表わす。式（９）の右辺の分子は、ｋ＝３についての適応後ベクトルから得られる出現確率値である。式（９）の右辺の分母は、ｋ＝２についての適応後ベクトルから得られる出現確率値である。
【００７６】
なお、第４の実施形態で説明した方法で言語モデルを構築し、さらに、第３の実施形態で説明した方法でベース言語モデルとの間での線形補間を行なうようにしても良い。
【００７７】
なお、上述した実施形態における言語モデル作成装置や音声認識装置の機能をコンピューターで実現するようにしても良い。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００７８】
以上、複数の実施形態を説明したが、本発明はさらに次のような変形例でも実施することが可能である。なお、可能な組み合わせにおいて、下記の変形例の複数の構成を組み合わせた構成として実施しても良い。
【００７９】
＜変形例１＞
上記の第１〜第４実施形態の各々では、フローチャート（図２）のステップＳ３の処理において、式（４）を用いることによって適応後ベクトルＷｈ´を求めた。これは、行列Ｗに含まれるＲ個の基底ベクトル全ての積和（sum of products）の最適解を探索している処理である。その代わりに、本変形例では、行列Ｗに含まれるＲ個の基底ベクトルのうち、適応用テキストを元に得られたベクトルｐ（ｔ｜ｄ´）に最も近いものを選択して、それを適応後ベクトルとする。この選択の際、例えば、カルバック・ライブラー情報量や何らかの距離尺度を、尺度として用いる。本変形例では、適応後ベクトルを求めるための計算量が少なく済む。別の見方では、本変形例は、ベクトルｈ´の非零要素が１個だけであるような解Ｗｈ´を適応後ベクトルとして選ぶことと同等である。
【００８０】
＜変形例２＞
上記の変形例１では行列Ｗに含まれるＲ個の基底ベクトルのうち１個を選択して適応後ベクトルとしたのに対して、本変形例では、Ｒ個の基底ベクトルのうち、適応用テキストを元に得られたベクトルｐ（ｔ｜ｄ´）に比較的近いＲ´個（１＜Ｒ´＜Ｒ）を選び、選ばれたＲ´個のベクトルを並べてなる行列Ｗ´を形成し、行列Ｗの代わりにこの行列Ｗ´を用いて、式（４）と同様の探索を行なうことによって、適応後ベクトルＷ´ｈ´を求める。本変形例では、上記の変形例１よりは精度の良い適応後ベクトルを得られる場合が多い。別の見方では、本変形例は、ベクトルｈ´に値がゼロである要素をいくつか含むような解Ｗｈ´を適応後ベクトルとして選ぶことと同等である。
【００８１】
＜変形例３＞
上記の第１〜第４実施形態の各々では、音声認識装置５２を構成する一部分として言語モデル作成装置５１を組み込んだ。その代わりに、言語モデル作成装置５１のみを独立させて構成しても良い。このような独立構成の言語モデル作成装置５１は、様々な用途の言語モデルを作成することができる。
【００８２】
＜変形例４＞
音声認識装置５２を構成する一部分としてではなく、機械翻訳装置や、テキスト変換装置や、テキスト検索装置（例えば、ウェブ検索エンジンなど）などを構成する一部分として言語モデル作成装置５１を組み込む構成としても良い。
【００８３】
＜変形例５＞
上記の第１〜第４実施形態の各々では、単語を言語要素とし、所定の長さの単語組を言語要素列として、その出現頻度に基づく言語モデルの構築を行なうようにした。変形例５では、単語の代わりに、その他の言語要素の列の出現頻度を解析し、それに基づく言語モデルを構築するように構成する。単語以外の言語要素の一例は、文字である。なお、対象とする言語は、日本語に限らず、他の言語（英語、仏語、中国語等）であっても良い。
【００８４】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【００８５】
＜実施形態の評価＞
第１実施形態および第３実施形態のそれぞれによって実際に言語モデルを作成し、そのテストセット・パープレキシティ（test-set perplexity，平均単語分岐数）を評価した。テストセット・パープレキシティは、Ｎグラム言語モデルの評価基準として用いられる値である。評価テキスト集合に対する１単語あたりのエントロピーをＨ（Ｌ）とすると、テストセット・パープレキシティは２のＨ（Ｌ）乗で与えられる。つまり、テストセット・パープレキシティは、確率分布によるエントロピーを考慮したときの１単語の分岐場合数と言える。パープレキシティが低いことは、エントロピーを考慮したときの単語の分岐数が少なく評価テキスト集合をうまくモデリングできていることを、一般的には意味する。
【００８６】
図３は、第１実施形態によって構築した言語モデルを評価したグラフである。このグラフの横軸はＲ（非負値行列因子分解の際の因子数）であり、縦軸はパープレキシティである。図示するグラフにおいて、「適応なし」（破線）は適応を行なわない場合を示し、「従来法による適応」（実線および四角のプロット点）は、前記の非特許文献１の第２．１節に記載されているＰＬＳＡユニグラムスケーリング法を用いた場合を示す。「実施形態１」（実線および三角のプロット点）は、前述の第１実施形態によって作成した言語モデルを用いた場合（Ｎ＝３，Ｋ＝１とした）を示す。「従来法」と「実施形態１」との間の方法の主な違いは、Ｒ個の出現確率値ベクトルを求める際に、「実施形態１」では非負値行列因子分解を用いた点である。示されている結果から明らかなように、本発明の第１実施形態によるテストセット・パープレキシティは、従来法のそれよりも低下している。つまり、第１実施形態による効果が実験的に確認された。
【００８７】
図４は、第３実施形態によって構築した言語モデルを評価したグラフである。このグラフも、図３と同様に、横軸はＲであり、縦軸はパープレキシティである。図示するグラフにいて、「適応なし」（破線）は適応を行なわない場合を示し、「従来法による適応」（実線および四角のプロット点）は、前記の非特許文献１の第２．１節に記載されているＰＬＳＡユニグラムスケーリング法を用いた場合を示す。「実施形態３」（実線および丸印のプロット点）は、前述の第３実施形態によって作成した言語モデルを用いた場合（Ｎ＝３，Ｋ＝１とした）を示す。本発明の第３実施形態によるテストセット・パープレキシティは、従来法のそれよりも低下している。つまり、第３実施形態による効果が実験的に確認された。
【００８８】
なお、本発明の各実施形態は、それぞれ、言語モデル作成のために要する計算量や実装の容易さが異なる。また、アプリケーションによってどの実施形態が最適な性能を発揮するかも異なる。例えば、第１実施形態の方法をＮ＝３，Ｋ＝１で実施した場合には、学習テキスト全体の集合が比較的小規模なアプリケーションに向いている。また例えば、第２および第３実施形態の方法をＮ＝Ｋ＝３で実施した場合には、学習テキスト全体の集合が比較的大規模なアプリケーションに向いている。これは、学習テキストの量が多いほど、学習テキストから抽出されるＫ単語組が、現実の言語空間におけるＫ単語組をカバーする率が上昇するためである。本発明を実施するにあたっては、それらの事情を考慮して、適切な形態を選択することが望ましい。
【産業上の利用可能性】
【００８９】
本発明は、言語の統計的性質を表わす言語モデルの構築に利用できる。また、言語モデルを利用した言語処理（特に、自然言語処理）に利用できる。本発明を適用することが可能な言語処理の例は、音声認識や、機械翻訳や、テキスト変換や、テキスト検索などである。
【符号の説明】
【００９０】
１  音声入力部
２  音響分析部
３  正解単語探索部
４  音響モデル記憶部
５  言語モデル記憶部
６  認識結果出力部
７−１〜７−Ｄ  学習テキスト記憶部
８ａ  テキスト前処理部（学習テキスト前処理部，学習テキスト前処理手段）
８ｂ  テキスト前処理部（適応用テキスト前処理部，適応用テキスト前処理手段）
９  テキスト解析部（テキスト解析手段）
１０  テキスト解析結果記憶部
１１  適応用テキスト記憶部
１２  言語モデル構築部（言語モデル構築手段）
５１  言語モデル作成装置
５２  音声認識装置
【図１】
0005914054.tif 000011
【図２】
0005914054.tif 000012
【図３】
0005914054.tif 000013
【図４】
0005914054.tif 000014