"文字列又は記号列における隣接する文字または記号の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率を用いて、文字列又は記号列における分割単位の区切り目を推定する識別モデルのパラメータを、文字列又は記号列に分割単位の区切り目が付与されたデータを示す教師ありデータに基づいて学習する識別モデル学習手段と、予め定められた前記分割単位を条件に、予め定められた後続の分割単位の候補が出現する確率を示す条件付確率を用いて、文字列又は記号列における分割単位の区切り目を推定する生成モデルのパラメータを、文字列又は記号列を示す教師なしデータに基づいて学習する生成モデル学習手段と、前記生成モデルの前記条件付き確率に基づいて前記同時確率を算出し、算出した前記同時確率と対応する前記識別モデルの前記同時確率とを用いて前記分割単位の区切り目を推定する第1の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新する識別モデル更新手段と、前記識別モデルの前記同時確率に基づいて前記条件付き確率を算出し、算出した前記条件付き確率と対応する前記生成モデルの前記条件付き確率とを用いて前記分割単位の区切り目を推定する第2の統合モデルのパラメータを、前記教師なしデータに基づいて学習して、前記生成モデルのパラメータを更新する生成モデル更新手段と、前記識別モデル更新部による更新と前記生成モデル更新部による更新とを交互に繰り返して、所定の収束条件を満たしたときに、その時点の前記識別モデルのパラメータ及び前記生成モデルのパラメータを出力する収束判定手段と、を含む言語モデル学習装置。前記識別モデル更新手段は、前記識別モデルにおける前記同時確率の各々に対して、前記同時確率に対応する前記生成モデルの前記条件付確率の各々を足し合わせて正規化して前記同時確率を算出して、前記第1の統合モデルを求め、前記第1の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新する請求項1記載の言語モデル学習装置。前記第1の統合モデルは、前記算出した同時確率と対応する前記識別モデルの前記同時確率と統合に関する重みとを用いて前記分割単位の区切り目を推定するモデルであり、前記第2の統合モデルは、前記算出した条件付き確率と対応する前記生成モデルの前記条件付き確率と前記統合の重みとを用いて前記分割単位の区切り目を推定するモデルであり、前記識別モデル更新手段は、前記教師ありデータに基づいて、前記第1の統合モデルのパラメータ及び前記統合の重みを学習する請求項1又は2記載の言語モデル学習装置。前記識別モデル及び前記第1の統合モデルを、マルコフモデルとし、前記生成モデル及び前記第2の統合モデルを、セミマルコフモデルとした請求項1~請求項3の何れか1項記載の言語モデル学習装置。請求項1~請求項4の何れか1項に記載の言語モデル学習装置によって出力された前記識別モデルのパラメータ及び前記生成モデルのパラメータを記憶する記憶手段と、前記記憶手段に記憶された前記識別モデルのパラメータ及び前記生成モデルのパラメータに基づいて、入力された文字列又は記号列における分割単位の区切り目を解析する言語解析手段と、を含む言語解析装置。識別モデル学習手段と、生成モデル学習手段と、識別モデル更新手段と、生成モデル更新手段と、収束判定手段とを含む言語モデル学習装置における言語モデル学習方法であって、前記言語モデル学習装置は、前記識別モデル学習手段によって、文字列又は記号列における隣接する文字または記号の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率を用いて、文字列又は記号列における分割単位の区切り目を推定する識別モデルのパラメータを、文字列又は記号列に分割単位の区切り目が付与されたデータを示す教師ありデータに基づいて学習するステップと、前記生成モデル学習手段によって、予め定められた前記分割単位を条件に、予め定められた後続の分割単位の候補が出現する確率を示す条件付確率を用いて、文字列又は記号列における分割単位の区切り目を推定する生成モデルのパラメータを、文字列又は記号列を示す教師なしデータに基づいて学習するステップと、前記識別モデル更新手段によって、前記生成モデルの前記条件付き確率に基づいて前記同時確率を算出し、算出した前記同時確率と対応する前記識別モデルの前記同時確率とを用いて前記分割単位の区切り目を推定する第1の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新するステップと、前記生成モデル更新手段によって、前記識別モデルの前記同時確率に基づいて前記条件付き確率を算出し、算出した前記条件付き確率と対応する前記生成モデルの前記条件付き確率とを用いて前記分割単位の区切り目を推定する第2の統合モデルのパラメータを、前記教師なしデータに基づいて学習して、前記生成モデルのパラメータを更新するステップと、前記収束判定手段によって、前記識別モデル更新部による更新と前記生成モデル更新部による更新とを交互に繰り返して、所定の収束条件を満たしたときに、その時点の前記識別モデルのパラメータ及び前記生成モデルのパラメータを出力するステップと、を含んで実行することを特徴とする言語モデル学習方法。前記識別モデルのパラメータを更新するステップは、前記識別モデルにおける前記同時確率の各々に対して、前記同時確率に対応する前記生成モデルの前記条件付確率の各々を足し合わせて正規化して前記同時確率を算出して、前記第1の統合モデルを求め、前記第1の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新する請求項6記載の言語モデル学習方法。前記第1の統合モデルは、前記算出した同時確率と対応する前記識別モデルの前記同時確率と統合に関する重みとを用いて前記分割単位の区切り目を推定するモデルであり、前記第2の統合モデルは、前記算出した条件付き確率と対応する前記生成モデルの前記条件付き確率と前記統合の重みとを用いて前記分割単位の区切り目を推定するモデルであり、前記識別モデルのパラメータを更新するステップは、前記教師ありデータに基づいて、前記第1の統合モデルのパラメータ及び前記統合の重みを学習する請求項6又は7記載の言語モデル学習方法。前記識別モデル及び前記第1の統合モデルを、マルコフモデルとし、前記生成モデル及び前記第2の統合モデルを、セミマルコフモデルとした請求項6~請求項8の何れか1項記載の言語モデル学習方法。コンピュータを、請求項1~請求項4の何れか1項記載の言語モデル学習装置の各手段、又は請求項5記載の言語解析装置の各手段として機能させるためのプログラム。従来の教師ありデータを用いた形態素解析技術では、大量の教師ありデータを人手で作成しなければならない、という問題がある。教師ありデータとして、新聞記事コーパスを元に作成された学習データが利用されることが多いが、新聞記事を元に学習した言語モデルでは、インターネット上のブログ及び掲示板などのテキストデータや、話し言葉、専門性の高いテキスト文書などを、精度よく解析することが難しい、という問題がある。高精度な形態素解析を実現するためには、解析対象とするテキストに応じて、教師ありデータを人手で作成しなければならず、メンテナンスのコストがかかる。また、上記の非特許文献4に記載の技術では、教師ありデータの作成コストがかからないが、必ずしも人間の基準に合うような形態素解析結果が得られるとは限らない、という問題がある。例えば、蘆前大統領という文字列は、蘆前大統領のように3つの形態素に分割されることが望ましいが、上記の非特許文献4の記載の手法では蘆前大統領という一つの形態素として解析されてしまうことがある。また、上記の非特許文献4に記載の言語モデルは、n-gram言語モデルの性能を最適化するように学習されている。形態素解析技術は、統計的機械翻訳や音声認識などの自然言語処理におけるタスクの前処理として使われることが多く、このようなタスクに上記の非特許文献4の技術を応用するためには、各タスクに合わせた別の言語モデルが必要となる。また、上記の非特許文献5の技術では、教師ありデータに対するモデルCRFと教師なしデータに対するモデルHMMが、同じ構造のグラフィカルモデルで記述されていなければならない、という問題がある。一般には、教師なしデータから、教師あり学習のモデルを直接学習することができないため、教師あり学習のモデルと教師なし学習のモデルとは異なるものが採用されている。単純に、上記の非特許文献4と上記の非特許文献5の技術を組み合わせるとすれば、NPYLMと同じグラフィカル構造を持つモデルを、教師ありデータの学習にも用いることが考えられる。NPYLMと同じグラフィカル構造で、教師ありデータの学習に対応できるモデルとしては、semi-MarkovCRFが知られているが、semi-MarkovCRFは、取り得る全ての文字列をノードとし、これらのノードに対して文を構成するパスを記述することになる。従って、膨大なメモリが必要であり、モデルのパラメータ数が非常に多くなってしまうため、学習に時間がかかる、という問題がある。さらに、性能も高くないことが知られている。そのため、semi-MarkovCRFのパラメータを直接学習することは、計算量、メモリ消費量、および性能の観点から現実的とは言えない。本発明は、上記の事実を鑑みてなされたもので、メモリの消費量を抑えて、文字列又は記号列を高精度に分割するための言語モデルを学習する言語モデル学習装置、言語モデル学習方法、言語解析装置、及びプログラムを提供することを目的とする。上記の目的を達成するために第1の発明に係る言語モデル学習装置は、文字列又は記号列における隣接する文字または記号の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率を用いて、文字列又は記号列における分割単位の区切り目を推定する識別モデルのパラメータを、文字列又は記号列に分割単位の区切り目が付与されたデータを示す教師ありデータに基づいて学習する識別モデル学習手段と、予め定められた前記分割単位を条件に、予め定められた後続の分割単位の候補が出現する確率を示す条件付確率を用いて、文字列又は記号列における分割単位の区切り目を推定する生成モデルのパラメータを、文字列又は記号列を示す教師なしデータに基づいて学習する生成モデル学習手段と、前記生成モデルの前記条件付き確率に基づいて前記同時確率を算出し、算出した前記同時確率と対応する前記識別モデルの前記同時確率とを用いて前記分割単位の区切り目を推定する第1の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新する識別モデル更新手段と、前記識別モデルの前記同時確率に基づいて前記条件付き確率を算出し、算出した前記条件付き確率と対応する前記生成モデルの前記条件付き確率とを用いて前記分割単位の区切り目を推定する第2の統合モデルのパラメータを、前記教師なしデータに基づいて学習して、前記生成モデルのパラメータを更新する生成モデル更新手段と、前記識別モデル更新部による更新と前記生成モデル更新部による更新とを交互に繰り返して、所定の収束条件を満たしたときに、その時点の前記識別モデルのパラメータ及び前記生成モデルのパラメータを出力する収束判定手段とを含んで構成されている。第2の発明に係る言語モデル学習方法は、識別モデル学習手段と、生成モデル学習手段と、識別モデル更新手段と、生成モデル更新手段と、収束判定手段とを含む言語モデル学習装置における言語モデル学習方法であって、前記言語モデル学習装置は、前記識別モデル学習手段によって、文字列又は記号列における隣接する文字または記号の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率を用いて、文字列又は記号列における分割単位の区切り目を推定する識別モデルのパラメータを、文字列又は記号列に分割単位の区切り目が付与されたデータを示す教師ありデータに基づいて学習するステップと、前記生成モデル学習手段によって、予め定められた前記分割単位を条件に、予め定められた後続の分割単位の候補が出現する確率を示す条件付確率を用いて、文字列又は記号列における分割単位の区切り目を推定する生成モデルのパラメータを、文字列又は記号列を示す教師なしデータに基づいて学習するステップと、前記識別モデル更新手段によって、前記生成モデルの前記条件付き確率に基づいて前記同時確率を算出し、算出した前記同時確率と対応する前記識別モデルの前記同時確率とを用いて前記分割単位の区切り目を推定する第1の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新するステップと、前記生成モデル更新手段によって、前記識別モデルの前記同時確率に基づいて前記条件付き確率を算出し、算出した前記条件付き確率と対応する前記生成モデルの前記条件付き確率とを用いて前記分割単位の区切り目を推定する第2の統合モデルのパラメータを、前記教師なしデータに基づいて学習して、前記生成モデルのパラメータを更新するステップと、前記収束判定手段によって、前記識別モデル更新部による更新と前記生成モデル更新部による更新とを交互に繰り返して、所定の収束条件を満たしたときに、その時点の前記識別モデルのパラメータ及び前記生成モデルのパラメータを出力するステップと、を含んで実行することを特徴とする。第1の発明に係る言語モデル学習装置及び第2の発明に係る言語モデル学習方法によれば、識別モデル学習手段によって、文字列又は記号列における隣接する文字または記号の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率を用いて、文字列又は記号列における分割単位の区切り目を推定する識別モデルのパラメータを、文字列又は記号列に分割単位の区切り目が付与されたデータを示す教師ありデータに基づいて学習する。生成モデル学習手段によって、予め定められた前記分割単位を条件に、予め定められた後続の分割単位の候補が出現する確率を示す条件付確率を用いて、文字列又は記号列における分割単位の区切り目を推定する生成モデルのパラメータを、文字列又は記号列を示す教師なしデータに基づいて学習する。そして、識別モデル更新手段によって、前記生成モデルの前記条件付き確率に基づいて前記同時確率を算出し、算出した前記同時確率と対応する前記識別モデルの前記同時確率とを用いて前記分割単位の区切り目を推定する第1の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新する。また、生成モデル更新手段によって、前記識別モデルの前記同時確率に基づいて前記条件付き確率を算出し、算出した前記条件付き確率と対応する前記生成モデルの前記条件付き確率とを用いて前記分割単位の区切り目を推定する第2の統合モデルのパラメータを、前記教師なしデータに基づいて学習して、前記生成モデルのパラメータを更新する。そして、収束判定手段によって、前記識別モデル更新部による更新と前記生成モデル更新部による更新とを交互に繰り返して、所定の収束条件を満たしたときに、その時点の前記識別モデルのパラメータ及び前記生成モデルのパラメータを出力する。このように、生成モデルの条件付き確率に基づく同時確率と識別モデルの同時確率とを用いた第1の統合モデルの、教師ありデータに基づく学習と、識別モデルの同時確率に基づく条件付き確率と生成モデルの条件付き確率とを用いた第2の統合モデルの、教師なしデータに基づく学習とを交互に繰り返すことにより、文字列又は記号列を高精度に分割するための言語モデルを学習することができる。第1の発明に係る前記識別モデル更新手段及び第2の発明に係る前記識別モデルを更新するステップは、前記識別モデルにおける前記同時確率の各々に対して、前記同時確率に対応する前記生成モデルの前記条件付確率の各々を足し合わせて正規化して前記同時確率を算出して、前記第1の統合モデルを求め、前記第1の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新するようにすることができる。第1の発明及び第2の発明に係る前記第1の統合モデルは、前記算出した同時確率と対応する前記識別モデルの前記同時確率と統合に関する重みとを用いて前記分割単位の区切り目を推定するモデルであり、前記第2の統合モデルは、前記算出した条件付き確率と対応する前記生成モデルの前記条件付き確率と前記統合の重みとを用いて前記分割単位の区切り目を推定するモデルであり、前記識別モデル更新手段及び前記識別モデルのパラメータを更新するステップは、前記教師ありデータに基づいて、前記第1の統合モデルのパラメータ及び前記統合の重みを学習するようにすることができる。第1の発明及び第2の発明に係る前記識別モデル及び前記第1の統合モデルを、マルコフモデルとし、前記生成モデル及び前記第2の統合モデルを、セミマルコフモデルとすることができる。第3の発明に係る言語解析装置は、上記第1の発明に係る言語モデル学習装置によって出力された前記識別モデルのパラメータ及び前記生成モデルのパラメータを記憶する記憶手段と、前記記憶手段に記憶された前記識別モデルのパラメータ及び前記生成モデルのパラメータに基づいて、入力された文字列又は記号列における分割単位の区切り目を解析する言語解析手段と、を含んで構成されている。第3の発明に係る言語解析装置によれば、記憶手段が、言語モデル学習装置によって出力された前記識別モデルのパラメータ及び前記生成モデルのパラメータを記憶する。言語解析手段によって、前記記憶手段に記憶された前記識別モデルのパラメータ又は前記生成モデルのパラメータに基づいて、入力された文字列又は記号列における分割単位の区切り目を解析する。これによって、文字列又は記号列を高精度に分割することができる。第4の発明に係るプログラムは、コンピュータを、上記の言語モデル学習装置の各手段、又は上記の言語解析装置の各手段として機能させるためのプログラムである。以上説明したように、本発明の言語モデル学習装置、言語モデル学習方法、言語解析装置、及びプログラムによれば、生成モデルの条件付き確率に基づく同時確率と識別モデルの同時確率とを用いた第1の統合モデルの、教師ありデータに基づく学習と、識別モデルの同時確率に基づく条件付き確率と生成モデルの条件付き確率とを用いた第2の統合モデルの、教師なしデータに基づく学習とを交互に繰り返すことにより、文字列又は記号列を高精度に分割するための言語モデルを学習することができる、という効果が得られる。以下、図面を参照して本発明の実施の形態を詳細に説明する。<概要>まず、本発明で提案する言語モデル学習装置で用いるモデルについて説明する。図1は、一般に識別モデルマルコフモデルと呼ばれるモデルの一種であるCRFのグラフィカルモデルを表した図である。この東京都のという文字列に対するCRFのグラフィカルモデルを示している。BOSは入力文字列の開始を表す記号であり、EOSは入力文字列の終了を表す記号である。各文字について、それぞれ0、1という値に対応する2つのノードが用意されており、それらのノードをエッジで接続した形となっている。値0は形態素の継続文字の直前に形態素の区切り目が入らないことを表し、値1は形態素の始まり文字の直前に形態素の区切り目が入ることを表す。1つのエッジが、隣接する文字の各々が形態素の区切り目となる場合又は形態素の区切り目とならない場合を示している。図1の太字のパスは、この東京都のという形態素の分割に対応している。CRFでは、図1の各ノード間を接続するエッジに、以下の1式で表される重みが付与されている。なお、上記1式で表される重みが、CRFの同時確率に対応している。すなわち、文字列における隣接する文字の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率に対応している。また、BOSに対応するノードからEOSに対応するノードまでの各パスy各パスは、取り得る形態素分割に対応するに対して、yの入力文字列xに対する条件付き確率pDISCyxを下記の2式により記述する。ここで、Λ=λ1,λ2,,λKは識別モデルCRFのパラメータであり、xは入力系列文字列である。ytは状態tのラベル、つまり、ここでは1か0の値をとるものであり、t番目の文字が形態素の始まりの場合に1、形態素の途中継続の場合に0をとる。fkyt,yt-1,xは、素性関数である。例えばこの東京都のという文で、t=3のとき、東の文字は東京都という単語の始まりなのでy3は1になるべきであるが、そのノードにおける確率が、入力文字列xに対する条件付き確率として以下の3式で表わされる。つまり、fkは、括弧内の条件ytとyt-1とxに関するルールが成り立つときに1を返し、そうでない場合に0を返す関数である。ここで、ptは文字xtの品詞を表す。素性関数として何を用いるかは、予め設定しておくものとし、素性関数の総数はK個である。CRFのパラメータΛ=λ1,λ2,,λKは、素性関数の重みである。CRFでは、教師ありデータを用いて、py|xの値が正解データと近くなるように、各素性関数の重みΛを学習していく。上記3式のこの東京都のという文字列の例では、前の文字がので今の文字が東のとき、東から形態素が始まる可能性はかなり高いので、λ3はかなり大きい値になるように学習される。一方、のと東が一つの形態素となるのに継続して東が現れる可能性はほとんどないため、のと東が一つの形態素となることを示す素性関数fjに対する重みλjの値は小さな数大きな負の数になるように学習される。学習結果として、確率py3=1xの値は非常に大きくなり、確率py3=0xの値は非常に小さな値となる、という仕組みになっている。また、上記2式では、エッジの重みだけを考慮した条件付き確率を記載したが、CRFの学習の際には、ノードの重みも考慮する必要があり、簡単のため、その記載を省略している。なお、ノードの重みfyt,xは、上記3式で表されるノードの確率に基づいて求められる。未知の入力文字列xに対して形態素解析を行う際には、学習された素性関数の重みΛ=λ1,λ2,,λKを用いて、未知の入力文字列xが入力されたときのpy|xの値が最も大きくなるような形態素分割^y、つまり、以下の4式を満たすyを形態素解析結果として求める。ここで、y1y2...は取り得る形態素分割の候補である。次に、図2は、生成モデルと呼ばれるモデルの一種であるNPYLMのグラフィカルモデルを表した図である。この東京都のという文字列に対するNPYLMのグラフィカルモデルを示している。NPYLMは、まず文字n-gramによって単語が無限に生成され、それを単語n-gramによって組み合わせることで文字列が生成される、という階層構造に基づいて構成されている。図2の各ノードは、文字n-gramに対応している。例えば、文字のの下にある6つのノードは、上から順にの、都の、京都の、東京都の、の東京都の、この東京都ののように、1-gram、2-gram、3-gram、...、6-gramに対応する文字列を表す。図2の太字のパスは、この東京都のという形態素の分割を表す。各エッジには、ある単語を条件に後続の単語の候補が出現する条件付確率が、エッジの重みとして与えられる。NPYLMに基づく単語分割では、教師なしデータの各文文字列の集合X={x1x2...xN}に対して、以下の5式で表わされる確率を最大にするような、各文字列xiの単語分割w1wTを求める。ここで、上記6式における条件付確率pwtw1wt1は、以下の7式で表される階層PitmanYor過程による確率で計算される。ここで、h=w1w2...wi-1、h ́=w1w2...wi-2である。また、cwi|w1w2...wi-1はn-gramの頻度、つまり、入力文において単語列w1w2...wi-1wiが登場する回数である。pwi|h ́は、n-1-gram確率であり、thwi、chは、以下の8式で表わされる。ただし、hがすでに空文脈であった場合にはh’は存在しないので、その場合のpwh’は、単語wをなす文字列w=c1c2cmに対して、以下の9式で表わされる確率によって計算される。これにより、あらゆる可能な単語分割に対して、適切な確率を与えることができる。各文字列xiの単語分割を求めるためには、上記5式で表わされる確率を最大化するようなパラメータd,θ,thwiを、マルコフ連鎖モンテカルロ法MCMC法等を用いて学習すればよい。詳細は非特許文献4を参照。次に、CRFとNPYLMを統合して学習する原理について説明する。本実施の形態では、教師ありデータを用いた学習に対してはCRFを採用し、教師なしデータを用いた学習に対してはNPYLMというCRFとは構造の異なるグラフィカルモデルを採用し、これらを統合した統合モデルを作成して、学習を行う。CRFはパラメータ数が少ないので、少ないメモリ消費量で高速に学習することができる。ただし、このままではNPYLMとはグラフィカルモデルの構造が異なり、統合できないので、学習したCRFのパラメータを用いてNPYLMと同じグラフィカルモデルSemi-MarkovCRFに変換してから統合モデルを作成し、学習を行う。また逆に、NPYLMのパラメータをCRFのパラメータに変換してから統合モデルを作成し、学習を行う。この二つの学習を交互に行うことで、統合的にモデル全体を学習していく。この変換は、Semi-MarkovCRFのパラメータを直接学習するよりも格段に効率的に行うことができ、高精度であるので、結果として学習処理全体を効率化、高精度化することができる。なお、Semi-MarkovCRFは、非特許文献6SunitaSarawagiandWilliamWCohen2004SemimarkovconditionalrandomfieldsforinformationextractionAdvancesinNeuralInformationProcessingSystemsVolume17Pages1185-11922005に記載のモデルと同様であるため、詳細な説明を省略する。ここで、NPYLMをCRFに変換してから統合モデルを作成する方法について説明する。本実施の形態では、NPYLMのモデルをCRFと同じグラフィカルモデルに変換した上で、統合モデルを作成する。まず、以下の手順で、NPYLMモデルをCRFと同じグラフィカルモデルに変換する。第1ステップとして、CRFにおける文字ciとci1との間のパスを、0→0、0→1、1→0、1→1の4通りに分ける。第2ステップとして、それぞれのパスにおいて、対応するNPYLMのパスに相当する言語モデル確率重みを足し合わせ、確率となるよう正規化した値pyi1yiを算出し、これをCRFの対応するパスの重みに加える。例として、図3Aの太字で示すエッジの重みを求める場合を説明する。この太字のエッジは、CRFにおける京と都という文字の間の1→0を結ぶエッジを示している。1→0の場合は、京から単語が始まり、続く都という文字が単語の内部であることを意味するので、NPYLMのうち京都から始まっている形態素に相当するノード、つまり、図3Bで色づけされているノード京都、京都のに注目する。これらのノードに入ってくるパス図3Bの太字の矢印が、NPYLMにおける対応するパスとなるので、これらのパスの言語モデル確率パスにおける各エッジの確率を足し合わせ、確率となるよう正規化して対数を取った値logpytyt1xを、CRFに変換したときの当該パスの重みとする。上記の第1ステップ及び第2ステップにより、NPYLMがCRFに変換される。そして、NPYLMから変換したCRFの各エッジの重みと、更新前のCRFの対応するエッジの重みを足し合わせることで、第1の統合モデルを作成する。第1の統合モデルは以下の10式で表される。以下、統合モデルの確率をpで表記する。上記10式における右辺のexp関数の第2項がCRFにおけるエッジの重みであり、第1項のlogpwtwt1がNPYLMをCRFと同じグラフィカルモデルに変換したモデルにおける対応するエッジの重みである。また、λ0は統合重みであり、CRFあるいはsemi-MarkovCRFとNPYLMのそれぞれから得られた確率重みをどのくらいの比率で採用するかを決める重みである。第1の統合モデルの学習では、教師ありデータの各文xに対して上記10式で算出される確率を掛け合わせた値が最大化するように、CRFのパラメータΛと統合重みλ0を更新する。なお、学習の方法は、非特許文献5に記載の方法を用いればよい。次に、CRFをsemi-MarkovCRFに変換してから統合モデルを作成する方法について説明する。学習済みのCRFのモデルをNPYLMと同じグラフィカルモデルであるsemi-MarkovCRFに変換した上で、semi-MarkovCRFとNPYLMを統合したモデルを構築する。具体的には、semi-MarkovCRFの各エッジの重み言語モデル確率を、CRFにおける対応する各エッジに付与された素性関数とその重みの積を足し合わせた値上記1式とすることで、semi-MarkovCRFを求めることができる。例えば、図4Aの太字で示すエッジについて考える。このエッジの重みはpの東|こであり、こという形態素の後に、の東という形態素が続く確率を表す。semi-MarkovCRFにおけるこのエッジに対する重みは、図4Bの太字で示す上記エッジに対応するパス上の各エッジおよび各ノードにおいて有効な素性関数の重みを足し合わせた値として求めることができる。この値をchainの東こと定義し、一般に形態素の分割候補vwに対して、chainと定義する。そして、semi-MarkovCRFと更新前のNPYLMの対応するエッジの重みを足し合わせたものを、全てのエッジの各々について求めて、第2の統合モデルを作成する。第2の統合モデルにおけるエッジの重みは以下の11式で表わされる。上記11式における右辺のexp関数の項が、CRFを変換したsemi-MarkovCRFから求めたエッジの重みであり、pwtwt1がNPYLMにおける対応するエッジの重みである。上記の第2の統合モデルの学習では、教師なしデータの各文xに対して、以下の12式で表される確率pxを掛け合わせた値が最大化するように、logpwtwt1に含まれるパラメータd,θ,thwiを更新していく。学習の方法としては、非特許文献4に記載された方法を用いればよい。以上のように、CRFをsemi-MarkovCRFに変換してから第2の統合モデルを作成し、第2の統合モデルについて学習を行う。<システム構成>次に、形態素の分割結果が付与された文字列文を示す教師ありデータの集合、及び形態素の分割結果が付与されていない文字列文を示す教師なしデータの集合である学習データを入力として、言語モデルを学習する言語モデル学習装置に、本発明を適用した場合を例にして、第1の実施の形態を説明する。図5に示すように、第1の実施の形態に係る言語モデル学習装置は、教師ありデータ及び教師なしデータの入力を受け付ける入力部1と、言語モデルを学習する演算部2と、を備えている。入力部1は、既知のキーボード、マウス、記憶装置などの入力器により実現される。演算部2は、CPUCentralProcessingUnitと、RAMRandomAccessMemoryと、後述する言語モデル学習処理ルーチンを実行するためのプログラムを記憶したROMReadOnlyMemoryとを備えたコンピュータで構成され、機能的には次に示すように構成されている。演算部2は、教師ありデータ記憶部21、教師なしデータ記憶部22、識別モデルパラメータ学習部23、生成モデルパラメータ学習部24、識別モデルパラメータ更新部25、生成モデルパラメータ更新部26、収束判定部27、及び言語モデル記憶部28を備えている。なお、言語モデル記憶部28は、記憶手段の一例である。教師ありデータ記憶部21は、形態素の分割の区切り目が付与された文字列文の集合を教師ありデータとして記憶している。また、教師なしデータ記憶部22は、形態素の分割の区切り目が付与されていない文字列文の集合を教師なしデータとして記憶している。識別モデルパラメータ学習部23は、教師ありデータ記憶部21から教師ありデータの集合を読みこみ、教師ありデータの集合に基づいて、上記2式で計算される条件付き確率py|xを各文xについて掛け合わせた値を最大化するようなCRFのパラメータΛ=λ1,λ2,,λKを学習する。生成モデルパラメータ学習部24は、教師なしデータ記憶部22から教師なしデータの集合を読みこみ、教師なしデータの集合に基づいて、上記5式で計算される確率PXを最大化するようなNPYLMのパラメータΘ=d,θ,thw1,thw2,,thwTを学習する。識別モデルパラメータ更新部25は、生成モデルパラメータ学習部24で学習したNPYLM、又は生成モデルパラメータ更新部26で前回更新したNPYLMをCRFに変換し、変換したCRFの各エッジの重みと、識別モデルパラメータ学習部23で学習したCRF、又は識別モデルパラメータ更新部25で前回更新したCRFの対応するエッジの重みとを用いて、第1の統合モデルを作成する。識別モデルパラメータ更新部25は、教師ありデータ記憶部21から教師ありデータの集合を読みこみ、教師ありデータの集合に基づいて、上記10式で計算される条件付き確率py|xを各文xについて掛け合わせた値を最大化するような第1の統合モデルのパラメータΛ=λ1,λ2,,λK及び統合重みλ0を学習して、CRFのパラメータΛ及び統合重みλ0を更新する。生成モデルパラメータ更新部26は、識別モデルパラメータ更新部25で更新したCRFをsemi-MarkovCRFに変換し、変換したsemi-MarkovCRFの各エッジの重みと、生成モデルパラメータ学習部24で学習したNPYLM、又は生成モデルパラメータ更新部26で前回更新したNPYLMの対応するエッジの重みと、識別モデルパラメータ更新部25で更新した統合重みとを用いて、第2の統合モデルを作成する。生成モデルパラメータ更新部26は、教師なしデータ記憶部22から教師なしデータの集合を読みこみ、教師なしデータの集合に基づいて、上記12式で計算される確率pxを各文xについて掛け合わせた値を最大化するような第2の統合モデルのパラメータΘ=d,θ,thw1,thw2,,thwTを学習して、NPYLMのパラメータΘを更新する。収束判定部27は、予め定めた収束条件を満たしたか否かを判定し、収束条件を満たすまで、識別モデルパラメータ更新部25による更新及び生成モデルパラメータ更新部26による更新を繰り返す。収束判定部27は、収束したと判定した場合には、最後に更新されたCRFのパラメータΛの値、NYPLMの各パラメータΘの値、及び統合重みλ0の値を、言語モデル記憶部28に格納する。収束判定部27において収束したか否かを判定する方法としては、識別モデルパラメータ更新部25及び生成モデルパラメータ更新部26における更新前と更新後のパラメータΛ,Θの差分が所定の閾値以下となった場合に、収束したと判定する。また、識別モデルパラメータ更新部25及び生成モデルパラメータ更新部26の繰り返し回数をカウントしておき、所定の繰り返し回数を超えたら収束したと判定して処理を終了するようにしても良い。最終的なパラメータΛ,Θ、λ0の学習結果が、言語モデル記憶部28に記憶されている。<言語モデル学習装置の作用>次に、第1の実施の形態に係る言語モデル学習装置の作用について説明する。形態素の分割の区切り目が付与された文字列文を示す教師ありデータの集合が入力部1を介して言語モデル学習装置に入力され、教師ありデータ記憶部21に格納される。また、形態素の分割の区切り目が付与されていない文字列文を示す教師なしデータの集合が入力部1を介して言語モデル学習装置に入力され、教師なしデータ記憶部22に格納される。そして、言語モデル学習装置の演算部2において、図6に示す言語モデル学習処理ルーチンが実行される。まず、ステップ100において、教師ありデータ記憶部21に記憶された教師ありデータの集合を読み込み、取得する。そして、ステップ102において、上記ステップ100で読み込んだ教師ありデータの集合を用いて、上記2式に従って、CRFのパラメータを学習する。次のステップ104では、教師なしデータ記憶部22に記憶された教師なしデータの集合を読み込み、取得する。そして、ステップ106において、上記ステップ104で読み込んだ教師なしデータの集合を用いて、上記5式に従って、NPYLMのパラメータを学習する。ステップ108では、上記ステップ106で学習したNPYLM、又は後述するステップ114で前回更新したNPYLMをCRFに変換し、変換したCRFの各エッジの重みと、上記ステップ102で学習したCRF、又は後述するステップ110で前回更新したCRFの対応するエッジの重みとを用いて、第1の統合モデルを作成する。そして、ステップ110において、上記ステップ100で読み込んだ教師ありデータの集合を用いて、上記10式に従って、第1の統合モデルのパラメータ及び統合重みを学習して、CRFのパラメータ及び統合重みを更新する。次のステップ112では、上記ステップ110で更新したCRFをsemi-MarkovCRFに変換し、変換したsemi-MarkovCRFの各エッジの重みと、上記ステップ106で学習したNPYLM、又は後述するステップ114で前回更新したNPYLMの対応するエッジの重みと、上記ステップ110で更新した統合重みとを用いて、第2の統合モデルを作成する。そして、ステップ114において、上記ステップ104で読み込んだ教師なしデータの集合を用いて、上記12式に従って、第2の統合モデルのパラメータを学習して、NPYLMのパラメータを更新する。ステップ116では、所定の収束条件として、CRFのパラメータ及びNPYLMのパラメータに関する更新前と更新後との差分が、閾値以下になったか否かを判定し、パラメータの差分が、閾値より大きい場合には、所定の収束条件が成立していないと判断して、上記ステップ108へ戻り、上記ステップ108~ステップ114の処理を繰り返す。一方、パラメータの差分が、閾値以下である場合には、所定の収束条件が成立したと判断し、ステップ118で、上記ステップ110で最終的に更新されたCRFのパラメータ、統合重み、及び上記ステップ114で最終的に更新されたNPYLMのパラメータを言語モデル記憶部28に格納して、言語モデル学習処理ルーチンを終了する。以上説明したように、第1の実施の形態に係る言語モデル学習装置によれば、NPYLMの各エッジの重みを変換したCRFの各エッジの重み、及びCRFの各エッジの重みを用いて作成した第1の統合モデルの、教師ありデータに基づく学習と、CRFの各エッジの重みを変換したSemi-MarkovCRFの各エッジの重み、及びNPYLMの各エッジの重みを用いて作成した第2の統合モデルの、教師なしデータに基づく学習と、を交互に繰り返すことにより、メモリの消費量を抑えて、文字列を高精度に形態素解析するための言語モデルを学習することができる。また、教師ありデータに基づく学習と教師なしデータに基づく学習とで、構造の異なるグラフィカルモデルを採用し、これらのグラフィカルモデル間で情報を交換するように統合モデルを作成することで、半教師あり学習を行うことができる。これによって、教師ありデータのみの学習、あるいは、教師なしデータのみの学習よりも高精度な形態素解析のための言語モデルを学習することができる。また、教師ありデータに基づく学習では、マルコフモデルの一種であるCRFを採用することにより、学習の際のメモリ消費量が少なくすることができるため、効率的に言語モデルを学習することができる。また、教師ありデータの数は少なくて良いため、教師ありデータの作成コストやメンテナンスコストを削減することができる。次に、第2の実施の形態について説明する。第2の実施の形態では、入力された文字列について形態素解析を行う言語解析装置に本発明を適用した場合を例に説明する。なお、第1の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。第2の実施の形態では、学習されたモデルパラメータを用いて、入力された文字列に対して形態素解析を行っている点が、第1の実施の形態と異なっている。図7に示すように、第2の実施の形態に係る言語解析装置は、入力部1と、言語モデルを学習すると共に、文字列に対して形態素解析を行う演算部202と、形態素解析の結果を出力する出力部203と、を備えている。演算部202は、CPUと、RAMと、言語モデル学習処理ルーチン及び後述する形態素解析処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。演算部202は、教師ありデータ記憶部21、教師なしデータ記憶部22、識別モデルパラメータ学習部23、生成モデルパラメータ学習部24、識別モデルパラメータ更新部25、生成モデルパラメータ更新部26、収束判定部27、言語モデル記憶部28、及び形態素解析部230を備えている。なお、言語モデル記憶部28が、記憶手段の一例である。形態素解析部230は、言語モデル記憶部28に記憶されたCRFのパラメータ及びNPYLMのパラメータを用いて、上記の第1の統合モデル又は第2の統合モデルを作成し、入力された文字列に対して形態素解析を行う。例えば、言語モデル記憶部28に記憶されたNPYLMをCRFに変換し、変換したCRFの各エッジの重みと、言語モデル記憶部28に記憶されたCRFの対応するエッジの重みとを用いて、第1の統合モデルを作成する。形態素解析部230は、第1の統合モデルを用いて、上記10式で計算される条件付き確率py|xが最も大きくなるような形態素分割^y、つまり、上記4式と同様の式を満たすyを形態素解析結果として求める。文字列に対する形態素解析の結果が、出力部203よりユーザに出力される。<言語解析装置の作用>次に、第2の実施の形態に係る言語解析装置の作用について説明する。まず、上記第1の実施の形態と同様に、教師ありデータの集合及び教師なしデータの集合が、入力部1を介して言語解析装置に入力され、教師ありデータ記憶部21及び教師なしデータ記憶部22に格納される。そして、言語解析装置の演算部202において、上記図6に示す言語モデル学習処理ルーチンが実行され、各パラメータΛ,Θ、λ0の学習結果が言語モデル記憶部28に記憶される。また、入力部1を介して、言語解析の対象となる文字列文を示すデータが言語解析装置に入力されると、演算部202において、図8に示す形態素解析処理ルーチンが実行される。まず、ステップ250において、入力された解析対象の文字列データを取得する。そして、ステップ252において、言語モデル記憶部28から、CRFのパラメータ、NPYLMのパラメータ、及び統合重みを読みこむ。次のステップ254では、上記ステップ252で読み込んだNPYLMをCRFに変換し、変換したCRFの各エッジの重みと、上記ステップ252で読み込んだCRFの対応するエッジの重みと、統合重みとを用いて、第1の統合モデルを作成する。そして、ステップ256において、上記ステップ254で作成した第1の統合モデルを用いて、上記ステップ250で取得した文字列データに対して、形態素解析を行う。そして、ステップ258において、上記ステップ256で求められた形態素解析結果を出力部203により出力して、形態素解析処理ルーチンを終了する。以上説明したように、第2の実施の形態に係る言語解析装置によれば、文字列を高精度に形態素解析するための言語モデルを学習することができるため、入力された文字列に対して高精度に形態素解析を行うことができる。なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば、日本語テキストの形態素解析のための言語モデルを学習する場合を例に説明したが、これに限定されるものではなく、中国語やタイ語、ヘブライ語など任意の言語に対する形態素解析のための言語モデルを学習するようにしてもよい。また、文字列を形態素に分割する形態素解析の場合を例に説明をしたが、これに限定されるものではなく、入力系列x及び出力系列yが同様に、MarkovモデルとSemi-Markovモデルの両方で表現できるような離散記号列の分割問題に、上記の実施の形態で説明した手法を適用してもよい。例えばDNAやアミノ酸の系列データの分割のためのモデルや、音符列をフレーズへ分割するためのモデルなどを学習し、適切な分割単位に分割するように解析するようにしてもよい。また、第1の統合モデルのパラメータの学習の後、第2の統合モデルの学習を行う場合を例に説明したが、これに限定されるものではなく、第2の統合モデルのパラメータの学習の後に、第1の統合モデルの学習を行うようにしてもよい。また、言語モデルとして、CRFとNPYLMを用いた場合を例に説明したが、これに限定されるものではなく、他のマルコフモデル及び他のセミマルコフモデルを用いてもよい。また、第2の実施の形態では、第1の統合モデルを作成して、入力された文字列に対する形態素解析を行う場合を例に説明したが、これに限定されるものではなく、第2の統合モデルを作成して、入力された文字列に対して形態素解析を行ってもよい。また、学習されたCRF又はNPYLMを用いて、入力された文字列に対する形態素解析を行ってもよい。また、言語モデルの学習と、入力された文字列に対する形態素解析とを1つの装置において行う場合を例に説明したが、これに限定されるものではなく、言語モデルの学習と、入力された文字列に対する形態素解析とを別々の装置で行うようにしてもよい。この場合には、言語モデル学習装置によって学習された言語モデルを言語解析装置へ出力し、言語解析装置の言語モデル記憶部に記憶するようにすればよい。また、上述の言語モデル学習装置及び言語解析装置は、内部にコンピュータシステムを有しているが、コンピュータシステムは、WWWシステムを利用している場合であれば、ホームページ提供環境あるいは表示環境も含むものとする。また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。"