(57)【要約】【課題】  自動的に有効性の高い素性関数を定義し高精度な確率モデルを生成する。【解決手段】  予め蓄積された学習データと、素性関数とを用いて最大エントロピー法による確率モデルの生成を行う確率モデル生成装置において、前記学習データを２つの出力値を持つデータに変換する変換手段と、前記２つの出力値を持つデータに変換された学習データを用いてサポートベクターマシンにより学習し、学習結果として得られるサポートベクターと、各サポートベクターに対応する重みとを取得してモデルを生成するモデル生成手段と、記サポートベクターの属性の組み合わせを生成し、同一となる属性の組み合わせの重みを加算し、加算された重みに基づいて属性の組み合わせを抽出する属性抽出手段と、前記属性抽出手段により得られる属性の組み合わせに基づいて、素性関数を生成する素性関数生成手段とを有することにより、上記課題を解決する。【選択図】        図１
2005092681.tif 000002
【特許請求の範囲】
【請求項１】
予め蓄積された学習データと、素性関数とを用いて最大エントロピー法による確率モデルの生成を行う確率モデル生成装置において、
前記学習データを２つの出力値を持つデータに変換する変換手段と、
前記２つの出力値を持つデータに変換された学習データを用いてサポートベクターマシンにより学習し、学習結果として得られるサポートベクターと各サポートベクターに対応する重みとを取得してモデルを生成するモデル生成手段と、
前記サポートベクターの属性の組み合わせを生成し、同一となる属性の組み合わせの重みを加算し、加算された重みに基づいて属性の組み合わせを抽出する属性抽出手段と、
前記属性抽出手段により得られる属性の組み合わせに基づいて、素性関数を生成する素性関数生成手段とを有することを特徴とする確率モデル生成装置。
【請求項２】
前記属性抽出手段は、
前記サポートベクターマシンで利用するカーネルの次数に基づいて属性の組み合わせを生成し，全てのサポートベクターの重みを加算して、加算値の絶対値が大となる属性の組み合わせを抽出することを特徴とする請求項１に記載の確率モデル生成装置。
【請求項３】
予め蓄積された学習データと、素性関数とを用いて最大エントロピー法による確率モデルの生成を行う処理をコンピュータに実行させるための確率モデル生成プログラムにおいて、
前記学習データを２つの出力値を持つデータに変換する変換処理と、
前記２つの出力値を持つデータに変換された学習データを用いてサポートベクターマシンにより学習し、学習結果として得られるサポートベクターと、各サポートベクターに対応する重みとを取得してモデルを生成するモデル生成処理と、
前記サポートベクターの属性の組み合わせを生成し、同一となる属性の組み合わせの重みを加算し、加算された重みに基づいて属性の組み合わせを抽出する属性抽出処理と、
前記属性抽出処理により得られる属性の組み合わせに基づいて、素性関数を生成する素性関数生成処理とをコンピュータに実行させるための確率モデル生成プログラム。
【請求項４】
前記属性抽出処理は、
前記サポートベクターマシンで利用するカーネルの次数に基づいて属性の組み合わせを生成し，全てのサポートベクターの重みを加算して、加算値の絶対値が大となる属性の組み合わせを抽出することを特徴とする請求項３に記載の確率モデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、確率モデル生成装置及び確率モデル生成プログラムに係り、特に、最大エントロピー法で利用する素性関数を効率的に生成し、高精度な確率モデルを生成するための確率モデル生成装置及び確率モデル生成プログラムに関する。
【背景技術】
【０００２】
従来、統計的な機械学習手法である最大エントロピー法に基づいた確率モデルを構築する場合、制約条件となる素性関数を定義する必要があり、その素性関数を用いて確率モデルが構築される。
【０００３】
ここで、従来の素性関数の定義の方法は、大別すると、人手により属性の組み合わせから素性を作成する方法と、予め素性関数の候補を作成し、作成した候補のうちの１つを追加した際にモデルの対数尤度の変化の大きい素性を採用し、この変化の大きい素性を採用するまでの手順を繰り返し行うことで複数の素性を採用する方法（例えば、非特許文献１参照。）とがある。
【０００４】
また、無効な素性関数を除外して有効な素性関数を選択し、最大エントロピーモデルの生成を行う技術が開示されている（例えば、特許文献１参照。）
【非特許文献１】Ａｄａｍ  Ｌ．Ｂｅｒｇｅｒ，Ｓｔｅｐｈｅｎ  Ａ．Ｄｅｌｌａ  Ｐｉｅｔｒａ,  ａｎｄ  Ｖｉｎｃｅｎｔ  Ｊ．Ｄｅｌｌａ  Ｐｉｅｔｒａ．（１９９６）．  Ａ  Ｍａｘｉｍｕｍ  Ｅｎｔｒｏｐｙ  Ａｐｐｒｏａｃｈ  ｔｏ  Ｎａｔｕｒａｌ  Ｌａｎｇｕａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ．ＣＬ，Ｖｏｌ．２２，Ｎｏ．１，ｐｐ．３９−７１
【特許文献１】特開２００２−３７３１６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、人手による作業では，扱う属性の種類が多くなると有効な素性を網羅して作成することは困難となる。また、素性関数の候補から素性関数を選択する際には計算量が多く効率がよいとは言えない。更に、モデルの対数尤度の変化の大きい素性を採用するという基準で選択した素性関数は，学習データに対して過学習になり易く、学習データに存在していなかった新たなデータ（未知データ）に対して有効ではない素性関数が選択される可能性が高いため、高精度な確率モデルを生成することができない。
【０００６】
本発明は、上述した問題点に鑑みなされたものであり、効率的に素性関数を生成し、その素性関数を利用して最大エントロピー法により高精度な確率モデルを生成するための確率モデル生成装置及び確率モデル生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本件発明は、以下の特徴を有する課題を解決するための手段を採用している。
【０００８】
請求項１に記載された発明は、予め蓄積された学習データと、素性関数とを用いて最大エントロピー法による確率モデルの生成を行う確率モデル生成装置において、前記学習データを２つの出力値を持つデータに変換する変換手段と、前記２つの出力値を持つデータに変換された学習データを用いてサポートベクターマシンにより学習し、学習結果として得られるサポートベクターと、各サポートベクターに対応する重みとを取得してモデルを生成するモデル生成手段と、前記サポートベクターの属性の組み合わせを生成し、同一となる属性の組み合わせの重みを加算し、加算された重みに基づいて属性の組み合わせを抽出する属性抽出手段と、前記属性抽出手段により得られる属性の組み合わせに基づいて、素性関数を生成する素性関数生成手段とを有することを特徴とする。
【０００９】
請求項１記載の発明によれば、属性の組み合わせの重みに基づいて学習データにおける頻度の高い属性の組み合わせを抽出し、抽出された属性の組み合わせより素性関数を生成することで、データ量を削減し効率的に素性関数を生成することができる。また、素性関数を定義する際に２値判別の手法であるサポートベクターマシン（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ：ＳＶＭ）の学習結果を用いることにより、膨大な情報の中から有効性の高い属性の組み合わせを網羅的に選択して、素性関数を生成することができる。これにより、有効性が高い高精度な確率モデルを生成することができる。
【００１０】
請求項２に記載された発明は、前記属性抽出手段は、前記サポートベクターマシンで利用するカーネルの次数に基づいて属性の組み合わせを生成し，全てのサポートベクターの重みを加算して、加算値の絶対値が大となる属性の組み合わせを抽出することを特徴とする。
【００１１】
請求項２記載の発明によれば、学習データにおける頻度の高い属性の組み合わせを効率的に抽出することができる。また、抽出された属性の組み合わせより素性関数を生成することで、データ量を削減し効率的に素性関数を生成することができる。
【００１２】
請求項３に記載された発明は、予め蓄積された学習データと、素性関数とを用いて最大エントロピー法による確率モデルの生成を行う処理をコンピュータに実行させるための確率モデル生成プログラムにおいて、前記学習データを２つの出力値を持つデータに変換する変換処理と、前記２つの出力値を持つデータに変換された学習データを用いてサポートベクターマシンにより学習し、学習結果として得られるサポートベクターと、各サポートベクターに対応する重みとを取得してモデルを生成するモデル生成処理と、前記サポートベクターの属性の組み合わせを生成し、同一となる属性の組み合わせの重みを加算し、加算された重みに基づいて属性の組み合わせを抽出する属性抽出処理と、前記属性抽出処理により得られる属性の組み合わせに基づいて、素性関数を生成する素性関数生成処理とをコンピュータに実行させる。
【００１３】
請求項３記載の発明によれば、属性の組み合わせの重みに基づいて学習データにおける頻度の高い属性の組み合わせを抽出し、抽出された属性の組み合わせより素性関数を生成することで、データ量を削減し効率的に素性関数を生成することができる。また、素性関数を定義する際に２値判別の手法であるサポートベクターマシンの学習結果を用いることにより、膨大な情報の中から有効性の高い属性の組み合わせを網羅的に選択して、素性関数を生成することができる。これにより、有効性が高い高精度な確率モデルを生成することができる。また、実行プログラムをコンピュータにインストールすることにより、容易に確率モデルの生成を実現することができる。
【００１４】
請求項４に記載された発明は、前記属性抽出処理は、前記サポートベクターマシンで利用するカーネルの次数に基づいて属性の組み合わせを生成し，全てのサポートベクターの重みを加算して、加算値の絶対値が大となる属性の組み合わせを抽出することを特徴とする。
【００１５】
請求項４記載の発明によれば、学習データにおける頻度の高い属性の組み合わせを効率的に抽出することができる。また、抽出された属性の組み合わせより素性関数を生成することで、データ量を削減し効率的に素性関数を生成することができる。
【発明の効果】
【００１６】
本発明によれば、自動的に有効性の高い素性関数を生成し、その素性関数を利用して最大エントロピー法により高精度な確率モデルを生成することができる。
【発明を実施するための最良の形態】
【００１７】
＜本発明の概要＞
本発明は、素性関数を定義する際に２値判別の手法であるサポートベクターマシン（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ；ＳＶＭ）の学習結果を用いて、属性の組み合わせである素性関数を生成する。これにより、膨大な情報の中から有効性の高い属性の組み合わせを網羅的に選択して素性関数を生成することができ、より有効性が高い最大エントロピー法に基づいた多値の尤度を計算する確率モデルを構築することができる。
【００１８】
以下に、上記のような特徴を有する本発明における確率モデル生成装置及び確率モデル生成プログラムを好適に実施した形態について、図面を用いて詳細に説明する。なお、本実施例では、具体例として、日本語文における２文節間の係り受けの尤度を求める確率モデルを構築する場合について説明する。
【００１９】
図１は、本発明における確率モデル生成装置のブロック構成の一例を示す図である。図１の確率モデル生成装置１０は、学習データ１１と、素性関数生成部１２と、確率モデル生成部１３とを有するよう構成されている。
【００２０】
まず、素性関数生成部１２は、学習データ１１を入力し、ＳＶＭを用いるために学習データ１１を２値に変換するためのパラメータ１４と、素性関数を生成する上で不要な関数を削除するためのテーブル１５とに基づいて素性関数１６を生成する。なお、素性関数生成部１２についての詳細は後述する。
【００２１】
次に、確率モデル生成部１３は、素性関数生成部１２にて生成された素性関数１６と、学習データ１１とに基づいて確率モデル１７を生成する。
【００２２】
ここで、素性関数生成部１２の機能構成について図を用いて説明する。図２は、本発明における素性関数生成部の機能構成の一例を示す図である。また、図３は、素性関数生成部の各機能構成部にて生成されるデータ例を示す図である。なお、図３では、ある文節における「品詞」や「時制」、「意味」等の属性ｘについて、夫々の属性を定量的に表現した特徴量と共に示されている。また、ｙは、その属性の夫々の特徴量の組み合わせに対応して出力される出力値又は分類されるクラスを示している。
【００２３】
図２に示す素性関数生成部１２は、２つの出力値を持つデータへの変換手段２１と、ＳＶＭモデル生成手段２２と、属性組み合わせ抽出手段２３と、不要組み合わせ削除手段２４と、素性関数手段２５とを有するよう構成されている。
【００２４】
変換手段２１は、学習データ１１を入力し、パラメータの条件に併せて２値データに変換する。具体的には、学習データ１１には、複数の利用する係り受けの正解が付与されており、変換手段２１は、入力した学習データ１１から、「係り元文節」と、その「係り元文節」が係る「係り先文節」の候補との２文節の組み合わせを生成する。これらのデータは、係り受けの正解データから「係り受けの関係にある。（係る）」、「係り先文節候補の後にある。（候補後ろ）」、「係り先文節候補の前に係る。（候補手前）」の３つのクラスに分類することができる。
【００２５】
ここで、変換手段２１は、「係り受け関係にある。」と、「係り先文節候補の後に係る。」という２つのクラスを持つデータと、「係り受け関係にある。」と、「係り先文節候補の前に係る。」という２つのクラスを持つデータの２種類のデータに分割し、その２種類のデータを２値データとして出力する。なお、２種類に分割する方法は、学習データ１１が有するデータ内容等に応じて上述したような２値分割条件等がパラメータ１４に設定されており、変換手段２１は、そのパラメータ情報に基づいて２値データに変換する。
【００２６】
なお、以下の説明では、「係り受け関係にある。」と、「係り先文節候補の後に係る。」という２つのクラスを持つデータを「＋（正）」とし、「係り受け関係にある。」と、「係り先文節候補の前に係る。」という２つのクラスを持つデータを「−（負）」として２値を表現する。
【００２７】
例えば、学習データ１１には、図３（ａ）に示すような属性ｘと、その属性の特徴量の組み合わせに対応する出力値ｙとが予め蓄積されている。変換手段２１は、図３（ａ）に示すような学習データを上述した内容にしたがって、属性ｘの組み合わせ内容とパラメータ情報とにより２つのクラスに分類し、図３（ｂ）に示すような２値のデータを作成する。ここで、図３（ｂ）中の（＋１）は、「係り受け関係にある。」と、「係り先文節候補の後に係る。」という２つのクラスを持つデータ、つまり「＋」のデータであることを示している。つまり、「ｘ１＝０，ｘ２＝０，ｘ３＝１，ｘ４＝０，・・・」であるｘの属性に対するクラスｙは、「＋」であることを示している。このようにして、変換手段２１は、変換したデータはＳＶＭモデル生成手段２２に出力する。
【００２８】
次に、ＳＶＭモデル生成手段２２は、上述の「＋」と「−」の２つのデータを用いてＳＶＭにより学習を行う。この学習結果として、ＳＶ（サポートベクター）と夫々のＳＶに対する重みの値が得られる。ＳＶＭモデル生成手段２２は、ＳＶＭで学習して図３（ｃ）に示すようなＳＶＭのモデルを生成し、属性組み合わせ抽出手段２３に出力する。なお、図３（ｃ）において、αは、ｘの属性における重みを示している。例えば、図３（ｃ）において、「ｘ１＝０，ｘ２＝０，ｘ３＝１，ｘ４＝０，・・・」であるｘの属性に関する重みαは０．０１であることを示している。なお、この重みはＳＶにより生成される。
【００２９】
ここで、上述したＳＶＭについて具体的に説明する。ＳＶＭの学習結果のＳＶをｘｉ＝（ｘ１ｉ，ｘ２ｉ，ｘ３ｉ），ｉ∈｛１，２，・・・，ｋ｝とし、その重みをαｉｙｉとすると、以下に示す（１）式により、未知データの属性ベクトルの属性ベクトルｘｔ＝（ｘｔ１，ｘｔ２，ｘｔ３）が属するクラスｙ∈｛−，＋｝を判別する。
【００３０】
【数１】
2005092681.tif 000003
なお、Ｋ（ｘｉ，ｘｔ）は、カーネル関数と呼ばれる。また、カーネル関数は、Ｋ（ｘｉ，ｘｔ）以外の関数を用いることもできる。
【００３１】
ここで、例えば、ＳＶの数（ｋ）＝２とし、多項式関数をカーネル関数とした場合について説明する。この場合には、
Ｋ（ｘｉ，ｘｔ）＝（ｓ（ｘｉ，ｘｔ）＋ｃ）ｄ  ・・・（２）
となる。ここで、ｄ＝２、ｓ＝ｃ＝１とすると、
Ｋ（ｘｉ，ｘｔ）＝（ｘｉ・ｘｔ＋１）２  ・・・（３）
となり（３）式を展開すると、
【００３２】
【数２】
2005092681.tif 000004
となり、ｋ＝２の場合は、（４）式を（１）式に代入して、
【００３３】
【数３】
2005092681.tif 000005
となる。ここで、ｚｊ∈｛１，０｝，ｘｊ∈｛１，０｝の場合を考えると、各項において全ての属性が１の場合以外は０になるため、項内の全ての属性の値が１である項のみがｙの値に影響を及ぼす。
【００３４】
ここで、ｘｔｊの値が１の場合にｙの値に影響を及ぼすｘｊｉの組み合わせを考える。上述の（５）式のｘｔｊの値を全て１とすると、（５）式のｓｇｎの内部は、（６）式になる。
【００３５】
【数４】
2005092681.tif 000006
上述の（６）式を展開すると（７）式、（８）式のようになる。
【００３６】
【数５】
2005092681.tif 000007
ここで、ｘ１１＝ｘ２１＝ｘ２２＝ｘ３２＝１とし、他の属性は０であると仮定すると、（８）式は、
【００３７】
【数６】
2005092681.tif 000008
となる。
【００３８】
つまり、（９）式の値に影響を及ぼすｘｉｊの組み合わせとして、ｘ１１ｘ２１の組み合わせと、ｘ２２ｘ３２の組み合わせが抽出される。また、その影響の大きさは、ｘ１１ｘ２１の組み合わせは２α１ｙ１となり、ｘ２２ｘ３２の組み合わせは２α２ｙ２となる。ここで、これらの値が正で絶対値が大きいものはｙを＋（正）にする影響が大きく、負で絶対値が大きいものはｙを−（負）にする影響が大きい。
【００３９】
このように、カーネル関数を展開して属性の組み合わせを生成し、それらの属性の組み合わせに対する全てのＳＶの重みを加算する。この加算したＳＶの重みの値により、属性の組み合わせに順位を付与することができる。なお、この場合は、重みの値の大きい順に順位付けされる。
【００４０】
なお、上述では、カーネル関数の次数が２次の場合について説明したが、３次以上の次数を有する場合は、カーネルの式を展開すると次数に応じて３つ以上の属性の組み合わせを生成することができる。
【００４１】
属性組み合わせ抽出手段２３は、上述したように各属性の組み合わせの中から順位付けされた属性の組み合わせを判別に影響の大きい属性の組み合わせとして抽出する。つまり、ＳＶＭで得られた結果から、ＳＶＭで利用したカーネル関数の式を展開し、同一の属性の組み合わせを示す項に対して全てのＳＶの重みを加算する。ＳＶの重みを加算することにより、図３（ｄ）に示すような属性の組み合わせの例が生成される。例えば、図３（ｄ）において、ｘ３＝１であり、かつｘ１０＝１である加算されたＳＶの重みαは、０．０１であることを示している。そして、属性組み合わせ抽出手段２３は、それらの組み合わせの中で重みの絶対値の大きいものを抽出する。抽出した属性の組合せは、不要組み合わせ削除手段２４に出力する。
【００４２】
不要組み合わせ削除手段２４は、属性組み合わせ抽出手段２３により抽出される組み合わせ情報から不要な組み合わせを削除する。なお、削除する際には、予め不要なデータの情報が蓄積されているテーブル１５を参照し、有効性の低い属性の組み合わせを不要な組み合わせとして削除する。なお、ここでは、上述に記載のｘ１１ｘ２１の組み合わせと、ｘ２２ｘ３２の組み合わせは、どちらも削除されていないものとする。不要組み合わせ削除手段２４は、削除されていない属性の組み合わせを素性関数生成手段２５に出力する。
【００４３】
次に、素性関数生成手段２５は、入力した属性の組み合わせから素性関数を生成する。例えば、２α１ｙ１＝１．１であり、２α２ｙ２＝−０．６である場合、つまり、α１ｙ１が正（＋）であり、α２ｙ２が負（−）である場合、最大エントロピー法で用いる素性関数を、
【００４４】
【数７】
2005092681.tif 000009
のように定義することができる。
【００４５】
（１０）式では、例えば、ｆ１（ｘ，ｙ）において、ｘ１１＝１，ｘ２１＝１、ｙ＝‘＋’である場合に１とし、それ以外の場合は０とすることを示している。素性関数生成手段２５は、このように素性関数１６を生成して出力する。
【００４６】
このようにして、図３（ｅ）に示すような素性関数が定義される。例えば、ｘ３＝１、ｘ１０＝１で、ｙ＝‘＋’である場合は１として、それ以外の場合は０とする。
【００４７】
このように、ＳＶＭを利用することで、ＳＶＭの学習結果を展開して各属性の組み合わせを生成し、それらの組み合わせの中で影響の大きいものを抽出して素性関数の組み合わせとして利用することができる。
【００４８】
確率モデル生成部１３は、素性関数生成部１２にて生成された属性の組み合わせを最大エントロピー法の素性関数として利用して最大エントロピー法に基づき高精度な確率モデル１７を生成することができる。
【００４９】
ここで、最大エントロピー法に基づく確率モデルの生成は、与えられた制約条件を満たすモデルの中で最も一様な分布であるモデルを選択するものである。例えば、分布の一様さは、条件付き確率モデルの条件付きエントロピーをＨ（Ｙ｜Ｘ）を用いて、
【００５０】
【数８】
2005092681.tif 000010
となる。ここで、（１１）式のＰ〜（ｘ）は学習データによる生起確率であり、また、（１１）式において、入力ｘに対する出力ｙの条件付き確率を与える最大エントロピーモデルＰは以下の式で与えられる。
【００５１】
【数９】
2005092681.tif 000011
なお、（１２）式において、ｆｉ（ｘ，ｙ）は素性関数であり、本発明により生成した素性関数を利用することができる。また、λｉは、素性関数ｆｉ（ｘ，ｙ）に対応した実数値の重みを付けるパラメータであり、更に、Ｚ（ｘ）は最大エントロピーモデルＰの出力ｙに対応する総和式ΣＰ（ｘ｜ｙ）の値を１とするための正規化項である。
【００５２】
更に、制約条件を満たすモデルの集合をｐとすると、推定する確率モデルＰ＊は、ｐの中でエントロピーを最大にするものであり、以下の式で表される。
【００５３】
【数１０】
2005092681.tif 000012
これにより、確率モデル生成部１３は、本発明における素性関数と、利用する係り受けの正解が付与された学習データに基づいて、日本語文の２文節間の係り受けの尤度を求める確率モデルを高精度に生成することができる。
【００５４】
なお、確率モデルの生成については、例えば、非特許文献１に示すような、一般的な手法を用いて生成することができる。
【００５５】
ここで、上述したように確率モデル生成装置における専用の装置構成により本発明における確率モデルの生成を行うこともできるが、上述した内容をコンピュータに実行させることができる実行プログラム（確率モデル生成プログラム）を生成し、例えば、汎用のパーソナルコンピュータ、ワークステーション等に確率モデル生成プログラムをインストールすることにより、本発明における確率モデルの生成が実現可能となる。
【００５６】
ここで、本発明における実行可能なコンピュータのハードウェア構成例について図を用いて説明する。図４は、本発明における確率モデル生成処理が実現可能なハードウェア構成の一例を示す図である。
【００５７】
図４におけるコンピュータ本体には、入力装置３１と、出力装置３２と、ドライブ装置３３と、補助記憶装置３４と、メモリ装置３５と、各種制御を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３６と、ネットワーク接続装置３７とを有するよう構成されており、これらはシステムバスＢで相互に接続されている。
【００５８】
入力装置３１は、使用者が操作するキーボード及びマウス等のポインティングデバイスを有しており、使用者からのプログラムの実行等、各種操作信号を入力する。出力装置３２は、本発明における確率モデル生成処理を行うためのコンピュータ本体を操作するのに必要な各種ウィンドウやデータ等を表示するモニタを有し、ＣＰＵ３６が有する制御プログラムに基づいて実行結果等を表示することができる。
【００５９】
ここで、本発明において、コンピュータ本体にインストールされる実行プログラムは、例えば、ＣＤ−ＲＯＭ等の記録媒体３８等により提供される。プログラムを記録した記録媒体３８は、ドライブ装置３３にセット可能であり、記録媒体３８に含まれる実行プログラムが、記録媒体３８からドライブ装置３３を介して補助記憶装置３４にインストールされる。
【００６０】
補助記憶装置３４は、ハードディスク等のストレージ手段であり、本発明における実行プログラムや、コンピュータに設けられた制御プログラムの他に、ドライブ装置３３から読み取ることができる学習データや、パラメータ、テーブルを蓄積し必要に応じて入出力を行うことができる。
【００６１】
ＣＰＵ３６は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等の制御プログラム、メモリ装置３５により読み出され格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して、上述した確率モデル生成における各処理を実現することができる。プログラムの実行中に必要な各種情報は、補助記憶装置３４から取得することができ、また格納することもできる。
【００６２】
ネットワーク接続装置３７は、通信ネットワーク等と接続することにより、実行プログラムを通信ネットワークに接続されている他の端末等から取得したり、確率モデルの生成手順を規定したプログラムを実行することで得られた実行結果又は本発明における実行プログラム自体を他の端末等に提供することができる。
【００６３】
上述したようなハードウェア構成により、特別な装置構成を必要とせず、低コストで高精度な確率モデル生成処理を実現できる。
【００６４】
次に、上述したようなハードウェア構成により実行される確率モデル生成プログラムにおける処理手順について、フローチャートを用いて説明する。図５は、本発明における確率モデル生成手順を示す一例のフローチャートである。
【００６５】
まず、ユーザから入力装置３１を用いて確率モデル生成プログラムの実行指示が入力されると、補助記憶装置３４に格納されている確率モデル生成プログラムをメモリ装置３５に格納する。ＣＰＵ３６は、メモリ装置３５に格納された確率モデル生成プログラムにしたがって確率モデル生成に係る機能を実行する。
【００６６】
ＣＰＵ３６は、学習データを入力して２値データに変換する（Ｓ０１）。このとき、２値の分割基準は、補助記憶装置３４にあるパラメータに基づいて変換される。次に、ＳＶＭで学習してＳＶＭのモデルを生成する（Ｓ０２）。Ｓ０２にて出力されるＳＶＭのモデルから各属性の組み合わせの中から判別に影響の大きい組み合わせを抽出する（Ｓ０３）。
【００６７】
次に、不要な組み合わせデータが予め補助記憶装置３４に格納されているテーブルを参照し、入力した組み合わせの中から不要な組み合わせを削除する（Ｓ０４）。その後、属性の組み合わせから素性関数を生成する（Ｓ０５）。
【００６８】
次に、上述のＳ０１〜Ｓ０４までの処理で生成された素性関数及び学習データを用いて、最大エントロピー法に基づき確率モデルを生成して、確率モデルの構築を行う（Ｓ０６）。
【００６９】
上述した確率モデル生成処理を行うことにより、人手では網羅しきれない多数の有効性が高い素性関数をＳＶＭを用いて効率的に定義することができ、この素性関数を用いることにより、より有効性が高い最大エントロピー法に基づいた多値の尤度を計算する確率モデルを構築することができる。また、実行プログラムを用いることで、特別な装置構成を必要とせず、汎用のコンピュータで本発明における確率モデル生成処理を実行できるため、低コストで高精度な確率モデルの構築を実現することができる。
【００７０】
上述したように本発明によれば、２値判別の手法であるサポートベクターマシン（ＳＶＭ）の学習結果を用いて，属性の組み合わせである素性関数を効率的に定義することができる。これにより、人手では網羅しきれない多数の有効性がある素性関数を定義することができ，より有効性が高い最大エントロピー法に基づいた多値の尤度を計算する確率モデルを構築することができる。
【００７１】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【図面の簡単な説明】
【００７２】
【図１】本発明における確率モデル生成装置のブロック構成の一例を示す図である。
【図２】本発明における素性関数生成部の機能構成の一例を示す図である。
【図３】素性関数生成部の各機能構成部にて生成されるデータ例を示す図である。
【図４】本発明における確率モデル生成処理が実現可能なハードウェア構成の一例を示す図である。
【図５】本発明における確率モデル生成手順を示す一例のフローチャートである。
【符号の説明】
【００７３】
１０  確率モデル生成装置
１１  学習データ
１２  素性関数生成部
１３  確率モデル生成部
１４  パラメータ
１５  テーブル
１６  素性関数
２１  変換手段
２２  ＳＶＭモデル生成手段
２３  属性組み合わせ抽出手段
２４  不要組み合わせ削除手段
２５  素性関数手段
３１  入力装置
３２  出力装置
３３  ドライブ装置
３４  補助記憶装置
３５  メモリ装置
３６  ＣＰＵ
３７  ネットワーク接続装置
３８  記録媒体
【図１】
2005092681.tif 000013
【図２】
2005092681.tif 000014
【図３】
2005092681.tif 000015
【図４】
2005092681.tif 000016
【図５】
2005092681.tif 000017