説明

言語モデル学習装置、言語モデル学習方法、言語解析装置、及びプログラム

【課題】事前に与えた基準を守りつつ、それと異なる新しい文字列又は記号列を高精度に分割する。
【解決手段】識別モデルパラメータ更新部25によって、NPYLMをCRFに変換し、変換したCRFの各エッジの重みと、CRFにおける対応するエッジの重みとを用いて第1の統合モデルを作成し、第1の統合モデルを、教師ありデータに基づいて学習する。生成モデルパラメータ更新部26によって、CRFをSemi−Markov CRFに変換し、Semi−Markov CRFの各エッジの重みとNPYLMの対応するエッジの重みとを用いて第2の統合モデルを作成し、第2の統合モデルを、教師なしデータに基づいて学習する。収束判定部27によって所定の収束条件を満たしたと判定されるまで、識別モデルパラメータ更新部25による更新と生成モデルパラメータ更新部26による更新とを交互に繰り返す。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、言語モデル学習装置、言語モデル学習方法、及びプログラムに係り、特に、任意の自然言語における文字列または一般の離散的記号の時系列(例えば、DNA(Deoxyribo Nucleic Acid)配列やビット列等)が与えられたとき、それを単語または同等の単位に分割するための言語モデルを学習する言語モデル学習装置、言語モデル学習方法、言語解析装置、及びプログラムに関する。
【背景技術】
【0002】
日本語や中国語のように、単語区切りを陽に指定しない(分かち書きをしない)言語で書かれた文を形態素(言語で意味を持つ最小単位の文字列)に分割することを、形態素解析と呼ぶ。
【0003】
形態素解析器としては、chasen(非特許文献1)やMeCab(非特許文献2)等が知られている。これらの形態素解析器は、教師ありデータ(正しい形態素分割が付与されたテキストデータ)と単語辞書とを事前に与えておき、これらを用いて学習したモデルを用いて、入力された文字列に対して適切な形態素の分割を出力する。上記のchasenでは、隠れマルコフモデル(HMM)というモデルが採用されており、上記のMeCabでは確率的条件場(Conditional Random Fields:CRF、非特許文献3)というモデルが採用されている。例えば、CRFは、取り得る形態素分割した系列yの、入力文字列xに対する条件付き確率P(y|x)を表現したもので、モデルの学習では、教師ありデータから条件付き確率を求めるための関数のパラメータを学習する。そして、未知の文字列に対して、条件付き確率P(y|x)の値が最も大きくなるような形態素分割の系列yを求めることで、形態素解析を行う。
【0004】
一方、正しい形態素分割が付与されていないテキストデータ(教師なしデータ)を用いて、Nested Pitman−Yor Language Model(NPYLM)を学習することにより、形態素解析を行う方法も提案されている(非特許文献4、特許文献1)。
【0005】
また、少ない数の教師ありデータと大量の教師なしデータを併用することで、教師ありデータの作成コストを抑えつつ、高精度なモデルを学習する半教師あり学習の方法も、形態素解析以外のタスクでは提案されている(例えば、非特許文献5)。非特許文献5に記載の技術は、単語列への品詞の付与を高精度に行うものであり、教師ありデータにより学習した確率モデルである条件付確率場(CRF)に、教師なしデータにより学習した生成モデルである隠れマルコフモデル(HMM)を統合したモデルを、CRFとHMMのそれぞれで交互にパラメータを学習することで、求めている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2010−170252号公報
【非特許文献】
【0007】
【非特許文献1】”ChaSen -- 形態素解析器”、[online]、平成19年、[平成22年12月28日検索]、インターネット< URL :http://chasen-legacy.sourceforge.jp/>
【非特許文献2】”MeCab: Yet Another Part-of-Speech and Morphological Analyzer” 、[online]、平成21年、[平成22年12月28日検索]、インターネット< URL :http://mecab.sourceforge.net/>
【非特許文献3】工藤 拓, 山本 薫, 松本 裕治 「Conditional Random Fields を用いた日本語形態素解析」情報処理学会自然言語処理研究会 SIGNL-161, 2004
【非特許文献4】持橋大地, 山田武士, 上田修功. 「ベイズ階層言語モデルによる教師なし形態素解析」、情報処理学会研究報告 2009-NL-190, 2009
【非特許文献5】Jun Suzuki and Hideki Isozaki: Semi-supervised Sequential Labeling and Segmentation using Giga-word Scale Unlabeled Data, Proc. of ACL-2008, pp.665--673.
【発明の概要】
【発明が解決しようとする課題】
【0008】
従来の教師ありデータを用いた形態素解析技術では、大量の教師ありデータを人手で作成しなければならない、という問題がある。教師ありデータとして、新聞記事コーパスを元に作成された学習データが利用されることが多いが、新聞記事を元に学習した言語モデルでは、インターネット上のブログ及び掲示板などのテキストデータや、話し言葉、専門性の高いテキスト文書などを、精度よく解析することが難しい、という問題がある。高精度な形態素解析を実現するためには、解析対象とするテキストに応じて、教師ありデータを人手で作成しなければならず、メンテナンスのコストがかかる。
【0009】
また、上記の非特許文献4に記載の技術では、教師ありデータの作成コストがかからないが、必ずしも人間の基準に合うような形態素解析結果が得られるとは限らない、という問題がある。例えば、“蘆前大統領”という文字列は、“蘆 前 大統領”のように3つの形態素に分割されることが望ましいが、上記の非特許文献4の記載の手法では“蘆前大統領”という一つの形態素として解析されてしまうことがある。また、上記の非特許文献4に記載の言語モデルは、n−gram言語モデルの性能を最適化するように学習されている。形態素解析技術は、統計的機械翻訳や音声認識などの自然言語処理におけるタスクの前処理として使われることが多く、このようなタスクに上記の非特許文献4の技術を応用するためには、各タスクに合わせた別の言語モデルが必要となる。
【0010】
また、上記の非特許文献5の技術では、教師ありデータに対するモデル(CRF)と教師なしデータに対するモデル(HMM)が、同じ構造のグラフィカルモデルで記述されていなければならない、という問題がある。
【0011】
一般には、教師なしデータから、教師あり学習のモデルを直接学習することができないため、教師あり学習のモデルと教師なし学習のモデルとは異なるものが採用されている。単純に、上記の非特許文献4と上記の非特許文献5の技術を組み合わせるとすれば、NPYLMと同じグラフィカル構造を持つモデルを、教師ありデータの学習にも用いることが考えられる。NPYLMと同じグラフィカル構造で、教師ありデータの学習に対応できるモデルとしては、semi−Markov CRFが知られているが、semi−Markov CRFは、取り得る全ての文字列をノードとし、これらのノードに対して文を構成するパスを記述することになる。従って、膨大なメモリが必要であり、モデルのパラメータ数が非常に多くなってしまうため、学習に時間がかかる、という問題がある。さらに、性能も高くないことが知られている。そのため、semi−Markov CRFのパラメータを直接学習することは、計算量、メモリ消費量、および性能の観点から現実的とは言えない。
【0012】
本発明は、上記の事実を鑑みてなされたもので、メモリの消費量を抑えて、文字列又は記号列を高精度に分割するための言語モデルを学習する言語モデル学習装置、言語モデル学習方法、言語解析装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
上記の目的を達成するために第1の発明に係る言語モデル学習装置は、文字列又は記号列における隣接する文字または記号の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率を用いて、文字列又は記号列における分割単位の区切り目を推定する識別モデルのパラメータを、文字列又は記号列に分割単位の区切り目が付与されたデータを示す教師ありデータに基づいて学習する識別モデル学習手段と、予め定められた前記分割単位を条件に、予め定められた後続の分割単位の候補が出現する確率を示す条件付確率を用いて、文字列又は記号列における分割単位の区切り目を推定する生成モデルのパラメータを、文字列又は記号列を示す教師なしデータに基づいて学習する生成モデル学習手段と、前記生成モデルの前記条件付き確率に基づいて前記同時確率を算出し、算出した前記同時確率と対応する前記識別モデルの前記同時確率とを用いて前記分割単位の区切り目を推定する第1の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新する識別モデル更新手段と、前記識別モデルの前記同時確率に基づいて前記条件付き確率を算出し、算出した前記条件付き確率と対応する前記生成モデルの前記条件付き確率とを用いて前記分割単位の区切り目を推定する第2の統合モデルのパラメータを、前記教師なしデータに基づいて学習して、前記生成モデルのパラメータを更新する生成モデル更新手段と、前記識別モデル更新部による更新と前記生成モデル更新部による更新とを交互に繰り返して、所定の収束条件を満たしたときに、その時点の前記識別モデルのパラメータ及び前記生成モデルのパラメータを出力する収束判定手段とを含んで構成されている。
【0014】
第2の発明に係る言語モデル学習方法は、識別モデル学習手段と、生成モデル学習手段と、識別モデル更新手段と、生成モデル更新手段と、収束判定手段とを含む言語モデル学習装置における言語モデル学習方法であって、前記言語モデル学習装置は、前記識別モデル学習手段によって、文字列又は記号列における隣接する文字または記号の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率を用いて、文字列又は記号列における分割単位の区切り目を推定する識別モデルのパラメータを、文字列又は記号列に分割単位の区切り目が付与されたデータを示す教師ありデータに基づいて学習するステップと、前記生成モデル学習手段によって、予め定められた前記分割単位を条件に、予め定められた後続の分割単位の候補が出現する確率を示す条件付確率を用いて、文字列又は記号列における分割単位の区切り目を推定する生成モデルのパラメータを、文字列又は記号列を示す教師なしデータに基づいて学習するステップと、前記識別モデル更新手段によって、前記生成モデルの前記条件付き確率に基づいて前記同時確率を算出し、算出した前記同時確率と対応する前記識別モデルの前記同時確率とを用いて前記分割単位の区切り目を推定する第1の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新するステップと、前記生成モデル更新手段によって、前記識別モデルの前記同時確率に基づいて前記条件付き確率を算出し、算出した前記条件付き確率と対応する前記生成モデルの前記条件付き確率とを用いて前記分割単位の区切り目を推定する第2の統合モデルのパラメータを、前記教師なしデータに基づいて学習して、前記生成モデルのパラメータを更新するステップと、前記収束判定手段によって、前記識別モデル更新部による更新と前記生成モデル更新部による更新とを交互に繰り返して、所定の収束条件を満たしたときに、その時点の前記識別モデルのパラメータ及び前記生成モデルのパラメータを出力するステップと、を含んで実行することを特徴とする。
【0015】
第1の発明に係る言語モデル学習装置及び第2の発明に係る言語モデル学習方法によれば、識別モデル学習手段によって、文字列又は記号列における隣接する文字または記号の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率を用いて、文字列又は記号列における分割単位の区切り目を推定する識別モデルのパラメータを、文字列又は記号列に分割単位の区切り目が付与されたデータを示す教師ありデータに基づいて学習する。生成モデル学習手段によって、予め定められた前記分割単位を条件に、予め定められた後続の分割単位の候補が出現する確率を示す条件付確率を用いて、文字列又は記号列における分割単位の区切り目を推定する生成モデルのパラメータを、文字列又は記号列を示す教師なしデータに基づいて学習する。
【0016】
そして、識別モデル更新手段によって、前記生成モデルの前記条件付き確率に基づいて前記同時確率を算出し、算出した前記同時確率と対応する前記識別モデルの前記同時確率とを用いて前記分割単位の区切り目を推定する第1の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新する。また、生成モデル更新手段によって、前記識別モデルの前記同時確率に基づいて前記条件付き確率を算出し、算出した前記条件付き確率と対応する前記生成モデルの前記条件付き確率とを用いて前記分割単位の区切り目を推定する第2の統合モデルのパラメータを、前記教師なしデータに基づいて学習して、前記生成モデルのパラメータを更新する。
【0017】
そして、収束判定手段によって、前記識別モデル更新部による更新と前記生成モデル更新部による更新とを交互に繰り返して、所定の収束条件を満たしたときに、その時点の前記識別モデルのパラメータ及び前記生成モデルのパラメータを出力する。
【0018】
このように、生成モデルの条件付き確率に基づく同時確率と識別モデルの同時確率とを用いた第1の統合モデルの、教師ありデータに基づく学習と、識別モデルの同時確率に基づく条件付き確率と生成モデルの条件付き確率とを用いた第2の統合モデルの、教師なしデータに基づく学習とを交互に繰り返すことにより、文字列又は記号列を高精度に分割するための言語モデルを学習することができる。
【0019】
第1の発明に係る前記識別モデル更新手段及び第2の発明に係る前記識別モデルを更新するステップは、前記識別モデルにおける前記同時確率の各々に対して、前記同時確率に対応する前記生成モデルの前記条件付確率の各々を足し合わせて正規化して前記同時確率を算出して、前記第1の統合モデルを求め、前記第1の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新するようにすることができる。
【0020】
第1の発明及び第2の発明に係る前記第1の統合モデルは、前記算出した同時確率と対応する前記識別モデルの前記同時確率と統合に関する重みとを用いて前記分割単位の区切り目を推定するモデルであり、前記第2の統合モデルは、前記算出した条件付き確率と対応する前記生成モデルの前記条件付き確率と前記統合の重みとを用いて前記分割単位の区切り目を推定するモデルであり、前記識別モデル更新手段及び前記識別モデルのパラメータを更新するステップは、前記教師ありデータに基づいて、前記第1の統合モデルのパラメータ及び前記統合の重みを学習するようにすることができる。
【0021】
第1の発明及び第2の発明に係る前記識別モデル及び前記第1の統合モデルを、マルコフモデルとし、前記生成モデル及び前記第2の統合モデルを、セミマルコフモデルとすることができる。
【0022】
第3の発明に係る言語解析装置は、上記第1の発明に係る言語モデル学習装置によって出力された前記識別モデルのパラメータ及び前記生成モデルのパラメータを記憶する記憶手段と、前記記憶手段に記憶された前記識別モデルのパラメータ及び前記生成モデルのパラメータに基づいて、入力された文字列又は記号列における分割単位の区切り目を解析する言語解析手段と、を含んで構成されている。
【0023】
第3の発明に係る言語解析装置によれば、記憶手段が、言語モデル学習装置によって出力された前記識別モデルのパラメータ及び前記生成モデルのパラメータを記憶する。言語解析手段によって、前記記憶手段に記憶された前記識別モデルのパラメータ又は前記生成モデルのパラメータに基づいて、入力された文字列又は記号列における分割単位の区切り目を解析する。これによって、文字列又は記号列を高精度に分割することができる。
【0024】
第4の発明に係るプログラムは、コンピュータを、上記の言語モデル学習装置の各手段、又は上記の言語解析装置の各手段として機能させるためのプログラムである。
【発明の効果】
【0025】
以上説明したように、本発明の言語モデル学習装置、言語モデル学習方法、言語解析装置、及びプログラムによれば、生成モデルの条件付き確率に基づく同時確率と識別モデルの同時確率とを用いた第1の統合モデルの、教師ありデータに基づく学習と、識別モデルの同時確率に基づく条件付き確率と生成モデルの条件付き確率とを用いた第2の統合モデルの、教師なしデータに基づく学習とを交互に繰り返すことにより、文字列又は記号列を高精度に分割するための言語モデルを学習することができる、という効果が得られる。
【図面の簡単な説明】
【0026】
【図1】CRFのグラフィカルモデルを示す図である。
【図2】NPYLMのグラフィカルモデルを示す図である。
【図3】(A)CRFのグラフィカルモデルにおけるエッジを説明するための図、及び(B)NPYLMのグラフィカルモデルにおける対応するエッジを説明するための図である。
【図4】(A)NPYLMのグラフィカルモデルにおけるエッジを説明するための図、及び(B)CRFのグラフィカルモデルにおける対応するパスを説明するための図である。
【図5】本発明の第1の実施の形態に係る言語モデル学習装置の構成を示す概略図である。
【図6】本発明の第1の実施の形態に係る言語モデル学習装置における言語モデル学習処理ルーチンの内容を示すフローチャートである。
【図7】本発明の第2の実施の形態に係る言語解析装置の構成を示す概略図である。
【図8】本発明の第2の実施の形態に係る言語解析装置における形態素解析処理ルーチンの内容を示すフローチャートである。
【発明を実施するための形態】
【0027】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0028】
<概要>
まず、本発明で提案する言語モデル学習装置で用いるモデルについて説明する。図1は、一般に識別モデル(マルコフモデル)と呼ばれるモデルの一種であるCRFのグラフィカルモデルを表した図である。「この東京都の」という文字列に対するCRFのグラフィカルモデルを示している。
【0029】
BOSは入力文字列の開始を表す記号であり、EOSは入力文字列の終了を表す記号である。各文字について、それぞれ「0」、「1」という値に対応する2つのノードが用意されており、それらのノードをエッジで接続した形となっている。値「0」は形態素の継続(文字の直前に形態素の区切り目が入らないこと)を表し、値「1」は形態素の始まり(文字の直前に形態素の区切り目が入ること)を表す。1つのエッジが、隣接する文字の各々が形態素の区切り目となる場合又は形態素の区切り目とならない場合を示している。図1の太字のパスは、「こ の東 京都 の」という形態素の分割に対応している。
【0030】
CRFでは、図1の各ノード間を接続するエッジに、以下の(1)式で表される重みが付与されている。
【0031】
【数1】

【0032】
なお、上記(1)式で表される重みが、CRFの同時確率に対応している。すなわち、文字列における隣接する文字の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率に対応している。
【0033】
また、BOSに対応するノードからEOSに対応するノードまでの各パスy(各パスは、取り得る形態素分割に対応する)に対して、yの入力文字列xに対する条件付き確率pDISC(y|x)を下記の(2)式により記述する。
【0034】
【数2】

【0035】
ここで、Λ=(λ,λ,・・・,λ)は識別モデル(CRF)のパラメータであり、xは入力系列(文字列)である。yは状態tのラベル、つまり、ここでは1か0の値をとるものであり、t番目の文字が形態素の始まりの場合に1、形態素の途中(継続)の場合に0をとる。f(y,yt−1,x)は、素性関数である。例えば「この東京都の」という文で、t=3のとき、「東」の文字は「東京都」という単語の始まりなのでy3は1になるべきであるが、そのノードにおける確率が、入力文字列xに対する条件付き確率として以下の(3)式で表わされる。
【0036】
【数3】

【0037】
つまり、f(・)は、括弧内の条件(yとyt−1とxに関するルール)が成り立つときに1を返し、そうでない場合に0を返す関数である。ここで、ptは文字xtの品詞を表す。素性関数として何を用いるかは、予め設定しておくものとし、素性関数の総数はK個である。
【0038】
CRFのパラメータΛ=(λ,λ,・・・,λ)は、素性関数の重みである。CRFでは、教師ありデータを用いて、p(y|x)の値が正解データと近くなるように、各素性関数の重みΛを学習していく。上記(3)式の「この東京都の」という文字列の例では、前の文字が「の」で今の文字が「東」のとき、「東」から形態素が始まる可能性はかなり高いので、λ3はかなり大きい値になるように学習される。一方、「の」と「東」が一つの形態素となる(「の」に継続して「東」が現れる)可能性はほとんどないため、「の」と「東」が一つの形態素となることを示す素性関数fに対する重みλの値は小さな数(大きな負の数)になるように学習される。学習結果として、確率p(y3=1|x)の値は非常に大きくなり、確率p(y3=0|x)の値は非常に小さな値となる、という仕組みになっている。
【0039】
また、上記(2)式では、エッジの重みだけを考慮した条件付き確率を記載したが、CRFの学習の際には、ノードの重みも考慮する必要があり、簡単のため、その記載を省略している。なお、ノードの重みf(yt,x)は、上記(3)式で表されるノードの確率に基づいて求められる。
【0040】
未知の入力文字列xに対して形態素解析を行う際には、学習された素性関数の重みΛ=(λ,λ,・・・,λ)を用いて、未知の入力文字列xが入力されたときのp(y|x)の値が最も大きくなるような形態素分割^y、つまり、以下の(4)式を満たす^yを形態素解析結果として求める。
【0041】
【数4】

【0042】
ここで、y1,y2, …は取り得る形態素分割の候補である。
【0043】
次に、図2は、生成モデルと呼ばれるモデルの一種であるNPYLMのグラフィカルモデルを表した図である。「この東京都の」という文字列に対するNPYLMのグラフィカルモデルを示している。
【0044】
NPYLMは、まず文字n−gramによって単語が無限に生成され、それを単語n−gramによって組み合わせることで文字列が生成される、という階層構造に基づいて構成されている。
【0045】
図2の各ノードは、文字n−gramに対応している。例えば、文字「の」の下にある6つのノードは、上から順に「の」、「都の」、「京都の」、「東京都の」、「の東京都の」、「この東京都の」のように、1−gram、2−gram、3−gram、…、6−gramに対応する文字列を表す。図2の太字のパスは、「こ の東 京都 の」という形態素の分割を表す。各エッジには、ある単語を条件に後続の単語の候補が出現する条件付確率が、エッジの重みとして与えられる。
【0046】
NPYLMに基づく単語分割では、教師なしデータの各文(文字列)の集合X={x1,x2,…,xN}に対して、以下の(5)式で表わされる確率を最大にするような、各文字列xiの単語分割w1...wT を求める。
【0047】
【数5】

【0048】
ここで、上記(6)式における条件付確率 p(wt|w1,...,wt-1)は、以下の(7)式で表される階層Pitman-Yor過程による確率で計算される。
【0049】
【数6】

【0050】
ここで、h=w…wi−1、h´=w…wi−2である。また、c(w|w…wi−1)はn−gramの頻度、つまり、入力文において単語列w…wi−1が登場する回数である。p(w|h´)は、(n−1)−gram確率であり、thwi、c(h)は、以下の(8)式で表わされる。
【0051】
【数7】

【0052】
ただし、hがすでに空文脈であった場合にはh’は存在しないので、その場合のp(w|h’)は、単語wをなす文字列w=c12...cm に対して、以下の(9)式で表わされる確率によって計算される。
【0053】
【数8】

【0054】
これにより、あらゆる可能な単語分割に対して、適切な確率を与えることができる。
【0055】
各文字列xiの単語分割を求めるためには、上記(5)式で表わされる確率を最大化するようなパラメータd,θ,thwiを、マルコフ連鎖モンテカルロ法(MCMC法)等を用いて学習すればよい。(詳細は非特許文献4を参照)。
【0056】
次に、CRFとNPYLMを統合して学習する原理について説明する。
【0057】
本実施の形態では、教師ありデータを用いた学習に対してはCRFを採用し、教師なしデータを用いた学習に対してはNPYLMというCRFとは構造の異なるグラフィカルモデルを採用し、これらを統合した統合モデルを作成して、学習を行う。
【0058】
CRFはパラメータ数が少ないので、少ないメモリ消費量で高速に学習することができる。ただし、このままではNPYLMとはグラフィカルモデルの構造が異なり、統合できないので、学習したCRFのパラメータを用いてNPYLMと同じグラフィカルモデル(Semi−Markov CRF)に変換してから統合モデルを作成し、学習を行う。また逆に、NPYLMのパラメータをCRFのパラメータに変換してから統合モデルを作成し、学習を行う。この二つの学習を交互に行うことで、統合的にモデル全体を学習していく。この変換は、Semi−Markov CRFのパラメータを直接学習するよりも格段に効率的に行うことができ、高精度であるので、結果として学習処理全体を効率化、高精度化することができる。なお、Semi−Markov CRFは、非特許文献6(Sunita Sarawagi and William W. Cohen. 2004. “Semi-markov conditional random fields for information extraction” . Advances in Neural Information Processing Systems, Volume: 17, Pages: 1185−1192, 2005.)に記載のモデルと同様であるため、詳細な説明を省略する。
【0059】
ここで、NPYLMをCRFに変換してから統合モデルを作成する方法について説明する。
【0060】
本実施の形態では、NPYLMのモデルをCRFと同じグラフィカルモデルに変換した上で、統合モデルを作成する。
【0061】
まず、以下の手順で、NPYLMモデルをCRFと同じグラフィカルモデルに変換する。
【0062】
第1ステップとして、CRFにおける文字cとci+1との間のパスを、0→0、0→1、1→0、1→1の4通りに分ける。
【0063】
第2ステップとして、それぞれのパスにおいて、対応するNPYLMのパスに相当する言語モデル確率(重み)を足し合わせ、確率となるよう正規化した値p(yi+1|yi)を算出し、これをCRFの対応するパスの重みに加える。
【0064】
例として、図3(A)の太字で示すエッジの重みを求める場合を説明する。この太字のエッジは、CRFにおける「京」と「都」という文字の間の1→0を結ぶエッジを示している。
【0065】
1→0の場合は、「京」から単語が始まり、続く「都」という文字が単語の内部であることを意味するので、NPYLMのうち「京都」から始まっている形態素に相当するノード、つまり、図3(B)で色づけされているノード(「京都」、「京都の」)に注目する。これらのノードに入ってくるパス(図3(B)の太字の矢印)が、NPYLMにおける対応するパスとなるので、これらのパスの言語モデル確率(パスにおける各エッジの確率)を足し合わせ、確率となるよう正規化して対数を取った値log p(yt|yt-1,x)を、CRFに変換したときの当該パスの重みとする。
【0066】
上記の第1ステップ及び第2ステップにより、NPYLMがCRFに変換される。そして、NPYLMから変換したCRFの各エッジの重みと、更新前のCRFの対応するエッジの重みを足し合わせることで、第1の統合モデルを作成する。第1の統合モデルは以下の(10)式で表される。以下、統合モデルの確率をp*()で表記する。
【0067】
【数9】

【0068】
上記(10)式における右辺のexp関数の第2項がCRFにおけるエッジの重みであり、第1項のlog p(wt|wt-1)がNPYLMをCRFと同じグラフィカルモデルに変換したモデルにおける対応するエッジの重みである。また、λは統合重みであり、CRF(あるいはsemi−Markov CRF)とNPYLMのそれぞれから得られた確率(重み)をどのくらいの比率で採用するかを決める重みである。
【0069】
第1の統合モデルの学習では、教師ありデータの各文xに対して上記(10)式で算出される確率を掛け合わせた値が最大化するように、CRFのパラメータΛと統合重みλを更新する。なお、学習の方法は、非特許文献5に記載の方法を用いればよい。
【0070】
次に、CRFをsemi−Markov CRFに変換してから統合モデルを作成する方法について説明する。
【0071】
学習済みのCRFのモデルをNPYLMと同じグラフィカルモデルであるsemi−Markov CRFに変換した上で、semi−Markov CRFとNPYLMを統合したモデルを構築する。
【0072】
具体的には、semi−Markov CRFの各エッジの重み(言語モデル確率)を、CRFにおける対応する各エッジに付与された素性関数とその重みの積を足し合わせた値(上記(1)式)とすることで、semi−Markov CRFを求めることができる。
【0073】
例えば、図4(A)の太字で示すエッジについて考える。このエッジの重みはp(“の東”|“こ”)であり、“こ”という形態素の後に、“の東”という形態素が続く確率を表す。semi−Markov CRFにおけるこのエッジに対する重みは、図4(B)の太字で示す上記エッジに対応するパス上の各エッジおよび各ノードにおいて有効な素性関数の重みを足し合わせた値として求めることができる。この値をchain(“の東”,”こ”)と定義し、一般に形態素の分割(候補)v,wに対して、chain(v,w)と定義する。
【0074】
そして、semi−Markov CRFと更新前のNPYLMの対応するエッジの重みを足し合わせたものを、全てのエッジの各々について求めて、第2の統合モデルを作成する。第2の統合モデルにおけるエッジの重みは以下の(11)式で表わされる。
【0075】
【数10】

【0076】
上記(11)式における右辺のexp関数の項が、CRFを変換したsemi−Markov CRFから求めたエッジの重みであり、p(wt|wt-1)がNPYLMにおける対応するエッジの重みである。
【0077】
上記の第2の統合モデルの学習では、教師なしデータの各文xに対して、以下の(12)式で表される確率p*(x)を掛け合わせた値が最大化するように、log p(wt|wt-1)に含まれるパラメータd,θ,thwiを更新していく。
【0078】
【数11】

【0079】
学習の方法としては、非特許文献4に記載された方法を用いればよい。
【0080】
以上のように、CRFをsemi−Markov CRFに変換してから第2の統合モデルを作成し、第2の統合モデルについて学習を行う。
【0081】
<システム構成>
次に、形態素の分割結果が付与された文字列(文)を示す教師ありデータの集合、及び形態素の分割結果が付与されていない文字列(文)を示す教師なしデータの集合である学習データを入力として、言語モデルを学習する言語モデル学習装置に、本発明を適用した場合を例にして、第1の実施の形態を説明する。
【0082】
図5に示すように、第1の実施の形態に係る言語モデル学習装置は、教師ありデータ及び教師なしデータの入力を受け付ける入力部1と、言語モデルを学習する演算部2と、を備えている。
【0083】
入力部1は、既知のキーボード、マウス、記憶装置などの入力器により実現される。
【0084】
演算部2は、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、後述する言語モデル学習処理ルーチンを実行するためのプログラムを記憶したROM(Read Only Memory)とを備えたコンピュータで構成され、機能的には次に示すように構成されている。演算部2は、教師ありデータ記憶部21、教師なしデータ記憶部22、識別モデルパラメータ学習部23、生成モデルパラメータ学習部24、識別モデルパラメータ更新部25、生成モデルパラメータ更新部26、収束判定部27、及び言語モデル記憶部28を備えている。なお、言語モデル記憶部28は、記憶手段の一例である。
【0085】
教師ありデータ記憶部21は、形態素の分割の区切り目が付与された文字列(文)の集合を教師ありデータとして記憶している。また、教師なしデータ記憶部22は、形態素の分割の区切り目が付与されていない文字列(文)の集合を教師なしデータとして記憶している。
【0086】
識別モデルパラメータ学習部23は、教師ありデータ記憶部21から教師ありデータの集合を読みこみ、教師ありデータの集合に基づいて、上記(2)式で計算される条件付き確率p(y|x)を各文xについて掛け合わせた値を最大化するようなCRFのパラメータΛ=(λ,λ,・・・,λ)を学習する。
【0087】
生成モデルパラメータ学習部24は、教師なしデータ記憶部22から教師なしデータの集合を読みこみ、教師なしデータの集合に基づいて、上記(5)式で計算される確率P(X)を最大化するようなNPYLMのパラメータΘ=(d,θ,thw1,thw2,・・・,thwT)を学習する。
【0088】
識別モデルパラメータ更新部25は、生成モデルパラメータ学習部24で学習したNPYLM、又は生成モデルパラメータ更新部26で前回更新したNPYLMをCRFに変換し、変換したCRFの各エッジの重みと、識別モデルパラメータ学習部23で学習したCRF、又は識別モデルパラメータ更新部25で前回更新したCRFの対応するエッジの重みとを用いて、第1の統合モデルを作成する。識別モデルパラメータ更新部25は、教師ありデータ記憶部21から教師ありデータの集合を読みこみ、教師ありデータの集合に基づいて、上記(10)式で計算される条件付き確率p*(y|x)を各文xについて掛け合わせた値を最大化するような第1の統合モデルのパラメータΛ=(λ,λ,・・・,λ)及び統合重みλを学習して、CRFのパラメータΛ及び統合重みλを更新する。
【0089】
生成モデルパラメータ更新部26は、識別モデルパラメータ更新部25で更新したCRFをsemi−Markov CRFに変換し、変換したsemi−Markov CRFの各エッジの重みと、生成モデルパラメータ学習部24で学習したNPYLM、又は生成モデルパラメータ更新部26で前回更新したNPYLMの対応するエッジの重みと、識別モデルパラメータ更新部25で更新した統合重みとを用いて、第2の統合モデルを作成する。生成モデルパラメータ更新部26は、教師なしデータ記憶部22から教師なしデータの集合を読みこみ、教師なしデータの集合に基づいて、上記(12)式で計算される確率p*(x)を各文xについて掛け合わせた値を最大化するような第2の統合モデルのパラメータΘ=(d,θ,thw1,thw2,・・・,thwT)を学習して、NPYLMのパラメータΘを更新する。
【0090】
収束判定部27は、予め定めた収束条件を満たしたか否かを判定し、収束条件を満たすまで、識別モデルパラメータ更新部25による更新及び生成モデルパラメータ更新部26による更新を繰り返す。
【0091】
収束判定部27は、収束したと判定した場合には、最後に更新されたCRFのパラメータΛの値、NYPLMの各パラメータΘの値、及び統合重みλ0の値を、言語モデル記憶部28に格納する。
【0092】
収束判定部27において収束したか否かを判定する方法としては、識別モデルパラメータ更新部25及び生成モデルパラメータ更新部26における更新前と更新後のパラメータΛ,Θの差分が所定の閾値以下となった場合に、収束したと判定する。また、識別モデルパラメータ更新部25及び生成モデルパラメータ更新部26の繰り返し回数をカウントしておき、所定の繰り返し回数を超えたら収束したと判定して処理を終了するようにしても良い。
【0093】
最終的なパラメータΛ,Θ、λ0の学習結果が、言語モデル記憶部28に記憶されている。
【0094】
<言語モデル学習装置の作用>
次に、第1の実施の形態に係る言語モデル学習装置の作用について説明する。形態素の分割の区切り目が付与された文字列(文)を示す教師ありデータの集合が入力部1を介して言語モデル学習装置に入力され、教師ありデータ記憶部21に格納される。また、形態素の分割の区切り目が付与されていない文字列(文)を示す教師なしデータの集合が入力部1を介して言語モデル学習装置に入力され、教師なしデータ記憶部22に格納される。
【0095】
そして、言語モデル学習装置の演算部2において、図6に示す言語モデル学習処理ルーチンが実行される。
【0096】
まず、ステップ100において、教師ありデータ記憶部21に記憶された教師ありデータの集合を読み込み、取得する。そして、ステップ102において、上記ステップ100で読み込んだ教師ありデータの集合を用いて、上記(2)式に従って、CRFのパラメータを学習する。
【0097】
次のステップ104では、教師なしデータ記憶部22に記憶された教師なしデータの集合を読み込み、取得する。そして、ステップ106において、上記ステップ104で読み込んだ教師なしデータの集合を用いて、上記(5)式に従って、NPYLMのパラメータを学習する。
【0098】
ステップ108では、上記ステップ106で学習したNPYLM、又は後述するステップ114で前回更新したNPYLMをCRFに変換し、変換したCRFの各エッジの重みと、上記ステップ102で学習したCRF、又は後述するステップ110で前回更新したCRFの対応するエッジの重みとを用いて、第1の統合モデルを作成する。
【0099】
そして、ステップ110において、上記ステップ100で読み込んだ教師ありデータの集合を用いて、上記(10)式に従って、第1の統合モデルのパラメータ及び統合重みを学習して、CRFのパラメータ及び統合重みを更新する。
【0100】
次のステップ112では、上記ステップ110で更新したCRFをsemi−Markov CRFに変換し、変換したsemi−Markov CRFの各エッジの重みと、上記ステップ106で学習したNPYLM、又は後述するステップ114で前回更新したNPYLMの対応するエッジの重みと、上記ステップ110で更新した統合重みとを用いて、第2の統合モデルを作成する。
【0101】
そして、ステップ114において、上記ステップ104で読み込んだ教師なしデータの集合を用いて、上記(12)式に従って、第2の統合モデルのパラメータを学習して、NPYLMのパラメータを更新する。
【0102】
ステップ116では、所定の収束条件として、CRFのパラメータ及びNPYLMのパラメータに関する更新前と更新後との差分が、閾値以下になったか否かを判定し、パラメータの差分が、閾値より大きい場合には、所定の収束条件が成立していないと判断して、上記ステップ108へ戻り、上記ステップ108〜ステップ114の処理を繰り返す。一方、パラメータの差分が、閾値以下である場合には、所定の収束条件が成立したと判断し、ステップ118で、上記ステップ110で最終的に更新されたCRFのパラメータ、統合重み、及び上記ステップ114で最終的に更新されたNPYLMのパラメータを言語モデル記憶部28に格納して、言語モデル学習処理ルーチンを終了する。
【0103】
以上説明したように、第1の実施の形態に係る言語モデル学習装置によれば、NPYLMの各エッジの重みを変換したCRFの各エッジの重み、及びCRFの各エッジの重みを用いて作成した第1の統合モデルの、教師ありデータに基づく学習と、CRFの各エッジの重みを変換したSemi−Markov CRFの各エッジの重み、及びNPYLMの各エッジの重みを用いて作成した第2の統合モデルの、教師なしデータに基づく学習と、を交互に繰り返すことにより、メモリの消費量を抑えて、文字列を高精度に形態素解析するための言語モデルを学習することができる。
【0104】
また、教師ありデータに基づく学習と教師なしデータに基づく学習とで、構造の異なるグラフィカルモデルを採用し、これらのグラフィカルモデル間で情報を交換するように統合モデルを作成することで、半教師あり学習を行うことができる。これによって、教師ありデータのみの学習、あるいは、教師なしデータのみの学習よりも高精度な形態素解析のための言語モデルを学習することができる。
【0105】
また、教師ありデータに基づく学習では、マルコフモデルの一種であるCRFを採用することにより、学習の際のメモリ消費量が少なくすることができるため、効率的に言語モデルを学習することができる。
【0106】
また、教師ありデータの数は少なくて良いため、教師ありデータの作成コストやメンテナンスコストを削減することができる。
【0107】
次に、第2の実施の形態について説明する。第2の実施の形態では、入力された文字列について形態素解析を行う言語解析装置に本発明を適用した場合を例に説明する。なお、第1の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【0108】
第2の実施の形態では、学習されたモデルパラメータを用いて、入力された文字列に対して形態素解析を行っている点が、第1の実施の形態と異なっている。
【0109】
図7に示すように、第2の実施の形態に係る言語解析装置は、入力部1と、言語モデルを学習すると共に、文字列に対して形態素解析を行う演算部202と、形態素解析の結果を出力する出力部203と、を備えている。
【0110】
演算部202は、CPUと、RAMと、言語モデル学習処理ルーチン及び後述する形態素解析処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。演算部202は、教師ありデータ記憶部21、教師なしデータ記憶部22、識別モデルパラメータ学習部23、生成モデルパラメータ学習部24、識別モデルパラメータ更新部25、生成モデルパラメータ更新部26、収束判定部27、言語モデル記憶部28、及び形態素解析部230を備えている。なお、言語モデル記憶部28が、記憶手段の一例である。
【0111】
形態素解析部230は、言語モデル記憶部28に記憶されたCRFのパラメータ及びNPYLMのパラメータを用いて、上記の第1の統合モデル又は第2の統合モデルを作成し、入力された文字列に対して形態素解析を行う。
【0112】
例えば、言語モデル記憶部28に記憶されたNPYLMをCRFに変換し、変換したCRFの各エッジの重みと、言語モデル記憶部28に記憶されたCRFの対応するエッジの重みとを用いて、第1の統合モデルを作成する。形態素解析部230は、第1の統合モデルを用いて、上記(10)式で計算される条件付き確率p*(y|x)が最も大きくなるような形態素分割^y、つまり、上記(4)式と同様の式を満たす^yを形態素解析結果として求める。
【0113】
文字列に対する形態素解析の結果が、出力部203よりユーザに出力される。
【0114】
<言語解析装置の作用>
次に、第2の実施の形態に係る言語解析装置の作用について説明する。
【0115】
まず、上記第1の実施の形態と同様に、教師ありデータの集合及び教師なしデータの集合が、入力部1を介して言語解析装置に入力され、教師ありデータ記憶部21及び教師なしデータ記憶部22に格納される。
【0116】
そして、言語解析装置の演算部202において、上記図6に示す言語モデル学習処理ルーチンが実行され、各パラメータΛ,Θ、λ0の学習結果が言語モデル記憶部28に記憶される。
【0117】
また、入力部1を介して、言語解析の対象となる文字列(文)を示すデータが言語解析装置に入力されると、演算部202において、図8に示す形態素解析処理ルーチンが実行される。
【0118】
まず、ステップ250において、入力された解析対象の文字列データを取得する。そして、ステップ252において、言語モデル記憶部28から、CRFのパラメータ、NPYLMのパラメータ、及び統合重みを読みこむ。
【0119】
次のステップ254では、上記ステップ252で読み込んだNPYLMをCRFに変換し、変換したCRFの各エッジの重みと、上記ステップ252で読み込んだCRFの対応するエッジの重みと、統合重みとを用いて、第1の統合モデルを作成する。
【0120】
そして、ステップ256において、上記ステップ254で作成した第1の統合モデルを用いて、上記ステップ250で取得した文字列データに対して、形態素解析を行う。そして、ステップ258において、上記ステップ256で求められた形態素解析結果を出力部203により出力して、形態素解析処理ルーチンを終了する。
【0121】
以上説明したように、第2の実施の形態に係る言語解析装置によれば、文字列を高精度に形態素解析するための言語モデルを学習することができるため、入力された文字列に対して高精度に形態素解析を行うことができる。
【0122】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0123】
例えば、日本語テキストの形態素解析のための言語モデルを学習する場合を例に説明したが、これに限定されるものではなく、中国語やタイ語、ヘブライ語など任意の言語に対する形態素解析のための言語モデルを学習するようにしてもよい。
【0124】
また、文字列を形態素に分割する形態素解析の場合を例に説明をしたが、これに限定されるものではなく、入力系列x及び出力系列yが同様に、MarkovモデルとSemi−Markovモデルの両方で表現できるような離散記号列の分割問題に、上記の実施の形態で説明した手法を適用してもよい。例えばDNAやアミノ酸の系列データの分割のためのモデルや、音符列をフレーズへ分割するためのモデルなどを学習し、適切な分割単位に分割するように解析するようにしてもよい。
【0125】
また、第1の統合モデルのパラメータの学習の後、第2の統合モデルの学習を行う場合を例に説明したが、これに限定されるものではなく、第2の統合モデルのパラメータの学習の後に、第1の統合モデルの学習を行うようにしてもよい。
【0126】
また、言語モデルとして、CRFとNPYLMを用いた場合を例に説明したが、これに限定されるものではなく、他のマルコフモデル及び他のセミマルコフモデルを用いてもよい。
【0127】
また、第2の実施の形態では、第1の統合モデルを作成して、入力された文字列に対する形態素解析を行う場合を例に説明したが、これに限定されるものではなく、第2の統合モデルを作成して、入力された文字列に対して形態素解析を行ってもよい。また、学習されたCRF又はNPYLMを用いて、入力された文字列に対する形態素解析を行ってもよい。
【0128】
また、言語モデルの学習と、入力された文字列に対する形態素解析とを1つの装置において行う場合を例に説明したが、これに限定されるものではなく、言語モデルの学習と、入力された文字列に対する形態素解析とを別々の装置で行うようにしてもよい。この場合には、言語モデル学習装置によって学習された言語モデルを言語解析装置へ出力し、言語解析装置の言語モデル記憶部に記憶するようにすればよい。
【0129】
また、上述の言語モデル学習装置及び言語解析装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
【0130】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【0131】
1 入力部
2 演算部
21 教師ありデータ記憶部
22 教師なしデータ記憶部
23 識別モデルパラメータ学習部
24 生成モデルパラメータ学習部
25 識別モデルパラメータ更新部
26 生成モデルパラメータ更新部
27 収束判定部
28 言語モデル記憶部
202 演算部
203 出力部
230 形態素解析部

【特許請求の範囲】
【請求項1】
文字列又は記号列における隣接する文字または記号の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率を用いて、文字列又は記号列における分割単位の区切り目を推定する識別モデルのパラメータを、文字列又は記号列に分割単位の区切り目が付与されたデータを示す教師ありデータに基づいて学習する識別モデル学習手段と、
予め定められた前記分割単位を条件に、予め定められた後続の分割単位の候補が出現する確率を示す条件付確率を用いて、文字列又は記号列における分割単位の区切り目を推定する生成モデルのパラメータを、文字列又は記号列を示す教師なしデータに基づいて学習する生成モデル学習手段と、
前記生成モデルの前記条件付き確率に基づいて前記同時確率を算出し、算出した前記同時確率と対応する前記識別モデルの前記同時確率とを用いて前記分割単位の区切り目を推定する第1の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新する識別モデル更新手段と、
前記識別モデルの前記同時確率に基づいて前記条件付き確率を算出し、算出した前記条件付き確率と対応する前記生成モデルの前記条件付き確率とを用いて前記分割単位の区切り目を推定する第2の統合モデルのパラメータを、前記教師なしデータに基づいて学習して、前記生成モデルのパラメータを更新する生成モデル更新手段と、
前記識別モデル更新部による更新と前記生成モデル更新部による更新とを交互に繰り返して、所定の収束条件を満たしたときに、その時点の前記識別モデルのパラメータ及び前記生成モデルのパラメータを出力する収束判定手段と、
を含む言語モデル学習装置。
【請求項2】
前記識別モデル更新手段は、前記識別モデルにおける前記同時確率の各々に対して、前記同時確率に対応する前記生成モデルの前記条件付確率の各々を足し合わせて正規化して前記同時確率を算出して、前記第1の統合モデルを求め、前記第1の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新する請求項1記載の言語モデル学習装置。
【請求項3】
前記第1の統合モデルは、前記算出した同時確率と対応する前記識別モデルの前記同時確率と統合に関する重みとを用いて前記分割単位の区切り目を推定するモデルであり、
前記第2の統合モデルは、前記算出した条件付き確率と対応する前記生成モデルの前記条件付き確率と前記統合の重みとを用いて前記分割単位の区切り目を推定するモデルであり、
前記識別モデル更新手段は、前記教師ありデータに基づいて、前記第1の統合モデルのパラメータ及び前記統合の重みを学習する請求項1又は2記載の言語モデル学習装置。
【請求項4】
前記識別モデル及び前記第1の統合モデルを、マルコフモデルとし、
前記生成モデル及び前記第2の統合モデルを、セミマルコフモデルとした請求項1〜請求項3の何れか1項記載の言語モデル学習装置。
【請求項5】
請求項1〜請求項4の何れか1項に記載の言語モデル学習装置によって出力された前記識別モデルのパラメータ及び前記生成モデルのパラメータを記憶する記憶手段と、
前記記憶手段に記憶された前記識別モデルのパラメータ及び前記生成モデルのパラメータに基づいて、入力された文字列又は記号列における分割単位の区切り目を解析する言語解析手段と、
を含む言語解析装置。
【請求項6】
識別モデル学習手段と、生成モデル学習手段と、識別モデル更新手段と、生成モデル更新手段と、収束判定手段とを含む言語モデル学習装置における言語モデル学習方法であって、
前記言語モデル学習装置は、
前記識別モデル学習手段によって、文字列又は記号列における隣接する文字または記号の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率を用いて、文字列又は記号列における分割単位の区切り目を推定する識別モデルのパラメータを、文字列又は記号列に分割単位の区切り目が付与されたデータを示す教師ありデータに基づいて学習するステップと、
前記生成モデル学習手段によって、予め定められた前記分割単位を条件に、予め定められた後続の分割単位の候補が出現する確率を示す条件付確率を用いて、文字列又は記号列における分割単位の区切り目を推定する生成モデルのパラメータを、文字列又は記号列を示す教師なしデータに基づいて学習するステップと、
前記識別モデル更新手段によって、前記生成モデルの前記条件付き確率に基づいて前記同時確率を算出し、算出した前記同時確率と対応する前記識別モデルの前記同時確率とを用いて前記分割単位の区切り目を推定する第1の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新するステップと、
前記生成モデル更新手段によって、前記識別モデルの前記同時確率に基づいて前記条件付き確率を算出し、算出した前記条件付き確率と対応する前記生成モデルの前記条件付き確率とを用いて前記分割単位の区切り目を推定する第2の統合モデルのパラメータを、前記教師なしデータに基づいて学習して、前記生成モデルのパラメータを更新するステップと、
前記収束判定手段によって、前記識別モデル更新部による更新と前記生成モデル更新部による更新とを交互に繰り返して、所定の収束条件を満たしたときに、その時点の前記識別モデルのパラメータ及び前記生成モデルのパラメータを出力するステップと、
を含んで実行することを特徴とする言語モデル学習方法。
【請求項7】
前記識別モデルのパラメータを更新するステップは、前記識別モデルにおける前記同時確率の各々に対して、前記同時確率に対応する前記生成モデルの前記条件付確率の各々を足し合わせて正規化して前記同時確率を算出して、前記第1の統合モデルを求め、前記第1の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新する請求項6記載の言語モデル学習方法。
【請求項8】
前記第1の統合モデルは、前記算出した同時確率と対応する前記識別モデルの前記同時確率と統合に関する重みとを用いて前記分割単位の区切り目を推定するモデルであり、
前記第2の統合モデルは、前記算出した条件付き確率と対応する前記生成モデルの前記条件付き確率と前記統合の重みとを用いて前記分割単位の区切り目を推定するモデルであり、
前記識別モデルのパラメータを更新するステップは、前記教師ありデータに基づいて、前記第1の統合モデルのパラメータ及び前記統合の重みを学習する請求項6又は7記載の言語モデル学習方法。
【請求項9】
前記識別モデル及び前記第1の統合モデルを、マルコフモデルとし、
前記生成モデル及び前記第2の統合モデルを、セミマルコフモデルとした請求項6〜請求項8の何れか1項記載の言語モデル学習方法。
【請求項10】
コンピュータを、請求項1〜請求項4の何れか1項記載の言語モデル学習装置の各手段、又は請求項5記載の言語解析装置の各手段として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate