(57)【要約】【課題】学習データの作成負荷を高くすることなく、かつ、１段目のＮＥ抽出器の学習データを減らすことなくスタッキング用学習データを作成してスタッキング学習を行なう。【解決手段】学習制御部１４０が、学習データをｎ分割し、（ｎ−１）の学習データを用いて近似ＮＥ抽出器を作成し、残りの１の学習データをテストデータとして近似ＮＥ抽出器がＮＥ抽出した結果を用いてスタッキング用学習データを作成し、学習制御部１４０により作成されたスタッキング用学習データを用いてスタッキング用ＮＥ抽出器１３０がスタッキング学習するよう構成する。【選択図】        図４
2006330935.tif 000002
【特許請求の範囲】
【請求項１】
異なる機械学習アルゴリズムに基づく複数の分類プログラムの分類結果を手がかりとして利用することで分類を行なう分類プログラムを作成するスタッキング学習に用いるスタッキング用学習データを作成する学習データ作成プログラムであって、
前記複数の分類プログラムが機械学習に用いる学習データを複数の部分学習データに分割する学習データ分割手順と、
前記学習データ分割手順により学習データが分割されて得られた複数の部分学習データのうちの一つの部分学習データをテストデータとして、該一つの部分学習データを除く部分学習データを学習用のデータとして機械学習アルゴリズムで学習した前記複数の分類プログラムでテストしたテスト結果をスタッキング用学習データとして獲得する手順を繰り返すことでスタッキング用学習データを生成するスタッキング用学習データ生成手順と、
をコンピュータに実行させることを特徴とする学習データ作成プログラム。
【請求項２】
前記スタッキング用学習データ生成手順を、前記複数の分類プログラムをそれぞれ異なるコンピュータで実行することを特徴とする請求項１に記載の学習データ作成プログラム。
【請求項３】
前記分類プログラムが、文章から固有表現を抽出する固有表現抽出プログラムであることを特徴とする請求項１または２に記載の学習データ作成プログラム。
【請求項４】
前記固有表現抽出プログラムが、文章から単語を切り出す単語切出手順と、前記単語切出手順により切り出された単語ごとに固有表現であるか否かを判定して固有表現を抽出する複数の分類プログラムと、それら複数の分類プログラムの出力結果を手がかりとして、単語ごとに固有表現であるか否かを判定して固有表現を抽出する分類プログラムを作成するための請求項３に記載の学習データ作成プログラム。
【請求項５】
異なる機械学習アルゴリズムに基づく複数の分類プログラムの分類結果を手がかりとして利用することで分類を行なう分類プログラムを作成するスタッキング学習に用いるスタッキング用学習データを作成する学習データ作成方法であって、
前記複数の分類プログラムが機械学習に用いる学習データを複数の部分学習データに分割する学習データ分割工程と、
前記学習データ分割工程により学習データが分割されて得られた複数の部分学習データのうちの一つの部分学習データをテストデータとして、該一つの部分学習データを除く部分学習データを学習用のデータとして機械学習アルゴリズムで学習した前記複数の分類プログラムをテストしたテスト結果をスタッキング用学習データとして獲得する手順を繰り返すことでスタッキング用学習データを生成するスタッキング用学習データ生成工程と、
を含んだことを特徴とする学習データ作成方法。
【請求項６】
異なる機械学習アルゴリズムに基づく複数の分類装置の分類結果を手がかりとして利用することで分類を行なう分類プログラムを作成するスタッキング学習に用いるスタッキング用学習データを作成する学習データ作成装置であって、
前記複数の分類装置が機械学習に用いる学習データを複数の部分学習データに分割する学習データ分割手段と、
前記学習データ分割手段により学習データが分割されて得られた複数の部分学習データのうちの一つの部分学習データをテストデータとして、該一つの部分学習データを除く部分学習データを学習用のデータとして機械学習アルゴリズムで学習した前記複数の分類装置をテストしたテスト結果をスタッキング用学習データとして獲得する手順を繰り返すことでスタッキング用学習データを生成するスタッキング用学習データ生成手段と、
を備えたことを特徴とする学習データ作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、異なる機械学習アルゴリズムに基づく複数の分類プログラム（分類器）の分類結果を手がかりとして利用することで分類を行なう分類プログラムを作成するスタッキング学習に用いるスタッキング用学習データを作成する学習データ作成プログラム、学習データ作成方法および学習データ作成装置に関し、学習データ作成の負荷を高くすることなくスタッキング用学習データを作成することができる学習データ作成プログラム、学習データ作成方法および学習データ作成装置に関するものである。
【背景技術】
【０００２】
機械学習を行なう学習器を用いて分類器を作成する場合には、SVMs、Boosting、ADTreesなど利用する機械学習アルゴリズムを変えることで同一の学習データから異なる規則やモデルを有する分類器を作成することができる（例えば、非特許文献１〜３参照。）。
【０００３】
また、これらの分類器はそれぞれ利点が異なるため、これら複数の分類器による分類結果を手掛りとして利用することによって、より良い分類を行なうスタッキングと呼ばれる手法が開発されている（例えば、非特許文献４参照。）。
【０００４】
【非特許文献１】Vladimir Vapnik著、「Statistical Learning Theory」、Wiley-Interscience Publication、1998
【非特許文献２】R.E. Scapire and Y. Singer著、「BoosTexter: A boosting-based system for text categorization」、Machine Learning、39(2/3):135-168、May/June 2000
【非特許文献３】Yoav Freund and Llew Mason著、「The alternating decision tree learning algorithm」、Proceeding of the sixteenth International Conference on Machine Learning、PP.124-133、1999
【非特許文献４】David H. Wolpert著、「Stacked generalization.」、Proceedings of Neural Networks, pages 241-259,1992.
【非特許文献５】Takehito Utsuro, Manabu Sassano and Kiyotaka Uchimoto著、「Combining Outputs of Multiple Japanese Named Entity Chunkers by Stacking」、Proceedings of EMNLP 2002、PP.281-288、2002
【発明の開示】
【発明が解決しようとする課題】
【０００５】
スタッキングは、複数の分類器の分類結果を手がかりに利用することで分類を行なう分類器を作成するためのスタッキング用学習データを分類器を作成する手法である。以降、出力が手がかりとして利用される分類器を、１段目の分類器、１段目の分類器の分類結果を手がかりに分類を行なう分類器を２段目の分類器と呼ぶことにする。しかしながら、スタッキングの実現には、１段目の分類器を作成するための学習データとは別に、２段目の学習データ(スタッキング用学習データ)を用意する必要があり、学習データ作成の負荷が高いという問題がある。
【０００６】
学習データ作成の負荷を低減するために、１段目の分類器作成用の学習データをスタッキング用学習データとして再度利用することとすると、学習器によっては学習データをほぼ完璧に分類する分類器を作成するため、スタッキング学習の意味がなくなるという問題がある。
【０００７】
また、ある学習データを１段目の分類器作成用とスタッキング学習用に分割して利用する場合には、１段目の分類器作成用の学習データが減り、学習精度が悪くなるという問題がある。また、１段目の分類器作成用とスタッキング学習用の学習データを、どのような比率で用意すれば良いかが不明であるという問題もある。
【０００８】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、学習データ作成の負荷を高くすることなくスタッキング用学習データを作成することができる学習データ作成プログラム、学習データ作成方法および学習データ作成装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、請求項１の発明に係る学習データ作成プログラムは、異なる機械学習アルゴリズムに基づく複数の分類プログラム(１段目の分類器)の分類結果を手がかりとして利用することで最終的な分類を行なう分類プログラム(２段目の分類器)を作成するスタッキング学習に用いるスタッキング用学習データを作成する学習データ作成プログラムであって、前記複数の分類プログラムが機械学習に用いる学習データを複数の部分学習データに分割する学習データ分割手順と、前記学習データ分割手順により学習データが分割されて得られた複数の部分学習データのうちの一つの部分学習データをテストデータとして、該一つの部分学習データを除く部分学習データを学習用のデータとして学習した前記複数の分類プログラムをテストしたテスト結果をスタッキング用学習データとして獲得する手順を繰り返することによりスタッキング用学習データを生成するスタッキング用学習データ生成手順と、をコンピュータに実行させることを特徴とする。
【００１０】
この請求項１の発明によれば、複数の分類プログラムが機械学習に用いる学習データを複数の部分学習データに分割し、分割して得られた複数の部分学習データのうちの一つの部分学習データをテストデータとして、一つの部分学習データを除く部分学習データを学習用のデータとして学習した複数の分類プログラムをテストしたテスト結果をスタッキング用学習データとして生成するよう構成されており、一つの部分学習データを除く部分学習データを学習用のデータとして学習するので、部分学習データをより細かい単位で獲得することで、全ての学習データから作成される分類プログラムの近似の分類器を用いてスタッキング用学習データを作成することができる。
【００１１】
また、請求項２の発明に係る学習データ作成プログラムは、請求項１の発明において、前記スタッキング用学習データ生成手順を、前記複数の分類プログラムをそれぞれ異なるコンピュータで実行することを特徴とする。
【００１２】
この請求項２の発明によれば、複数の分類プログラムをそれぞれ異なるコンピュータで実行するよう構成したので、高速に分類プログラムを学習させることができ、高速にスタッキング用学習データを獲得できる。
【００１３】
また、請求項３の発明に係る学習データ作成プログラムは、請求項１または２の発明において、前記分類プログラムが、文章から固有表現を抽出する固有表現抽出プログラムであることを特徴とする。
【００１４】
この請求項３の発明によれば、全ての学習データから作成される固有表現抽出プログラムの近似の固有表現抽出プログラムを用いてスタッキング用学習データを作成することができる。
【００１５】
また、請求項４の発明に係る学習データ作成プログラムは、請求項３の発明において、前記固有表現抽出プログラムは、文章から単語を切り出す単語切出手順と、前記単語切出手順により切り出された単語ごとに固有表現であるか否かを判定して固有表現に関するタグ付けを行なう固有表現タグ付け手順を行なう分類プログラムとすることを特徴とする。
【００１６】
また、請求項５の発明に係る学習データ作成方法は、異なる機械学習アルゴリズムに基づく複数の分類プログラムの分類結果を手がかりとして利用することで分類を行なう分類プログラムを作成するスタッキング学習に用いるスタッキング用学習データを作成する学習データ作成方法であって、前記複数の分類プログラムが機械学習に用いる学習データを複数の部分学習データに分割する学習データ分割工程と、前記学習データ分割工程により学習データが分割されて得られた複数の部分学習データのうちの一つの部分学習データをテストデータとして、該一つの部分学習データを除く部分学習データを学習用のデータとして学習した前記複数の分類プログラムをテストしたテスト結果をスタッキング用学習データとして獲得する手順を繰り返すことでスタッキング用学習データを生成するスタッキング用学習データ生成工程と、を含んだことを特徴とする。
【００１７】
この請求項５の発明によれば、複数の分類プログラムが機械学習に用いる学習データを複数の部分学習データに分割し、分割して得られた複数の部分学習データのうちの一つの部分学習データをテストデータとして、一つの部分学習データを除く部分学習データを学習用のデータとして学習した複数の分類プログラムをテストしたテスト結果をスタッキング用学習データとして生成するよう構成したので、全ての学習データから作成される固有表現抽出プログラムの近似の分類プログラムを用いてスタッキング用学習データを作成することができる。
【００１８】
また、請求項６の発明に係る学習データ作成装置は、異なる機械学習アルゴリズムに基づく複数の分類装置の分類結果を手がかりとして利用することで分類を行なう分類プログラムを作成するスタッキング学習に用いるスタッキング用学習データを作成する学習データ作成装置であって、前記複数の分類装置が機械学習に用いる学習データを複数の部分学習データに分割する学習データ分割手段と、前記学習データ分割手段により学習データが分割されて得られた複数の部分学習データのうちの一つの部分学習データをテストデータとして、該一つの部分学習データを除く部分学習データを学習用のデータとして学習した前記複数の分類装置をテストしたテスト結果をスタッキング用学習データとして獲得する手順を繰り返すことでスタッキング用学習データを生成するスタッキング用学習データ生成手段と、を備えたことを特徴とする。
【００１９】
この請求項６の発明によれば、複数の分類装置が機械学習に用いる学習データを複数の部分学習データに分割し、分割して得られた複数の部分学習データのうちの一つの部分学習データをテストデータとして、一つの部分学習データを除く部分学習データを学習用のデータとして学習した複数の分類装置をテストしたテスト結果をスタッキング用学習データとして生成するよう構成したので、全ての学習データから作成される固有表現抽出プログラムの近似の分類装置を用いてスタッキング用学習データを作成することができる。
【発明の効果】
【００２０】
請求項１、５および６の発明によれば、近似の分類プログラム（分類装置）を用いてスタッキング用学習データを作成するので、分類プログラム（分類装置）の学習データに影響を与えることなくスタッキング用学習データを作成することができるという効果を奏する。
【００２１】
また、請求項２の発明によれば、高速に分類プログラムを学習させることができるので、スタッキング用学習データの作成を高速化することができるという効果を奏する。
【００２２】
また、請求項３の発明によれば、近似の固有表現抽出プログラムを用いてスタッキング用学習データを作成するので、固有表現抽出プログラムの学習データに影響を与えることなくスタッキング用学習データを作成することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照して、この発明に係る学習データ作成プログラム、学習データ作成方法および学習データ作成装置の好適な実施例を詳細に説明する。図１と図２は、本発明によるスタッキング学習手法アルゴリズムとフローチャートの説明であり、適用するタスクにあわせて学習データを用意することで、様々なタスクに適用でき、使用する機械学習アルゴリズムを変更することで、様々な機械学習アルゴリズムによって作成される分類器の結果を手がかりとして分類を行なう分類器を作成することができる。
【００２４】
まず、本発明による装置の構成について説明する。図３は、本発明における機能ブロック図である。同図に示すように、この分類装置１は、m個の異なる機械学習アルゴリズムからなる分類装置１１1〜１１mと、スタッキング用学習データ記憶部１２と、スタッキング用分類装置１３と、学習制御部１４と、分類制御部１５とを有する。
【００２５】
分類装置１１1〜１１mは、それぞれ入力に対し分類を行なう処理器である。また、これらの分類装置１１1〜１１mは、学習データから分類器を作成する学習機能を持つ。したがって、これらの分類装置１１1〜１１mが、学習器として学習する場合を特に示す場合には、分類装置（学習器）１１1〜１１mと記すこととする。
【００２６】
また、これらの分類装置１１1〜１１mは、スタッキング用学習データを作成する場合には、学習データの一部を除いて学習を行い、近似分類装置として動作する。
【００２７】
スタッキング用分類装置１３は、分類装置１の機能である、分類装置１１1〜１１mによる分類結果を利用して最終的に分類結果を決定する分類器をスタッキング用学習データから作成する機能と、スタッキング用分類装置１３により作成される分類器を使って分類を行なう処理器である。
【００２８】
学習制御部１４は、ｍ台の分類装置（学習器）１１1〜１１m、スタッキング用学習データ記憶部１２およびスタッキング用分類装置１３を用いてスタッキング学習を行なう制御部である。
【００２９】
この学習制御部１４は、図１にあるアルゴリズムにてスタッキング用学習データを作成し、スタッキング学習を行なう。ここで、この学習制御部１４による図１にあるアルゴリズムによるスタッキング用学習データの作成について説明する。
【００３０】
図１にあるアルゴリズムにある近似分類器の作成方法では、学習データを細かい単位で分割し、その一部を削除することで、近似度の高い分類器を作成することができる。また、近似分類器作成時に利用しなかった学習データは、１段目の分類器作成用に使用する学習データ以外のデータであり、近似分類器がその学習データを用いて分類した結果は、全体の学習データから作成した分類器での分類結果とほぼ同じ結果となると予想される。したがって、学習データのうち近似分類器の作成のために削除する学習データを順番に変えることによって、全ての学習データから作成される分類器とほぼ同等の分類結果を手掛りとして持つスタッキング用の学習データを、用意した学習データの分だけ作成することができる。
【００３１】
なお、本実施例では、本発明を日本語のテキストから固有表現を抽出する固有表現抽出装置に適用した場合を中心に説明する。本発明によるスタッキング学習手法アルゴリズムとフローチャートの説明である図１と図２を、固有表現抽出に適用した場合のアルゴリズムおよびフローチャの説明が図７、図１０である。ここで、固有表現の抽出とは、テキストから「人名」、「地名」、「日付」、「時間」などを抽出することであり、以降、固有表現をＮＥ（Named Entity）、固有表現抽出をＮＥ抽出と記すこととする。
【実施例】
【００３２】
まず、本実施例に係るＮＥ抽出装置（固有表現抽出装置）の構成について説明する。図４は、本実施例に係るＮＥ抽出装置の構成を示す機能ブロック図である。同図に示すように、このＮＥ抽出装置１００は、m個の異なる機械学習アルゴリズムからなるＮＥ抽出装置１１０1〜１１０mと、スタッキング用学習データ記憶部１２０と、スタッキング用ＮＥ抽出器１３０と、学習制御部１４０と、抽出制御部１５０とを有する。
【００３３】
ＮＥ抽出装置１１０1〜１１０mは、それぞれテキストからＮＥＴ部１１１を使ってＮＥ抽出を行なう機能を持つ。なお、ＮＥＴ部１１１の詳細については後述する。
【００３４】
これらのＮＥ抽出装置１１０1〜１１０mは、学習データを学習することによってＮＥ抽出を行なうＮＥ抽出器(ＮＥＴ部１１１)を作成する学習器として学習機能も持つ。したがって、これらのＮＥ抽出装置１１０1〜１１０mが、学習器として学習する場合を特に示す場合には、ＮＥ抽出装置（学習器）１１０1〜１１０mと記すこととする。
【００３５】
また、これらのＮＥ抽出装置１１０1〜１１０mは、スタッキング用学習データを作成する場合には、学習データの一部を除いて学習を行い、近似ＮＥ抽出器を作成し、それを使って抽出を実施する。なお、スタッキング用学習データの作成および近似ＮＥ抽出器の詳細については後述する。
【００３６】
また、これらのＮＥ抽出装置１１０1〜１１０mは、ＩＲＥＸ（例えば、IREX Committee, editor. 1999. Proceedings of the IREX workshop 参照。）で定義された８種類のＮＥをテキストから抽出する。図５は、ＩＲＥＸで定義されたＮＥの例を示す図である。同図に示すように、これらのＮＥ抽出器１１０1〜１１０mは、テキストから「ARTIFACT」、「DATE」、「LOCATION」、「MONEY」、「ORGANIZATION」、「PERCENT」、「PERSON」および「TIME」を固有表現として抽出する。
【００３７】
スタッキング用学習データ記憶部１２０は、スタッキング用学習データを記憶する記憶部である。図６は、スタッキング用学習データの例を示す図であり、比較のためにＮＥ抽出器作成用の学習データとともに示す。
【００３８】
同図に示すように、ＮＥ抽出器作成用の学習データは、素性とタグとを対応付けたものである。ここで、素性とはＮＥの抽出に利用する手掛りであり、タグは８種類のＮＥのうちのいずれか、またはＮＥに該当しないことを示す「Other」である。スタッキング用学習データは、ＮＥ抽出器１１０1〜１１０mの作成に利用する学習データの素性およびタグに、それぞれのＮＥ抽出器の出力結果を加えたものである。なお、図６において、「ＮＥ抽出器１」はＮＥ抽出器１１０1に対応し、「ＮＥ抽出器２」はＮＥ抽出器１１０2に対応する。
【００３９】
スタッキング用ＮＥ抽出器１３０は、ＮＥ抽出器１１０1〜１１０mによるＮＥ抽出結果を利用して最終的にＮＥ抽出装置１００としてのＮＥ抽出を行なう処理器であり、スタッキング用学習データを学習することによってＮＥ抽出を行なうことができるようになる学習器機能を持つ。ＮＥ抽出装置１００の出力には後処理部１１２が適用される。後処理部１１２については後述する。
【００４０】
学習制御部１４０は、ｍ台のＮＥ抽出器（学習器）１１０1〜１１０m、スタッキング用学習データ記憶部１２０およびスタッキング用ＮＥ抽出器１３０を用いてスタッキング学習を行なう制御部である。
【００４１】
この学習制御部１４０は、図７にあるアルゴリズムにてスタッキング用学習データを作成し、スタッキング学習を行なう。ここで、この学習制御部１４０による図７にあるアルゴリズムによるスタッキング用学習データの作成について説明する。
【００４２】
スタッキング用の学習データは、１段目のＮＥ抽出器１１０1〜１１０mによるＮＥ抽出結果を学習することから、１段目のＮＥ抽出器１１０1〜１１０mの作成に使用する学習データ以外のデータであることが望ましい。したがって、スタッキング学習を行なうために、１段目のＮＥ抽出器１１０1〜１１０mの作成に使用する学習データ以外に、スタッキング用の学習データを新たに作成することも考えられる。しかし、この方法では、新たな学習データを作成するコストが問題となる。
【００４３】
そこで、本実施例では、新たな学習データを作成するのではなく、全ての学習データを利用した場合の近似ＮＥ抽出器を作成することを考える。すなわち、本実施例では、一部を削除した学習データを利用することで、全ての学習データを学習した場合のNE抽出器の近似ＮＥ抽出器を作成し、スタッキング学習用の学習データ作成に利用する。
【００４４】
図７にあるアルゴリズムにある近似ＮＥ抽出器の作成方法では、学習データを細かい単位で分割し、その一部を削除することで、近似度の高いＮＥ抽出器を作成することができる。また、近似ＮＥ抽出器作成時に利用しなかった学習データは、１段目のＮＥ抽出器作成用に使用する学習データ以外のデータであり、近似ＮＥ抽出器がその学習データを用いてＮＥ抽出した結果は、全体の学習データから作成したＮＥ抽出器でのＮＥ抽出とほぼ同じ結果となると予想される。したがって、学習データのうち近似ＮＥ抽出器の作成のために削除する学習データを順番に変えることによって、全ての学習データから作成されるＮＥ抽出器とほぼ同等のＮＥ抽出結果を手掛りとして持つスタッキング用の学習データを、用意した学習データの分だけ作成することができる。
【００４５】
図７は、本実施例に係るスタッキング学習アルゴリズムを示す図である。同図に示すように、本実施例では、（１）学習データＬＤをｎ分割して｛ＬＤ1，ＬＤ2, ...，ＬＤn｝とし、（２）学習するｍ個の学習器｛ＭＬ1，ＭＬ2，...，ＭＬm｝を用意する。なお、学習器｛ＭＬ1，ＭＬ2，...，ＭＬm｝は、図４に示したｍ台のＮＥ抽出器（学習器）１１０1〜１１０mに対応する。
【００４６】
そして、（３）用意したそれぞれの学習器を使って、学習に（Ｎ−１）の学習データを使用して近似ＮＥ抽出器を作成し、残り１をテストデータとしてそれぞれの近似ＮＥ抽出器でＮＥ抽出し、その結果をテストデータに素性として追加し、スタッキング用学習データＳＴを作成する。具体的には、まず、ｉ番目のスタッキング用学習データＳＴiを初期化する（ＳＴi＝ＬＤi）。そして、学習器ＭＬj（１≦ｊ≦ｍ）を使って、ＬＤからＬＤi（１≦ｉ≦ｎ）を除いた学習データ（ＬＤ−ＬＤi）から近似ＮＥ抽出器ＣＬjiを作成し、ＣＬjiでＬＤiからＮＥ抽出した結果をｉ番目のスタッキング用学習データＳＴiに素性として追加する。ここで、近似ＮＥ抽出器ＣＬjiとは、学習器ＭＬjから学習データＬＤによって作成されるＮＥ抽出器ＣＬjに対して、学習器ＭＬjから学習データ（ＬＤ−ＬＤi）によって作成されるＮＥ抽出器を意味する。そして、全ての学習器ＭＬj（１≦ｊ≦ｍ）について近似ＮＥ抽出器ＣＬjiを作成し、作成した近似ＮＥ抽出器ＣＬjiを用いてＬＤiからＮＥ抽出した結果をｉ番目のスタッキング用学習データＳＴiに素性として追加し、ＳＴiをスタッキング用学習データＳＴに追加する。そして、全ての学習データＬＤi（１≦ｉ≦ｎ）についてＳＴi（１≦ｉ≦ｎ）を作成してＳＴに追加する。
【００４７】
そして、（４）学習器｛ＭＬ1，ＭＬ2，...，ＭＬm｝を使って学習データＬＤからＮＥ抽出器｛ＣＬ1，ＣＬ2，...，ＣＬm｝を作成する。ここで、ＮＥ抽出器｛ＣＬ1，ＣＬ2，...，ＣＬm｝は、図４に示したｍ台のＮＥ抽出器１１０1〜１１０mに対応する。そして、スタッキング用学習データＳＴからスタッキング用ＮＥ抽出器１３０を学習する。
【００４８】
このように、本実施例では、学習：テスト＝（ｎ−１）：１の比率で、近似のＮＥ抽出器作成とテストという手順を繰り返し、テスト結果をスタッキング用学習データとしている。すなわち、本実施例では、学習データの一部ＬＤiをテストデータとして、（ＬＤ−ＬＤi）から作成した近似ＮＥ抽出器ＣＬji（１≦ｊ≦ｍ）をテストした結果をスタッキング用学習データとして用いる。
【００４９】
したがって、ＮＥ抽出器｛ＣＬ1，ＣＬ2，...，ＣＬm｝作成用の学習データＬＤだけを用いて、かつ、ＮＥ抽出器｛ＣＬ1，ＣＬ2，...，ＣＬm｝を作成する際に学習データＬＤを減らすことなく、スタッキング用学習データを生成することができる。また、ｎを十分大きくすることによって、近似ＮＥ抽出器ＣＬji（１≦ｊ≦ｍ）を全ての学習データＬＤから作成されるＮＥ抽出器｛ＣＬ1，ＣＬ2，...，ＣＬm｝に十分近づけることができる。
【００５０】
抽出制御部１５０は、ｍ台のＮＥ抽出器１１０1〜１１０mおよびスタッキング用ＮＥ抽出器１３０を用いてＮＥ抽出装置１００がＮＥ抽出を行なうように制御する制御部である。図８は、複数のＮＥ抽出器を使ったスタッキングを説明するための説明図である。同図は、４台のＮＥ抽出器１１０1〜１１０4を使う場合を示している。
【００５１】
同図に示すように、各ＮＥ抽出器は、「宮崎／は／宮崎／の／出身」というテキストを入力してＮＥ抽出を行なう。例えば、ＮＥ抽出器１１０1は、「宮崎（Other）／は（Other）／宮崎（LOCATION）／の（Other）／出身（Other）」をＮＥ抽出結果として出力する。また、ＮＥ抽出器１１０2は、「宮崎（PERSON）／は（Other）／宮崎（Other）／の（Other）／出身（Other）」をＮＥ抽出結果として出力する。
【００５２】
そして、スタッキング用ＮＥ抽出器１３０は、各ＮＥ抽出器のＮＥ抽出結果を入力してＮＥ抽出装置１００としてのＮＥ抽出結果を出力する。図８では、スタッキング用ＮＥ抽出器１３０は、「宮崎（PERSON）／は（Other）／宮崎（LOCATION）／の（Other）／出身（Other）」をＮＥ抽出装置１００としてのＮＥ抽出結果として出力している。
【００５３】
次に、ＮＥ抽出器１１０1〜１１０mのＮＥＴ部１１１および後処理部１１２の詳細について説明する。ＮＥ抽出器１１０1〜１１０mは、形態素解析結果を手掛りにＮＥ抽出を行なう。しかし、形態素解析による単語の境界とＮＥの境界は必ずしも一致しない。そのため、ＮＥ抽出器１１０1〜１１０mは、ＮＥＴ部１１１が単語のＮＥを判別するＮＥタギングを行ない、後処理部１１２が単語の境界とＮＥの境界が一致しない場合の後処理を行なう。
【００５４】
ＮＥＴ部１１１は、形態解析器を用いて形態素解析を行い、形態解析器の出力した単語がどのＮＥクラスになるかを判別する。なお、ここでは、ChaSenの形態解析器（例えば、http://chasen.naist.jp/hiki/ChaSen/参照）を用いる。また、素性として表記、品詞および文字種を利用する。
【００５５】
ここで、表記は、ChaSenによる解析結果として返される単語の表記である。また、品詞としては、ChaSenの結果を利用する。ただし、未知語と判別される場合は、固有名詞−一般として出力するようChaSenの設定を変更して利用する。
【００５６】
また、平仮名、片仮名、漢字、アルファベット大文字、アルファベット小文字、記号・その他、６種類の組み合わせと数字を文字種とする。同じ文字が２回以上続く場合は、”＋”を付けて区別する。例えば、「訪朝」であれば、漢字が二文字続くので「漢字＋」という形で表現し、「食べる」であれば、「漢字−平仮名＋」という形で表現する。数字は、漢数字、アラビア数字ともに正規化を行ない、”１２以下”、”２４以下”、”１００以下”、”２０００以下”、”それ以外”、という分類を行なった結果を文字種とする。
【００５７】
単語単位でのＮＥ抽出を行なう場合、一つの単語が単独でＮＥとなる場合と複数の単語がＮＥを構成する場合がある。そのため、ＮＥタギングでは、「形態素の”ＮＥクラス”と”ＮＥ内での位置”」で表現されるＮＥタグの単語へのタグ付けを行なう。
【００５８】
例えば、「<ORGANIZATION>岩倉使節団</ORGANIZATION>は訪<LOCATION>米</LOCATION>した」という文は、
岩倉”BEGIN-ORGANIZATION”
使節”INSIDE-ORGANIZATION”
団”END-ORGANIZATION”
は”O”
訪”O”
米”SINGLE-LOCATION”
し”O”
た”O”
と表現される。
【００５９】
判別対象となるＮＥタグは、図５に示した８種類と”ＮＥ内での位置”である単独（S-）、先頭（B-）、中間（I-）、終わり（E-）の４種類との組み合わせ３２種類と、ＮＥ以外（O）の１種類の合計３３種類である。
【００６０】
ＮＥタギングの手掛りに利用する形態素範囲は、対象の形態素および前後２形態素の合計５形態素とする。また、それぞれのＮＥタグのＮＥクラスへのまとめあげは、Viterbiアルゴリズムにて行なう。Viterbiアルゴリズムへの入力は確率値であるが、ここでは利用する学習器から作成されるＮＥ抽出器は確信度を返すため、それぞれの確信度をsigmoid関数S(X)=1/(1+exp(-βX)）にて正規化を行ない確率値の代わりとする。なおβの値は「５」とする。
【００６１】
後処理部１１２が行なう後処理とは、単語の一部がＮＥである場合に、単語から切り出しを行なう処理である。例えば、「岩倉／使節／団／が／訪米／し／た」と形態素解析した文からＮＥ抽出を行なう場合、「岩倉使節団」は「ORGANIZATION」として抽出できるが、「LOCATION」である「米」を単語「訪米」から抽出することができない。そこで、ここでは、単語単位でのＮＥタギングを行なったあとに文字単位のＮＥタギングを後処理として行なう。
【００６２】
図９は、単語単位のＮＥタギングから文字単位のＮＥタギングへの変換例を示す図である。同図において、上側のＮＥタギング結果は、下側のＮＥタギングに変換される。
【００６３】
後処理で判別対象となるＮＥタグは、図５に示した８種類と”ＮＥ内での位置”である先頭（B-）、中間（I-）の２種類との組み合わせ１６種類と、ＮＥ以外（O）の１種類の合計１７種類である。また、後処理で利用する素性は、文字、文字が属する単語の品詞と位置、文字種、ＮＥタギング結果である。それぞれの素性は、文字の単語内での出現位置である単独（S-）、先頭（B-）、中間（I-）、終わり（E-）の４つを付与したものを利用する。解析は文末から文頭の方向へ行ない、２つ前までに決定したＮＥタグを動的に素性として利用する。
【００６４】
次に、本実施例に係るＮＥ抽出装置１００によるスタッキング学習処理の処理手順について説明する。図１０は、本実施例に係るＮＥ抽出装置１００によるスタッキング学習処理の処理手順を示すフローチャートである。
【００６５】
同図に示すように、このＮＥ抽出装置１００は、学習制御部１４０が学習データＬＤをｎ分割し（ステップＳ１０１）、分割して得られる学習データＬＤiの添え字ｉを「１」に初期化する（ステップＳ１０２）。
【００６６】
そして、学習制御部１４０は、ｉ≦ｎであるか否かを判定し（ステップＳ１０３）、ｉ≦ｎである場合には、ｉ番目のスタッキング用学習データを初期化する。すなわち、ＳＴi＝ＬＤiとする（ステップＳ１０４）。また、学習器ＭＬjの添え字ｊを「１」に初期化する（ステップＳ１０５）。
【００６７】
そして、学習制御部１４０は、ｊ≦ｍであるか否かを判定し（ステップＳ１０６）、ｊ≦ｍである場合には、ＭＬjを使って、ＬＤからＬＤiを除いた学習データ（ＬＤ−ＬＤi）から近似ＮＥ抽出器ＣＬjiを作成し、ＣＬjiでＬＤiからＮＥ抽出した結果を、学習器ＭＬjから作成されるＮＥ抽出器ＣＬjによるＬＤiからのＮＥ抽出結果の素性として、ｉ番目のスタッキング用学習データＳＴiに追加する（ステップＳ１０７）。そして、ｊに「１」を加え（ステップＳ１０８）、ステップＳ１０６に戻る。
【００６８】
一方、ｊ≦ｍでない場合には、ＳＴiの作成が完了した場合であるので、ＳＴiをスタッキング用学習データＳＴとして追加する。すなわち、ＳＴ＝ＳＴ＋ＳＴiとする（ステップＳ１０９）。なお、ＳＴは、スタッキング用学習データ記憶部１２０に記憶される。そして、ｉに「１」を加え（ステップＳ１１０）、ステップＳ１０３に戻る。
【００６９】
また、ｉ≦ｎでない場合には、ＳＴの作成が完了した場合であるので、学習制御部１４０は、学習器｛ＭＬ1，ＭＬ2，...，ＭＬm｝を使ってＬＤからＮＥ抽出器｛ＣＬ1，ＣＬ2，...，ＣＬm｝を作成する（ステップＳ１１１）。そして、スタッキング用ＮＥ抽出器１３０がスタッキング用学習データ記憶部１２０に記憶されたＳＴを用いてスタッキング学習を行なう（ステップＳ１１２）。
【００７０】
このように、学習制御部１４０が近似ＮＥ抽出器ＣＬjiを作成し、ＣＬjiでＬＤiからＮＥ抽出した結果を、ＮＥ抽出器ＣＬjによるＬＤiからのＮＥ抽出結果の素性として、ｉ番目のスタッキング用学習データＳＴiに追加することを１≦ｊ≦ｍおよび１≦ｉ≦ｎの範囲で繰り返すことによって、スタッキング用学習データＳＴを作成することができる。
【００７１】
図１１は、本実施例に係るＮＥ抽出装置１００によるスタッキング用学習データの作成例を示す図である。同図は、学習データＬＤを３分割した例を示す。まず、学習データＬＤ2およびＬＤ3から学習器ＭＬjを用いて近似ＮＥ抽出器ＣＬj1を作成し、ＬＤ1をテストデータとして近似ＮＥ抽出器ＣＬj1をテストした結果とＬＤ1を合わせてスタッキング用学習データＳＴ1を作成する。
【００７２】
同様に、学習データＬＤ1およびＬＤ3から学習器ＭＬjを用いて近似ＮＥ抽出器ＣＬj2を作成し、ＬＤ2をテストデータとして近似ＮＥ抽出器ＣＬj2をテストした結果とＬＤ2を合わせてスタッキング用学習データＳＴ2を作成することができ、学習データＬＤ1およびＬＤ2から学習器ＭＬjを用いて近似ＮＥ抽出器ＣＬj3を作成し、ＬＤ3をテストデータとして近似ＮＥ抽出器ＣＬj3をテストした結果とＬＤ3を合わせてスタッキング用学習データＳＴ3を作成することができる。
【００７３】
すなわち、
「<PERSON>宮崎</PERSON>と<LOCATION>宮崎</LOCATION>に行く。」
「<PERSON>宮崎</PERSON>と食事に行く。」
「彼と<LOCATION>宮崎</LOCATION>に行く。」
の３文から構成される学習データのうち２文を学習して近似のＮＥ抽出器を作成し、近似のＮＥ抽出器を使って残りの１文のＮＥ抽出結果をスタッキング用学習データとするということを繰り返すことで、全ての学習データに対し、近似のＮＥ抽出器を使ってスタッキング用学習データを作成することができる。
【００７４】
次に、本実施例に係るＮＥ抽出装置１００の評価結果について説明する。なお、評価にあたっては、SVMs、BoostingおよびADTreesを学習器として用いた。SVMsに与えるパラメータについては、Ｃの値は「１」、polinomial kernelは２次とし、マルチクラスはOne Vs the Restでの学習とした。Boostingについては、二値分類器であるBoostingをマルチクラスへ拡張するBoosTexterを、マルチクラスをOne Vs the Restで学習させるように変更して利用した。
【００７５】
ADTreesについては、decision stumpをノードとする分類木をboostingの枠組みで作成するADTreesアルゴリズムを改良して利用した。ADTreesでは、分類木を構築するためにあらたに選択された素性を親とし、”その素性が出現した事例”、”その素性が出現しなかった事例”の二つを新たな探索空間とするが、ＮＥ抽出においては、素性数や事例数が多いため学習が進むにつれ探索空間が急激に拡大する。そこで、ここでは、ある素性が出現する事例に比べ出現しない事例数が極端に大きい点に注目し、探索空間の追加は、”その素性が出現した事例”に限定することにした。また、この変更にともない、ノードとなる素性選択条件を、BoosTexterのreal-valued predictions and abstainingに変更した。マルチクラスはOne Vs the Restでの学習とし、Boostingの繰り返しは全てのクラスともに１０００回に固定し、木の最大深さは「２」と設定した。
【００７６】
また、ＮＥタギングには、SVMs、Boosting、ADTreesを利用し、後処理とスタッキング学習には、SVMsを利用した。後処理は、図４の１３０にあたるスタッキング用ＮＥ抽出器の出力に対し適用するものとし、全ての実験において、SVMsから作成された共通のものを使用した。
【００７７】
また、評価は、本実施例に係るＮＥ抽出装置１００による学習データの作成手法を次の三つの手法（ａ）〜（ｃ）と比較することによって行なった。手法(b)、(c)に関しては、非特許文献５にて用いられているスタッキング学習データの獲得方法である。
【００７８】
手法（ａ）：学習する正解（タグ）を全てのＮＥ抽出器の出力結果としてスタッキング用学習データを作成する。この手法では、全てのＮＥ抽出器の出力が正解と同じであるため、それぞれのＮＥ抽出器がどのようなＮＥ抽出を行なうのかを学習することができない。図１２は、手法（ａ）によるスタッキング用学習データの作成例を示す図である。同図に示すように、この手法では、ＮＥ抽出器は全て正解のタグを出力するものとしてスタッキング学習を行なう。例えば、学習データ「宮崎（PERSON）／と（Other）／宮崎（LOCATION）／に（Other）／行く（Other）／。（Other）」に対するスタッキング用学習データは、全てのＮＥ抽出器の出力結果が「宮崎（PERSON）／と（Other）／宮崎（LOCATION）／に（Other）／行く（Other）／。（Other）」であるという仮定の上で作成される。
【００７９】
手法（ｂ）：ＮＥ抽出器の学習に使った学習データを用いてＮＥ抽出器をテストした結果をスタッキングに使う。すなわち、学習データからＮＥ抽出器を作成し、作成したＮＥ抽出器で学習データのＮＥ抽出を行ってスタッキング用学習データとする。この手法では、ＮＥ抽出器は、学習したデータに対してＮＥ抽出を行なうため、ほとんどの場合は正しいＮＥ抽出を行なうことができ、学習に失敗した部分だけがタグと異なる。そのため、手法（ａ）とほぼ同じ結果になる可能性がある。図１３は、手法（ｂ）によるスタッキング用学習データの作成例を示す図である。同図に示すように、この手法では、ＮＥ抽出器は学習に失敗した部分を除いて正解のタグを出力する。例えば、学習データ「宮崎（PERSON）／と（Other）／宮崎（LOCATION）／に（Other）／行く（Other）／。（Other）」に対するスタッキング用学習データでは、二つのＮＥ抽出器の出力結果が正解となっており、「彼（Other）／と（Other）／宮崎（LOCATION）／に（Other）／行く（Other）／。（Other）」に対するスタッキング用学習データでは、二つのＮＥ抽出器の出力結果が不正解となっている。
【００８０】
手法（ｃ）：１段目の学習器の学習用データとスタッキング学習のための学習データを別に用意する。この手法では、各ＮＥ抽出器は、学習したデータではない新規のデータに対してＮＥ抽出を行ない、その結果がスタッキング用学習データとなるため、それぞれのＮＥ抽出器がどのような事例に対して正しいＮＥ抽出を行なうかが調べられる。しかし、この手法では、学習データ作成の負荷が問題となる。また、ＮＥ抽出器作成用の学習データとスタッキング用の学習データをどのような比率で用意するのが適切であるかの判断が難しい。図１４は、手法（ｃ）によるスタッキング用学習データの作成例を示す図である。同図に示すように、この手法では、ＮＥ抽出器は、学習したデータとは異なるデータに対してテスト（ＮＥ抽出）を行ない、そのテスト結果がスタッキング用学習データとなる。同図では、「宮崎（PERSON）／と（Other）／食事（Other）／に（Other）／行く（Other）／。（Other）」および「彼（Other）／と（Other）／宮崎（LOCATION）／に（Other）／行く（Other）／。（Other）」をＮＥ抽出器の学習データとし、「宮崎（PERSON）／と（Other）／宮崎（LOCATION）／に（Other）／行く（Other）／。（Other）」をスタッキング用学習データの作成に用いている。
【００８１】
また、評価は、ＣＲＬ固有表現データから作成されるＮＥ抽出器によるＩＲＥＸ一般課題（GENERAL）（http://www.csl.sony.co.jp/person/sekine/IREX/Package/IREXfinalB.tar.gzから入手可能）の抽出結果を比較することによって行なった。ここで、ＣＲＬ固有表現データとは、毎日新聞９５年度版１，１７４記事、約１１，０００文に対してＩＲＥＸで定義された固有表現を付与したデータである。
【００８２】
また、評価結果の比較には、以下の式で計算されるRecall、Precision、F-measure（Ｆ値）を用いる。
Recall＝ＮＵＭ／（抽出すべきＮＥ数）
Precision＝ＮＵＭ／（ＮＥ抽出装置が抽出したＮＥ数）
F-measure＝２×Recall×Precision／（Recall＋Precision）
ここで、ＮＵＭとは、ＮＥ抽出装置が正しく抽出したＮＥ数である。
【００８３】
単独のSVMs、Boosting、ADTreesをＩＲＥＸのGENERALで評価したＦ値は、SVMsが８５．３４、Boostingが８２．２７、ADTreesが８３．３４であり、SVMsが最も良い結果となった。そこで、このSVMsによる結果を評価のベースラインとした。
【００８４】
また、スタッキングでは、１段目のＮＥ抽出器の組み合わせとして、SVMs-Boosting、SVMs-ADTrees、Boosting-ADTrees、SVMs-Boosting-ADTreesの４つを用いた。また、分割数ｎとしては、「５」、「１０」、「２０」を用いた。
【００８５】
図１５は、評価結果を示す図である。同図は、単独で最も良かったSVMsによる結果（破線）と、比較対象である手法（ａ）、（ｃ）のうち最も結果が良かったもの（破線）と、本実施例による４つの組み合わせによる結果（実線）とを示す。なお、縦軸はＦ値、横軸は学習データの分割数である。
【００８６】
手法（ａ）では、４種類の組み合わせのうち結果が最も良かったのはSVMs-Boosting-ADTreesの組み合わせであり、全体のＦ値は８４．９であった。手法（ｂ）により最も良かったものは、単独で最も良かったSVMsによる結果と同じであった。
【００８７】
手法（ｃ）では、ＣＲＬ固有表現データを記事単位でＮ分割し、「Ｎ−１」をそれぞれのＮＥ抽出器作成用、残り「１」をスタッキング用として学習を行なった。なお、Ｎとしては、５、１０、２０を用いた。この方法では、データをＮ分割した場合、Ｎ個の結果が得られるため、全体で（５＋１０＋２０）×４＝１４０の結果が得られ、単独のもので最高の結果であるSVMsより良い結果が残せたものは、１４０結果中２つであった。図１５には、その中で、一番結果の良いSVMs-Boosting-ADTreesの５、１０、２０分割での結果を示す。
【００８８】
図１５に示すように、比較対象である手法（ａ）〜（ｃ）の中でベースラインを越える結果を残せたのは手法（ｃ）だけであり、手法（ｃ）でベースライン以上となったのは１４０個の結果のうち２個だけであった。これに対して、本実施例に係るＮＥ抽出装置１００では、４（組み合わせ種類）×３（分割種類）＝１２個の結果のうち６個の結果がベースライン以上であり、手法（ａ）〜（ｃ）と比べて良い評価結果が得られている。
【００８９】
また、SVMs-Boostingの組み合わせを除いて、分割数を大きくすることで徐々に精度が上昇し、SVMs-ADTreesとSVMs-Boosting-ADTreesの組み合わせは、分割数を大きくすることで精度が上昇し、１０分割以降では、単独で最も精度の良かったSVMsの結果を超えている。
【００９０】
このように、本実施例に係るスタッキング用学習データ作成手法は、手法（ａ）〜（ｃ）と比較して平均的に良い結果を示し、また、学習データの分割数を大きくすることによって学習精度を上昇させることができる。
【００９１】
上述してきたように、本実施例では、学習制御部１４０が、学習データをｎ分割し、（ｎ−１）の学習データを用いて近似ＮＥ抽出器を作成し、残りの１の学習データをテストデータとして近似ＮＥ抽出器がＮＥ抽出した結果を用いてスタッキング用学習データを作成することによって、ＮＥ抽出器１１０1〜１１０mの学習データを減らすことなくスタッキング用学習データを作成し、高精度なＮＥ抽出装置１００を実現することができる。
【００９２】
なお、本実施例では、ＮＥ抽出装置１００について説明したが、ＮＥ抽出装置１００からスタッキング用ＮＥ抽出器１３０および抽出制御部１５０を取り除くことによってスタッキング用学習データを作成する学習データ作成装置を得ることができる。
【００９３】
また、本実施例では、ＮＥ抽出装置について説明したが、ＮＥ抽出装置が有する構成をソフトウェアによって実現することで、同様の機能を有するＮＥ抽出プログラムを得ることができる。そこで、このＮＥ抽出プログラムを実行するコンピュータについて説明する。なお、ＮＥ抽出装置１００からスタッキング用学習データを作成する学習データ作成装置を得るのと同様に、ＮＥ抽出プログラムからスタッキング用学習データを作成する学習データ作成プログラムを得ることができる。
【００９４】
図１６は、本実施例に係るＮＥ抽出プログラムを実行するコンピュータの構成を示す機能ブロック図である。同図に示すように、このコンピュータ２００は、ＲＡＭ２１０と、ＣＰＵ２２０と、ＨＤＤ２３０と、ＬＡＮインタフェース２４０と、入出力インタフェース２５０と、ＤＶＤドライブ２６０とを有する。
【００９５】
ＲＡＭ２１０は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、ＣＰＵ２２０は、ＲＡＭ２１０からプログラムを読み出して実行する中央処理装置である。
【００９６】
ＨＤＤ２３０は、プログラムやデータを格納するディスク装置であり、ＬＡＮインタフェース２４０は、コンピュータ２００をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。
【００９７】
入出力インタフェース２５０は、マウスやキーボードなどの入力装置および表示装置を接続するためのインタフェースであり、ＤＶＤドライブ２６０は、ＤＶＤの読み書きを行なう装置である。
【００９８】
そして、このコンピュータ２００において実行されるＮＥ抽出プログラム２１１は、ＤＶＤに記憶され、ＤＶＤドライブ２６０によってＤＶＤから読み出されてコンピュータ２００にインストールされる。
【００９９】
あるいは、このＮＥ抽出プログラム２１１は、ＬＡＮインタフェース２４０を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ２００にインストールされる。
【０１００】
そして、インストールされたＮＥ抽出プログラム２１１は、ＨＤＤ２３０に記憶され、ＲＡＭ２１０に読み出されてＣＰＵ２２０によってＮＥ抽出プロセス２２１として実行される。
【０１０１】
また、本実施例では、１台のコンピュータでＮＥ抽出プログラムを実行する場合について説明したが、本発明はこれに限定されるものではなく、１段目の各ＮＥ抽出器に対応するプログラムを、それぞれ１台のコンピュータで実行する場合にも同様に適用することができる。
【０１０２】
また、本実施例では、ＮＥ抽出装置について説明したが、本発明はこれに限定されるものではなく、スタッキングを用いる分類装置にも同様に適用することができる。
【０１０３】
（付記１）異なる機械学習アルゴリズムに基づく複数の分類プログラムの分類結果を手がかりとして利用することで分類を行なう分類プログラムを作成するスタッキング学習に用いるスタッキング用学習データを作成する学習データ作成プログラムであって、
前記複数の分類プログラムが機械学習に用いる学習データを複数の部分学習データに分割する学習データ分割手順と、
前記学習データ分割手順により学習データが分割されて得られた複数の部分学習データのうちの一つの部分学習データをテストデータとして、該一つの部分学習データを除く部分学習データを学習用のデータとして機械学習アルゴリズムで学習した前記複数の分類プログラムでテストしたテスト結果をスタッキング用学習データとして獲得する手順を繰り返すことでスタッキング用学習データを生成するスタッキング用学習データ生成手順と、
をコンピュータに実行させることを特徴とする学習データ作成プログラム。
【０１０４】
（付記２）前記スタッキング用学習データ生成手順を、前記複数の分類プログラムをそれぞれ異なるコンピュータで実行することを特徴とする付記１に記載の学習データ作成プログラム。
【０１０５】
（付記３）前記分類プログラムが、文章から固有表現を抽出する固有表現抽出プログラムであることを特徴とする付記１または２に記載の学習データ作成プログラム。
【０１０６】
（付記４）前記固有表現抽出プログラムが、文章から単語を切り出す単語切出手順と、前記単語切出手順により切り出された単語ごとに固有表現であるか否かを判定して固有表現を抽出する複数の分類プログラムと、それら複数の分類プログラムの出力結果を手がかりとして、単語ごとに固有表現であるか否かを判定して固有表現を抽出する分類プログラムを作成するための付記３に記載の学習データ作成プログラム。
【０１０７】
（付記５）異なる機械学習アルゴリズムに基づく複数の分類プログラムの分類結果を手がかりとして利用することで分類を行なうスタッキング分類プログラムであって、
前記複数の分類プログラムが機械学習に用いる学習データを複数の部分学習データに分割する学習データ分割手順と、
前記学習データ分割手順により学習データが分割されて得られた複数の部分学習データのうちの一つの部分学習データをテストデータとして、該一つの部分学習データを除く部分学習データを学習用のデータとして機械学習アルゴリズムで学習した前記複数の分類プログラムをテストしたテスト結果をスタッキング用学習データとして獲得する手順を繰り返すことでスタッキング用学習データを生成するスタッキング用学習データ生成手順と、
前記スタッキング用学習データ生成手順により生成されたスタッキング用学習データを用いてスタッキング学習を行なうスタッキング学習手順と、
をコンピュータに実行させることを特徴とするスタッキング分類プログラム。
【０１０８】
（付記６）異なる機械学習アルゴリズムに基づく複数の分類プログラムの分類結果を手がかりとして利用することで分類を行なうスタッキング学習に用いるスタッキング用学習データを作成する学習データ作成方法であって、
前記複数の分類プログラムが機械学習に用いる学習データを複数の部分学習データに分割する学習データ分割工程と、
前記学習データ分割工程により学習データが分割されて得られた複数の部分学習データのうちの一つの部分学習データをテストデータとして、該一つの部分学習データを除く部分学習データを学習用のデータとして機械学習アルゴリズムで学習した前記複数の分類プログラムをテストしたテスト結果をスタッキング用学習データとして獲得する手順を繰り返すことでスタッキング用学習データを生成するスタッキング用学習データ生成工程と、
を含んだことを特徴とする学習データ作成方法。
【０１０９】
（付記７）前記スタッキング用学習データ生成工程は、前記複数の分類プログラムをそれぞれ異なるコンピュータで実行することを特徴とする付記６に記載の学習データ作成方法。
【０１１０】
（付記８）前記分類プログラムが、文章から固有表現を抽出する固有表現抽出プログラムであることを特徴とする付記６または７に記載の学習データ作成方法。
【０１１１】
（付記９）前記固有表現抽出プログラムが、文章から単語を切り出す単語切出工程と、前記単語切出工程により切り出された単語ごとに固有表現であるか否かを判定して固有表現を抽出する複数の分類プログラムと、それら複数の分類プログラムの出力結果を手がかりとして、単語ごとに固有表現であるか否かを判定して固有表現を抽出する分類プログラムを作成するための付記８に記載の学習データ作成方法。
【０１１２】
（付記１０）異なる機械学習アルゴリズムに基づく複数の分類プログラムの分類結果を手がかりとして利用することで分類を行なうスタッキング分類方法であって、
前記複数の分類プログラムが機械学習に用いる学習データを複数の部分学習データに分割する学習データ分割工程と、
前記学習データ分割工程により学習データが分割されて得られた複数の部分学習データのうちの一つの部分学習データをテストデータとして、該一つの部分学習データを除く部分学習データを学習用のデータとして機械学習アルゴリズムで学習した前記複数の分類プログラムをテストしたテスト結果をスタッキング用学習データとして獲得する手順を繰り返すことでスタッキング用学習データを生成するスタッキング用学習データ生成工程と、
前記スタッキング用学習データ生成工程により生成されたスタッキング用学習データを用いてスタッキング学習を行なうスタッキング学習工程と、
を含んだことを特徴とするスタッキング分類方法。
【０１１３】
（付記１１）異なる機械学習アルゴリズムに基づく複数の分類装置の分類結果を手がかりとして利用することで分類を行なうスタッキング学習に用いるスタッキング用学習データを作成する学習データ作成装置であって、
前記複数の分類装置が機械学習に用いる学習データを複数の部分学習データに分割する学習データ分割手段と、
前記学習データ分割手段により学習データが分割されて得られた複数の部分学習データのうちの一つの部分学習データをテストデータとして、該一つの部分学習データを除く部分学習データを学習用のデータとして機械学習アルゴリズムで学習した前記複数の分類装置をテストしたテスト結果をスタッキング用学習データとして獲得する手順を繰り返すことでスタッキング用学習データを生成するスタッキング用学習データ生成手段と、
を備えたことを特徴とする学習データ作成装置。
【０１１４】
（付記１２）前記スタッキング用学習データ生成手段は、前記複数の分類装置として分類プログラムをそれぞれ異なるコンピュータで実行することを特徴とする付記１１に記載の学習データ作成装置。
【０１１５】
（付記１３）前記分類装置が、文章から固有表現を抽出する固有表現抽出装置であることを特徴とする付記１１または１２に記載の学習データ作成装置。
【０１１６】
（付記１４）前記固有表現抽出装置が、文章から単語を切り出す単語切出手段と、前記単語切出手段により切り出された単語ごとに固有表現であるか否かを判定して固有表現を抽出する複数の分類手段と、それら複数の分類手段の出力結果を手がかりとして、単語ごとに固有表現であるか否かを判定して固有表現を抽出する分類装置を作成するための付記１３に記載の学習データ作成装置。
【０１１７】
（付記１５）異なる機械学習アルゴリズムに基づく複数の分類装置の分類結果を手がかりとして利用することで分類を行なうスタッキング分類装置であって、
前記複数の分類装置が機械学習に用いる学習データを複数の部分学習データに分割する学習データ分割手段と、
前記学習データ分割手段により学習データが分割されて得られた複数の部分学習データのうちの一つの部分学習データをテストデータとして、該一つの部分学習データを除く部分学習データを学習用のデータとして機械学習アルゴリズムで学習した前記複数の分類装置をテストしたテスト結果をスタッキング用学習データとして獲得する手順を繰り返すことでスタッキング用学習データを生成するスタッキング用学習データ生成手段と、
前記スタッキング用学習データ生成手段により生成されたスタッキング用学習データを用いてスタッキング学習を行なうスタッキング学習手段と、
を備えたことを特徴とするスタッキング分類装置。
【産業上の利用可能性】
【０１１８】
以上のように、本発明に係る学習データ作成プログラム、学習データ作成方法および学習データ作成装置は、スタッキングを用いる分類装置に有用であり、特に、学習データの作成負荷が高い場合に適している。
【図面の簡単な説明】
【０１１９】
【図１】本発明によるスタッキング学習アルゴリズムを示す図である。
【図２】本発明のフローチャートである。
【図３】本発明における分類装置の構成を示す機能ブロック図である。
【図４】本実施例に係るＮＥ抽出装置の構成を示す機能ブロック図である。
【図５】ＩＲＥＸで定義されたＮＥの例を示す図である。
【図６】スタッキング用学習データの例を示す図である。
【図７】本実施例に係るスタッキング学習アルゴリズムを示す図である。
【図８】複数のＮＥ抽出器を使ったスタッキングを説明するための説明図である。
【図９】単語単位のＮＥタギングから文字単位のＮＥタギングへの変換例を示す図である。
【図１０】本実施例に係るＮＥ抽出装置によるスタッキング学習処理の処理手順を示すフローチャートである。
【図１１】本実施例に係るＮＥ抽出装置によるスタッキング用学習データの作成例を示す図である。
【図１２】手法（ａ）によるスタッキング用学習データの作成例を示す図である。
【図１３】手法（ｂ）によるスタッキング用学習データの作成例を示す図である。
【図１４】手法（ｃ）によるスタッキング用学習データの作成例を示す図である。
【図１５】評価結果を示す図である。
【図１６】本実施例に係るＮＥ抽出プログラムを実行するコンピュータの構成を示す機能ブロック図である。
【符号の説明】
【０１２０】
１    分類装置
１１1〜１１m    分類装置
１２    スタッキング用学習データ記憶部
１３    スタッキング用分類装置
１４    学習制御部
１５    抽出制御部
１００    ＮＥ抽出装置
１１０1〜１１０m    ＮＥ抽出装置
１１１    ＮＥＴ部
１２０    スタッキング用学習データ記憶部
１３０    スタッキング用ＮＥ抽出器
１４０    学習制御部
１５０    抽出制御部
１６０    後処理部
２００    コンピュータ
２１０    ＲＡＭ
２１１    ＮＥ抽出プログラム
２２０    ＣＰＵ
２２１    ＮＥ抽出プロセス
２３０    ＨＤＤ
２４０    ＬＡＮインタフェース
２５０    入出力インタフェース
２６０    ＤＶＤドライブ
【図１】
2006330935.tif 000003
【図２】
2006330935.tif 000004
【図３】
2006330935.tif 000005
【図４】
2006330935.tif 000006
【図５】
2006330935.tif 000007
【図６】
2006330935.tif 000008
【図７】
2006330935.tif 000009
【図８】
2006330935.tif 000010
【図９】
2006330935.tif 000011
【図１０】
2006330935.tif 000012
【図１１】
2006330935.tif 000013
【図１２】
2006330935.tif 000014
【図１３】
2006330935.tif 000015
【図１４】
2006330935.tif 000016
【図１５】
2006330935.tif 000017
【図１６】
2006330935.tif 000018