(57)【特許請求の範囲】
【請求項１】
w1,w2,…,wLをテキストデータを構成する各単語とし、h1,h2,…,hLをそれぞれw1,w2,…,wLの潜在語とし、θLWLMを潜在語言語モデルのモデルパラメータとし、Nを所定の正の整数として、上記テキストデータを用いて潜在語言語モデル学習を行い、h1,h2,…,hLと、確率分布P(hi|hi-N+1,…,hi-1,θLWLM)と、確率分布P(wi|hi,θLWLM)とを生成する潜在語言語モデル学習部と、
si-1をhiの直前のネットワーク中の中間層の出力とし、θLWRNNLMをリカレントニューラルネットワークのモデルパラメータとして、h1,h2,…,hLを用いてリカレントニューラルネットワーク学習を行い、確率分布P(hi|hi-1,si-1,θLWRNNLM)を生成するリカレントニューラルネットワーク学習部と、
確率分布P(wi|hi,θLWLM)と確率分布P(hi|hi-1,si-1,θLWRNNLM)との乗算を用いて任意の単語列が出現する確率を計算するための言語モデルを構成する潜在語リカレントニューラルネットワーク言語モデル構成部と、
を含む言語モデル生成装置。
【請求項２】
請求項１の言語モデル生成装置において、
上記構成された言語モデルに基づいて、疑似学習テキストを生成する疑似学習テキスト生成部と、
上記疑似学習テキストに基づいて、N-gram言語モデルを生成するN-gram言語モデル生成部と、
を更に含む言語モデル生成装置。
【請求項３】
潜在語言語モデル学習部が、w1,w2,…,wLをテキストデータを構成する各単語とし、h1,h2,…,hLをそれぞれw1,w2,…,wLの潜在語とし、θLWLMを潜在語言語モデルのモデルパラメータとし、Nを所定の正の整数として、上記テキストデータを用いて潜在語言語モデル学習を行い、h1,h2,…,hLと、確率分布P(hi|hi-N+1,…,hi-1,θLWLM)と、確率分布P(wi|hi,θLWLM)とを生成する潜在語言語モデル学習ステップと、
リカレントニューラルネットワーク学習部が、si-1をhiの直前のネットワーク中の中間層の出力とし、θLWRNNLMをリカレントニューラルネットワークのモデルパラメータとして、h1,h2,…,hLを用いてリカレントニューラルネットワーク学習を行い、確率分布P(hi|hi-1,si-1,θLWRNNLM)を生成するリカレントニューラルネットワーク学習ステップと、
潜在語リカレントニューラルネットワーク言語モデル構成部が、確率分布P(wi|hi,θLWLM)と確率分布P(hi|hi-1,si-1,θLWRNNLM)との乗算を用いて任意の単語列が出現する確率を計算するための言語モデルを構成する潜在語リカレントニューラルネットワーク言語モデル構成ステップと、
を含む言語モデル生成方法。
【請求項４】
請求項１又は２の言語モデル生成装置の各部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、言語モデルを構築するための技術に関する。特に、潜在語リカレントニューラルネットワーク言語モデルと呼ばれる新たな音声認識用言語モデルを構築するための技術に関する。
【背景技術】
【０００２】
音声認識や機械翻訳では、言語的な予測のために言語モデルが必要である。言語モデルは、言語らしさを計測可能なものであり、その性能が音声認識や機械翻訳の性能を左右するものである。これまで、様々な種類の言語モデルが提案されてきている。
【０００３】
この言語モデルとして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モデルを拡張したモデルとして、潜在語言語モデル（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言語モデルに対する優位点は、潜在語を考慮することによるロバストネスである。潜在語を考慮することで、少ない学習データからでも性能の高い確率予測が可能であることがわかっている。
【０００５】
一方、潜在語を用いない方法で言語モデル高度化する試みもある。近年高い性能を実現しているのはリカレントニューラルネットワーク（Recurrent Neural Network）言語モデルである（例えば、非特許文献１参照。）。
【０００６】
リカレントニューラルネットワーク言語モデルは、テキストデータから学習できる。リカレントニューラルネットワークによる確率予測では、直前の単語wi-1と直前のネットワーク中の中間層の出力si-1の２つが入力となり、現在の単語wiの予測確率P(wi|wi-1,si-1,θRNNLM)を構成する。なお、θRNNLMはリカレントニューラルネットワークのモデルパラメータである。リカレントニューラルネットワークのN-gramモデルに対する明らかな優位点は、長距離の文脈を考慮して確率分布をモデル化できる点である。N-gramモデルでは、直前のn-1単語のみを文脈として考慮していたが、リカレントニューラルネットワーク言語モデルでは、直前のネットワークの中間層の出力si-1に長距離の文脈情報が含まれているため、より頑健な確率予測が実現できる。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】北健二，“言語と計算-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 潜在語言語モデル ”，Computer Speech and Language, vol.26, pp.384-409, 2012.
【非特許文献４】Mikolov Tomas, Karafiat Martin, Burget Lukas, Cernocky Jan, Khudanpur Sanjeev: Recurrent neural network based language model, In: Proc Interspeech2010.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
潜在語言語モデルは遷移確率モデル及び出力確率モデルから構成されると述べたが、遷移確率モデルがN-gram言語モデルの構造にとどまっている。遷移確率モデルは、潜在語の系列情報をモデル化しているが、長距離の潜在語の関係をモデル化できていない。そのため、確率予測の性能が低くなってしまっている。
【０００９】
この発明の目的は、従来よりも確率予測の性能が高い言語モデルを生成する言語モデル生成装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【００１０】
この発明の一態様による言語モデル生成装置は、w1,w2,…,wLをテキストデータを構成する各単語とし、h1,h2,…,hLをそれぞれw1,w2,…,wLの潜在語とし、θLWLMを潜在語言語モデルのモデルパラメータとし、Nを所定の正の整数として、テキストデータを用いて潜在語言語モデル学習を行い、h1,h2,…,hLと、確率分布P(hi|hi-N+1,…,hi-1,θLWLM)と、確率分布P(wi|hi,θLWLM)とを生成する潜在語言語モデル学習部と、si-1をhiの直前のネットワーク中の中間層の出力とし、θLWRNNLMをリカレントニューラルネットワークのモデルパラメータとして、h1,h2,…,hLを用いてリカレントニューラルネットワーク学習を行い、確率分布P(hi|hi-1,si-1,θLWRNNLM)を生成するリカレントニューラルネットワーク学習部と、確率分布P(wi|hi,θLWLM)と確率分布P(hi|hi-1,si-1,θLWRNNLM)との乗算を用いて任意の単語列が出現する確率を計算するための言語モデルを構成する潜在語リカレントニューラルネットワーク言語モデル構成部と、を備えている。
【発明の効果】
【００１１】
従来よりも確率予測の性能が高い言語モデルを生成することができる。
【図面の簡単な説明】
【００１２】
【図１】言語モデル生成装置の例を説明するためのブロック図。
【図２】言語モデル生成方法の例を説明するための流れ図。
【発明を実施するための形態】
【００１３】
［技術的背景］
潜在語言語モデルにおける潜在変数の遷移確率モデルを通常のN-gram言語モデルではなく、リカレントニューラルネットワーク言語モデルでモデル化する。具体的には遷移確率モデルがN-gramモデルである通常の潜在語言語モデルを学習する際に、予測される潜在語系列を利用してリカレントニューラルネットワーク言語モデルを構築し、それを遷移確率モデルに採用する。このとき、出力確率モデルは元の潜在語言語モデルのものを利用する。なお、このように構築するモデルを潜在語リカレントニューラルネットワーク（Latent Words Recurrent Neural Network）言語モデルと呼ぶことにする。
【００１４】
潜在語リカレントニューラルネットワーク言語モデルを導入することにより、通常の潜在語言語モデルと比較して高い言語予測性能を持つ言語モデルを構築できる。このモデルを音声認識で用いることで高い認識性能が得られ、また機械翻訳に用いることで、高い翻訳性能が得られる。
【００１５】
［実施形態］
潜在語リカレントニューラルネットワーク言語モデルを構築するための言語モデル生成装置及び方法の実施形態の例について述べる。
【００１６】
言語モデル生成装置は、潜在語言語モデル学習部１、リカレントニューラルネットワーク学習部２及び潜在語リカレントニューラルネットワーク言語モデル構成部３を例えば備えている。言語モデル生成装置が、図２に例示する各ステップの処理を行うことにより言語モデル生成方法が実現される。
【００１７】
言語モデル生成装置の入力は単語区切りがわかるテキストデータ、言語モデル生成装置の出力は潜在語リカレントニューラルネットワーク言語モデルとなる。単語区切りがわかるテキストデータは、任意の形態素解析器を利用することで、単語区切りなしのテキストファイルから作成することが可能である。以下、詳細な流れを説明する。
【００１８】
以下、言語モデル生成装置の各部の処理について説明する。
【００１９】
＜潜在語言語モデル学習部１＞
入力：単語区切りがわかるテキストデータ
出力：潜在語言語モデルについての情報、学習データの潜在語系列
潜在語言語モデル学習部１は、単語区切りがわかるテキストデータを学習データとして、潜在語言語モデルを学習する（ステップＳ１）。具体的な学習方法については、例えば非特許文献２に記載された既存の潜在語言語モデルの学習方法を用いればよい。
【００２０】
潜在語言語モデルは、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)と、そのモデル化の際に推定した入力された学習データの潜在語系列である。
【００２３】
潜在語言語モデルは、潜在語リカレントニューラルネットワーク言語モデル構成部３に出力される。学習データの潜在語系列はリカレントニューラルネットワーク学習部２に出力される。
【００２４】
＜リカレントニューラルネットワーク学習部２＞
入力：学習データの潜在語系列
出力：潜在語についてのリカレントニューラルネットワーク
リカレントニューラルネットワーク学習部２は、潜在語言語モデル学習部１の出力として得られた、学習データの潜在語系列からリカレントニューラルネットワークを学習する（ステップＳ２）。通常は、観測単語系列から学習するリカレントニューラルネットワークをここでは、学習データの潜在語系列から学習することになる。学習方法自体は、観測単語系列を扱う場合とは変わらない。すなわち、例えば非特許文献４に記載されている、観測単語系列からリカレントニューラルネットワークを学習する方法を、観測単語系列に代えて学習データの潜在語系列に対して適用することにより、リカレントニューラルネットワークを学習することができる。
【００２５】
ここで、学習されるリカレントニューラルネットワークは、直前の潜在語hi-1と直前のネットワーク中の中間層の出力si-1の２つを入力とした場合の現在の潜在語hiの予測確率についての確率分布P(hi|hi-1,si-1,θLWRNNLM)である。なお、θLWRNNLMは、潜在語についてのリカレントニューラルネットワークのモデルパラメータである。
【００２６】
学習により生成された、潜在語についてのリカレントニューラルネットワークは、潜在語リカレントニューラルネットワーク言語モデル構成部３に出力される。
【００２７】
＜潜在語リカレントニューラルネットワーク言語モデル構成部３＞
入力：潜在語言語モデル、潜在語についてのリカレントニューラルネットワーク
出力：潜在語リカレントニューラルネットワーク言語モデル
潜在語リカレントニューラルネットワーク言語モデル構成部３は、潜在語言語モデルと、潜在語についてのリカレントニューラルネットワークとから潜在語リカレントニューラルネットワーク言語モデルを構成する（ステップＳ３）。具体的には、潜在語言語モデルにおけるP(wi|hi,θLWLM)のパラメータと、潜在語についてのリカレントニューラルネットワークにおけるP(hi|hi-1,si-1,θLWRNNLM)のパラメータとを取り出し、取り出したパラメータをペアとした確率モデルを構成する。Jは、hi(i=1,2,…,L)の取り得る値の集合である。
【００２８】
【数１】
0006343582.tif 000002
【００２９】
このようにして、潜在語リカレントニューラルネットワーク言語モデル構成部３は、確率分布P(wi|hi,θLWLM)と確率分布P(hi|hi-1,si-1,θLWRNNLM)との乗算を用いて任意の単語列が出現する確率を計算するための言語モデルを構成する。
【００３０】
［変形例］
潜在語リカレントニューラルネットワーク言語モデルに基づいて、N-gram言語モデルに近似により生成してもよい。これにより、音声認識や機械翻訳で利用しやすいモデルの形にすることができる。N-gram言語モデルの形は、音声認識や機械翻訳で高速に動作させる形態が整っており、実用に優れる。
【００３１】
そのために、言語モデル生成装置は、例えば疑似学習テキスト生成部４及びN-gram言語モデル生成部５を更に備えていてもよい。
【００３２】
＜疑似学習テキスト生成部４＞
入力：潜在語リカレントニューラルネットワーク言語モデル
出力：疑似学習テキスト
疑似学習テキスト生成部４は、潜在語リカレントニューラルネットワーク言語モデル構成部３が構築した潜在語リカレントニューラルネットワーク言語モデルから疑似学習テキストを生成する。ここでは、疑似学習テキスト「w1・w2・…・wM」というM個の単語を生成することを目的とする。基本的に、最初に潜在語系列「h1・h2・…・hM」を最初に生成し、そこから疑似学習テキストを生成することとなる。潜在語系列の生成には、P(hi|hi-1,si-1,θLWRNNLM)のパラメータを利用する。潜在語からの単語を生成する際は、P(wi|hi,θLWLM)のパラメータを利用する。
【００３３】
まず、初期の潜在語h1をP(h1|silS,s0,θLWRNNLM)に基づいてランダムに生成する。ここで、silSは先頭記号、s0はすべての要素が0のベクトルを用いる。確率分布を得たときに、ランダムに生成する場合はSampleOneというアルゴリズムに従う。SampleOneアルゴリズムは、ある離散確率分布からランダムに1つ単語をサンプルするアルゴリズムであり、これについては後で説明する。h1を生成したら、どのw1を生成するかを決定する。これは、P(w1|h1,θLWLM)という確率分布を得て、この分布に基づいてSampleOneアルゴリズムに基づいて生成を行う。次は、h2を生成するために、確率分布P(h2|h1,s1,θLWRNNLM)を得る。この確率分布に従ってh2をSampleOneアルゴリズムにより生成する。h2を生成したら、どのw2を生成するかを決定する。これは、P(w2|h2,h1,θLWLM)という確率分布を得る。この確率分布に従ってw2をSampleOneアルゴリズムにより生成する。さらに次は、P(h3|h2,s2,θLWRNNLM)という確率分布に基づいてh3を生成し、・・・という生成を繰り返す。hMを生成するまでこれを繰り返すことで、潜在語系列「h1・h2・…・hM」、および疑似学習テキスト「w1・w2・…・wM」を生成する。なお、Mの値は人手で決定する。この値が大きいほど潜在語リカレントニューラルネットワーク言語モデルの性質を良く表す疑似学習テキストとできる。この値は最初の学習テキストに含まれる単語数Lと同等またはそれより大きい値を使うべきである。小さすぎると性能は出ない。
【００３４】
以下、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)は次の性質を持つ。
【００３６】
【数２】
0006343582.tif 000003
【００３７】
このとき、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言語モデルを構成でき、音声認識や機械翻訳で簡単に利用できる。
【００４０】
[プログラム及び記録媒体]
言語モデル生成装置及び方法において説明した処理は、記載の順にしたがって時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【００４１】
また、言語モデル生成装置における各処理をコンピュータによって実現する場合、言語モデル生成装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、その各処理がコンピュータ上で実現される。
【００４２】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００４３】
また、各処理手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【００４４】
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【符号の説明】
【００４５】
１      潜在語言語モデル学習部
２      リカレントニューラルネットワーク学習部
３      潜在語リカレントニューラルネットワーク言語モデル構成部
４      疑似学習テキスト生成部
５      言語モデル生成部
【図１】
0006343582.tif 000004
【図２】
0006343582.tif 000005