(57)【要約】【課題】コンパクトかつ高精度の縮約素性を生成することができる。【解決手段】ベースモデル構築部２４により、ベースモデルを学習し、原素性重要度計算部３４により、正の重要度又は負の重要度を、複数の原素性関数の各々について計算し、縮約素性作成部３５により、計算された複数の原素性関数の各々の正の重要度又は負の重要度に基づいて、正の重要度又は負の重要度の値が同一となる原素性関数からなるグループを作成し、作成したグループの各々について、グループの重要度の代表値を、同一となる値とし、グループに含まれる原素性関数をまとめた縮約素性関数を作成し、モデル再構築部５２により、複数の正解データの各々の縮約素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築される最終モデルを学習する。【選択図】図９
2016024523.tif 000002
【特許請求の範囲】
【請求項１】
入力に対する正解出力が既知の複数の正解データの各々の特徴を表す複数の原素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築されるベースモデルを学習するベースモデル構築部と、
前記ベースモデル構築部により学習されたベースモデルに、入力に対する正解出力が未知の複数の未解析データの各々を入力した際に、前記未解析データから抽出された前記複数の原素性関数の各々を用いて前記ベースモデルが選択した最尤出力に対する前記原素性関数の各々の値、及び前記ベースモデルにより選択されなかった出力に対する前記原素性関数の各々の値に基づいて、前記ベースモデルの最尤出力に対して、前記原素性関数の各々が与える正の影響又は負の影響を示す正の重要度又は負の重要度の値が、所定個の実数値と０とからなる離散値の集合に含まれる制約を満たすように、前記正の重要度又は負の重要度を、前記複数の原素性関数の各々について計算する原素性重要度計算部と、
前記原素性重要度計算部により計算された前記複数の原素性関数の各々の正の重要度又は負の重要度に基づいて、前記正の重要度又は前記負の重要度の値が同一となる原素性関数からなるグループを作成し、作成したグループの各々について、前記グループの重要度の代表値を、前記同一となる値とし、前記グループに含まれる原素性関数をまとめた縮約素性関数を作成する縮約素性作成部と、
前記複数の正解データの各々の前記縮約素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築される最終モデルを学習するモデル再構築部と、
を含む、縮約素性生成装置。
【請求項２】
前記原素性重要度計算部は、以下（１）式、及び（２）式に従って、前記ベースモデルの最尤出力に対して、ｉ番目の前記原素性関数の各々について、正の重要度又は負の重要度（δi、ｕi）を計算する請求項１記載の縮約素性生成装置。
【数１】
2016024523.tif 000029
であり、Σ（ｘ＾，ｙ＾）は、
【数２】
2016024523.tif 000030
であり、ξｉは、前記未解析データに応じて定められる値であり、λ１、λ２は、前記未解析データに応じて定められる値であり、δi＝１の場合、ｉ番目の前記原素性関数は正の重要度を有し、δi＝−１の場合、ｉ番目の前記原素性関数は負の重要度を有し、ｖｋは、前記縮約素性関数に用いられる重みであり、Ｈは、前記縮約素性関数の総数であり、Ｆは、前記原素性関数の総数であり、
【数３】
2016024523.tif 000031
は、前記未解析データの集合であり、ｆｉ（・）は、ｉ番目の前記原素性関数である。
【請求項３】
ベースモデル構築部と、原素性重要度計算部と、縮約素性作成部と、モデル再構築部と、を含む縮約素性生成装置における、縮約素性生成方法であって、
前記ベースモデル構築部は、入力に対する正解出力が既知の複数の正解データの各々の特徴を表す複数の原素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築されるベースモデルを学習し、
前記原素性重要度計算部は、前記ベースモデル構築部により学習されたベースモデルに、入力に対する正解出力が未知の複数の未解析データの各々を入力した際に、前記未解析データから抽出された前記複数の原素性関数の各々を用いて前記ベースモデルが選択した最尤出力に対する前記原素性関数の各々の値、及び前記ベースモデルにより選択されなかった出力に対する前記原素性関数の各々の値に基づいて、前記ベースモデルの最尤出力に対して、前記原素性関数の各々が与える正の影響又は負の影響を示す正の重要度又は負の重要度の値が、所定個の実数値と０とからなる離散値の集合に含まれる制約を満たすように、前記正の重要度又は負の重要度を、前記複数の原素性関数の各々について計算し、
前記縮約素性作成部は、前記原素性重要度計算部により計算された前記複数の原素性関数の各々の正の重要度又は負の重要度に基づいて、前記正の重要度又は前記負の重要度の値が同一となる原素性関数からなるグループを作成し、作成したグループの各々について、前記グループの重要度の代表値を、前記同一となる値とし、前記グループに含まれる原素性関数をまとめた縮約素性関数を作成し、
前記モデル再構築部は、前記複数の正解データの各々の前記縮約素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築される最終モデルを学習する
縮約素性生成方法。
【請求項４】
前記原素性重要度計算部が計算することは、以下（３）式、及び（４）式に従って、前記ベースモデルの最尤出力に対して、ｉ番目の前記原素性関数の各々について、正の重要度又は負の重要度（δi、ｕi）を計算する請求項３記載の縮約素性生成方法。
【数４】
2016024523.tif 000032
であり、Σ（ｘ＾，ｙ＾）は、
【数５】
2016024523.tif 000033
であり、ξｉは、前記未解析データに応じて定められる値であり、λ１、λ２は、前記未解析データに応じて定められる値であり、δi＝１の場合、ｉ番目の前記原素性関数は正の重要度を有し、δi＝−１の場合、ｉ番目の前記原素性関数は負の重要度を有し、ｖｋは、前記縮約素性関数に用いられる重みであり、Ｈは、前記縮約素性関数の総数であり、Ｆは、前記原素性関数の総数であり、
【数６】
2016024523.tif 000034
は、前記未解析データの集合であり、ｆｉ（・）は、ｉ番目の前記原素性関数である。
【請求項５】
入力データを受け付ける入力部と、
前記入力部において受け付けた入力データに対して、前記縮約素性関数を抽出し、前記抽出された縮約素性関数と、請求項１又は請求項２記載の縮約素性生成装置によって構築された最終モデルとに基づいて、最尤出力を出力する情報処理部と、
を含む、情報処理装置。
【請求項６】
コンピュータを、請求項１又は請求項２記載の縮約素性生成装置、若しくは請求項５記載の情報処理装置を構成する各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、縮約素性生成装置、情報処理装置、方法、及びプログラムに係り、特に、縮約素性関数集合を用いたモデルを学習する縮約素性生成装置、情報処理装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
図１６に示すような、音声認識、機械翻訳、文字認識、物体認識、ＤＮＡの構造予測などといった情報処理における識別問題は、図１７に示すように、入力が与えられたときに、出力を予測するシステムとみなすことができる。
【０００３】
これらのシステムは一般的に、実行フェーズと構築フェーズとに分けることができる。構築フェーズとは、人手により事前にシステムを設計し、システムパラメタ等を決定する作業を指す。実行フェーズとは、構築フェーズで定義された設計に基づき入力を処理し、出力はシステムパラメタに依存して決定される。
【０００４】
構築フェーズでは、様々な方法でシステムを構築することができる。例えば、人手により変換規則を記述しておいて、その規則に則って入力を出力へ変換し、それを出力する方法が考えられる。ただし、変換規則を人手により準備するのは網羅性や整合性を保持するためのコストが非常にかかるため、図１８に示すように、データから自動的にシステムを構築する機械学習手法を用いてシステムを自動構築する方法を用いるのが近年では主流である。
【０００５】
構築フェーズでは、まず、対象とするシステムの入力とそれに対応する出力のペアを用意する。これは、一般的に、正解データ或いは教師データとよばれる。教師データとは、教師データ中の入力がシステムに入力された際に、どのような出力がされるべきかを表したデータである。次に、この教師データを用いてシステムを構築する。必要な要件は、教師データ中の入力に対して、正しい出力が行えるシステムであることである。そこで、機械学習に基づく構築フェーズでは、教師データを用いて、教師データを正しく判別できるようなシステムパラメタの集合を学習することに帰着する。
【０００６】
以上の処理を数式的に表すと以下のようになる。まず、実行フェーズを示す。ｘ＾を一つの入力を表すこととし、Χを、システムが受け付ける取り得る全ての入力ｘ＾の集合とする。なお、記号に付された「＾」は、当該記号が行列、多次元配列、又はベクトルであることを表している。同様に、ｙ＾を一つの出力を表すこととし、Ｙを、システムが許容する取り得る全ての出力ｙ＾の集合とする。また、Ｙ（ｘ＾）を、ｘ＾が与えられたときに取り得る全ての出力ｙ＾の集合とする。よって、ｘ＾∈Χ、ｙ＾∈Ｙ（ｘ＾）⊆Ｙの関係が成り立つ。
【０００７】
次に、ｗ＾をシステムパラメタの集合をベクトル表記したものとする。ここで、ｗｄをベクトルｗ＾のｄ番目の要素であり、同時にｄ番目のシステムパラメタとする。つまり、ｗ＾＝（ｗ１，．．．，ｗＮ）かつｄ＝｛１，．．．，Ｎ｝の関係が成り立つ。ただし、システムパラメタ数はＮであり、ｗ＾はＮ次元ベクトルとする。
【０００８】
このとき、入力ｘ＾が与えられたときに出力ｙ＾を返すシステムを下記（１）式に表すことができる。
【０００９】
【数１】
2016024523.tif 000003
【００１０】
ただし、Φ（ｘ＾，ｙ＾：ｗ＾）は、事前に何かしらの方法で得られたスコアｗ＾に基づいて、入力ｘ＾に対して、最も良いと思われる出力ｙ＾を選択するために用いる関数であり、ここでは、単にスコア関数と呼ぶ。つまり、ｘ＾が与えられた際に得られる可能性がある全ての出力ｙ＾の中で、この変換スコアが最も高くなるｙ＾が出力として採用されることになる。そのため、ｗ＾は、どの出力が選ばれるかを制御するシステムパラメタであり、システム全体の性能を決定する要因といえる。よって、システムパラメタｗ＾をいかに精度よく求めるかという事が、構築フェーズの最大の要件となる。ここで、精度よくとは、あらゆる入力に対して可能な限り多くの正しい出力を行うことが可能なｗ＾を求めることを意味する。なお、記号の前に付された「＊」は、当該記号が推定された値であることを表している。
【００１１】
次に、構築フェーズについて説明する。実際に、あらゆる可能な入力に対して最良のパラメタｗ＾を求めることは非常に困難を伴う。それは、実際に、あらゆる可能な入力を列挙することが事実上困難であることに起因する。そこで、パターン認識の分野では、実データに基づいてｗ＾を決定する。まず、教師データを
【００１２】
【数２】
2016024523.tif 000004
【００１３】
で表す。教師データは、以下に示すように、入力ｘ＾、出力ｙ＾のペアの集合で構成される。
【００１４】
【数３】
2016024523.tif 000005
【００１５】
このとき、ｘ＾ｉを、教師データ中のｉ番目の入力データとし、
【００１６】
【数４】
2016024523.tif 000006
【００１７】
をｉ番目の入力に対応する出力とする。システムパラメタの学習は、下記（２）式の最適化問題を解くことで得られる。
【００１８】
【数５】
2016024523.tif 000007
【００１９】
このとき、
【００２０】
【数６】
2016024523.tif 000008
【００２１】
は、リスク関数や損失関数とよばれ、教師データ内の入力に対してどの程度正しい出力を得られるかといった値を返す関数である。現在のパラメタｗ＾を用いて、実際に上記（１）式を用いて判別を行ってみて、より多く間違える場合には、より大きな値となるような関数を用いる。Ω（ｗ＾）は、一般に正則化項とよばれ、教師データが有限個しかない状況で、教師データに現れないデータに対してもより正しく判別できるように、システムパラメタが教師データに過適応しないように、ペナルティを与える項である。例えば、パラメタのＬ２−ノルムがなるべく小さくなるような制約を課すことで、パラメタが極端に大きな値をとらないように制限するといったことが、よく用いられる。最終的に、上記（２）式で得られる＊ｗ＾は、教師データを最もよく識別することができるパラメタの集合といえる。
【００２２】
以上が、本発明で対象とする情報処理システムの実行フェーズと構築フェーズを数式的に定義したものである。
【００２３】
上記（２）式に基づいたシステムパラメタの獲得は、パターン認識では教師あり学習と呼ばれる。自然言語処理やバイオインフォマティクスの研究分野の分類問題に属する問題は、教師あり学習により、システムパラメタを獲得する方法が主流であり、多くの研究で良い解析精度が得られることが知られている。
【００２４】
教師あり学習を行う際には、対象とする問題に有用と思われる判別規則、または、判別規則を構成する要素と雛形を人手で事前に定義する方法が一般的である。ここで定義される判別規則を一般的に「素性」と呼ぶ。
【００２５】
素性は人間の持つ知識や直感等に基づいて定義される場合が多い。自然言語処理の問題では、単語や単語の連接等が特徴として用いられることが多い。これは、文書を構成する要素が単語であることと、それぞれの単語が問題を説明する大きな要因となることが多いためである。また、意味や高次の情報を外部のリソース(例えば辞書)等からもってきて利用することもよく行われる。この素性の設計により教師あり学習によるモデル学習の精度が大きく影響を受ける。
【００２６】
一般論として、機械学習を行う際に素性数が多いと学習データに過適応してしまい相対的に汎化性能が悪くなる。この問題は、「次元の呪い」といわれる良く知られた問題として説明できる。つまり、教師あり学習では、素性数がそのまま素性空間の次元数に相当することから、素性を一つ増やす毎に、十分な汎化性能を得るために必要なデータ量は指数関数的に増大し、現実的にデータ量を準備することが不可能となるという問題である。
【００２７】
ただし、自然言語処理やバイオインフォマティクスの問題では、解きたい問題をうまく特徴付けるものは、テキスト中の単語であるとか、遺伝子配列の記号系列などといった離散シンボルである。また、個々の離散シンボルが特徴付ける問題の範囲はごく狭い領域のみであるため、解きたい問題全体をうまく特徴付けるのに必要な素性数は、非常に多くなることが一般的である。さらに、同一のシンボルであっても状況や文脈による多くの例外的扱いが多いため、複数のシンボルの組み合わせることで、はじめて解を説明できる問題等も多く存在する。このような状況では、結果的に、多くの離散シンボル、又はその組み合わせによる素性の集合を用いて問題を特徴付けることとなる。すると、個々の素性がデータ上に出現する割合は非常に小さくなる傾向となり、データ×素性の行列を考えた場合、要素の多くが０となる疎行列となる。要素が０というのは、つまり、情報が無いことと等価であり、各素性が出現する割合が大きく密行列となるような場合と比較して、「次元の呪い」問題が示すように、より多くのデータを必要とすることを意味する。このように、自然言語処理やバイオインフォマティクスの問題では、そもそも「次元の呪い」問題が頻出しやすい問題設定となっているという背景がある。
【００２８】
理論的には、「次元の呪い」問題は、学習データが無限に存在すれば回避できると考えられる。しかし、正解データを用いた教師あり学習の枠組みでは、正解データは人手で作成するのが最も一般的であるため、作成コストが高く、高次元素性空間を統計的に十分満たす量作成するのは非常に困難である。そのため、正解データ量を増やしてこの問題に対処するという方案は、現実的ではない。結果的に、教師あり学習の枠組みでは、限定された正解データ量で学習すると、十分な汎化性能が得られない可能性がある。
【００２９】
このように、素性設計の観点では、多くの素性を利用する方が解きたい問題をうまく表現できるため適していると考えられるが、機械学習の観点では、素性数は極力少なくするべきであるというジレンマがある。
【００３０】
このような問題を解決するための方法として、例えば、素性空間の次元圧縮や次元削減等と呼ばれる、高次元素性空間を低次元空間に写像する方法が知られている（非特許文献１）。同様に、任意のクラスタリング法等を用いて素性をクラスタリングして新たな素性とする方法も知られている（非特許文献２）。
【先行技術文献】
【特許文献】
【００３１】
【特許文献１】特開２０１２−２５６１９８号公報
【非特許文献】
【００３２】
【非特許文献１】Joseph Turian, Lev-Arie Ratinov, and Yoshua Bengio. 2010. Word representations: A simple and general method for semi-supervised learning. In Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics, pages 384−394.
【非特許文献２】Terry Koo, Xavier Carreras, and Michael Collins. 2008. Simple Semi-supervised Dependency Parsing. In Proceedings of ACL-08: HLT, pages 595−603.
【発明の概要】
【発明が解決しようとする課題】
【００３３】
しかし、非特許文献１及び非特許文献２の方法は、特定の問題では効果を発揮する場合も考えられるが、実際に現在これらの方法が、ほとんど用いられていないことを考慮すると、一般的にはそれほど効果は期待できない。また、自然言語処理やバイオインフォマティクスの問題では、前述のようにデータｘ素性の行列が疎行列になるという観点から、行列分解による方法や、最近傍法に基づくクラスタリング法等は、効果が得られないことが一般的に知られている。つまり、高次元かつ疎な素性空間であるが故に、統計や機械学習の観点でうまく素性を縮約することが困難であり、また、精度向上という効果を得ることが困難である、という問題がある。これは、非特許文献１及び非特許文献２のような方法の枠組みは、素性数を削減して、全素性を用いる場合と同等の精度を達成するためのものだからである。
【００３４】
前述のクラスタリングや素性の次元削減法以外にも、素性選択という観点で様々な取り組みがなされている。ただし、これらの方法は、本来不要な素性をうまく選択して削除することにより、素性集合を縮小することを目的としている。つまり、仮に、不要な素性が存在しなければ、素性の削減には結びつかない方法と言える。これら素性選択の技術も、基本的には、素性数を減らして元と同じ精度を達成することを目的としているため、精度を向上させることは困難な枠組みである、という問題がある。
【００３５】
本発明では、上記問題点を解決するために成されたものであり、一般的な教師あり学習に用いられる素性関数よりも、コンパクトかつ高精度の縮約素性関数を用いて、モデルを学習することができる縮約素性生成装置、方法、及びプログラムを提供することを目的とする。
【００３６】
また、高いシステム性能を得ることができる情報処理装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００３７】
上記目的を達成するために、第１の発明に係る縮約素性生成装置は、入力に対する正解出力が既知の複数の正解データの各々の特徴を表す複数の原素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築されるベースモデルを学習するベースモデル構築部と、前記ベースモデル構築部により学習されたベースモデルに、入力に対する正解出力が未知の複数の未解析データの各々を入力した際に、前記未解析データから抽出された前記複数の原素性関数の各々を用いて前記ベースモデルが選択した最尤出力に対する前記原素性関数の各々の値、及び前記ベースモデルにより選択されなかった出力に対する前記原素性関数の各々の値に基づいて、前記ベースモデルの最尤出力に対して、前記原素性関数の各々が与える正の影響又は負の影響を示す正の重要度又は負の重要度の値が、所定個の実数値と０とからなる離散値の集合に含まれる制約を満たすように、前記正の重要度又は負の重要度を、前記複数の原素性関数の各々について計算する原素性重要度計算部と、前記原素性重要度計算部により計算された前記複数の原素性関数の各々の正の重要度又は負の重要度に基づいて、前記正の重要度又は前記負の重要度の値が同一となる原素性関数からなるグループを作成し、作成したグループの各々について、前記グループの重要度の代表値を、前記同一となる値とし、前記グループに含まれる原素性関数をまとめた縮約素性関数を作成する縮約素性作成部と、前記複数の正解データの各々の前記縮約素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築される最終モデルを学習するモデル再構築部と、を含んで構成されている。
【００３８】
第２の発明に係る縮約素性生成方法は、ベースモデル構築部と、原素性重要度計算部と、縮約素性作成部と、モデル再構築部と、を含む縮約素性生成装置における、縮約素性生成方法であって、前記ベースモデル構築部は、入力に対する正解出力が既知の複数の正解データの各々の特徴を表す複数の原素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築されるベースモデルを学習し、前記原素性重要度計算部は、前記ベースモデル構築部により学習されたベースモデルに、入力に対する正解出力が未知の複数の未解析データの各々を入力した際に、前記未解析データから抽出された前記複数の原素性関数の各々を用いて前記ベースモデルが選択した最尤出力に対する前記原素性関数の各々の値、及び前記ベースモデルにより選択されなかった出力に対する前記原素性関数の各々の値に基づいて、前記ベースモデルの最尤出力に対して、前記原素性関数の各々が与える正の影響又は負の影響を示す正の重要度又は負の重要度の値が、所定個の実数値と０とからなる離散値の集合に含まれる制約を満たすように、前記正の重要度又は負の重要度を、前記複数の原素性関数の各々について計算し、前記縮約素性作成部は、前記原素性重要度計算部により計算された前記複数の原素性関数の各々の正の重要度又は負の重要度に基づいて、前記正の重要度又は前記負の重要度の値が同一となる原素性関数からなるグループを作成し、作成したグループの各々について、前記グループの重要度の代表値を、前記同一となる値とし、前記グループに含まれる原素性関数をまとめた縮約素性関数を作成し、前記モデル再構築部は、前記複数の正解データの各々の前記縮約素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築される最終モデルを学習する。
【００３９】
第１及び第２の発明によれば、ベースモデル構築部により、複数の正解データの各々の特徴を表す複数の原素性の各々に応じた原素性関数の各々を用いて、ベースモデルを学習し、原素性重要度計算部により、ベースモデルの最尤出力に対して、正の影響又は負の影響を示す正の重要度又は負の重要度の値が、所定個の実数値と０とからなる離散値の集合に含まれる制約を満たすように、正の重要度又は負の重要度を、複数の原素性関数の各々について計算し、縮約素性作成部により、計算された複数の原素性関数の各々の正の重要度又は負の重要度に基づいて、正の重要度又は負の重要度の値が同一となる原素性関数からなるグループを作成し、作成したグループの各々について、グループの重要度の代表値を、同一となる値とし、グループに含まれる原素性関数をまとめた縮約素性関数を作成し、モデル再構築部により、複数の正解データの各々の縮約素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築される最終モデルを学習する。
【００４０】
このように、複数の正解データの各々の特徴を表す複数の原素性関数の各々を用いて、ベースモデルを学習し、ベースモデルの最尤出力に対して、正の重要度又は負の重要度の値が、所定個の実数値と０とからなる離散値の集合に含まれる制約を満たすように、正の重要度又は負の重要度を、複数の原素性関数の各々について計算し、計算された複数の原素性関数の各々の正の重要度又は負の重要度に基づいて、同一の正の重要度又は負の重要度を有する原素性関数からなるグループを作成し、グループに含まれる原素性関数をまとめた縮約素性関数を作成し、複数の正解データの各々の縮約素性関数の各々を用いて、最終モデルを学習することによって、一般的な教師あり学習に用いられる素性よりも、コンパクトかつ高精度の縮約素性関数を用いてモデルを学習することができる。
【００４１】
第３の発明に係る情報処理装置は、入力データを受け付ける入力部と、前記入力部において受け付けた入力データに対して、縮約素性関数を抽出し、前記抽出された縮約素性関数と、第１の発明の縮約素性生成装置によって構築された最終モデルとに基づいて、最尤出力を出力する情報処理部とを含んで構成されている。
【００４２】
また、本発明のプログラムは、コンピュータを、上記の縮約素性生成装置又は情報処理装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【００４３】
以上説明したように、本発明の縮約素性生成装置、方法、及びプログラムによれば、複数の正解データの各々の特徴を表す複数の原素性の各々に応じた原素性関数の各々を用いて、ベースモデルを学習し、ベースモデルの最尤出力に対して、正の重要度又は負の重要度の値が、所定個の実数値と０とからなる離散値の集合に含まれる制約を満たすように、正の重要度又は負の重要度を、複数の原素性の各々について計算し、計算された複数の原素性の各々の正の重要度又は負の重要度に基づいて、同一の正の重要度又は負の重要度を有する原素性からなるグループを作成し、グループに含まれる原素性関数をまとめた縮約素性に応じた縮約素性関数を作成し、複数の正解データの各々の縮約素性の各々に応じた縮約素性関数の各々を用いて、最終モデルを学習することによって、一般的な教師あり学習に用いられる素性よりも、コンパクトかつ高精度の縮約素性関数を用いてモデルを学習することができる。
【００４４】
また、本発明の情報処理装置によれば、入力データに対して、縮約素性関数を抽出し、抽出した縮約素性関数と、縮約素性生成装置により構築された最終モデルとに基づいて、最尤出力を出力することにより、高いシステム性能を得ることができる。
【図面の簡単な説明】
【００４５】
【図１】原素性関数と縮約素性関数との関係の例を示した図である。
【図２】自動文書分類システムの例を示した図である。
【図３】第１の処理の概要を示した図である。
【図４】第２の処理の概要を示した図である。
【図５】第２の処理の概要を示した図である。
【図６】縮約素性関数集合に基づくシステムの例を示す図である。
【図７】原素性関数と縮約素性関数を用いた際の処理の違いを示す図である。
【図８】原素性関数と縮約素性関数を用いた際の処理の違いを示す図である。
【図９】本発明の実施の形態に係る縮約素性生成装置の機能的構成を示すブロック図である。
【図１０】本発明の実施の形態に係る縮約素性生成装置における縮約素性関数構築部の機能的構成を示すブロック図である。
【図１１】本発明の実施の形態に係る情報処理装置の機能的構成を示すブロック図である。
【図１２】本発明の実施の形態に係る縮約素性生成装置における縮約素性生成処理ルーチンを示すフローチャート図である。
【図１３】本発明の実施の形態に係る縮約素性生成装置における縮約素性関数集合生成処理ルーチンを示すフローチャート図である。
【図１４】本発明の実施の形態に係る情報処理装置における実行処理ルーチンを示すフローチャート図である。
【図１５】実験結果の例を示す図である。
【図１６】情報処理における識別問題の例を示す図である。
【図１７】入力が与えられたときに出力を予測するシステムの例を示す図である。
【図１８】データから自動的にシステムを構築する機械学習手法を用いてシステムを自動構築する方法の例を示す図である。
【発明を実施するための形態】
【００４６】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００４７】
＜概要＞
まず、本実施の形態の概要について説明する。
【００４８】
本実施の形態においては、正解の解析結果が付与されていないデータを、正解の解析結果が付与されている正解データと対比した呼び方で、未解析データと呼ぶ。本実施の形態においては、大規模な未解析データを利用することを前提とする。
【００４９】
自然言語処理やバイオインフォマティクスといった分野の問題では、大規模な未解析データを比較的容易に獲得することができる。例えば、自然言語処理の場合は、近年では、電子化された文書をｗｅｂ等から容易に獲得することができる。
【００５０】
本実施の形態の概要としては、まず、大規模未解析データ上で各素性の重要度を計算する。これは、素性の重要度を計算するという観点では、解きたい問題の正解は不要であるため、限定された量の正解データではなく、比較的容易に獲得可能な大規模な未解析データを用いることで、「次元の呪い」の影響が軽減された状態で統計量（重要度）を推定できる。次に、大規模なデータから得られた比較的信頼性の高い統計量（重要度）を用いて素性空間を再構築する。具体的には、重要度に基づいて素性のクラスタリング及び削除を行い、更に、重要度の値自体を素性の値として活用する。このように再構築された素性空間は、大規模なデータから導出されているため、解きたい問題全体をコンパクトにかつ精度良く表現できている可能性が高い。最後に、再構築した素性空間を使って、通常の正解データを使った教師あり学習によりモデルを学習する。
【００５１】
＜本実施の形態の原理＞
次に、本実施の形態の原理について説明する。
【００５２】
まず、以下の説明で用いる記号について、下記のように定義する。
【００５３】
｛ａｎ｝Ｎｎ＝１は、要素を明示した集合の表記である。要素数Ｎで各要素はａｎであることを意味する。つまり、｛ａｎ｝Ｎｎ＝１＝｛ａ１，．．．，ａＮ｝である。集合なので、順番はなく重複する要素もないことが前提となる。
【００５４】
（ａｎ）Ｎｎ＝１は、要素を明示したベクトルの表記である。要素数Ｎでｎ番目の要素はａｎであることを意味する。つまり、（ａｎ）Ｎｎ＝１＝（ａ１，．．．，ａＮ）である。ベクトル表記なので、番号に意味があり、集合と違って値も重複してもよい。
【００５５】
Χは、可能な全ての入力の集合である。
Ｙは、可能な全ての出力の集合である。
【００５６】
ｘ＾は、任意の一つの入力である。つまり、ｘ＾∈Χの関係が成り立つ。
ｙ＾は、任意の一つの出力である。つまり、ｙ＾∈Ｙの関係が成り立つ。
【００５７】
Ｙ（ｘ^）は、ある一つのｘ＾が与えられた際に得られる可能性のある出力の集合である。ただし、Ｙ（ｘ＾）⊆Ｙの関係が成り立つ。
【００５８】
´ｙ＾ｘ＾は、入力ｘ＾に対する正解出力を明示する際の記法である。ある一つのｙ＾∈Ｙ（ｘ＾）に対して、´ｙ＾ｘ＾＝ｙ＾の関係にある。
【００５９】
ｆｉ（ｘ＾，ｙ＾）は、学習用素性定義で定義されたｉ番目の原素性関数である。戻り値は実数（スカラー）である。
【００６０】
｜Ｆ｜は、学習用素性定義で定義された原素性関数の総数、又は、原素性関数集合Ｆの要素数である。
【００６１】
ｗｉは、ｉ番目のパラメタである。線形モデルの場合には基本的にｉ番目の素性関数に対する重みに相当する。よって素性数が｜Ｆ｜なら、ｉ∈｛１，．．．，｜Ｆ｜｝である。
【００６２】
ｗ＾は、ｗｉのベクトル表記である。素性数が｜Ｆ｜なら、ｗ＾＝（ｗ１，．．．，ｗ｜Ｆ｜）である。
【００６３】
ｈｉ（ｘ＾，ｙ＾）は、ｉ番目の縮約素性関数である。戻り値は実数（スカラー）である。原素性関数から生成される。
【００６４】
｜Ｈ｜は、生成される縮約素性関数の総数、又は、縮約素性関数集合Ｈの要素数である。なお、縮約素性関数の総数は予め任意の値が決定されているものとする。
【００６５】
【数７】
2016024523.tif 000009
【００６６】
【数８】
2016024523.tif 000010
【００６７】
本実施の形態においては、システムの出力を選別することから、上記（１）式中のΦ（ｘ＾，ｙ＾；ｗ＾）を判別関数と定義する。また、本実施の形態においては、Φ（ｘ＾，ｙ＾；ｗ＾）は、パラメタｗ＾の線形式で書ける、いわゆる線形判別関数であることを仮定する。Φ（ｘ＾，ｙ＾；ｗ＾）の詳細は、本実施の形態において原素性関数を用いる場合と、縮約素性関数を用いる場合の二通りあるため、それぞれの説明に分けて説明する。
【００６８】
一般に教師あり学習で用いる素性関数とは、入力ｘ＾と出力ｙ＾とを受け取り、事前の定義に従って実数を返す関数である。つまり、素性関数とは、一般的にｆ（ｘ＾，ｙ＾）のような形で記載することができ、離散空間Ｘ×Ｙから実数空間Ｒへの写像関数といえる。
【００６９】
本実施の形態においては、一般的に教師あり学習で用いる素性関数を、原素性関数（オリジナル素性関数）と定義する。例えば、原素性関数ｆ（ｘ＾，ｙ＾）を下記（３）式のように定義する。
【００７０】
【数９】
2016024523.tif 000011
【００７１】
ここでは、原素性関数の集合をＦ、原素性関数集合内の要素数を｜Ｆ｜と記載する。つまり、Ｆは、｜Ｆ｜個の関数の集合である。また、原素性関数集合Ｆを用いる場合において、線形判別関数Φ（ｘ＾，ｙ＾；ｗ＾）は、下記（４）式のように記載することができる。
【００７２】
【数１０】
2016024523.tif 000012
【００７３】
ｗｉはｉ番目の原素性関数ｆｉ（ｘ＾，ｙ＾）に対するモデルパラメタ（重み）である。つまり、入力ｘ＾が与えられた場合に、出力ｙ＾の尤もらしさは、全ての原素性関数ｆｉ（ｘ＾，ｙ＾）の重み付き和によって評価されることを意味する。
【００７４】
本実施の形態においては、原素性関数集合｜Ｆ｜と同様に、縮約素性関数集合をＨとし、縮約素性関数集合内の要素数を｜Ｈ｜と定義する。
【００７５】
ここで、Ｆｉｄを１から｜Ｆ｜までの整数の集合とする。つまり、Ｆｉｄ＝｛１，．．．，｜Ｆ｜｝である。本実施の形態においては、この集合Ｆｉｄを｜Ｈ｜＋１個の部分集合に分割することを考える。Ｆｉｄｋを集合Ｆｉｄのｋ番目の部分集合とする。ただし、
【００７６】
【数１１】
2016024523.tif 000013
【００７７】
である。このとき、下記（５）式、及び（６）式が成り立つと仮定する。
【００７８】
【数１２】
2016024523.tif 000014
【００７９】
上記（５）式の関係は、全ての部分集合Ｆｉｄｋを合わせると元の集合Ｆｉｄと一致することを意味し、上記（６）式の関係は、部分集合間に重複する要素がないことを意味する。
【００８０】
整数集合の集合｛Ｆｉｄｋ｝｜Ｈ｜＋１ｋ＝１を用いると、原素性関数集合Ｆを｜Ｈ｜＋１個に分割することができる。最終的に、Ｆｉｄｋを用いてｋ番目の縮約素性関数ｈｋ（ｘ＾，ｙ＾）を、下記（７）式のように定義する。ここで、
【００８１】
【数１３】
2016024523.tif 000015
【００８２】
上記（７）式のδｉは、各ｆｉに符号を加味するためのものである。また、ｖｋは、ｋ番目の縮約素性関数のスコアを表すもので、０＜ｖｋ＜∞とする。よって、縮約素性関数ｈｋ（・）とは、「原素性関数集合内の一つ以上の原素性関数ｆｉ（・）の符号付き和を単一の実数ｖｋで重みつけした値を返す関数」である。このことから、縮約素性関数の値は、原素性関数の値に従って自動的に定義される事を意味し、縮約素性関数用に新たに計算式を定義する必要はないことを意味する。このとき、定義から
【００８３】
【数１４】
2016024523.tif 000016
【００８４】
が成り立つ。また、実用上は、｜Ｈ｜＜＜｜Ｆ｜となるように｜Ｈ｜と｜Ｆ｜とを設定する。
【００８５】
本実施の形態においては、前述したように縮約素性関数は｜Ｈ｜個と仮定するため、Ｆｉｄ｜Ｈ｜＋１中の整数の添え字をもつ原素性関数は、縮約素性関数には使われない。これは、原素性関数中の素性が必ずしも有効でない場合があるため、それらの原素性関数を縮約素性関数から排除するための機構を与えるためである。縮約素性関数集合Ｈを用いる際は、線形判別関数Φ（・）を下記（８）式のように定義する。
【００８６】
【数１５】
2016024523.tif 000017
【００８７】
ｗｉはｉ番目の縮約素性関数ｈｉ（ｘ＾，ｙ＾）に対するシステムパラメタである。つまり、入力ｘ＾が与えられた場合に、出力ｙ＾の尤もらしさは、全ての縮約素性関数ｈｉ（ｘ＾，ｙ＾）の重み付き和によって評価されることを意味する。ただし、上記（８）式中のｗｉと、上記（４）式中のｗｉは、同一の記号を用いているが、値はそれぞれ独立に決定されるとして仮定する。
【００８８】
図１に、原素性関数と縮約素性関数との関係を示す。Ｐ＝（Ｆｉｄｋ）Ｋｋ＝１を原素性関数集合Ｆの分割情報、ｖ＾＝（ｖｋ）｜Ｈ｜ｋ＝１を各縮約素性関数で用いられる重み情報、δ＾＝（δｉ）｜Ｆ｜ｉ＝１を各原素性関数に対する符号情報とする。このとき、縮約素性関数集合Ｈは、原素性関数集合の定義Ｆと（Ｐ，ｖ＾，δ＾）を決定することにより一意に得ることができる。
【００８９】
原素性関数集合の定義Ｆは、人手により与えられることを仮定する。本実施の形態においては、大量の未解析データを用いて効果的に（Ｐ，ｖ＾，δ＾）を決定する。なお、（Ｐ，ｖ＾，δ＾）をいかに効率的に決定するかという方法論が、縮約素性関数の性能を大きく左右する。
【００９０】
本実施の形態においては、情報処理システムのシステムパラメタ決定に関して、事前に定義した原素性関数集合を元に、縮約素性関数集合を生成し、生成した縮約素性関数集合を用いて最終的なシステムパラメタを決定する。本実施の形態においては、自然言語処理分野での文書分類問題を例に説明する。
【００９１】
まず、計算機による自動文書分類システムでは、入力が文書、出力が文書に付与すべきクラスとなる。出力の文書に付与すべきクラスは、例えば、カテゴリへの分類問題を想定すると、書籍の体系のように「科学」、「経済」、「政治」、及び「スポーツ」といったものがクラスとなる。また、スパム分類のような文書分類問題を想定すると、出力クラスは、「スパム文書」と「通常の文書」との二クラスとなる。それ以外にも、任意の商品に対するアンケートからの評判分析をするような文書分類問題を考えている場合には、例えば、出力クラスは、５段階の「非常に良い」、「良い」、「普通」、「悪い」、及び「非常に悪い」のようなものになる。図２に典型的な自動文書分類システムの例を示す。
【００９２】
次に、このような文書分類システムを構築する方法について説明する。近年では、このような問題は正解データを準備し、そこから教師あり学習により分類モデルを構築する方法が主流である。このとき、正解データとは、構築したい自動文書分類システムの入力と出力のペアに相当するデータである。教師あり学習とは、この正解データから、演繹的に自動分類モデルを学習する方法である。
【００９３】
次に、文書分類問題を教師あり学習によりモデル構築する際に用いる原素性関数について説明する。文書分類問題の例では、文書中に出現する単語を情報源として原素性関数を定義する方法が一般的である。これは、文書を構成する要素が単語であることと、それぞれの単語が問題を説明する大きな要素となるからである。但し、この場合、原素性関数の数は単語数となるため、例えば、数万や数百万といった非常に大きい数となる。ここで、単語が｛Ｗ１，．．．，ＷＮ｝とＮ個存在するとした場合、ｎ番目の素性関数の例として、下記（９）式、及び（１０）式のようなものが考えられる。
【００９４】
【数１６】
2016024523.tif 000018
【００９５】
また、単純に単語が出現したか、しなかったかを０と１とで表現する下記（１１）式に示すような二値素性関数も考えられる。
【００９６】
【数１７】
2016024523.tif 000019
【００９７】
文書分類システムは、入力としてある文書ｘ＾が与えられたときに、その文書が属するカテゴリｙ＾を決定するシステムである。本実施の形態においては、自動文書分類システムとして、上記（４）式で示した線形判別関数を用いる。つまり、定義した素性関数とその重みの線形和が尤も大きくなるカテゴリが出力として選択される。
【００９８】
線形判別関数のパラメタを教師あり学習により推定するとは、パラメタであるｗｎの値を決定することに相当する。これには、正解データを利用する教師あり学習により値を決定する。また、学習法としては、例えば、確率モデル(対数線形モデル)による尤度最大化や、線形モデルによるマージン最大化に基づくモデルパラメタ推定法などが広く用いられている。
【００９９】
次に、本実施の形態において、原素性関数集合を入力とし、縮約素性関数集合を獲得し、最終的なシステムパラメタを決定する処理手順について説明する。本実施の形態における、縮約素性関数集合を用いたシステムを構築する処理について、大まかに３つの大きな処理ブロックに分けて説明する。
【０１００】
まず、第１の処理として、教師あり学習により対象とする問題のモデルを構築する処理について説明する。第１の処理は、従来の教師あり学習によるシステムパラメタ推定と同じ処理となる。図３に第１の処理の概要を示す。
【０１０１】
本実施の形態においては、正解データ
【０１０２】
【数１８】
2016024523.tif 000020
【０１０３】
と人手により定義した原素性関数集合Ｆの定義を読み込み、初期モデルを構築する。本実施の形態においては、正解データと原素性関数集合とを用いて、教師あり学習をした結果得られたシステムパラメタによるシステムを「ベースモデル」と定義する。
【０１０４】
次に、第２の処理として、縮約素性関数集合を獲得する処理について説明する。縮約素性関数集合の獲得には、原素性関数の重要度の計算と、原素性関数の融合を行う。図４及び図５に第２の処理の概要を示す。
【０１０５】
本実施の形態においては、人手により事前に定義された、ベースモデルから計算できる何かしらの基準に基づいてｘ＾が与えられた際のｙ＾の尤度を返す関数ｒ（ｘ＾，ｙ＾）を、参照関数と定義する。
【０１０６】
例えば、入力ｘ＾に対して出力ｙ＾の出現確率がベースモデルにより計算できる場合は、確率そのもの、或いは、対数尤度などが参照関数として考えられる。いずれにしても、入力ｘ＾に対してある出力ｙ＾である可能性が高い場合に相対的に高いスコアを出し、逆に、ｙ＾である可能性が低いと考えられる場合には相対的に低いスコアを出す関数であればよい。本実施の形態においては、最も単純なものとして、未解析データｘ＾から抽出された複数の原素性関数の各々を用いてベースモデルが選択した最尤出力＊ｙ＾と同じ場合、つまり、ｙ＾＝＊ｙ＾の時に１を返し、それ以外の時に０を返す関数を用いた例を考える。この時、関数ｒ（ｘ＾，ｙ＾）は、与られたｙ＾がベースモデルによる最尤出力＊ｙ＾と同じ場合、つまり、ｙ＾＝＊ｙ＾のときに１を返し、それ以外の時に０を返す関数とする。つまり、関数ｒ（ｘ＾，ｙ＾）は、ベースモデルに従って戻り値が決定する関数である。
【０１０７】
次に、
【０１０８】
【数１９】
2016024523.tif 000021
【０１０９】
を、関数ｒ（ｘ＾，ｙ＾）のｘ＾における平均であり、下記（１２）式で表される。
【０１１０】
【数２０】
2016024523.tif 000022
【０１１１】
また、
【０１１２】
【数２１】
2016024523.tif 000023
【０１１３】
を、平均
【０１１４】
【数２２】
2016024523.tif 000024
【０１１５】
からの実際の値ｒ（ｘ＾，ｙ＾）の偏りとし、下記（１３）式で表す。
【０１１６】
【数２３】
2016024523.tif 000025
【０１１７】
次に、原素性関数の重要度の計算について説明する。まず、参照関数の定義と、未解析データを読み込み、（Ｐ，ｖ＾，δ＾）を推定する問題において、未解析データＤＵを用いて、下記（１４）式、及び（１５）式のように定義する。
【０１１８】
【数２４】
2016024523.tif 000026
【０１１９】
また、Σ（ｘ＾，ｙ＾）は、
【０１２０】
【数２５】
2016024523.tif 000027
【０１２１】
の短縮形であり、ξ、λ１、及びλ２は、未解析データに応じて定められる値である。また、（＊ｕ＾，＊δ＾）は、
【０１２２】
【数２６】
2016024523.tif 000028
【０１２３】
によって決定する値に基づいて各原素性がベースモデルの判別にどの程度影響を与えているかを計算している。＊δｉ＝１は、ｆｉ（・）が正の判別をする場合に影響を与え、＊δｉ＝−１は、ｆｉ（・）が負の判別をする場合に影響を与えていることを表す。また、＊ｕｉの値が大きい場合には、ｆｉ（・）が正または負の判別に大きな影響力をもっていることを意味する。そして、（＊ｖ＾，＊ｕ＾）は、間接的に原素性関数集合の分割Ｐの情報を保持している。
【０１２４】
次に、原素性関数の融合処理について説明する。本実施の形態においては、上記（１４）式の解（＊ｖ＾，＊ｕ＾，＊δ＾）から、縮約素性関数集合Ｈを得る方法を説明する。上記（１４）式の制約から、＊ｕ＾の値の種類は、０を除くと＊ｖ＾の要素数と同じ、｜Ｈ｜個となる。この関係から＊ｕ＾が同じ値となった原素性関数を一つのグループとしてまとめる処理を行う。つまり、ｉ番目の原素性関数がｋ番目のグループに属していると仮定すると、＊ｕｉ＝＊ｕｊとなるｊ番目の原素性関数はすべてｋ番目のグループに属するようにグループを構成する。これは、＊ｕ＾が与えられれば一意に作成できることは自明である。ｋ番目のグループに属する原素性関数のインデックスを集合Ｆｉｄｋの要素とする。
【０１２５】
このとき、全てのｉ∈Ｆｉｄｋに対して、上記（７）式のｖｋに対して、ｖｋ＝＊ｕｉの関係が成り立つので、グループの重要度を表す値としてｖｋに＊ｕｉの値を用いることとする。これらの処理により、上記（７）式を構成する要素がすべて揃うため、それぞれのグループの縮約素性に対応する縮約素性関数を求め、求められた縮約素性関数集合を用いてシステムを動かす準備ができる。以上の処理により、原素性関数集合の定義から、縮約素性関数集合の定義が自動的に獲得できる。
【０１２６】
次に、本実施の形態における、システムパラメタの再推定（再学習）する処理について説明する。具体的には、得られた縮約素性集合Ｈの定義を用いて、従来通りの教師あり学習によるシステムパラメタ推定を行うことで、図６に示すように、最終的に縮約素性関数集合に基づくシステムを構築することが可能となる。図７及び図８に原素性関数と縮約素性関数を用いた際の処理の違いを示す。これは、獲得した縮約素性関数に基づいたシステムパラメタを再推定する処理に相当する。
【０１２７】
＜縮約素性生成装置のシステム構成＞
次に、本発明の実施の形態に係る縮約素性生成装置の構成について説明する。図９に示すように、本発明の実施の形態に係る縮約素性生成装置１００は、ＣＰＵと、ＲＡＭと、後述する縮約素性生成処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この縮約素性生成装置１００は、機能的には図９に示すように入力部１０と、演算部２０と、出力部９０とを備えている。
【０１２８】
入力部１０は、正解データの集合及び未解析データの集合を受け付ける。ここで、正解データの集合は、正解データ記憶部２２に記憶され、未解析データの集合は、未解析データ記憶部２８に記憶される。なお、正解データは、入力に対する正解出力が既知であるデータであり、未解析データは、入力に対する正解出力が未知のデータである。
【０１２９】
演算部２０は、正解データ記憶部２２と、ベースモデル構築部２４と、ベースモデル記憶部２６と、未解析データ記憶部２８と、縮約素性関数構築部３０と、縮約素性集合定義記憶部５０と、モデル再構築部５２とを備えている。
【０１３０】
正解データ記憶部２２には、入力部１０により受け付けた正解データの集合が記憶されている。
【０１３１】
ベースモデル構築部２４は、正解データ記憶部２２に記憶されている正解データの集合を入力として、周知の教師あり学習により対象とする問題のベースモデルを構築し、ベースモデル記憶部２６に記憶する。ここで、入力される正解データの集合は、対象とする問題に応じて人手により定義した「モデル定義」、「原素性関数集合定義」、及び「教師あり学習アルゴリズム」である。
【０１３２】
具体的には、ベースモデル構築部２４は、従来の教師あり学習によるモデル構築処理を実施する。教師あり学習の方法としては、解きたい問題に合わせて様々な方法を用いることができる。例えば、スパムフィルタのように、スパムかそうでないかという二つのクラスに分類したいような問題では、Support Vector Machine（参考文献：V.Vapnik. The Nature of Statistical Learning Theory. Spring-Verlag, New York, 1995.参照）等の二クラス分類器用の学習法を用いることができる。また、分類したいクラスの種類が二つ以上の場合は、多クラスロジスティック回帰モデル等を用いて教師あり学習が行われる。自然言語処理分野の係り受け解析等では、条件付確率場（参考文献：J. Lafferty, A. McCallum, and F. Pereira. Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data. In Proc. of ICML-2001, pages 282−289, 2001.）といった構造予測器用のモデルを用いて学習することができる。
【０１３３】
ベースモデル記憶部２６には、ベースモデル構築部２４において構築したベースモデルが記憶されている。
【０１３４】
未解析データ記憶部２８には、入力部１０において受け付けた未解析データの集合が記憶されている。
【０１３５】
縮約素性関数構築部３０は、ベースモデル構築部２４において取得されたベースモデルと、未解析データ記憶部２８に記憶されている未解析データの集合とに基づいて、縮約素性関数集合を獲得する。また、縮約素性関数構築部３０は、図１０に示すように、原素性重要度計算部３４と、縮約素性作成部３５とを備えている。なお、縮約素性関数の総数Ｈの値は、予め定められているものとする。
【０１３６】
原素性重要度計算部３４は、ベースモデル構築部２４において取得されたベースモデルと、未解析データ記憶部２８に記憶されている未解析データの集合とに基づいて、上記（１２）式、（１３）式、（１４）式、及び（１５）式に従って、（＊ｖ＾，＊ｕ＾，＊δ＾）を計算し、各原素性関数について、正の重要度又は負の重要度を計算する。
【０１３７】
縮約素性作成部３５は、原素性選択部３６と、原素性融合部３８と、原素性重要度追加部４０とを備えている。
【０１３８】
原素性選択部３６は、原素性重要度計算部３４において計算された（＊ｖ＾，＊ｕ＾，＊δ＾）に基づいて、不必要と考えられる原素性関数を排除する。具体的には、＊ｕｉ＝０となった原素性関数ｆｉを不必要と判定し、原素性関数の集合から排除することに相当する。原素性選択部３６の処理は、原素性関数の重要度が０ということは、その原素性関数はモデルの出力決定に影響を与えないであろうと推定されたことを意味するので、これらの原素性関数を縮約素性関数に含めないための処理である。
【０１３９】
原素性融合部３８は、原素性重要度計算部３４において計算された（＊ｖ＾，＊ｕ＾，＊δ＾）に基づいて、原素性選択部３６において不必要な原素性関数を排除した原素性関数集合に含まれる複数の原素性関数を一つの縮約素性関数のグループとして融合する。簡単な処理の例として、計算した＊ｕ＾に基づき、同じ＊ｕiの値となった原素性関数を一つの縮約素性関数のグループとしてまとめ上げることができる。
【０１４０】
原素性重要度追加部４０は、原素性融合部３８において取得した縮約素性関数のグループに素性重要度の値＊ｕに関する情報を追加する。計算した素性重要度の値＊ｕ自体も非常に有効な情報源であるため、縮約素性関数に利用するものである。具体的には、グループに属する原素性関数の素性重要度の値＊ｕを、当該グループの重要度ｖｋの代表値とする。
【０１４１】
縮約素性集合定義記憶部５０には、縮約素性関数構築部３０において取得した縮約素性関数の集合が記憶されている。
【０１４２】
モデル再構築部５２は、正解データ記憶部２２に記憶されている正解データと、縮約素性集合定義記憶部５０に記憶されている縮約素性関数集合の定義とを用いて、周知の教師あり学習アルゴリズムを用いた教師あり学習により、対象とする問題のモデルを再構築する。なお、ここで再構築されるモデルを、ベースモデルと区別して、「最終モデル」と呼ぶ。
【０１４３】
ここで、縮約素性関数構築部３０で得られる縮約素性関数集合定義は、原素性関数集合定義から無駄を省いた縮約形を自動で生成したものに相当するため、性質としては、原素性関数集合定義と同じとなる。よってモデル再構築部５２の処理は、本質的にベースモデル構築部２４と同様に、従来の教師あり学習によるモデル構築の処理に相当する。つまり、ベースモデル構築部２４及びモデル再構築部５２の処理は、従来技術をそのまま用いることができる。
【０１４４】
＜情報処理装置のシステム構成＞
前述の縮約素性生成装置１００で得られた縮約素性関数集合を用いた最終モデルを用いて、情報処理装置２００によって、未知の入力データに対して所定の情報処理を行う。最終モデルを用いる場合、原素性関数集合を用いたベースモデルを用いる場合よりも、高いシステム性能が得られることが期待できる。
【０１４５】
図１１は、本発明の実施の形態に係る情報処理装置２００を示すブロック図である。この情報処理装置２００は、ＣＰＵと、ＲＡＭと、後述する情報処理ルーチンを実行するためのプログラムを記憶したＲＯＭと、を備えたコンピュータで構成され、機能的には次に示すように構成されている。
【０１４６】
本実施の形態に係る情報処理装置２００は、図１１に示すように、入力部２１０と、モデル記憶部２２０と、情報処理部２３０と、出力部２４０とを備えている。
【０１４７】
入力部２１０は、正解出力が未知である入力データｘ＾を受け付ける。
【０１４８】
モデル記憶部２２０には、上記縮約素性生成装置１００によって構築された最終モデルが記憶されている。
【０１４９】
情報処理部２３０は、モデル記憶部２２０に記憶されている最終モデルに基づいて、入力部２１０において受け付けた入力データｘ＾に対して、所定の情報処理を行う。具体的には、情報処理部２３０は、入力部２１０において受け付けた入力データｘ＾から抽出される縮約素性関数と、モデル記憶部２２０に記憶されている最終モデルとに基づいて、入力データｘ＾に対応する最尤出力として、入力データｘ＾が属するカテゴリｙ＾を取得する。
【０１５０】
出力部２４０は、情報処理部２３０によって取得されたカテゴリｙ＾を結果として出力する。
【０１５１】
＜縮約素性生成装置の作用＞
次に、本実施の形態に係る縮約素性生成装置１００の作用について説明する。まず、正解データの集合と、未解析データの集合と、縮約素性生成装置１００に入力されると、縮約素性生成装置１００によって、入力された正解データの集合が、正解データ記憶部２２に記憶され、入力された未解析データの集合が、未解析データ記憶部２８に記憶される。そして、縮約素性生成装置１００によって、図１２に示す縮約素性生成処理ルーチンが実行される。
【０１５２】
まず、ステップＳ１００では、正解データ記憶部２２に記憶されている正解データの集合を読み込む。
【０１５３】
次に、ステップＳ１０２では、未解析データ記憶部２８に記憶されている未解析データの集合を読み込む。
【０１５４】
ステップＳ１０４では、ステップＳ１００において取得した正解データの集合に基づいて、周知の教師あり学習により対象とする問題のベースモデルを構築（学習）し、ベースモデル記憶部２６に記憶する。
【０１５５】
ステップＳ１０６では、ステップＳ１０２において取得した未解析データの集合と、ステップＳ１０４において取得したベースモデルとに基づいて、縮約素性関数の集合を生成する。
【０１５６】
ステップＳ１０８では、ステップＳ１０６において取得した縮約素性関数の集合と、ステップＳ１００において取得した正解データの集合とに基づいて、周知の教師あり学習により対象とする問題の最終モデルを構築（学習）し、出力部９０に出力して縮約素性生成処理ルーチンを終了する。
【０１５７】
上記ステップＳ１０６の縮約素性関数の集合の生成については、図１３の縮約素性関数集合生成処理ルーチンにおいて詳細に説明する。
【０１５８】
図１３のステップＳ２０２では、ステップＳ１０４において取得したベースモデルと、ステップＳ１０２において取得した未解析データの集合とに基づいて、上記（１２）式〜（１５）式に従って、（＊ｖ＾，＊ｕ＾，＊δ＾）を計算し、各原素性関数について、正の重要度又は負の重要度を計算する。
【０１５９】
次に、ステップＳ２０４では、ステップＳ２０２において取得した（＊ｖ＾，＊ｕ＾，＊δ＾）に基づいて、原素性関数の＊ｕ＾が０となる原素性関数ｆｉに対応する原素性関数を不必要と判定し、原素性関数の集合から排除し、原素性関数の＊ｕ＾≠０となった原素性関数ｆｉを、縮約素性関数に含める原素性関数として選択する。
【０１６０】
次に、ステップＳ２０６では、ステップＳ２０２において取得した（＊ｖ＾，＊ｕ＾，＊δ＾）に基づいて、ステップＳ２０４において取得した原素性関数の集合に含まれる複数の原素性関数を、同じ＊ｕｉとなる原素性関数毎に一つの縮約素性関数のグループとして融合する。
【０１６１】
次に、ステップＳ２０８では、ステップＳ２０２において取得した（＊ｖ＾，＊ｕ＾，＊δ＾）に基づいて、ステップＳ２０６において取得した縮約素性関数のグループの各々について、当該縮約素性関数のグループに属する原素性関数の素性重要度の値＊ｕを、当該縮約素性関数のグループの重要度ｖｋの代表値とする。
【０１６２】
＜情報処理装置の作用＞
次に、本実施の形態に係る情報処理装置２００の作用について説明する。まず、縮約素性生成装置１００から出力された最終モデルが情報処理装置２００に入力されると、モデル記憶部２２０に格納される。そして、分類対象となる入力データｘ＾が入力部２１０により受け付けられると、情報処理装置２００によって、図１４に示す実行処理ルーチンが実行される。
【０１６３】
まず、ステップＳ３００では、モデル記憶部２２０に記憶されている最終モデルを読み込む。
【０１６４】
次に、ステップＳ３０２では、入力部２１０において受け付けた入力データｘ＾から縮約素性関数を抽出する。
【０１６５】
次に、ステップＳ３０４では、ステップＳ３００において取得した最終モデルと、ステップＳ３０２において取得した入力データｘ＾の縮約素性関数とに基づいて、入力データｘ＾のカテゴリを分類する。
【０１６６】
次に、ステップＳ３０６では、ステップＳ３０４において取得したカテゴリを出力部２４０から出力して実行処理ルーチンを終了する。
【０１６７】
＜実験結果＞
次に、本実施の形態の実験結果を示す。図１５に原素性関数集合を使った場合、従来法を用いた場合、縮約素性関数集合を使った場合のテキスト分類精度を示す。
【０１６８】
図１５中の横軸は、システムパラメタ数を表し、縦軸は、システムの分類精度を表している。この図からもわかるように、本実施の形態の方法を用いると、システムパラメタ数を削減しながら、システム性能を向上させることができる。
【０１６９】
以上説明したように、本発明の実施の形態に係る縮約素性生成装置によれば、複数の正解データの各々の特徴を表す複数の原素性の各々に応じた原素性関数の各々を用いて、ベースモデルを学習し、ベースモデルの最尤出力に対して、正の重要度又は負の重要度の値が、所定個の実数値と０とからなる離散値の集合に含まれる制約を満たすように、正の重要度又は負の重要度を、複数の原素性の各々について計算し、計算された複数の原素性の各々の正の重要度又は負の重要度に基づいて、同一の正の重要度又は負の重要度を有する原素性からなるグループを作成し、グループに含まれる原素性関数をまとめた縮約素性に応じた縮約素性関数を作成し、複数の正解データの各々の縮約素性の各々に応じた縮約素性関数の各々を用いて、最終モデルを学習することによって、一般的な教師あり学習に用いられる素性よりも、コンパクトかつ高精度の縮約素性関数を用いてモデルを学習することができる。
【０１７０】
また、本発明の実施の形態に係る情報処理装置によれば、入力データに対して、縮約素性関数を抽出し、抽出した縮約素性関数と、縮約素性生成装置により構築された最終モデルとに基づいて、最尤出力を出力することにより、高いシステム性能を得ることができる。
【０１７１】
また、正解データを用いて教師あり学習する際に、一般的に用いる素性集合よりもはるかにコンパクトで精度良い素性集合を獲得することができる。これにより、教師あり学習時に、過適応の起こる可能性を大幅に削減することができる。
【０１７２】
また、線形分類器を用いる場合には、パラメタ数は素性数と一致するため、パラメタ数も大幅に削減することができ、結果として必要主記憶（メモリ）量も大幅に削減することができる。さらに、必要主記憶（メモリ）量が削減できるため、実行速度も向上させることができる。
【０１７３】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１７４】
例えば、本実施の形態においては、最終モデルを構築する際に用いる正解データを、ベースモデルを構築する際に用いた正解データを用いる場合について説明したが、これに限定されるものではなく、ベースモデルを構築する際に用いた正解データと別の正解データを用いてもよい。
【０１７５】
また、本実施の形態においては、原素性関数の＊ｕ＾が同一の原素性関数を一つのグループとしてまとめる場合について説明したが、これに限定されるものではない。例えば、原素性関数の（＊ｕ＾，＊δ＾）が同一の原素性関数を一つのグループとしてまとめてもよい。
【０１７６】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０１７７】
１０   入力部
２０   演算部
２２   正解データ記憶部
２４   ベースモデル構築部
２６   ベースモデル記憶部
２８   未解析データ記憶部
３０   縮約素性関数構築部
３４   原素性重要度計算部
３５   縮約素性作成部
３６   原素性選択部
３８   原素性融合部
４０   原素性重要度追加部
５０   縮約素性集合定義記憶部
５２   モデル再構築部
９０   出力部
１００ 縮約素性生成装置
２００ 情報処理装置
２１０ 入力部
２２０ モデル記憶部
２３０ 情報処理部
２４０ 出力部
【図９】
2016024523.tif 000035
【図１０】
2016024523.tif 000036
【図１１】
2016024523.tif 000037
【図１２】
2016024523.tif 000038
【図１３】
2016024523.tif 000039
【図１４】
2016024523.tif 000040
【図１】
2016024523.tif 000041
【図２】
2016024523.tif 000042
【図３】
2016024523.tif 000043
【図４】
2016024523.tif 000044
【図５】
2016024523.tif 000045
【図６】
2016024523.tif 000046
【図７】
2016024523.tif 000047
【図８】
2016024523.tif 000048
【図１５】
2016024523.tif 000049
【図１６】
2016024523.tif 000050
【図１７】
2016024523.tif 000051
【図１８】
2016024523.tif 000052