(57)【特許請求の範囲】
【請求項１】
N,Kを所定の正の整数とし、w1,w2,…,wLを入力されるテキストデータを構成する各単語とし、h10,h20,…,hL0をw1,w2,…,wLとし、k=1,2,…,Kとし、h1k,h2k,…,hLkをh1k-1,h2k-1,…,hLk-1に対して潜在語言語モデル学習を行うことにより得られる潜在語系列とし、θLWLMkを潜在語系列h1k-1,h2k-1,…,hLk-1に対して潜在語言語モデル学習を行うことにより得られる潜在語言語モデルのモデルパラメータとして、h1k-1,h2k-1,…,hLk-1をテキストデータとして潜在語言語モデルの学習を行い、潜在語系列h1k,h2k,…,hLkと、確率分布P(hik|hi-N+1k,…,hi-1k,θLWLMk),P(wik|hik,θLWLMk)とを生成する処理を順次k=1,2,…,Kのそれぞれについて行うことにより、潜在語系列h1,h2,…,hL, h12,h22,…,hL2,…,h1K,h2K,…,hLKと、確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)とを生成する階層潜在語言語モデル初期化部と、
確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)を用いて、上記潜在語系列h1,h2,…,hL, h12,h22,…,hL2,…,h1K,h2K,…,hLKを更新し、更新された潜在語系列h1,h2,…,hL, h12,h22,…,hL2,…,h1K,h2K,…,hLKに従うように、上記確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)を変更することにより調整された確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)を生成する階層潜在語言語モデル調整部と、
を含む言語モデル生成装置。
【請求項２】
階層潜在語言語モデル初期化部が、N,Kを所定の正の整数とし、w1,w2,…,wLを入力されるテキストデータを構成する各単語とし、h10,h20,…,hL0をw1,w2,…,wLとし、k=1,2,…,Kとし、h1k,h2k,…,hLkをh1k-1,h2k-1,…,hLk-1に対して潜在語言語モデル学習を行うことにより得られる潜在語系列とし、θLWLMkを潜在語系列h1k-1,h2k-1,…,hLk-1に対して潜在語言語モデル学習を行うことにより得られる潜在語言語モデルのモデルパラメータとして、h1k-1,h2k-1,…,hLk-1をテキストデータとして潜在語言語モデルの学習を行い、潜在語系列h1k,h2k,…,hLkと、確率分布P(hik|hi-N+1k,…,hi-1k,θLWLMk),P(wik|hik,θLWLMk)とを生成する処理を順次k=1,2,…,Kのそれぞれについて行うことにより、潜在語系列h1,h2,…,hL, h12,h22,…,hL2,…,h1K,h2K,…,hLKと、確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)とを生成する階層潜在語言語モデル初期化ステップと、
階層潜在語言語モデル調整部が、確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)を用いて、上記潜在語系列h1,h2,…,hL, h12,h22,…,hL2,…,h1K,h2K,…,hLKを更新し、更新された潜在語系列h1,h2,…,hL, h12,h22,…,hL2,…,h1K,h2K,…,hLKに従うように、上記確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)を変更することにより調整された確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)を生成する階層潜在語言語モデル調整ステップと、
を含む言語モデル生成方法。
【請求項３】
請求項１の言語モデル生成装置の各部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、言語モデルを構築するための技術に関する。特に、階層潜在語言語モデルと呼ぶ新たな言語モデルを構築するための技術に関する。
【背景技術】
【０００２】
音声認識や機械翻訳では、言語的な予測のために言語モデルが必要である。言語モデルは、言語らしさを計測可能なものであり、その性能が音声認識や機械翻訳の性能を左右するものである。これまで、様々な種類の言語モデルが提案されてきている。
【０００３】
この言語モデルとしてN-gram言語モデルが一般的に利用される。N-gram言語モデルの学習方法は、公知の技術であるためここでは省略する（例えば、非特許文献１参照。）N-gram言語モデルは学習テキストがあれば容易に学習することが可能であり、その学習方法はこれまで様々に提案されている（例えば、非特許文献２参照。）。N-gram言語モデルは、基本的に学習データの単語系列をダイレクトにモデル化することができ、直前の単語N-1単語wi-N+1,…,wi-1から現在の単語wiの予測確率P(wi|wi-N+1,…,wi-1,θN-gram)を構成する。なお、θN-gramは、N-gram言語モデルのモデルパラメータを表す。
【０００４】
N-gram言語モデルでは、学習テキスト内に”りんごを食べる”が存在して”みかんを食べる”が存在しない場合、その学習テキストで構築したN-gram言語モデルを用いて”みかんを食べる”の確率を求めるとすると、”を食べる”という情報しか基本的には使わない。しかしながら、”みかん”と”りんご”は明らかに類似した単語であり、”りんごを食べる”の確率は、”みかんを食べる”の情報を使うことができるはずである。
【０００５】
上記の観点でN-gramモデルを拡張したモデルとして、潜在語言語モデル（Latent Words Language Model）という言語モデルがある（例えば、非特許文献３参照。）。潜在語言語モデルにより、”りんご”と”みかん”は類似単語ということを考慮して確率モデルを構築することができる。潜在語言語モデルは、潜在語と呼ばれる観測できる単語の裏に隠れた単語を考慮することができ、モデル構造としては潜在語の系列をモデル化する遷移確率モデルと、潜在語ごとの単語の出力確率モデルに分けられる。遷移確率モデルは、潜在語についてのN-gramモデルとして表され、直前のN-1個の潜在語hi-N+1,…,hi-1から現在の潜在語hiの予測確率P(hi|hi-N+1,…,hi-1,θLWLM)を構成する。出力確率モデルは、各潜在語ごとの観測単語に対する1-gramモデルとして表され、潜在語hiの観測単語wiについての予測確率P(wi|hi,θLWLM)を構成する。なお、θLWLMは、潜在語言語モデルのモデルパラメータを表す。潜在語言語モデルのN-gram言語モデルに対する優位点は、潜在語を考慮することによるロバストネスである。潜在語を考慮することで、少ない学習データからでも性能の高い確率予測が可能であることがわかっている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】北健二，“言語と計算-4 確率的言語モデル”,東京大学出版界, pp.57-62.
【非特許文献２】S. F. Chen, and J. Goodman, “ An Empirical Study of Smoothing techniques for language modeling ”，Computer Speech & Language, vol.13, no.4, pp.359-383, 1999.
【非特許文献３】K. Deschacht, J. D. Belder, and M-F. Moens, “ The latent words language model”，Computer Speech and Language, vol.26, pp.384-409, 2012.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述の潜在語言語モデルの課題に焦点を当ててみる。潜在語言語モデルでは潜在語を考慮することで、ロバストネスを高めているが、１階層の潜在語空間のみでは、モデル構造の柔軟性が低くなってしまう。本来、単語の裏に隠れた構造は階層構造を持つことが考えられる。例えば、「りんご」という単語であれば、「果物」という潜在語があり、さらに潜在語の潜在語として「食べ物」、そして「もの」といった構造が考えられる。
【０００８】
具体的にこのように階層構造を考えず単一の潜在語空間を持つモデル化では、学習データが少ない際のロバストネスが低くなる可能性がある。つまり、言語モデルとしての確率予測の性能が低下してしまう可能性がある。
【０００９】
この発明の目的は、従来よりも確率予測の性能が高い言語モデルを生成する言語モデル生成装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【００１０】
この発明の一態様による言語モデル生成装置は、N,Kを所定の正の整数とし、w1,w2,…,wLを入力されるテキストデータを構成する各単語とし、h10,h20,…,hL0をw1,w2,…,wLとし、k=1,2,…,Kとし、h1k,h2k,…,hLkをh1k-1,h2k-1,…,hLk-1に対して潜在語言語モデル学習を行うことにより得られる潜在語系列とし、θLWLMkを潜在語系列h1k-1,h2k-1,…,hLk-1に対して潜在語言語モデル学習を行うことにより得られる潜在語言語モデルのモデルパラメータとして、h1k-1,h2k-1,…,hLk-1をテキストデータとして潜在語言語モデルの学習を行い、潜在語系列h1k,h2k,…,hLkと、確率分布P(hik|hi-N+1k,…,hi-1k,θLWLMk),P(wik|hik,θLWLMk)とを生成する処理を順次k=1,2,…,Kのそれぞれについて行うことにより、潜在語系列h1,h2,…,hL, h12,h22,…,hL2,…,h1K,h2K,…,hLKと、確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)とを生成する階層潜在語言語モデル初期化部と、確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)を用いて、潜在語系列h1,h2,…,hL, h12,h22,…,hL2,…,h1K,h2K,…,hLKを更新し、更新された潜在語系列h1,h2,…,hL, h12,h22,…,hL2,…,h1K,h2K,…,hLKに従うように、確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)を変更することにより調整された確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)を生成する階層潜在語言語モデル調整部と、をを備えている。
【発明の効果】
【００１１】
従来よりも確率予測の性能が高い言語モデルを生成することができる。
【図面の簡単な説明】
【００１２】
【図１】言語モデル生成装置の例を説明するためのブロック図。
【図２】言語モデル生成方法の例を説明するための流れ図。
【発明を実施するための形態】
【００１３】
［全体の流れ］
潜在語言語モデルの潜在語空間に階層構造を持たせた階層潜在語言語モデルを新たに提案する。通常の潜在語言語モデルは観測語空間に対して単一の潜在語空間であるが、提案する階層潜在語言語モデルでは、さらに潜在語空間に対する２段目の潜在語空間、２段目の潜在語空間に対する３段目の潜在語空間、といった階層構造を持たせる。
【００１４】
まず、階層潜在語言語モデルを作成する全体の流れについて説明する。
【００１５】
階層潜在語言語モデルを生成する言語モデル生成装置は、図１に示すように、階層潜在語言語モデル初期化部１及び階層潜在語言語モデル調整部２を例えば備えている。言語モデル生成装置の各部が、図２に例示する各ステップの処理を行うことにより言語モデル生成方法が実現される。
【００１６】
＜階層潜在語言語モデル初期化部１＞
入力：単語区切りがわかるテキストデータ、潜在語空間の数K
出力：初期化された階層潜在語言語モデル、各階層の潜在語系列
階層潜在語言語モデル初期化部１では、単語区切りが分かるテキストデータを入力して、Ｋ個の潜在語空間を持つ階層潜在語言語モデルの型を作る。具体的には、最初に単一潜在語空間を持つ潜在語言語モデルを構成し、その際に推定できる潜在語系列を保持し、その潜在語系列に対してさらに通常の潜在語言語モデルを推定する。これをＫ個の潜在語空間ができるまで繰り返す。つまり、K段目まで潜在語言語モデルを推定する。Ｋは予め定められた正の整数である。例えば、Ｋはユーザにより指定されてもよい。
【００１７】
単語区切りがわかるテキストデータは、任意の形態素解析器を利用することで、単語区切りなしのテキストファイルから作成することが可能である。
【００１８】
＜階層潜在語言語モデル調整部２＞
入力：初期化された階層潜在語言語モデル、単語区切りが分かるテキストデータ、各階層の潜在語系列
出力：調整された階層潜在語言語モデル
階層潜在語言語モデル調整部２は、階層潜在語言語モデル初期化部１において初期化した階層潜在語言語モデルを調整し、最終的な階層潜在語言語モデルとする。具体的には、初期化の時点では潜在語空間を１段ずつ積み上げていっただけで、全体に対する最適化が行われていなかったが、階層潜在語言語モデル調整部２では全体最適化を実施する。
【００１９】
［各部の詳細］
階層潜在語言語モデル初期化部１は、１段目潜在語言語モデル作成部１１、２段目潜在語言語モデル作成部１２、ｋ段目潜在語言語モデル作成部１ｋ及び階層潜在語言語モデル構成部１０を例えば備えている。
【００２０】
＜１段目潜在語言語モデル作成部１１＞
入力：単語区切りがわかるテキストデータ
出力：１段目潜在語言語モデル、学習データの潜在語系列
１段目潜在語言語モデル作成部１１は、入力された単語区切りがわかるテキストデータを学習データとして、潜在語言語モデルを学習する（ステップＳ１１）。具体的な学習方法については、例えば非特許文献３に記載された既存の潜在語言語モデルの学習方法を用いればよい。
【００２１】
潜在語言語モデルは、P(hi|hi-N+1,…,hi-1,θLWLM)をという確率分布と、P(wi|hi,θLWLM)という確率分布の２個の確率分布を持っている。ここで、hiは潜在語、wiは観測語と呼ばれる。潜在語hiは潜在語言語モデルにおける潜在変数にあたり、観測語wiは実際にテキスト中に出現する単語を表す。P(hi|hi-N+1,…,hi-1,θLWLM)は一般的な単語N-gram言語モデルの形、P(wi|hi,θLWLM)はunigram言語モデルとなっている。なお、θLWLMは、潜在語言語モデルのモデルパラメータを表す。
【００２２】
潜在語言語モデルの学習は、入力する学習テキストの各単語に対して、潜在語の割り当てを推定する問題である。つまり、「w1・w2・…・wL」(学習テキストに含まれる総単語数：L)という学習テキスト(観測語の系列)があれば、「w1」「w2」…「wL」の各観測語の潜在語「h1」「h2」…「hL」を推定する問題と言える。この割り当てを推定できれば、潜在語系列「h1・h2・…・hL」に対してN-gram言語モデルを学習すればP(hi|hi-N+1,…,hi-1,θLWLM)を構築でき、「h1→w1」「h2→w2」…「hL→wL」に対して、unigram言語モデルを学習すればP(wi|hi,θLWLM)を構築できる。具体的な潜在語の割り当ての推定は、ギブスサンプリングという方法により推定できる。ギブスサンプリングについては公知の技術であるため、ここではその説明を省略する。
【００２３】
最終的な出力は潜在語言語モデル(具体的には、潜在語言語モデルのパラメータの実体である２個の確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM)と、そのモデル化の際に推定した入力された学習データの潜在語系列h1・h2・…・hLである。
【００２４】
＜２段目潜在語言語モデル作成部１２＞
入力：学習データの潜在語系列
出力：２段目潜在語言語モデル、２段目の潜在語系列
２段目潜在語言語モデル作成部１２は、１段目潜在語言語モデル作成部１１の出力として得られた、学習データの潜在語系列からさらに潜在語言語モデルを学習する（ステップＳ１２）。学習データの潜在語系列は、単語区切りがわかるテキストデータと同様の形式で表されるため、２段目の潜在語言語モデルの学習方法は例えば非特許文献３に記載された通常の潜在語言語モデルの学習方法と変わらない。ここでは、潜在語系列「h1・h2・…・hL」の潜在語系列「h12・h22・…・hL2」を推定する問題と言える。２段目潜在語言語モデルは、P(hi2|hi-N+12,…,hi-12,θLWLM2)及びP(hi|hi2,θLWLM2)として表される。また、２段目の潜在語系列h12・h22・…・hL2も出力として得られる。K=2の場合は、これで階層潜在語言語モデル初期化部１の処理は終了となる。
【００２５】
＜ｋ段目潜在語言語モデル作成部１ｋ＞
入力：ｋ−１段目潜在語系列
出力：ｋ段目潜在語言語モデル、ｋ段目の潜在語系列
ｋ段目潜在語言語モデル作成部１ｋは、Ｋが２より大きい場合は、さらに繰り返し潜在語言語モデルを推定する（ステップＳ１ｋ）。つまり、Ｋ−１段目の潜在語系列から潜在語言語モデルを学習する。なお、ｋ段目の潜在語言語モデルは、P(hik|hi-N+1k,…,hi-1k,θLWLMk)及びP(hi|hik,θLWLMk)として与えられる。
【００２６】
２段目の潜在語言語モデルの学習方法は例えば非特許文献３に記載された通常の潜在語言語モデルの学習方法と変わらない。
【００２７】
＜階層潜在語言語モデル構成部１０＞
入力：１からＫ段目のすべての潜在語言語モデル
出力：初期化した潜在語言語モデル
ここまでで作成した1段目からK段目までのすべての潜在語言語モデルを統合することで、階層潜在語言語モデルとして初期化を行う（ステップＳ１０）。具体的に初期化した階層潜在語言語モデルは、P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)をパラメータとして備えている。
【００２８】
このようにして、階層潜在語言語モデル初期化部１は、N,Kを所定の正の整数とし、w1,w2,…,wLを入力されるテキストデータを構成する各単語とし、h10,h20,…,hL0をw1,w2,…,wLとし、k=1,2,…,Kとし、h1k,h2k,…,hLkをh1k-1,h2k-1,…,hLk-1に対して潜在語言語モデル学習を行うことにより得られる潜在語系列とし、θLWLMkを潜在語系列h1k-1,h2k-1,…,hLk-1に対して潜在語言語モデル学習を行うことにより得られる潜在語言語モデルのモデルパラメータとして、h1k-1,h2k-1,…,hLk-1をテキストデータとして潜在語言語モデルの学習を行い、潜在語系列h1k,h2k,…,hLkと、確率分布P(hik|hi-N+1k,…,hi-1k,θLWLMk),P(wik|hik,θLWLMk)とを生成する処理を順次k=1,2,…,Kのそれぞれについて行うことにより、潜在語系列h1,h2,…,hL, h12,h22,…,hL2,…,h1K,h2K,…,hLKと、確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)とを生成する（ステップＳ１）。
【００２９】
確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)が、初期化された階層潜在語言語モデルである。
【００３０】
＜階層潜在語言語モデル調整部２＞
階層潜在語言語モデル調整部２は、初期化した階層潜在語言語モデルの調整を行う。具体的には、学習データに対する１段目からＫ段目の潜在語系列をさらに最適化していく。つまり、潜在語系列「h1・h2・…・hL」、「h12・h22・…・hL2」、…、「h1K・h2K・…・hLK」を更新していくことで、階層潜在語モデルのパラメータを調整する。これは、ギブスサンプリングによって実現できる。ギブスサンプリングでは、公知の技術であるため詳細は述べないが、ある潜在語について確率分布を得て、その分布に基づきランダムサンプリングを行うことで、更新を行う。ここでは、その際の確率分布をどのように定義するかを述べる。ここでは、Ｎ＝３の場合について述べる。まず１段目の潜在語の確率分布は次式に従う。
【００３１】
P(hi)〜P(hi|hi-2,hi-1)P(hi+1|hi-1,hi)P(hi+2|hi,hi+1)P(wi|hi)P(hi|hi2)
次にＫ段目を除く２段目以降の潜在語の確率分布(ｋ段目とする)は次式に従う。
【００３２】
P(hik)〜P(hik|hi-2k,hi-1k)P(hi+1k|hi-1k,hik)P(hi+2k|hik,hi+1k)P(hik-1|hik)P(hik|hik+1)
最後にＫ段目の潜在語の確率分布は次式に従う。
【００３３】
P(hiK)〜P(hiK|hi-2K,hi-1K)P(hi+1K|hi-1K,hiK)P(hi+2K|hiK,hi+1K)P(hiK-1|hiK)
確率分布が得られた場合のランダムサンプリングは、SampleOneアルゴリズムに従う。SampleOneアルゴリズムについては、後述する。
【００３４】
この流れで、すべての全ての潜在語系列を更新する。更新は収束するまで繰り返すが、１つの潜在語につき、例えば500回行えばよい。更新の順番の決まりは特にないが、例えば１段目の潜在語系列の１番目からＬ番目までを最初に行い、次に２段目の潜在語系列の１番目からＬ番目、その後引き続きＫ段目まで行う。これを１回の更新手続きとみなし、この行為を収束するまで(上の例では500回)行えばよい。
【００３５】
各潜在語系列の更新が終了した後、その潜在語系列に従うように各パラメータP(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hi|hiK,θLWLMK)を変更することで、調整した階層潜在語言語モデルは得られる。
【００３６】
このようにして、階層潜在語言語モデル調整部２は、確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)を用いて、潜在語系列h1,h2,…,hL, h12,h22,…,hL2,…,h1K,h2K,…,hLKを更新し、更新された潜在語系列h1,h2,…,hL, h12,h22,…,hL2,…,h1K,h2K,…,hLKに従うように、確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)を変更することにより調整された確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)を生成する（ステップＳ２）。
【００３７】
調整された確率分布P(hi|hi-N+1,…,hi-1,θLWLM),P(wi|hi,θLWLM),P(hi2|hi-N+12,…,hi-12,θLWLM2),P(hi|hi2,θLWLM2),…,P(hiK|hi-N+1K,…,hi-1K,θLWLMK),P(hiK-1|hiK,θLWLMK)が、調整された階層潜在語言語モデルである。
【００３８】
階層潜在語言語モデルは、階層構造を有するため、通常の潜在語言語モデルと比較して高い言語予測性能を持つ。この階層潜在語言語モデルを音声認識で用いることで高い認識性能が得られ、また機械翻訳に用いることで、高い翻訳性能が得られる。
【００３９】
［変形例］
階層潜在語言語モデルをN-gram言語モデルに近似により生成してもよい。これにより、音声認識や機械翻訳で利用しやすいモデルの形にすることができる。N-gram言語モデルの形は、音声認識や機械翻訳で高速に動作させる形態が整っており、実用に優れる。
【００４０】
そのために、言語モデル生成装置は、例えば疑似学習テキスト生成部４及びN-gram言語モデル生成部５を更に備えていてもよい。
【００４１】
＜疑似学習テキスト生成部４＞
入力：調整された階層潜在語言語モデル
出力：疑似学習テキスト
疑似学習テキスト生成部４は、階層潜在語言語モデルから疑似学習テキストを生成する。ここでは、疑似学習テキスト「w1・w2・…・wM」というM個の単語を生成することを目的とする。基本的には、Ｋ段目の潜在語系列「h1K・h2K・…・hMK」を最初に生成し、順番にＫ−１段目、Ｋ−２段目、…、２段目、１段目の潜在語系列「h1・h2・…・hM」を順番に生成し、最後に「w1・w2・…・wM」を生成することになる。生成には、各潜在語、および単語の確率分布を得て、その分布に従いランダムサンプリングを行うことで実現できる。ここでは、各確率分布の定義の仕方について述べる。
【００４２】
Ｋ段目は次の確率分布に従う。
【００４３】
P(hiK)〜P(hiK|hi-2K,hi-1K)
Ｋ−１段目から１段目は次の確率分布(ｋ段目)に従う。
【００４４】
P(hik)〜P(hik|hi-2k,hi-1k)P(hik|hik+1)
観測単語は次の確率分布に従う。
【００４５】
P(wi)〜P(wi|hi)
ランダムサンプリングはSampleOneアルゴリズムに従う。なお、Ｍの値は例えば人手で決定する。この値が大きいほど階層潜在語言語モデルの性質を良く表す疑似学習テキストとできる。この値は最初の学習テキストに含まれる単語数Ｌと同等またはそれより大きい値を使うべきである。小さすぎると性能は出ない。
【００４６】
以下、SampleOneアルゴリズムについて説明する。
【００４７】
入力：確率分布(多項分布)
出力：確率分布の実現値
SampleOneアルゴリズムは、確率分布からランダムに１個の値を決定するためのアルゴリズムである。具体的に説明するために、前述の例であるP(h1)が入力である場合を扱う。
【００４８】
P(h1)は多項分布と呼ばれる確率分布の形となっている。h1の具体的な実現値の集合をJとする。Jは、確率分布が与えられれば自動的に決まるものである。具体的にhが、P(h1)という確率分布は、P(h1=t1), P(h1=t2),…, P(h1=tH)となっている。ここで、t1,t2,…,tHが具体的な実現値であり、この集合がJである。このとき、P(h1)は次の性質を持つ。
【００４９】
【数１】
0006320966.tif 000002
【００５０】
このとき、h1のSampleOneは乱数に基づく。ここでは、乱数値をrandとおく。P(h1=t1), P(h1=t2),…, P(h1=tH)は具体的な数値を持っている。rand-P(h1=t1), rand-P(h1=t1)-P(h1=t2), rand-P(h1=t1)-P(h1=t2)-P(h1=t3),…と順番に値を算出し、その値が0より小さくなった場合の値を出力する。例えば、
rand-P(h1=t1)>0
rand-P(h1=t1)-P(h1=t2)<0
であれば、t2を出力する。SampleOneアルゴリズムは、任意の多項分布からのデータサンプルアルゴリズムと言える。
【００５１】
＜N-gram言語モデル生成部５＞
入力：疑似学習テキスト
出力：階層潜在語言語モデル的N-gram言語モデル
N-gram言語モデル生成部５は、学習テキスト中の全てのN個組みの単語の組み合わせの頻度を数え、N-gram言語モデルとし、階層潜在語言語モデル的N-gram言語モデルを構成する。
【００５２】
音声認識の場合は、一般的にN=3をとることが多い。N-gram言語モデルの学習方法は、例えば非特許文献１に記載された公知の技術であるためここでは省略する。これにより、階層潜在語言語モデルの性質を引き継いだN-gram言語モデルを構成でき、音声認識や機械翻訳で簡単に利用できる。
【００５３】
[プログラム及び記録媒体]
言語モデル生成装置及び方法において説明した処理は、記載の順にしたがって時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【００５４】
また、言語モデル生成装置における各処理をコンピュータによって実現する場合、言語モデル生成装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、その各処理がコンピュータ上で実現される。
【００５５】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００５６】
また、各処理手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【００５７】
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【符号の説明】
【００５８】
１      階層潜在語言語モデル初期化部
１１    １段目潜在語言語モデル作成部
１２    ２段目潜在語言語モデル作成部
１ｋ    ｋ段目潜在語言語モデル作成部
１０    階層潜在語言語モデル構成部
２      階層潜在語言語モデル調整部
４      疑似学習テキスト生成部
５      言語モデル生成部
【図１】
0006320966.tif 000003
【図２】
0006320966.tif 000004