(57)【特許請求の範囲】
【請求項１】
文字列又は記号列における隣接する文字または記号の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率を用いて、文字列又は記号列における分割単位の区切り目を推定する識別モデルのパラメータを、文字列又は記号列に分割単位の区切り目が付与されたデータを示す教師ありデータに基づいて学習する識別モデル学習手段と、
予め定められた前記分割単位を条件に、予め定められた後続の分割単位の候補が出現する確率を示す条件付確率を用いて、文字列又は記号列における分割単位の区切り目を推定する生成モデルのパラメータを、文字列又は記号列を示す教師なしデータに基づいて学習する生成モデル学習手段と、
前記生成モデルの前記条件付き確率に基づいて前記同時確率を算出し、算出した前記同時確率と対応する前記識別モデルの前記同時確率とを用いて前記分割単位の区切り目を推定する第１の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新する識別モデル更新手段と、
前記識別モデルの前記同時確率に基づいて前記条件付き確率を算出し、算出した前記条件付き確率と対応する前記生成モデルの前記条件付き確率とを用いて前記分割単位の区切り目を推定する第２の統合モデルのパラメータを、前記教師なしデータに基づいて学習して、前記生成モデルのパラメータを更新する生成モデル更新手段と、
前記識別モデル更新部による更新と前記生成モデル更新部による更新とを交互に繰り返して、所定の収束条件を満たしたときに、その時点の前記識別モデルのパラメータ及び前記生成モデルのパラメータを出力する収束判定手段と、
を含む言語モデル学習装置。
【請求項２】
前記識別モデル更新手段は、前記識別モデルにおける前記同時確率の各々に対して、前記同時確率に対応する前記生成モデルの前記条件付確率の各々を足し合わせて正規化して前記同時確率を算出して、前記第１の統合モデルを求め、前記第１の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新する請求項１記載の言語モデル学習装置。
【請求項３】
前記第１の統合モデルは、前記算出した同時確率と対応する前記識別モデルの前記同時確率と統合に関する重みとを用いて前記分割単位の区切り目を推定するモデルであり、
前記第２の統合モデルは、前記算出した条件付き確率と対応する前記生成モデルの前記条件付き確率と前記統合の重みとを用いて前記分割単位の区切り目を推定するモデルであり、
前記識別モデル更新手段は、前記教師ありデータに基づいて、前記第１の統合モデルのパラメータ及び前記統合の重みを学習する請求項１又は２記載の言語モデル学習装置。
【請求項４】
前記識別モデル及び前記第１の統合モデルを、マルコフモデルとし、
前記生成モデル及び前記第２の統合モデルを、セミマルコフモデルとした請求項１〜請求項３の何れか１項記載の言語モデル学習装置。
【請求項５】
請求項１〜請求項４の何れか１項に記載の言語モデル学習装置によって出力された前記識別モデルのパラメータ及び前記生成モデルのパラメータを記憶する記憶手段と、
前記記憶手段に記憶された前記識別モデルのパラメータ及び前記生成モデルのパラメータに基づいて、入力された文字列又は記号列における分割単位の区切り目を解析する言語解析手段と、
を含む言語解析装置。
【請求項６】
識別モデル学習手段と、生成モデル学習手段と、識別モデル更新手段と、生成モデル更新手段と、収束判定手段とを含む言語モデル学習装置における言語モデル学習方法であって、
前記言語モデル学習装置は、
前記識別モデル学習手段によって、文字列又は記号列における隣接する文字または記号の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率を用いて、文字列又は記号列における分割単位の区切り目を推定する識別モデルのパラメータを、文字列又は記号列に分割単位の区切り目が付与されたデータを示す教師ありデータに基づいて学習するステップと、
前記生成モデル学習手段によって、予め定められた前記分割単位を条件に、予め定められた後続の分割単位の候補が出現する確率を示す条件付確率を用いて、文字列又は記号列における分割単位の区切り目を推定する生成モデルのパラメータを、文字列又は記号列を示す教師なしデータに基づいて学習するステップと、
前記識別モデル更新手段によって、前記生成モデルの前記条件付き確率に基づいて前記同時確率を算出し、算出した前記同時確率と対応する前記識別モデルの前記同時確率とを用いて前記分割単位の区切り目を推定する第１の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新するステップと、
前記生成モデル更新手段によって、前記識別モデルの前記同時確率に基づいて前記条件付き確率を算出し、算出した前記条件付き確率と対応する前記生成モデルの前記条件付き確率とを用いて前記分割単位の区切り目を推定する第２の統合モデルのパラメータを、前記教師なしデータに基づいて学習して、前記生成モデルのパラメータを更新するステップと、
前記収束判定手段によって、前記識別モデル更新部による更新と前記生成モデル更新部による更新とを交互に繰り返して、所定の収束条件を満たしたときに、その時点の前記識別モデルのパラメータ及び前記生成モデルのパラメータを出力するステップと、
を含んで実行することを特徴とする言語モデル学習方法。
【請求項７】
前記識別モデルのパラメータを更新するステップは、前記識別モデルにおける前記同時確率の各々に対して、前記同時確率に対応する前記生成モデルの前記条件付確率の各々を足し合わせて正規化して前記同時確率を算出して、前記第１の統合モデルを求め、前記第１の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新する請求項６記載の言語モデル学習方法。
【請求項８】
前記第１の統合モデルは、前記算出した同時確率と対応する前記識別モデルの前記同時確率と統合に関する重みとを用いて前記分割単位の区切り目を推定するモデルであり、
前記第２の統合モデルは、前記算出した条件付き確率と対応する前記生成モデルの前記条件付き確率と前記統合の重みとを用いて前記分割単位の区切り目を推定するモデルであり、
前記識別モデルのパラメータを更新するステップは、前記教師ありデータに基づいて、前記第１の統合モデルのパラメータ及び前記統合の重みを学習する請求項６又は７記載の言語モデル学習方法。
【請求項９】
前記識別モデル及び前記第１の統合モデルを、マルコフモデルとし、
前記生成モデル及び前記第２の統合モデルを、セミマルコフモデルとした請求項６〜請求項８の何れか１項記載の言語モデル学習方法。
【請求項１０】
コンピュータを、請求項１〜請求項４の何れか１項記載の言語モデル学習装置の各手段、又は請求項５記載の言語解析装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、言語モデル学習装置、言語モデル学習方法、及びプログラムに係り、特に、任意の自然言語における文字列または一般の離散的記号の時系列（例えば、ＤＮＡ（Ｄｅｏｘｙｒｉｂｏ  Ｎｕｃｌｅｉｃ  Ａｃｉｄ）配列やビット列等）が与えられたとき、それを単語または同等の単位に分割するための言語モデルを学習する言語モデル学習装置、言語モデル学習方法、言語解析装置、及びプログラムに関する。
【背景技術】
【０００２】
日本語や中国語のように、単語区切りを陽に指定しない（分かち書きをしない）言語で書かれた文を形態素（言語で意味を持つ最小単位の文字列）に分割することを、形態素解析と呼ぶ。
【０００３】
形態素解析器としては、ｃｈａｓｅｎ(非特許文献１)やＭｅＣａｂ（非特許文献２）等が知られている。これらの形態素解析器は、教師ありデータ（正しい形態素分割が付与されたテキストデータ）と単語辞書とを事前に与えておき、これらを用いて学習したモデルを用いて、入力された文字列に対して適切な形態素の分割を出力する。上記のｃｈａｓｅｎでは、隠れマルコフモデル(ＨＭＭ)というモデルが採用されており、上記のＭｅＣａｂでは確率的条件場（Ｃｏｎｄｉｔｉｏｎａｌ  Ｒａｎｄｏｍ  Ｆｉｅｌｄｓ：ＣＲＦ、非特許文献３）というモデルが採用されている。例えば、ＣＲＦは、取り得る形態素分割した系列ｙの、入力文字列ｘに対する条件付き確率Ｐ（ｙ｜ｘ）を表現したもので、モデルの学習では、教師ありデータから条件付き確率を求めるための関数のパラメータを学習する。そして、未知の文字列に対して、条件付き確率Ｐ（ｙ｜ｘ）の値が最も大きくなるような形態素分割の系列ｙを求めることで、形態素解析を行う。
【０００４】
一方、正しい形態素分割が付与されていないテキストデータ（教師なしデータ）を用いて、Ｎｅｓｔｅｄ  Ｐｉｔｍａｎ−Ｙｏｒ  Ｌａｎｇｕａｇｅ  Ｍｏｄｅｌ（ＮＰＹＬＭ）を学習することにより、形態素解析を行う方法も提案されている（非特許文献４、特許文献１）。
【０００５】
また、少ない数の教師ありデータと大量の教師なしデータを併用することで、教師ありデータの作成コストを抑えつつ、高精度なモデルを学習する半教師あり学習の方法も、形態素解析以外のタスクでは提案されている（例えば、非特許文献５）。非特許文献５に記載の技術は、単語列への品詞の付与を高精度に行うものであり、教師ありデータにより学習した確率モデルである条件付確率場（ＣＲＦ）に、教師なしデータにより学習した生成モデルである隠れマルコフモデル（ＨＭＭ）を統合したモデルを、ＣＲＦとＨＭＭのそれぞれで交互にパラメータを学習することで、求めている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１７０２５２号公報
【非特許文献】
【０００７】
【非特許文献１】”ChaSen -- 形態素解析器”、［online］、平成１９年、［平成２２年１２月２８日検索］、インターネット＜ URL ：http://chasen-legacy.sourceforge.jp/＞
【非特許文献２】”MeCab: Yet Another Part-of-Speech and Morphological Analyzer” 、［online］、平成２１年、［平成２２年１２月２８日検索］、インターネット＜ URL ：http://mecab.sourceforge.net/＞
【非特許文献３】工藤 拓, 山本 薫, 松本 裕治 「Conditional Random Fields を用いた日本語形態素解析」情報処理学会自然言語処理研究会 SIGNL-161, 2004
【非特許文献４】持橋大地, 山田武士, 上田修功. 「ベイズ階層言語モデルによる教師なし形態素解析」、情報処理学会研究報告 2009-NL-190, 2009
【非特許文献５】Jun Suzuki and Hideki Isozaki: Semi-supervised Sequential Labeling and Segmentation using Giga-word Scale Unlabeled Data, Proc. of ACL-2008, pp.665--673.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来の教師ありデータを用いた形態素解析技術では、大量の教師ありデータを人手で作成しなければならない、という問題がある。教師ありデータとして、新聞記事コーパスを元に作成された学習データが利用されることが多いが、新聞記事を元に学習した言語モデルでは、インターネット上のブログ及び掲示板などのテキストデータや、話し言葉、専門性の高いテキスト文書などを、精度よく解析することが難しい、という問題がある。高精度な形態素解析を実現するためには、解析対象とするテキストに応じて、教師ありデータを人手で作成しなければならず、メンテナンスのコストがかかる。
【０００９】
また、上記の非特許文献４に記載の技術では、教師ありデータの作成コストがかからないが、必ずしも人間の基準に合うような形態素解析結果が得られるとは限らない、という問題がある。例えば、“蘆前大統領”という文字列は、“蘆  前  大統領”のように３つの形態素に分割されることが望ましいが、上記の非特許文献４の記載の手法では“蘆前大統領”という一つの形態素として解析されてしまうことがある。また、上記の非特許文献４に記載の言語モデルは、ｎ−ｇｒａｍ言語モデルの性能を最適化するように学習されている。形態素解析技術は、統計的機械翻訳や音声認識などの自然言語処理におけるタスクの前処理として使われることが多く、このようなタスクに上記の非特許文献４の技術を応用するためには、各タスクに合わせた別の言語モデルが必要となる。
【００１０】
また、上記の非特許文献５の技術では、教師ありデータに対するモデル（ＣＲＦ）と教師なしデータに対するモデル（ＨＭＭ）が、同じ構造のグラフィカルモデルで記述されていなければならない、という問題がある。
【００１１】
一般には、教師なしデータから、教師あり学習のモデルを直接学習することができないため、教師あり学習のモデルと教師なし学習のモデルとは異なるものが採用されている。単純に、上記の非特許文献４と上記の非特許文献５の技術を組み合わせるとすれば、ＮＰＹＬＭと同じグラフィカル構造を持つモデルを、教師ありデータの学習にも用いることが考えられる。ＮＰＹＬＭと同じグラフィカル構造で、教師ありデータの学習に対応できるモデルとしては、ｓｅｍｉ−Ｍａｒｋｏｖ  ＣＲＦが知られているが、ｓｅｍｉ−Ｍａｒｋｏｖ  ＣＲＦは、取り得る全ての文字列をノードとし、これらのノードに対して文を構成するパスを記述することになる。従って、膨大なメモリが必要であり、モデルのパラメータ数が非常に多くなってしまうため、学習に時間がかかる、という問題がある。さらに、性能も高くないことが知られている。そのため、ｓｅｍｉ−Ｍａｒｋｏｖ  ＣＲＦのパラメータを直接学習することは、計算量、メモリ消費量、および性能の観点から現実的とは言えない。
【００１２】
本発明は、上記の事実を鑑みてなされたもので、メモリの消費量を抑えて、文字列又は記号列を高精度に分割するための言語モデルを学習する言語モデル学習装置、言語モデル学習方法、言語解析装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記の目的を達成するために第１の発明に係る言語モデル学習装置は、文字列又は記号列における隣接する文字または記号の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率を用いて、文字列又は記号列における分割単位の区切り目を推定する識別モデルのパラメータを、文字列又は記号列に分割単位の区切り目が付与されたデータを示す教師ありデータに基づいて学習する識別モデル学習手段と、予め定められた前記分割単位を条件に、予め定められた後続の分割単位の候補が出現する確率を示す条件付確率を用いて、文字列又は記号列における分割単位の区切り目を推定する生成モデルのパラメータを、文字列又は記号列を示す教師なしデータに基づいて学習する生成モデル学習手段と、前記生成モデルの前記条件付き確率に基づいて前記同時確率を算出し、算出した前記同時確率と対応する前記識別モデルの前記同時確率とを用いて前記分割単位の区切り目を推定する第１の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新する識別モデル更新手段と、前記識別モデルの前記同時確率に基づいて前記条件付き確率を算出し、算出した前記条件付き確率と対応する前記生成モデルの前記条件付き確率とを用いて前記分割単位の区切り目を推定する第２の統合モデルのパラメータを、前記教師なしデータに基づいて学習して、前記生成モデルのパラメータを更新する生成モデル更新手段と、前記識別モデル更新部による更新と前記生成モデル更新部による更新とを交互に繰り返して、所定の収束条件を満たしたときに、その時点の前記識別モデルのパラメータ及び前記生成モデルのパラメータを出力する収束判定手段とを含んで構成されている。
【００１４】
第２の発明に係る言語モデル学習方法は、識別モデル学習手段と、生成モデル学習手段と、識別モデル更新手段と、生成モデル更新手段と、収束判定手段とを含む言語モデル学習装置における言語モデル学習方法であって、前記言語モデル学習装置は、前記識別モデル学習手段によって、文字列又は記号列における隣接する文字または記号の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率を用いて、文字列又は記号列における分割単位の区切り目を推定する識別モデルのパラメータを、文字列又は記号列に分割単位の区切り目が付与されたデータを示す教師ありデータに基づいて学習するステップと、前記生成モデル学習手段によって、予め定められた前記分割単位を条件に、予め定められた後続の分割単位の候補が出現する確率を示す条件付確率を用いて、文字列又は記号列における分割単位の区切り目を推定する生成モデルのパラメータを、文字列又は記号列を示す教師なしデータに基づいて学習するステップと、前記識別モデル更新手段によって、前記生成モデルの前記条件付き確率に基づいて前記同時確率を算出し、算出した前記同時確率と対応する前記識別モデルの前記同時確率とを用いて前記分割単位の区切り目を推定する第１の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新するステップと、前記生成モデル更新手段によって、前記識別モデルの前記同時確率に基づいて前記条件付き確率を算出し、算出した前記条件付き確率と対応する前記生成モデルの前記条件付き確率とを用いて前記分割単位の区切り目を推定する第２の統合モデルのパラメータを、前記教師なしデータに基づいて学習して、前記生成モデルのパラメータを更新するステップと、前記収束判定手段によって、前記識別モデル更新部による更新と前記生成モデル更新部による更新とを交互に繰り返して、所定の収束条件を満たしたときに、その時点の前記識別モデルのパラメータ及び前記生成モデルのパラメータを出力するステップと、を含んで実行することを特徴とする。
【００１５】
第１の発明に係る言語モデル学習装置及び第２の発明に係る言語モデル学習方法によれば、識別モデル学習手段によって、文字列又は記号列における隣接する文字または記号の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率を用いて、文字列又は記号列における分割単位の区切り目を推定する識別モデルのパラメータを、文字列又は記号列に分割単位の区切り目が付与されたデータを示す教師ありデータに基づいて学習する。生成モデル学習手段によって、予め定められた前記分割単位を条件に、予め定められた後続の分割単位の候補が出現する確率を示す条件付確率を用いて、文字列又は記号列における分割単位の区切り目を推定する生成モデルのパラメータを、文字列又は記号列を示す教師なしデータに基づいて学習する。
【００１６】
そして、識別モデル更新手段によって、前記生成モデルの前記条件付き確率に基づいて前記同時確率を算出し、算出した前記同時確率と対応する前記識別モデルの前記同時確率とを用いて前記分割単位の区切り目を推定する第１の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新する。また、生成モデル更新手段によって、前記識別モデルの前記同時確率に基づいて前記条件付き確率を算出し、算出した前記条件付き確率と対応する前記生成モデルの前記条件付き確率とを用いて前記分割単位の区切り目を推定する第２の統合モデルのパラメータを、前記教師なしデータに基づいて学習して、前記生成モデルのパラメータを更新する。
【００１７】
そして、収束判定手段によって、前記識別モデル更新部による更新と前記生成モデル更新部による更新とを交互に繰り返して、所定の収束条件を満たしたときに、その時点の前記識別モデルのパラメータ及び前記生成モデルのパラメータを出力する。
【００１８】
このように、生成モデルの条件付き確率に基づく同時確率と識別モデルの同時確率とを用いた第１の統合モデルの、教師ありデータに基づく学習と、識別モデルの同時確率に基づく条件付き確率と生成モデルの条件付き確率とを用いた第２の統合モデルの、教師なしデータに基づく学習とを交互に繰り返すことにより、文字列又は記号列を高精度に分割するための言語モデルを学習することができる。
【００１９】
第１の発明に係る前記識別モデル更新手段及び第２の発明に係る前記識別モデルを更新するステップは、前記識別モデルにおける前記同時確率の各々に対して、前記同時確率に対応する前記生成モデルの前記条件付確率の各々を足し合わせて正規化して前記同時確率を算出して、前記第１の統合モデルを求め、前記第１の統合モデルのパラメータを、前記教師ありデータに基づいて学習して、前記識別モデルのパラメータを更新するようにすることができる。
【００２０】
第１の発明及び第２の発明に係る前記第１の統合モデルは、前記算出した同時確率と対応する前記識別モデルの前記同時確率と統合に関する重みとを用いて前記分割単位の区切り目を推定するモデルであり、前記第２の統合モデルは、前記算出した条件付き確率と対応する前記生成モデルの前記条件付き確率と前記統合の重みとを用いて前記分割単位の区切り目を推定するモデルであり、前記識別モデル更新手段及び前記識別モデルのパラメータを更新するステップは、前記教師ありデータに基づいて、前記第１の統合モデルのパラメータ及び前記統合の重みを学習するようにすることができる。
【００２１】
第１の発明及び第２の発明に係る前記識別モデル及び前記第１の統合モデルを、マルコフモデルとし、前記生成モデル及び前記第２の統合モデルを、セミマルコフモデルとすることができる。
【００２２】
第３の発明に係る言語解析装置は、上記第１の発明に係る言語モデル学習装置によって出力された前記識別モデルのパラメータ及び前記生成モデルのパラメータを記憶する記憶手段と、前記記憶手段に記憶された前記識別モデルのパラメータ及び前記生成モデルのパラメータに基づいて、入力された文字列又は記号列における分割単位の区切り目を解析する言語解析手段と、を含んで構成されている。
【００２３】
第３の発明に係る言語解析装置によれば、記憶手段が、言語モデル学習装置によって出力された前記識別モデルのパラメータ及び前記生成モデルのパラメータを記憶する。言語解析手段によって、前記記憶手段に記憶された前記識別モデルのパラメータ又は前記生成モデルのパラメータに基づいて、入力された文字列又は記号列における分割単位の区切り目を解析する。これによって、文字列又は記号列を高精度に分割することができる。
【００２４】
第４の発明に係るプログラムは、コンピュータを、上記の言語モデル学習装置の各手段、又は上記の言語解析装置の各手段として機能させるためのプログラムである。
【発明の効果】
【００２５】
以上説明したように、本発明の言語モデル学習装置、言語モデル学習方法、言語解析装置、及びプログラムによれば、生成モデルの条件付き確率に基づく同時確率と識別モデルの同時確率とを用いた第１の統合モデルの、教師ありデータに基づく学習と、識別モデルの同時確率に基づく条件付き確率と生成モデルの条件付き確率とを用いた第２の統合モデルの、教師なしデータに基づく学習とを交互に繰り返すことにより、文字列又は記号列を高精度に分割するための言語モデルを学習することができる、という効果が得られる。
【図面の簡単な説明】
【００２６】
【図１】ＣＲＦのグラフィカルモデルを示す図である。
【図２】ＮＰＹＬＭのグラフィカルモデルを示す図である。
【図３】（Ａ）ＣＲＦのグラフィカルモデルにおけるエッジを説明するための図、及び（Ｂ）ＮＰＹＬＭのグラフィカルモデルにおける対応するエッジを説明するための図である。
【図４】（Ａ）ＮＰＹＬＭのグラフィカルモデルにおけるエッジを説明するための図、及び（Ｂ）ＣＲＦのグラフィカルモデルにおける対応するパスを説明するための図である。
【図５】本発明の第１の実施の形態に係る言語モデル学習装置の構成を示す概略図である。
【図６】本発明の第１の実施の形態に係る言語モデル学習装置における言語モデル学習処理ルーチンの内容を示すフローチャートである。
【図７】本発明の第２の実施の形態に係る言語解析装置の構成を示す概略図である。
【図８】本発明の第２の実施の形態に係る言語解析装置における形態素解析処理ルーチンの内容を示すフローチャートである。
【発明を実施するための形態】
【００２７】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２８】
＜概要＞
まず、本発明で提案する言語モデル学習装置で用いるモデルについて説明する。図１は、一般に識別モデル（マルコフモデル）と呼ばれるモデルの一種であるＣＲＦのグラフィカルモデルを表した図である。「この東京都の」という文字列に対するＣＲＦのグラフィカルモデルを示している。
【００２９】
ＢＯＳは入力文字列の開始を表す記号であり、ＥＯＳは入力文字列の終了を表す記号である。各文字について、それぞれ「０」、「１」という値に対応する２つのノードが用意されており、それらのノードをエッジで接続した形となっている。値「０」は形態素の継続（文字の直前に形態素の区切り目が入らないこと）を表し、値「１」は形態素の始まり（文字の直前に形態素の区切り目が入ること）を表す。１つのエッジが、隣接する文字の各々が形態素の区切り目となる場合又は形態素の区切り目とならない場合を示している。図１の太字のパスは、「こ  の東  京都  の」という形態素の分割に対応している。
【００３０】
ＣＲＦでは、図１の各ノード間を接続するエッジに、以下の（１）式で表される重みが付与されている。
【００３１】
【数１】
0005441937.tif 000002
【００３２】
なお、上記（１）式で表される重みが、ＣＲＦの同時確率に対応している。すなわち、文字列における隣接する文字の各々が、分割単位の区切り目となる確率又は分割単位の区切り目とならない確率を示す同時確率に対応している。
【００３３】
また、ＢＯＳに対応するノードからＥＯＳに対応するノードまでの各パスｙ（各パスは、取り得る形態素分割に対応する）に対して、ｙの入力文字列ｘに対する条件付き確率ｐDISC（ｙ|ｘ）を下記の（２）式により記述する。
【００３４】
【数２】
0005441937.tif 000003
【００３５】
ここで、Λ＝（λ１，λ２，・・・，λＫ）は識別モデル（ＣＲＦ）のパラメータであり、ｘは入力系列（文字列）である。ｙｔは状態ｔのラベル、つまり、ここでは１か０の値をとるものであり、t番目の文字が形態素の始まりの場合に１、形態素の途中（継続）の場合に０をとる。ｆｋ（ｙｔ，ｙｔ−１，ｘ）は、素性関数である。例えば「この東京都の」という文で、ｔ＝３のとき、「東」の文字は「東京都」という単語の始まりなのでｙ3は１になるべきであるが、そのノードにおける確率が、入力文字列ｘに対する条件付き確率として以下の（３）式で表わされる。
【００３６】
【数３】
0005441937.tif 000004
【００３７】
つまり、ｆｋ（・）は、括弧内の条件（ｙｔとｙｔ−１とｘに関するルール）が成り立つときに１を返し、そうでない場合に０を返す関数である。ここで、ptは文字xtの品詞を表す。素性関数として何を用いるかは、予め設定しておくものとし、素性関数の総数はＫ個である。
【００３８】
ＣＲＦのパラメータΛ＝（λ１，λ２，・・・，λＫ）は、素性関数の重みである。ＣＲＦでは、教師ありデータを用いて、ｐ（ｙ｜ｘ）の値が正解データと近くなるように、各素性関数の重みΛを学習していく。上記（３）式の「この東京都の」という文字列の例では、前の文字が「の」で今の文字が「東」のとき、「東」から形態素が始まる可能性はかなり高いので、λ3はかなり大きい値になるように学習される。一方、「の」と「東」が一つの形態素となる（「の」に継続して「東」が現れる）可能性はほとんどないため、「の」と「東」が一つの形態素となることを示す素性関数ｆｊに対する重みλｊの値は小さな数（大きな負の数）になるように学習される。学習結果として、確率ｐ（ｙ3＝１|ｘ）の値は非常に大きくなり、確率ｐ（ｙ3＝０|ｘ）の値は非常に小さな値となる、という仕組みになっている。
【００３９】
また、上記（２）式では、エッジの重みだけを考慮した条件付き確率を記載したが、ＣＲＦの学習の際には、ノードの重みも考慮する必要があり、簡単のため、その記載を省略している。なお、ノードの重みｆ（ｙt，ｘ）は、上記（３）式で表されるノードの確率に基づいて求められる。
【００４０】
未知の入力文字列ｘに対して形態素解析を行う際には、学習された素性関数の重みΛ＝（λ１，λ２，・・・，λＫ）を用いて、未知の入力文字列ｘが入力されたときのｐ（ｙ｜ｘ）の値が最も大きくなるような形態素分割＾ｙ、つまり、以下の（４）式を満たす^ｙを形態素解析結果として求める。
【００４１】
【数４】
0005441937.tif 000005
【００４２】
ここで、ｙ1,ｙ2, …は取り得る形態素分割の候補である。
【００４３】
次に、図２は、生成モデルと呼ばれるモデルの一種であるＮＰＹＬＭのグラフィカルモデルを表した図である。「この東京都の」という文字列に対するＮＰＹＬＭのグラフィカルモデルを示している。
【００４４】
ＮＰＹＬＭは、まず文字ｎ−ｇｒａｍによって単語が無限に生成され、それを単語ｎ−ｇｒａｍによって組み合わせることで文字列が生成される、という階層構造に基づいて構成されている。
【００４５】
図２の各ノードは、文字ｎ−ｇｒａｍに対応している。例えば、文字「の」の下にある６つのノードは、上から順に「の」、「都の」、「京都の」、「東京都の」、「の東京都の」、「この東京都の」のように、１−ｇｒａｍ、２−ｇｒａｍ、３−ｇｒａｍ、…、６−ｇｒａｍに対応する文字列を表す。図２の太字のパスは、「こ  の東  京都  の」という形態素の分割を表す。各エッジには、ある単語を条件に後続の単語の候補が出現する条件付確率が、エッジの重みとして与えられる。
【００４６】
ＮＰＹＬＭに基づく単語分割では、教師なしデータの各文（文字列）の集合Ｘ＝｛ｘ1,ｘ2,…,ｘN｝に対して、以下の（５）式で表わされる確率を最大にするような、各文字列ｘiの単語分割ｗ1...ｗT を求める。
【００４７】
【数５】
0005441937.tif 000006
【００４８】
ここで、上記（６）式における条件付確率 ｐ（ｗt|ｗ1,...,ｗt-1）は、以下の（７）式で表される階層Pitman-Yor過程による確率で計算される。
【００４９】
【数６】
0005441937.tif 000007
【００５０】
ここで、ｈ＝ｗ１ｗ２…ｗｉ−１、ｈ´＝ｗ１ｗ２…ｗｉ−２である。また、ｃ（ｗｉ｜ｗ１ｗ２…ｗｉ−１）はｎ−ｇｒａｍの頻度、つまり、入力文において単語列ｗ１ｗ２…ｗｉ−１ｗｉが登場する回数である。ｐ（ｗｉ｜ｈ´）は、（ｎ−１）−ｇｒａｍ確率であり、ｔhwi、ｃ（ｈ）は、以下の（８）式で表わされる。
【００５１】
【数７】
0005441937.tif 000008
【００５２】
ただし、ｈがすでに空文脈であった場合にはｈ’は存在しないので、その場合のｐ（ｗ|ｈ’）は、単語ｗをなす文字列ｗ＝ｃ1ｃ2...ｃm に対して、以下の（９）式で表わされる確率によって計算される。
【００５３】
【数８】
0005441937.tif 000009
【００５４】
これにより、あらゆる可能な単語分割に対して、適切な確率を与えることができる。
【００５５】
各文字列ｘiの単語分割を求めるためには、上記（５）式で表わされる確率を最大化するようなパラメータｄ，θ，ｔｈwｉを、マルコフ連鎖モンテカルロ法（ＭＣＭＣ法）等を用いて学習すればよい。（詳細は非特許文献４を参照）。
【００５６】
次に、ＣＲＦとＮＰＹＬＭを統合して学習する原理について説明する。
【００５７】
本実施の形態では、教師ありデータを用いた学習に対してはＣＲＦを採用し、教師なしデータを用いた学習に対してはＮＰＹＬＭというＣＲＦとは構造の異なるグラフィカルモデルを採用し、これらを統合した統合モデルを作成して、学習を行う。
【００５８】
ＣＲＦはパラメータ数が少ないので、少ないメモリ消費量で高速に学習することができる。ただし、このままではＮＰＹＬＭとはグラフィカルモデルの構造が異なり、統合できないので、学習したＣＲＦのパラメータを用いてＮＰＹＬＭと同じグラフィカルモデル（Ｓｅｍｉ−Ｍａｒｋｏｖ  ＣＲＦ）に変換してから統合モデルを作成し、学習を行う。また逆に、ＮＰＹＬＭのパラメータをＣＲＦのパラメータに変換してから統合モデルを作成し、学習を行う。この二つの学習を交互に行うことで、統合的にモデル全体を学習していく。この変換は、Ｓｅｍｉ−Ｍａｒｋｏｖ  ＣＲＦのパラメータを直接学習するよりも格段に効率的に行うことができ、高精度であるので、結果として学習処理全体を効率化、高精度化することができる。なお、Ｓｅｍｉ−Ｍａｒｋｏｖ  ＣＲＦは、非特許文献６（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.）に記載のモデルと同様であるため、詳細な説明を省略する。
【００５９】
ここで、ＮＰＹＬＭをＣＲＦに変換してから統合モデルを作成する方法について説明する。
【００６０】
本実施の形態では、ＮＰＹＬＭのモデルをＣＲＦと同じグラフィカルモデルに変換した上で、統合モデルを作成する。
【００６１】
まず、以下の手順で、ＮＰＹＬＭモデルをＣＲＦと同じグラフィカルモデルに変換する。
【００６２】
第１ステップとして、ＣＲＦにおける文字ｃｉとｃｉ＋１との間のパスを、０→０、０→１、１→０、１→１の４通りに分ける。
【００６３】
第２ステップとして、それぞれのパスにおいて、対応するＮＰＹＬＭのパスに相当する言語モデル確率（重み）を足し合わせ、確率となるよう正規化した値ｐ（ｙi+1|ｙi）を算出し、これをＣＲＦの対応するパスの重みに加える。
【００６４】
例として、図３（Ａ）の太字で示すエッジの重みを求める場合を説明する。この太字のエッジは、ＣＲＦにおける「京」と「都」という文字の間の１→０を結ぶエッジを示している。
【００６５】
１→０の場合は、「京」から単語が始まり、続く「都」という文字が単語の内部であることを意味するので、ＮＰＹＬＭのうち「京都」から始まっている形態素に相当するノード、つまり、図３（Ｂ）で色づけされているノード（「京都」、「京都の」）に注目する。これらのノードに入ってくるパス（図３（Ｂ）の太字の矢印）が、ＮＰＹＬＭにおける対応するパスとなるので、これらのパスの言語モデル確率（パスにおける各エッジの確率）を足し合わせ、確率となるよう正規化して対数を取った値ｌｏｇ  ｐ（ｙt|ｙt-1,ｘ）を、ＣＲＦに変換したときの当該パスの重みとする。
【００６６】
上記の第１ステップ及び第２ステップにより、ＮＰＹＬＭがＣＲＦに変換される。そして、ＮＰＹＬＭから変換したＣＲＦの各エッジの重みと、更新前のＣＲＦの対応するエッジの重みを足し合わせることで、第１の統合モデルを作成する。第１の統合モデルは以下の（１０）式で表される。以下、統合モデルの確率をｐ*（）で表記する。
【００６７】
【数９】
0005441937.tif 000010
【００６８】
上記（１０）式における右辺のｅｘｐ関数の第２項がＣＲＦにおけるエッジの重みであり、第１項のｌｏｇ  ｐ（ｗt|ｗt-1）がＮＰＹＬＭをＣＲＦと同じグラフィカルモデルに変換したモデルにおける対応するエッジの重みである。また、λ０は統合重みであり、ＣＲＦ（あるいはｓｅｍｉ−Ｍａｒｋｏｖ  ＣＲＦ）とＮＰＹＬＭのそれぞれから得られた確率（重み）をどのくらいの比率で採用するかを決める重みである。
【００６９】
第１の統合モデルの学習では、教師ありデータの各文ｘに対して上記（１０）式で算出される確率を掛け合わせた値が最大化するように、ＣＲＦのパラメータΛと統合重みλ０を更新する。なお、学習の方法は、非特許文献５に記載の方法を用いればよい。
【００７０】
次に、ＣＲＦをｓｅｍｉ−Ｍａｒｋｏｖ  ＣＲＦに変換してから統合モデルを作成する方法について説明する。
【００７１】
学習済みのＣＲＦのモデルをＮＰＹＬＭと同じグラフィカルモデルであるｓｅｍｉ−Ｍａｒｋｏｖ ＣＲＦに変換した上で、ｓｅｍｉ−Ｍａｒｋｏｖ ＣＲＦとＮＰＹＬＭを統合したモデルを構築する。
【００７２】
具体的には、ｓｅｍｉ−Ｍａｒｋｏｖ  ＣＲＦの各エッジの重み（言語モデル確率）を、ＣＲＦにおける対応する各エッジに付与された素性関数とその重みの積を足し合わせた値（上記（１）式）とすることで、ｓｅｍｉ−Ｍａｒｋｏｖ  ＣＲＦを求めることができる。
【００７３】
例えば、図４（Ａ）の太字で示すエッジについて考える。このエッジの重みはｐ（“の東”｜“こ”）であり、“こ”という形態素の後に、“の東”という形態素が続く確率を表す。ｓｅｍｉ−Ｍａｒｋｏｖ  ＣＲＦにおけるこのエッジに対する重みは、図４（Ｂ）の太字で示す上記エッジに対応するパス上の各エッジおよび各ノードにおいて有効な素性関数の重みを足し合わせた値として求めることができる。この値をｃｈａｉｎ（“の東”,”こ”）と定義し、一般に形態素の分割（候補）ｖ,ｗに対して、ｃｈａｉｎ(ｖ,ｗ)と定義する。
【００７４】
そして、ｓｅｍｉ−Ｍａｒｋｏｖ ＣＲＦと更新前のＮＰＹＬＭの対応するエッジの重みを足し合わせたものを、全てのエッジの各々について求めて、第２の統合モデルを作成する。第２の統合モデルにおけるエッジの重みは以下の（１１）式で表わされる。
【００７５】
【数１０】
0005441937.tif 000011
【００７６】
上記（１１）式における右辺のｅｘｐ関数の項が、ＣＲＦを変換したｓｅｍｉ−Ｍａｒｋｏｖ ＣＲＦから求めたエッジの重みであり、ｐ（ｗt|ｗt-1）がＮＰＹＬＭにおける対応するエッジの重みである。
【００７７】
上記の第２の統合モデルの学習では、教師なしデータの各文ｘに対して、以下の（１２）式で表される確率ｐ*（ｘ）を掛け合わせた値が最大化するように、ｌｏｇ  ｐ（ｗt|ｗt-1）に含まれるパラメータｄ，θ，ｔｈｗｉを更新していく。
【００７８】
【数１１】
0005441937.tif 000012
【００７９】
学習の方法としては、非特許文献４に記載された方法を用いればよい。
【００８０】
以上のように、ＣＲＦをｓｅｍｉ−Ｍａｒｋｏｖ  ＣＲＦに変換してから第２の統合モデルを作成し、第２の統合モデルについて学習を行う。
【００８１】
＜システム構成＞
次に、形態素の分割結果が付与された文字列（文）を示す教師ありデータの集合、及び形態素の分割結果が付与されていない文字列（文）を示す教師なしデータの集合である学習データを入力として、言語モデルを学習する言語モデル学習装置に、本発明を適用した場合を例にして、第１の実施の形態を説明する。
【００８２】
図５に示すように、第１の実施の形態に係る言語モデル学習装置は、教師ありデータ及び教師なしデータの入力を受け付ける入力部１と、言語モデルを学習する演算部２と、を備えている。
【００８３】
入力部１は、既知のキーボード、マウス、記憶装置などの入力器により実現される。
【００８４】
演算部２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と、後述する言語モデル学習処理ルーチンを実行するためのプログラムを記憶したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）とを備えたコンピュータで構成され、機能的には次に示すように構成されている。演算部２は、教師ありデータ記憶部２１、教師なしデータ記憶部２２、識別モデルパラメータ学習部２３、生成モデルパラメータ学習部２４、識別モデルパラメータ更新部２５、生成モデルパラメータ更新部２６、収束判定部２７、及び言語モデル記憶部２８を備えている。なお、言語モデル記憶部２８は、記憶手段の一例である。
【００８５】
教師ありデータ記憶部２１は、形態素の分割の区切り目が付与された文字列（文）の集合を教師ありデータとして記憶している。また、教師なしデータ記憶部２２は、形態素の分割の区切り目が付与されていない文字列（文）の集合を教師なしデータとして記憶している。
【００８６】
識別モデルパラメータ学習部２３は、教師ありデータ記憶部２１から教師ありデータの集合を読みこみ、教師ありデータの集合に基づいて、上記（２）式で計算される条件付き確率ｐ（ｙ｜ｘ）を各文ｘについて掛け合わせた値を最大化するようなＣＲＦのパラメータΛ＝（λ１，λ２，・・・，λＫ）を学習する。
【００８７】
生成モデルパラメータ学習部２４は、教師なしデータ記憶部２２から教師なしデータの集合を読みこみ、教師なしデータの集合に基づいて、上記（５）式で計算される確率Ｐ（Ｘ）を最大化するようなＮＰＹＬＭのパラメータΘ＝（ｄ，θ，ｔｈｗ１，ｔｈｗ２，・・・，ｔｈｗＴ）を学習する。
【００８８】
識別モデルパラメータ更新部２５は、生成モデルパラメータ学習部２４で学習したＮＰＹＬＭ、又は生成モデルパラメータ更新部２６で前回更新したＮＰＹＬＭをＣＲＦに変換し、変換したＣＲＦの各エッジの重みと、識別モデルパラメータ学習部２３で学習したＣＲＦ、又は識別モデルパラメータ更新部２５で前回更新したＣＲＦの対応するエッジの重みとを用いて、第１の統合モデルを作成する。識別モデルパラメータ更新部２５は、教師ありデータ記憶部２１から教師ありデータの集合を読みこみ、教師ありデータの集合に基づいて、上記（１０）式で計算される条件付き確率ｐ*（ｙ｜ｘ）を各文ｘについて掛け合わせた値を最大化するような第１の統合モデルのパラメータΛ＝（λ１，λ２，・・・，λＫ）及び統合重みλ０を学習して、ＣＲＦのパラメータΛ及び統合重みλ０を更新する。
【００８９】
生成モデルパラメータ更新部２６は、識別モデルパラメータ更新部２５で更新したＣＲＦをｓｅｍｉ−Ｍａｒｋｏｖ  ＣＲＦに変換し、変換したｓｅｍｉ−Ｍａｒｋｏｖ  ＣＲＦの各エッジの重みと、生成モデルパラメータ学習部２４で学習したＮＰＹＬＭ、又は生成モデルパラメータ更新部２６で前回更新したＮＰＹＬＭの対応するエッジの重みと、識別モデルパラメータ更新部２５で更新した統合重みとを用いて、第２の統合モデルを作成する。生成モデルパラメータ更新部２６は、教師なしデータ記憶部２２から教師なしデータの集合を読みこみ、教師なしデータの集合に基づいて、上記（１２）式で計算される確率ｐ*（ｘ）を各文ｘについて掛け合わせた値を最大化するような第２の統合モデルのパラメータΘ＝（ｄ，θ，ｔｈｗ１，ｔｈｗ２，・・・，ｔｈｗＴ）を学習して、ＮＰＹＬＭのパラメータΘを更新する。
【００９０】
収束判定部２７は、予め定めた収束条件を満たしたか否かを判定し、収束条件を満たすまで、識別モデルパラメータ更新部２５による更新及び生成モデルパラメータ更新部２６による更新を繰り返す。
【００９１】
収束判定部２７は、収束したと判定した場合には、最後に更新されたＣＲＦのパラメータΛの値、ＮＹＰＬＭの各パラメータΘの値、及び統合重みλ0の値を、言語モデル記憶部２８に格納する。
【００９２】
収束判定部２７において収束したか否かを判定する方法としては、識別モデルパラメータ更新部２５及び生成モデルパラメータ更新部２６における更新前と更新後のパラメータΛ，Θの差分が所定の閾値以下となった場合に、収束したと判定する。また、識別モデルパラメータ更新部２５及び生成モデルパラメータ更新部２６の繰り返し回数をカウントしておき、所定の繰り返し回数を超えたら収束したと判定して処理を終了するようにしても良い。
【００９３】
最終的なパラメータΛ，Θ、λ0の学習結果が、言語モデル記憶部２８に記憶されている。
【００９４】
＜言語モデル学習装置の作用＞
次に、第１の実施の形態に係る言語モデル学習装置の作用について説明する。形態素の分割の区切り目が付与された文字列（文）を示す教師ありデータの集合が入力部１を介して言語モデル学習装置に入力され、教師ありデータ記憶部２１に格納される。また、形態素の分割の区切り目が付与されていない文字列（文）を示す教師なしデータの集合が入力部１を介して言語モデル学習装置に入力され、教師なしデータ記憶部２２に格納される。
【００９５】
そして、言語モデル学習装置の演算部２において、図６に示す言語モデル学習処理ルーチンが実行される。
【００９６】
まず、ステップ１００において、教師ありデータ記憶部２１に記憶された教師ありデータの集合を読み込み、取得する。そして、ステップ１０２において、上記ステップ１００で読み込んだ教師ありデータの集合を用いて、上記（２）式に従って、ＣＲＦのパラメータを学習する。
【００９７】
次のステップ１０４では、教師なしデータ記憶部２２に記憶された教師なしデータの集合を読み込み、取得する。そして、ステップ１０６において、上記ステップ１０４で読み込んだ教師なしデータの集合を用いて、上記（５）式に従って、ＮＰＹＬＭのパラメータを学習する。
【００９８】
ステップ１０８では、上記ステップ１０６で学習したＮＰＹＬＭ、又は後述するステップ１１４で前回更新したＮＰＹＬＭをＣＲＦに変換し、変換したＣＲＦの各エッジの重みと、上記ステップ１０２で学習したＣＲＦ、又は後述するステップ１１０で前回更新したＣＲＦの対応するエッジの重みとを用いて、第１の統合モデルを作成する。
【００９９】
そして、ステップ１１０において、上記ステップ１００で読み込んだ教師ありデータの集合を用いて、上記（１０）式に従って、第１の統合モデルのパラメータ及び統合重みを学習して、ＣＲＦのパラメータ及び統合重みを更新する。
【０１００】
次のステップ１１２では、上記ステップ１１０で更新したＣＲＦをｓｅｍｉ−Ｍａｒｋｏｖ  ＣＲＦに変換し、変換したｓｅｍｉ−Ｍａｒｋｏｖ  ＣＲＦの各エッジの重みと、上記ステップ１０６で学習したＮＰＹＬＭ、又は後述するステップ１１４で前回更新したＮＰＹＬＭの対応するエッジの重みと、上記ステップ１１０で更新した統合重みとを用いて、第２の統合モデルを作成する。
【０１０１】
そして、ステップ１１４において、上記ステップ１０４で読み込んだ教師なしデータの集合を用いて、上記（１２）式に従って、第２の統合モデルのパラメータを学習して、ＮＰＹＬＭのパラメータを更新する。
【０１０２】
ステップ１１６では、所定の収束条件として、ＣＲＦのパラメータ及びＮＰＹＬＭのパラメータに関する更新前と更新後との差分が、閾値以下になったか否かを判定し、パラメータの差分が、閾値より大きい場合には、所定の収束条件が成立していないと判断して、上記ステップ１０８へ戻り、上記ステップ１０８〜ステップ１１４の処理を繰り返す。一方、パラメータの差分が、閾値以下である場合には、所定の収束条件が成立したと判断し、ステップ１１８で、上記ステップ１１０で最終的に更新されたＣＲＦのパラメータ、統合重み、及び上記ステップ１１４で最終的に更新されたＮＰＹＬＭのパラメータを言語モデル記憶部２８に格納して、言語モデル学習処理ルーチンを終了する。
【０１０３】
以上説明したように、第１の実施の形態に係る言語モデル学習装置によれば、ＮＰＹＬＭの各エッジの重みを変換したＣＲＦの各エッジの重み、及びＣＲＦの各エッジの重みを用いて作成した第１の統合モデルの、教師ありデータに基づく学習と、ＣＲＦの各エッジの重みを変換したＳｅｍｉ−Ｍａｒｋｏｖ ＣＲＦの各エッジの重み、及びＮＰＹＬＭの各エッジの重みを用いて作成した第２の統合モデルの、教師なしデータに基づく学習と、を交互に繰り返すことにより、メモリの消費量を抑えて、文字列を高精度に形態素解析するための言語モデルを学習することができる。
【０１０４】
また、教師ありデータに基づく学習と教師なしデータに基づく学習とで、構造の異なるグラフィカルモデルを採用し、これらのグラフィカルモデル間で情報を交換するように統合モデルを作成することで、半教師あり学習を行うことができる。これによって、教師ありデータのみの学習、あるいは、教師なしデータのみの学習よりも高精度な形態素解析のための言語モデルを学習することができる。
【０１０５】
また、教師ありデータに基づく学習では、マルコフモデルの一種であるＣＲＦを採用することにより、学習の際のメモリ消費量が少なくすることができるため、効率的に言語モデルを学習することができる。
【０１０６】
また、教師ありデータの数は少なくて良いため、教師ありデータの作成コストやメンテナンスコストを削減することができる。
【０１０７】
次に、第２の実施の形態について説明する。第２の実施の形態では、入力された文字列について形態素解析を行う言語解析装置に本発明を適用した場合を例に説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【０１０８】
第２の実施の形態では、学習されたモデルパラメータを用いて、入力された文字列に対して形態素解析を行っている点が、第１の実施の形態と異なっている。
【０１０９】
図７に示すように、第２の実施の形態に係る言語解析装置は、入力部１と、言語モデルを学習すると共に、文字列に対して形態素解析を行う演算部２０２と、形態素解析の結果を出力する出力部２０３と、を備えている。
【０１１０】
演算部２０２は、ＣＰＵと、ＲＡＭと、言語モデル学習処理ルーチン及び後述する形態素解析処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。演算部２０２は、教師ありデータ記憶部２１、教師なしデータ記憶部２２、識別モデルパラメータ学習部２３、生成モデルパラメータ学習部２４、識別モデルパラメータ更新部２５、生成モデルパラメータ更新部２６、収束判定部２７、言語モデル記憶部２８、及び形態素解析部２３０を備えている。なお、言語モデル記憶部２８が、記憶手段の一例である。
【０１１１】
形態素解析部２３０は、言語モデル記憶部２８に記憶されたＣＲＦのパラメータ及びＮＰＹＬＭのパラメータを用いて、上記の第１の統合モデル又は第２の統合モデルを作成し、入力された文字列に対して形態素解析を行う。
【０１１２】
例えば、言語モデル記憶部２８に記憶されたＮＰＹＬＭをＣＲＦに変換し、変換したＣＲＦの各エッジの重みと、言語モデル記憶部２８に記憶されたＣＲＦの対応するエッジの重みとを用いて、第１の統合モデルを作成する。形態素解析部２３０は、第１の統合モデルを用いて、上記（１０）式で計算される条件付き確率ｐ*（ｙ｜ｘ）が最も大きくなるような形態素分割＾y、つまり、上記（４）式と同様の式を満たす^yを形態素解析結果として求める。
【０１１３】
文字列に対する形態素解析の結果が、出力部２０３よりユーザに出力される。
【０１１４】
＜言語解析装置の作用＞
次に、第２の実施の形態に係る言語解析装置の作用について説明する。
【０１１５】
まず、上記第１の実施の形態と同様に、教師ありデータの集合及び教師なしデータの集合が、入力部１を介して言語解析装置に入力され、教師ありデータ記憶部２１及び教師なしデータ記憶部２２に格納される。
【０１１６】
そして、言語解析装置の演算部２０２において、上記図６に示す言語モデル学習処理ルーチンが実行され、各パラメータΛ，Θ、λ0の学習結果が言語モデル記憶部２８に記憶される。
【０１１７】
また、入力部１を介して、言語解析の対象となる文字列（文）を示すデータが言語解析装置に入力されると、演算部２０２において、図８に示す形態素解析処理ルーチンが実行される。
【０１１８】
まず、ステップ２５０において、入力された解析対象の文字列データを取得する。そして、ステップ２５２において、言語モデル記憶部２８から、ＣＲＦのパラメータ、ＮＰＹＬＭのパラメータ、及び統合重みを読みこむ。
【０１１９】
次のステップ２５４では、上記ステップ２５２で読み込んだＮＰＹＬＭをＣＲＦに変換し、変換したＣＲＦの各エッジの重みと、上記ステップ２５２で読み込んだＣＲＦの対応するエッジの重みと、統合重みとを用いて、第１の統合モデルを作成する。
【０１２０】
そして、ステップ２５６において、上記ステップ２５４で作成した第１の統合モデルを用いて、上記ステップ２５０で取得した文字列データに対して、形態素解析を行う。そして、ステップ２５８において、上記ステップ２５６で求められた形態素解析結果を出力部２０３により出力して、形態素解析処理ルーチンを終了する。
【０１２１】
以上説明したように、第２の実施の形態に係る言語解析装置によれば、文字列を高精度に形態素解析するための言語モデルを学習することができるため、入力された文字列に対して高精度に形態素解析を行うことができる。
【０１２２】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１２３】
例えば、日本語テキストの形態素解析のための言語モデルを学習する場合を例に説明したが、これに限定されるものではなく、中国語やタイ語、ヘブライ語など任意の言語に対する形態素解析のための言語モデルを学習するようにしてもよい。
【０１２４】
また、文字列を形態素に分割する形態素解析の場合を例に説明をしたが、これに限定されるものではなく、入力系列ｘ及び出力系列ｙが同様に、ＭａｒｋｏｖモデルとＳｅｍｉ−Ｍａｒｋｏｖモデルの両方で表現できるような離散記号列の分割問題に、上記の実施の形態で説明した手法を適用してもよい。例えばＤＮＡやアミノ酸の系列データの分割のためのモデルや、音符列をフレーズへ分割するためのモデルなどを学習し、適切な分割単位に分割するように解析するようにしてもよい。
【０１２５】
また、第１の統合モデルのパラメータの学習の後、第２の統合モデルの学習を行う場合を例に説明したが、これに限定されるものではなく、第２の統合モデルのパラメータの学習の後に、第１の統合モデルの学習を行うようにしてもよい。
【０１２６】
また、言語モデルとして、ＣＲＦとＮＰＹＬＭを用いた場合を例に説明したが、これに限定されるものではなく、他のマルコフモデル及び他のセミマルコフモデルを用いてもよい。
【０１２７】
また、第２の実施の形態では、第１の統合モデルを作成して、入力された文字列に対する形態素解析を行う場合を例に説明したが、これに限定されるものではなく、第２の統合モデルを作成して、入力された文字列に対して形態素解析を行ってもよい。また、学習されたＣＲＦ又はＮＰＹＬＭを用いて、入力された文字列に対する形態素解析を行ってもよい。
【０１２８】
また、言語モデルの学習と、入力された文字列に対する形態素解析とを１つの装置において行う場合を例に説明したが、これに限定されるものではなく、言語モデルの学習と、入力された文字列に対する形態素解析とを別々の装置で行うようにしてもよい。この場合には、言語モデル学習装置によって学習された言語モデルを言語解析装置へ出力し、言語解析装置の言語モデル記憶部に記憶するようにすればよい。
【０１２９】
また、上述の言語モデル学習装置及び言語解析装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【０１３０】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０１３１】
１     入力部
２     演算部
２１   教師ありデータ記憶部
２２   教師なしデータ記憶部
２３   識別モデルパラメータ学習部
２４   生成モデルパラメータ学習部
２５   識別モデルパラメータ更新部
２６   生成モデルパラメータ更新部
２７   収束判定部
２８   言語モデル記憶部
２０２ 演算部
２０３ 出力部
２３０ 形態素解析部
【図１】
0005441937.tif 000013
【図２】
0005441937.tif 000014
【図３】
0005441937.tif 000015
【図４】
0005441937.tif 000016
【図５】
0005441937.tif 000017
【図６】
0005441937.tif 000018
【図７】
0005441937.tif 000019
【図８】
0005441937.tif 000020