図面 (/)

技術 縮約素性生成装置、情報処理装置、方法、及びプログラム

出願人 日本電信電話株式会社
発明者 鈴木潤
出願日 2014年7月17日 (5年0ヶ月経過) 出願番号 2014-146548
公開日 2016年2月8日 (3年5ヶ月経過) 公開番号 2016-024523
状態 特許登録済
技術分野 機械翻訳 検索装置 学習型計算機 知識ベースシステム
主要キーワード 判別規則 モデルパラメタ 離散空間 システムパラメタ 参照関数 出力クラス 多次元配列 情報処理ルーチン
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年2月8日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (19)

課題

コンパクトかつ高精度の縮約素性を生成することができる。

解決手段

ベースモデル構築部24により、ベースモデルを学習し、原素性重要度計算部34により、正の重要度又は負の重要度を、複数の原素性関数の各々について計算し、縮約素性作成部35により、計算された複数の原素性関数の各々の正の重要度又は負の重要度に基づいて、正の重要度又は負の重要度の値が同一となる原素性関数からなるグループを作成し、作成したグループの各々について、グループの重要度の代表値を、同一となる値とし、グループに含まれる原素性関数をまとめた縮約素性関数を作成し、モデル再構築部52により、複数の正解データの各々の縮約素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築される最終モデルを学習する。

概要

背景

図16に示すような、音声認識機械翻訳文字認識物体認識、DNAの構造予測などといった情報処理における識別問題は、図17に示すように、入力が与えられたときに、出力を予測するシステムみなすことができる。

これらのシステムは一般的に、実行フェーズ構築フェーズとに分けることができる。構築フェーズとは、人手により事前にシステムを設計し、システムパラメタ等を決定する作業を指す。実行フェーズとは、構築フェーズで定義された設計に基づき入力を処理し、出力はシステムパラメタに依存して決定される。

構築フェーズでは、様々な方法でシステムを構築することができる。例えば、人手により変換規則記述しておいて、その規則に則って入力を出力へ変換し、それを出力する方法が考えられる。ただし、変換規則を人手により準備するのは網羅性や整合性を保持するためのコストが非常にかかるため、図18に示すように、データから自動的にシステムを構築する機械学習手法を用いてシステムを自動構築する方法を用いるのが近年では主流である。

構築フェーズでは、まず、対象とするシステムの入力とそれに対応する出力のペアを用意する。これは、一般的に、正解データ或いは教師データとよばれる。教師データとは、教師データ中の入力がシステムに入力された際に、どのような出力がされるべきかを表したデータである。次に、この教師データを用いてシステムを構築する。必要な要件は、教師データ中の入力に対して、正しい出力が行えるシステムであることである。そこで、機械学習に基づく構築フェーズでは、教師データを用いて、教師データを正しく判別できるようなシステムパラメタの集合を学習することに帰着する。

以上の処理を数式的に表すと以下のようになる。まず、実行フェーズを示す。x^を一つの入力を表すこととし、Χを、システムが受け付ける取り得る全ての入力x^の集合とする。なお、記号に付された「^」は、当該記号が行列多次元配列、又はベクトルであることを表している。同様に、y^を一つの出力を表すこととし、Yを、システムが許容する取り得る全ての出力y^の集合とする。また、Y(x^)を、x^が与えられたときに取り得る全ての出力y^の集合とする。よって、x^∈Χ、y^∈Y(x^)⊆Yの関係が成り立つ。

次に、w^をシステムパラメタの集合をベクトル表記したものとする。ここで、wdをベクトルw^のd番目の要素であり、同時にd番目のシステムパラメタとする。つまり、w^=(w1,...,wN)かつd={1,...,N}の関係が成り立つ。ただし、システムパラメタ数はNであり、w^はN次元ベクトルとする。

このとき、入力x^が与えられたときに出力y^を返すシステムを下記(1)式に表すことができる。

ただし、Φ(x^,y^:w^)は、事前に何かしらの方法で得られたスコアw^に基づいて、入力x^に対して、最も良いと思われる出力y^を選択するために用いる関数であり、ここでは、単にスコア関数と呼ぶ。つまり、x^が与えられた際に得られる可能性がある全ての出力y^の中で、この変換スコアが最も高くなるy^が出力として採用されることになる。そのため、w^は、どの出力が選ばれるかを制御するシステムパラメタであり、システム全体の性能を決定する要因といえる。よって、システムパラメタw^をいかに精度よく求めるかという事が、構築フェーズの最大の要件となる。ここで、精度よくとは、あらゆる入力に対して可能な限り多くの正しい出力を行うことが可能なw^を求めることを意味する。なお、記号の前に付された「*」は、当該記号が推定された値であることを表している。

次に、構築フェーズについて説明する。実際に、あらゆる可能な入力に対して最良パラメタw^を求めることは非常に困難を伴う。それは、実際に、あらゆる可能な入力を列挙することが事実上困難であることに起因する。そこで、パターン認識の分野では、実データに基づいてw^を決定する。まず、教師データを

で表す。教師データは、以下に示すように、入力x^、出力y^のペアの集合で構成される。

このとき、x^iを、教師データ中のi番目の入力データとし、

をi番目の入力に対応する出力とする。システムパラメタの学習は、下記(2)式の最適化問題解くことで得られる。

このとき、

は、リスク関数損失関数とよばれ、教師データ内の入力に対してどの程度正しい出力を得られるかといった値を返す関数である。現在のパラメタw^を用いて、実際に上記(1)式を用いて判別を行ってみて、より多く間違える場合には、より大きな値となるような関数を用いる。Ω(w^)は、一般に正則化項とよばれ、教師データが有限個しかない状況で、教師データに現れないデータに対してもより正しく判別できるように、システムパラメタが教師データに過適応しないように、ペナルティを与える項である。例えば、パラメタのL2−ノルムがなるべく小さくなるような制約課すことで、パラメタが極端に大きな値をとらないように制限するといったことが、よく用いられる。最終的に、上記(2)式で得られる*w^は、教師データを最もよく識別することができるパラメタの集合といえる。

以上が、本発明で対象とする情報処理システムの実行フェーズと構築フェーズを数式的に定義したものである。

上記(2)式に基づいたシステムパラメタの獲得は、パターン認識では教師あり学習と呼ばれる。自然言語処理バイオインフォマテクス研究分野分類問題に属する問題は、教師あり学習により、システムパラメタを獲得する方法が主流であり、多くの研究で良い解析精度が得られることが知られている。

教師あり学習を行う際には、対象とする問題に有用と思われる判別規則、または、判別規則を構成する要素と雛形を人手で事前に定義する方法が一般的である。ここで定義される判別規則を一般的に「素性」と呼ぶ。

素性は人間の持つ知識や直感等に基づいて定義される場合が多い。自然言語処理の問題では、単語や単語の連接等が特徴として用いられることが多い。これは、文書を構成する要素が単語であることと、それぞれの単語が問題を説明する大きな要因となることが多いためである。また、意味や高次の情報を外部のリソース(例えば辞書)等からもってきて利用することもよく行われる。この素性の設計により教師あり学習によるモデル学習の精度が大きく影響を受ける。

一般論として、機械学習を行う際に素性数が多いと学習データに過適応してしまい相対的に汎化性能が悪くなる。この問題は、「次元の呪い」といわれる良く知られた問題として説明できる。つまり、教師あり学習では、素性数がそのまま素性空間次元数に相当することから、素性を一つ増やす毎に、十分な汎化性能を得るために必要なデータ量は指数関数的に増大し、現実的にデータ量を準備することが不可能となるという問題である。

ただし、自然言語処理やバイオインフォマティクスの問題では、解きたい問題をうまく特徴付けるものは、テキスト中の単語であるとか、遺伝子配列記号系列などといった離散シンボルである。また、個々の離散シンボルが特徴付ける問題の範囲はごく狭い領域のみであるため、解きたい問題全体をうまく特徴付けるのに必要な素性数は、非常に多くなることが一般的である。さらに、同一のシンボルであっても状況や文脈による多くの例外的扱いが多いため、複数のシンボルの組み合わせることで、はじめて解を説明できる問題等も多く存在する。このような状況では、結果的に、多くの離散シンボル、又はその組み合わせによる素性の集合を用いて問題を特徴付けることとなる。すると、個々の素性がデータ上に出現する割合は非常に小さくなる傾向となり、データ×素性の行列を考えた場合、要素の多くが0となる疎行列となる。要素が0というのは、つまり、情報が無いことと等価であり、各素性が出現する割合が大きく密行列となるような場合と比較して、「次元の呪い」問題が示すように、より多くのデータを必要とすることを意味する。このように、自然言語処理やバイオインフォマティクスの問題では、そもそも「次元の呪い」問題が頻出しやすい問題設定となっているという背景がある。

理論的には、「次元の呪い」問題は、学習データが無限に存在すれば回避できると考えられる。しかし、正解データを用いた教師あり学習の枠組みでは、正解データは人手で作成するのが最も一般的であるため、作成コストが高く、高次元素性空間を統計的に十分満たす量作成するのは非常に困難である。そのため、正解データ量を増やしてこの問題に対処するという方案は、現実的ではない。結果的に、教師あり学習の枠組みでは、限定された正解データ量で学習すると、十分な汎化性能が得られない可能性がある。

このように、素性設計の観点では、多くの素性を利用する方が解きたい問題をうまく表現できるため適していると考えられるが、機械学習の観点では、素性数は極力少なくするべきであるというジレンマがある。

このような問題を解決するための方法として、例えば、素性空間の次元圧縮次元削減等と呼ばれる、高次元素性空間を低次元空間写像する方法が知られている(非特許文献1)。同様に、任意のクラスタリング法等を用いて素性をクラスタリングして新たな素性とする方法も知られている(非特許文献2)。

概要

コンパクトかつ高精度の縮約素性を生成することができる。ベースモデル構築部24により、ベースモデルを学習し、原素性重要度計算部34により、正の重要度又は負の重要度を、複数の原素性関数の各々について計算し、縮約素性作成部35により、計算された複数の原素性関数の各々の正の重要度又は負の重要度に基づいて、正の重要度又は負の重要度の値が同一となる原素性関数からなるグループを作成し、作成したグループの各々について、グループの重要度の代表値を、同一となる値とし、グループに含まれる原素性関数をまとめた縮約素性関数を作成し、モデル再構築部52により、複数の正解データの各々の縮約素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築される最終モデルを学習する。

目的

本発明では、上記問題点を解決するために成されたものであり、一般的な教師あり学習に用いられる素性関数よりも、コンパクトかつ高精度の縮約素性関数を用いて、モデルを学習することができる縮約素性生成装置、方法、及びプログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

入力に対する正解出力が既知の複数の正解データの各々の特徴を表す複数の原素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築されるベースモデルを学習するベースモデル構築部と、前記ベースモデル構築部により学習されたベースモデルに、入力に対する正解出力が未知の複数の未解析データの各々を入力した際に、前記未解析データから抽出された前記複数の原素性関数の各々を用いて前記ベースモデルが選択した最尤出力に対する前記原素性関数の各々の値、及び前記ベースモデルにより選択されなかった出力に対する前記原素性関数の各々の値に基づいて、前記ベースモデルの最尤出力に対して、前記原素性関数の各々が与える正の影響又は負の影響を示す正の重要度又は負の重要度の値が、所定個実数値と0とからなる離散値集合に含まれる制約を満たすように、前記正の重要度又は負の重要度を、前記複数の原素性関数の各々について計算する原素性重要度計算部と、前記原素性重要度計算部により計算された前記複数の原素性関数の各々の正の重要度又は負の重要度に基づいて、前記正の重要度又は前記負の重要度の値が同一となる原素性関数からなるグループを作成し、作成したグループの各々について、前記グループの重要度の代表値を、前記同一となる値とし、前記グループに含まれる原素性関数をまとめた縮約素性関数を作成する縮約素性作成部と、前記複数の正解データの各々の前記縮約素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築される最終モデルを学習するモデル再構築部と、を含む、縮約素性生成装置

請求項2

前記原素性重要度計算部は、以下(1)式、及び(2)式に従って、前記ベースモデルの最尤出力に対して、i番目の前記原素性関数の各々について、正の重要度又は負の重要度(δi、ui)を計算する請求項1記載の縮約素性生成装置。であり、Σ(x^,y^)は、であり、ξiは、前記未解析データに応じて定められる値であり、λ1、λ2は、前記未解析データに応じて定められる値であり、δi=1の場合、i番目の前記原素性関数は正の重要度を有し、δi=−1の場合、i番目の前記原素性関数は負の重要度を有し、vkは、前記縮約素性関数に用いられる重みであり、Hは、前記縮約素性関数の総数であり、Fは、前記原素性関数の総数であり、は、前記未解析データの集合であり、fi(・)は、i番目の前記原素性関数である。

請求項3

ベースモデル構築部と、原素性重要度計算部と、縮約素性作成部と、モデル再構築部と、を含む縮約素性生成装置における、縮約素性生成方法であって、前記ベースモデル構築部は、入力に対する正解出力が既知の複数の正解データの各々の特徴を表す複数の原素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築されるベースモデルを学習し、前記原素性重要度計算部は、前記ベースモデル構築部により学習されたベースモデルに、入力に対する正解出力が未知の複数の未解析データの各々を入力した際に、前記未解析データから抽出された前記複数の原素性関数の各々を用いて前記ベースモデルが選択した最尤出力に対する前記原素性関数の各々の値、及び前記ベースモデルにより選択されなかった出力に対する前記原素性関数の各々の値に基づいて、前記ベースモデルの最尤出力に対して、前記原素性関数の各々が与える正の影響又は負の影響を示す正の重要度又は負の重要度の値が、所定個の実数値と0とからなる離散値の集合に含まれる制約を満たすように、前記正の重要度又は負の重要度を、前記複数の原素性関数の各々について計算し、前記縮約素性作成部は、前記原素性重要度計算部により計算された前記複数の原素性関数の各々の正の重要度又は負の重要度に基づいて、前記正の重要度又は前記負の重要度の値が同一となる原素性関数からなるグループを作成し、作成したグループの各々について、前記グループの重要度の代表値を、前記同一となる値とし、前記グループに含まれる原素性関数をまとめた縮約素性関数を作成し、前記モデル再構築部は、前記複数の正解データの各々の前記縮約素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築される最終モデルを学習する縮約素性生成方法。

請求項4

前記原素性重要度計算部が計算することは、以下(3)式、及び(4)式に従って、前記ベースモデルの最尤出力に対して、i番目の前記原素性関数の各々について、正の重要度又は負の重要度(δi、ui)を計算する請求項3記載の縮約素性生成方法。であり、Σ(x^,y^)は、であり、ξiは、前記未解析データに応じて定められる値であり、λ1、λ2は、前記未解析データに応じて定められる値であり、δi=1の場合、i番目の前記原素性関数は正の重要度を有し、δi=−1の場合、i番目の前記原素性関数は負の重要度を有し、vkは、前記縮約素性関数に用いられる重みであり、Hは、前記縮約素性関数の総数であり、Fは、前記原素性関数の総数であり、は、前記未解析データの集合であり、fi(・)は、i番目の前記原素性関数である。

請求項5

入力データを受け付ける入力部と、前記入力部において受け付けた入力データに対して、前記縮約素性関数を抽出し、前記抽出された縮約素性関数と、請求項1又は請求項2記載の縮約素性生成装置によって構築された最終モデルとに基づいて、最尤出力を出力する情報処理部と、を含む、情報処理装置

請求項6

コンピュータを、請求項1又は請求項2記載の縮約素性生成装置、若しくは請求項5記載の情報処理装置を構成する各部として機能させるためのプログラム

技術分野

0001

本発明は、縮約素性生成装置情報処理装置、方法、及びプログラム係り、特に、縮約素性関数集合を用いたモデルを学習する縮約素性生成装置、情報処理装置、方法、及びプログラムに関する。

背景技術

0002

図16に示すような、音声認識機械翻訳文字認識物体認識、DNAの構造予測などといった情報処理における識別問題は、図17に示すように、入力が与えられたときに、出力を予測するシステムみなすことができる。

0003

これらのシステムは一般的に、実行フェーズ構築フェーズとに分けることができる。構築フェーズとは、人手により事前にシステムを設計し、システムパラメタ等を決定する作業を指す。実行フェーズとは、構築フェーズで定義された設計に基づき入力を処理し、出力はシステムパラメタに依存して決定される。

0004

構築フェーズでは、様々な方法でシステムを構築することができる。例えば、人手により変換規則記述しておいて、その規則に則って入力を出力へ変換し、それを出力する方法が考えられる。ただし、変換規則を人手により準備するのは網羅性や整合性を保持するためのコストが非常にかかるため、図18に示すように、データから自動的にシステムを構築する機械学習手法を用いてシステムを自動構築する方法を用いるのが近年では主流である。

0005

構築フェーズでは、まず、対象とするシステムの入力とそれに対応する出力のペアを用意する。これは、一般的に、正解データ或いは教師データとよばれる。教師データとは、教師データ中の入力がシステムに入力された際に、どのような出力がされるべきかを表したデータである。次に、この教師データを用いてシステムを構築する。必要な要件は、教師データ中の入力に対して、正しい出力が行えるシステムであることである。そこで、機械学習に基づく構築フェーズでは、教師データを用いて、教師データを正しく判別できるようなシステムパラメタの集合を学習することに帰着する。

0006

以上の処理を数式的に表すと以下のようになる。まず、実行フェーズを示す。x^を一つの入力を表すこととし、Χを、システムが受け付ける取り得る全ての入力x^の集合とする。なお、記号に付された「^」は、当該記号が行列多次元配列、又はベクトルであることを表している。同様に、y^を一つの出力を表すこととし、Yを、システムが許容する取り得る全ての出力y^の集合とする。また、Y(x^)を、x^が与えられたときに取り得る全ての出力y^の集合とする。よって、x^∈Χ、y^∈Y(x^)⊆Yの関係が成り立つ。

0007

次に、w^をシステムパラメタの集合をベクトル表記したものとする。ここで、wdをベクトルw^のd番目の要素であり、同時にd番目のシステムパラメタとする。つまり、w^=(w1,...,wN)かつd={1,...,N}の関係が成り立つ。ただし、システムパラメタ数はNであり、w^はN次元ベクトルとする。

0008

このとき、入力x^が与えられたときに出力y^を返すシステムを下記(1)式に表すことができる。

0009

0010

ただし、Φ(x^,y^:w^)は、事前に何かしらの方法で得られたスコアw^に基づいて、入力x^に対して、最も良いと思われる出力y^を選択するために用いる関数であり、ここでは、単にスコア関数と呼ぶ。つまり、x^が与えられた際に得られる可能性がある全ての出力y^の中で、この変換スコアが最も高くなるy^が出力として採用されることになる。そのため、w^は、どの出力が選ばれるかを制御するシステムパラメタであり、システム全体の性能を決定する要因といえる。よって、システムパラメタw^をいかに精度よく求めるかという事が、構築フェーズの最大の要件となる。ここで、精度よくとは、あらゆる入力に対して可能な限り多くの正しい出力を行うことが可能なw^を求めることを意味する。なお、記号の前に付された「*」は、当該記号が推定された値であることを表している。

0011

次に、構築フェーズについて説明する。実際に、あらゆる可能な入力に対して最良パラメタw^を求めることは非常に困難を伴う。それは、実際に、あらゆる可能な入力を列挙することが事実上困難であることに起因する。そこで、パターン認識の分野では、実データに基づいてw^を決定する。まず、教師データを

0012

0013

で表す。教師データは、以下に示すように、入力x^、出力y^のペアの集合で構成される。

0014

0015

このとき、x^iを、教師データ中のi番目の入力データとし、

0016

0017

をi番目の入力に対応する出力とする。システムパラメタの学習は、下記(2)式の最適化問題解くことで得られる。

0018

0019

このとき、

0020

0021

は、リスク関数損失関数とよばれ、教師データ内の入力に対してどの程度正しい出力を得られるかといった値を返す関数である。現在のパラメタw^を用いて、実際に上記(1)式を用いて判別を行ってみて、より多く間違える場合には、より大きな値となるような関数を用いる。Ω(w^)は、一般に正則化項とよばれ、教師データが有限個しかない状況で、教師データに現れないデータに対してもより正しく判別できるように、システムパラメタが教師データに過適応しないように、ペナルティを与える項である。例えば、パラメタのL2−ノルムがなるべく小さくなるような制約課すことで、パラメタが極端に大きな値をとらないように制限するといったことが、よく用いられる。最終的に、上記(2)式で得られる*w^は、教師データを最もよく識別することができるパラメタの集合といえる。

0022

以上が、本発明で対象とする情報処理システムの実行フェーズと構築フェーズを数式的に定義したものである。

0023

上記(2)式に基づいたシステムパラメタの獲得は、パターン認識では教師あり学習と呼ばれる。自然言語処理バイオインフォマテクス研究分野分類問題に属する問題は、教師あり学習により、システムパラメタを獲得する方法が主流であり、多くの研究で良い解析精度が得られることが知られている。

0024

教師あり学習を行う際には、対象とする問題に有用と思われる判別規則、または、判別規則を構成する要素と雛形を人手で事前に定義する方法が一般的である。ここで定義される判別規則を一般的に「素性」と呼ぶ。

0025

素性は人間の持つ知識や直感等に基づいて定義される場合が多い。自然言語処理の問題では、単語や単語の連接等が特徴として用いられることが多い。これは、文書を構成する要素が単語であることと、それぞれの単語が問題を説明する大きな要因となることが多いためである。また、意味や高次の情報を外部のリソース(例えば辞書)等からもってきて利用することもよく行われる。この素性の設計により教師あり学習によるモデル学習の精度が大きく影響を受ける。

0026

一般論として、機械学習を行う際に素性数が多いと学習データに過適応してしまい相対的に汎化性能が悪くなる。この問題は、「次元の呪い」といわれる良く知られた問題として説明できる。つまり、教師あり学習では、素性数がそのまま素性空間次元数に相当することから、素性を一つ増やす毎に、十分な汎化性能を得るために必要なデータ量は指数関数的に増大し、現実的にデータ量を準備することが不可能となるという問題である。

0027

ただし、自然言語処理やバイオインフォマティクスの問題では、解きたい問題をうまく特徴付けるものは、テキスト中の単語であるとか、遺伝子配列記号系列などといった離散シンボルである。また、個々の離散シンボルが特徴付ける問題の範囲はごく狭い領域のみであるため、解きたい問題全体をうまく特徴付けるのに必要な素性数は、非常に多くなることが一般的である。さらに、同一のシンボルであっても状況や文脈による多くの例外的扱いが多いため、複数のシンボルの組み合わせることで、はじめて解を説明できる問題等も多く存在する。このような状況では、結果的に、多くの離散シンボル、又はその組み合わせによる素性の集合を用いて問題を特徴付けることとなる。すると、個々の素性がデータ上に出現する割合は非常に小さくなる傾向となり、データ×素性の行列を考えた場合、要素の多くが0となる疎行列となる。要素が0というのは、つまり、情報が無いことと等価であり、各素性が出現する割合が大きく密行列となるような場合と比較して、「次元の呪い」問題が示すように、より多くのデータを必要とすることを意味する。このように、自然言語処理やバイオインフォマティクスの問題では、そもそも「次元の呪い」問題が頻出しやすい問題設定となっているという背景がある。

0028

理論的には、「次元の呪い」問題は、学習データが無限に存在すれば回避できると考えられる。しかし、正解データを用いた教師あり学習の枠組みでは、正解データは人手で作成するのが最も一般的であるため、作成コストが高く、高次元素性空間を統計的に十分満たす量作成するのは非常に困難である。そのため、正解データ量を増やしてこの問題に対処するという方案は、現実的ではない。結果的に、教師あり学習の枠組みでは、限定された正解データ量で学習すると、十分な汎化性能が得られない可能性がある。

0029

このように、素性設計の観点では、多くの素性を利用する方が解きたい問題をうまく表現できるため適していると考えられるが、機械学習の観点では、素性数は極力少なくするべきであるというジレンマがある。

0030

このような問題を解決するための方法として、例えば、素性空間の次元圧縮次元削減等と呼ばれる、高次元素性空間を低次元空間写像する方法が知られている(非特許文献1)。同様に、任意のクラスタリング法等を用いて素性をクラスタリングして新たな素性とする方法も知られている(非特許文献2)。

0031

特開2012−256198号公報

先行技術

0032

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.

発明が解決しようとする課題

0033

しかし、非特許文献1及び非特許文献2の方法は、特定の問題では効果を発揮する場合も考えられるが、実際に現在これらの方法が、ほとんど用いられていないことを考慮すると、一般的にはそれほど効果は期待できない。また、自然言語処理やバイオインフォマティクスの問題では、前述のようにデータx素性の行列が疎行列になるという観点から、行列分解による方法や、最近傍法に基づくクラスタリング法等は、効果が得られないことが一般的に知られている。つまり、高次元かつ疎な素性空間であるが故に、統計や機械学習の観点でうまく素性を縮約することが困難であり、また、精度向上という効果を得ることが困難である、という問題がある。これは、非特許文献1及び非特許文献2のような方法の枠組みは、素性数を削減して、全素性を用いる場合と同等の精度を達成するためのものだからである。

0034

前述のクラスタリングや素性の次元削減法以外にも、素性選択という観点で様々な取り組みがなされている。ただし、これらの方法は、本来不要な素性をうまく選択して削除することにより、素性集合縮小することを目的としている。つまり、仮に、不要な素性が存在しなければ、素性の削減には結びつかない方法と言える。これら素性選択の技術も、基本的には、素性数を減らして元と同じ精度を達成することを目的としているため、精度を向上させることは困難な枠組みである、という問題がある。

0035

本発明では、上記問題点を解決するために成されたものであり、一般的な教師あり学習に用いられる素性関数よりも、コンパクトかつ高精度の縮約素性関数を用いて、モデルを学習することができる縮約素性生成装置、方法、及びプログラムを提供することを目的とする。

0036

また、高いシステム性能を得ることができる情報処理装置、及びプログラムを提供することを目的とする。

課題を解決するための手段

0037

上記目的を達成するために、第1の発明に係る縮約素性生成装置は、入力に対する正解出力が既知の複数の正解データの各々の特徴を表す複数の原素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築されるベースモデルを学習するベースモデル構築部と、前記ベースモデル構築部により学習されたベースモデルに、入力に対する正解出力が未知の複数の未解析データの各々を入力した際に、前記未解析データから抽出された前記複数の原素性関数の各々を用いて前記ベースモデルが選択した最尤出力に対する前記原素性関数の各々の値、及び前記ベースモデルにより選択されなかった出力に対する前記原素性関数の各々の値に基づいて、前記ベースモデルの最尤出力に対して、前記原素性関数の各々が与える正の影響又は負の影響を示す正の重要度又は負の重要度の値が、所定個実数値と0とからなる離散値の集合に含まれる制約を満たすように、前記正の重要度又は負の重要度を、前記複数の原素性関数の各々について計算する原素性重要度計算部と、前記原素性重要度計算部により計算された前記複数の原素性関数の各々の正の重要度又は負の重要度に基づいて、前記正の重要度又は前記負の重要度の値が同一となる原素性関数からなるグループを作成し、作成したグループの各々について、前記グループの重要度の代表値を、前記同一となる値とし、前記グループに含まれる原素性関数をまとめた縮約素性関数を作成する縮約素性作成部と、前記複数の正解データの各々の前記縮約素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築される最終モデルを学習するモデル再構築部と、を含んで構成されている。

0038

第2の発明に係る縮約素性生成方法は、ベースモデル構築部と、原素性重要度計算部と、縮約素性作成部と、モデル再構築部と、を含む縮約素性生成装置における、縮約素性生成方法であって、前記ベースモデル構築部は、入力に対する正解出力が既知の複数の正解データの各々の特徴を表す複数の原素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築されるベースモデルを学習し、前記原素性重要度計算部は、前記ベースモデル構築部により学習されたベースモデルに、入力に対する正解出力が未知の複数の未解析データの各々を入力した際に、前記未解析データから抽出された前記複数の原素性関数の各々を用いて前記ベースモデルが選択した最尤出力に対する前記原素性関数の各々の値、及び前記ベースモデルにより選択されなかった出力に対する前記原素性関数の各々の値に基づいて、前記ベースモデルの最尤出力に対して、前記原素性関数の各々が与える正の影響又は負の影響を示す正の重要度又は負の重要度の値が、所定個の実数値と0とからなる離散値の集合に含まれる制約を満たすように、前記正の重要度又は負の重要度を、前記複数の原素性関数の各々について計算し、前記縮約素性作成部は、前記原素性重要度計算部により計算された前記複数の原素性関数の各々の正の重要度又は負の重要度に基づいて、前記正の重要度又は前記負の重要度の値が同一となる原素性関数からなるグループを作成し、作成したグループの各々について、前記グループの重要度の代表値を、前記同一となる値とし、前記グループに含まれる原素性関数をまとめた縮約素性関数を作成し、前記モデル再構築部は、前記複数の正解データの各々の前記縮約素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築される最終モデルを学習する。

0039

第1及び第2の発明によれば、ベースモデル構築部により、複数の正解データの各々の特徴を表す複数の原素性の各々に応じた原素性関数の各々を用いて、ベースモデルを学習し、原素性重要度計算部により、ベースモデルの最尤出力に対して、正の影響又は負の影響を示す正の重要度又は負の重要度の値が、所定個の実数値と0とからなる離散値の集合に含まれる制約を満たすように、正の重要度又は負の重要度を、複数の原素性関数の各々について計算し、縮約素性作成部により、計算された複数の原素性関数の各々の正の重要度又は負の重要度に基づいて、正の重要度又は負の重要度の値が同一となる原素性関数からなるグループを作成し、作成したグループの各々について、グループの重要度の代表値を、同一となる値とし、グループに含まれる原素性関数をまとめた縮約素性関数を作成し、モデル再構築部により、複数の正解データの各々の縮約素性関数の各々を用いて、入力に対応する最尤出力を出力するように構築される最終モデルを学習する。

0040

このように、複数の正解データの各々の特徴を表す複数の原素性関数の各々を用いて、ベースモデルを学習し、ベースモデルの最尤出力に対して、正の重要度又は負の重要度の値が、所定個の実数値と0とからなる離散値の集合に含まれる制約を満たすように、正の重要度又は負の重要度を、複数の原素性関数の各々について計算し、計算された複数の原素性関数の各々の正の重要度又は負の重要度に基づいて、同一の正の重要度又は負の重要度を有する原素性関数からなるグループを作成し、グループに含まれる原素性関数をまとめた縮約素性関数を作成し、複数の正解データの各々の縮約素性関数の各々を用いて、最終モデルを学習することによって、一般的な教師あり学習に用いられる素性よりも、コンパクトかつ高精度の縮約素性関数を用いてモデルを学習することができる。

0041

第3の発明に係る情報処理装置は、入力データを受け付ける入力部と、前記入力部において受け付けた入力データに対して、縮約素性関数を抽出し、前記抽出された縮約素性関数と、第1の発明の縮約素性生成装置によって構築された最終モデルとに基づいて、最尤出力を出力する情報処理部とを含んで構成されている。

0042

また、本発明のプログラムは、コンピュータを、上記の縮約素性生成装置又は情報処理装置を構成する各部として機能させるためのプログラムである。

発明の効果

0043

以上説明したように、本発明の縮約素性生成装置、方法、及びプログラムによれば、複数の正解データの各々の特徴を表す複数の原素性の各々に応じた原素性関数の各々を用いて、ベースモデルを学習し、ベースモデルの最尤出力に対して、正の重要度又は負の重要度の値が、所定個の実数値と0とからなる離散値の集合に含まれる制約を満たすように、正の重要度又は負の重要度を、複数の原素性の各々について計算し、計算された複数の原素性の各々の正の重要度又は負の重要度に基づいて、同一の正の重要度又は負の重要度を有する原素性からなるグループを作成し、グループに含まれる原素性関数をまとめた縮約素性に応じた縮約素性関数を作成し、複数の正解データの各々の縮約素性の各々に応じた縮約素性関数の各々を用いて、最終モデルを学習することによって、一般的な教師あり学習に用いられる素性よりも、コンパクトかつ高精度の縮約素性関数を用いてモデルを学習することができる。

0044

また、本発明の情報処理装置によれば、入力データに対して、縮約素性関数を抽出し、抽出した縮約素性関数と、縮約素性生成装置により構築された最終モデルとに基づいて、最尤出力を出力することにより、高いシステム性能を得ることができる。

図面の簡単な説明

0045

原素性関数と縮約素性関数との関係の例を示した図である。
自動文分類システムの例を示した図である。
第1の処理の概要を示した図である。
第2の処理の概要を示した図である。
第2の処理の概要を示した図である。
縮約素性関数集合に基づくシステムの例を示す図である。
原素性関数と縮約素性関数を用いた際の処理の違いを示す図である。
原素性関数と縮約素性関数を用いた際の処理の違いを示す図である。
本発明の実施の形態に係る縮約素性生成装置の機能的構成を示すブロック図である。
本発明の実施の形態に係る縮約素性生成装置における縮約素性関数構築部の機能的構成を示すブロック図である。
本発明の実施の形態に係る情報処理装置の機能的構成を示すブロック図である。
本発明の実施の形態に係る縮約素性生成装置における縮約素性生成処理ルーチンを示すフローチャート図である。
本発明の実施の形態に係る縮約素性生成装置における縮約素性関数集合生成処理ルーチンを示すフローチャート図である。
本発明の実施の形態に係る情報処理装置における実行処理ルーチンを示すフローチャート図である。
実験結果の例を示す図である。
情報処理における識別問題の例を示す図である。
入力が与えられたときに出力を予測するシステムの例を示す図である。
データから自動的にシステムを構築する機械学習手法を用いてシステムを自動構築する方法の例を示す図である。

実施例

0046

以下、図面を参照して本発明の実施の形態を詳細に説明する。

0047

<概要>
まず、本実施の形態の概要について説明する。

0048

本実施の形態においては、正解の解析結果が付与されていないデータを、正解の解析結果が付与されている正解データと対比した呼び方で、未解析データと呼ぶ。本実施の形態においては、大規模な未解析データを利用することを前提とする。

0049

自然言語処理やバイオインフォマティクスといった分野の問題では、大規模な未解析データを比較的容易に獲得することができる。例えば、自然言語処理の場合は、近年では、電子化された文書をweb等から容易に獲得することができる。

0050

本実施の形態の概要としては、まず、大規模未解析データ上で各素性の重要度を計算する。これは、素性の重要度を計算するという観点では、解きたい問題の正解は不要であるため、限定された量の正解データではなく、比較的容易に獲得可能な大規模な未解析データを用いることで、「次元の呪い」の影響が軽減された状態で統計量(重要度)を推定できる。次に、大規模なデータから得られた比較的信頼性の高い統計量(重要度)を用いて素性空間を再構築する。具体的には、重要度に基づいて素性のクラスタリング及び削除を行い、更に、重要度の値自体を素性の値として活用する。このように再構築された素性空間は、大規模なデータから導出されているため、解きたい問題全体をコンパクトにかつ精度良く表現できている可能性が高い。最後に、再構築した素性空間を使って、通常の正解データを使った教師あり学習によりモデルを学習する。

0051

<本実施の形態の原理
次に、本実施の形態の原理について説明する。

0052

まず、以下の説明で用いる記号について、下記のように定義する。

0053

{an}Nn=1は、要素を明示した集合の表記である。要素数Nで各要素はanであることを意味する。つまり、{an}Nn=1={a1,...,aN}である。集合なので、順番はなく重複する要素もないことが前提となる。

0054

(an)Nn=1は、要素を明示したベクトルの表記である。要素数Nでn番目の要素はanであることを意味する。つまり、(an)Nn=1=(a1,...,aN)である。ベクトル表記なので、番号に意味があり、集合と違って値も重複してもよい。

0055

Χは、可能な全ての入力の集合である。
Yは、可能な全ての出力の集合である。

0056

x^は、任意の一つの入力である。つまり、x^∈Χの関係が成り立つ。
y^は、任意の一つの出力である。つまり、y^∈Yの関係が成り立つ。

0057

Y(x^)は、ある一つのx^が与えられた際に得られる可能性のある出力の集合である。ただし、Y(x^)⊆Yの関係が成り立つ。

0058

´y^x^は、入力x^に対する正解出力を明示する際の記法である。ある一つのy^∈Y(x^)に対して、´y^x^=y^の関係にある。

0059

fi(x^,y^)は、学習用素性定義で定義されたi番目の原素性関数である。戻り値実数スカラー)である。

0060

|F|は、学習用素性定義で定義された原素性関数の総数、又は、原素性関数集合Fの要素数である。

0061

wiは、i番目のパラメタである。線形モデルの場合には基本的にi番目の素性関数に対する重みに相当する。よって素性数が|F|なら、i∈{1,...,|F|}である。

0062

w^は、wiのベクトル表記である。素性数が|F|なら、w^=(w1,...,w|F|)である。

0063

hi(x^,y^)は、i番目の縮約素性関数である。戻り値は実数(スカラー)である。原素性関数から生成される。

0064

|H|は、生成される縮約素性関数の総数、又は、縮約素性関数集合Hの要素数である。なお、縮約素性関数の総数は予め任意の値が決定されているものとする。

0065

0066

0067

本実施の形態においては、システムの出力を選別することから、上記(1)式中のΦ(x^,y^;w^)を判別関数と定義する。また、本実施の形態においては、Φ(x^,y^;w^)は、パラメタw^の線形式で書ける、いわゆる線形判別関数であることを仮定する。Φ(x^,y^;w^)の詳細は、本実施の形態において原素性関数を用いる場合と、縮約素性関数を用いる場合の二通りあるため、それぞれの説明に分けて説明する。

0068

一般に教師あり学習で用いる素性関数とは、入力x^と出力y^とを受け取り、事前の定義に従って実数を返す関数である。つまり、素性関数とは、一般的にf(x^,y^)のような形で記載することができ、離散空間X×Yから実数空間Rへの写像関数といえる。

0069

本実施の形態においては、一般的に教師あり学習で用いる素性関数を、原素性関数(オリジナル素性関数)と定義する。例えば、原素性関数f(x^,y^)を下記(3)式のように定義する。

0070

0071

ここでは、原素性関数の集合をF、原素性関数集合内の要素数を|F|と記載する。つまり、Fは、|F|個の関数の集合である。また、原素性関数集合Fを用いる場合において、線形判別関数Φ(x^,y^;w^)は、下記(4)式のように記載することができる。

0072

0073

wiはi番目の原素性関数fi(x^,y^)に対するモデルパラメタ(重み)である。つまり、入力x^が与えられた場合に、出力y^の尤もらしさは、全ての原素性関数fi(x^,y^)の重み付き和によって評価されることを意味する。

0074

本実施の形態においては、原素性関数集合|F|と同様に、縮約素性関数集合をHとし、縮約素性関数集合内の要素数を|H|と定義する。

0075

ここで、Fidを1から|F|までの整数の集合とする。つまり、Fid={1,...,|F|}である。本実施の形態においては、この集合Fidを|H|+1個の部分集合に分割することを考える。Fidkを集合Fidのk番目の部分集合とする。ただし、

0076

0077

である。このとき、下記(5)式、及び(6)式が成り立つと仮定する。

0078

0079

上記(5)式の関係は、全ての部分集合Fidkを合わせると元の集合Fidと一致することを意味し、上記(6)式の関係は、部分集合間に重複する要素がないことを意味する。

0080

整数集合の集合{Fidk}|H|+1k=1を用いると、原素性関数集合Fを|H|+1個に分割することができる。最終的に、Fidkを用いてk番目の縮約素性関数hk(x^,y^)を、下記(7)式のように定義する。ここで、

0081

0082

上記(7)式のδiは、各fiに符号を加味するためのものである。また、vkは、k番目の縮約素性関数のスコアを表すもので、0<vk<∞とする。よって、縮約素性関数hk(・)とは、「原素性関数集合内の一つ以上の原素性関数fi(・)の符号付き和を単一の実数vkで重みつけした値を返す関数」である。このことから、縮約素性関数の値は、原素性関数の値に従って自動的に定義される事を意味し、縮約素性関数用に新たに計算式を定義する必要はないことを意味する。このとき、定義から

0083

0084

が成り立つ。また、実用上は、|H|<<|F|となるように|H|と|F|とを設定する。

0085

本実施の形態においては、前述したように縮約素性関数は|H|個と仮定するため、Fid|H|+1中の整数の添え字をもつ原素性関数は、縮約素性関数には使われない。これは、原素性関数中の素性が必ずしも有効でない場合があるため、それらの原素性関数を縮約素性関数から排除するための機構を与えるためである。縮約素性関数集合Hを用いる際は、線形判別関数Φ(・)を下記(8)式のように定義する。

0086

0087

wiはi番目の縮約素性関数hi(x^,y^)に対するシステムパラメタである。つまり、入力x^が与えられた場合に、出力y^の尤もらしさは、全ての縮約素性関数hi(x^,y^)の重み付き和によって評価されることを意味する。ただし、上記(8)式中のwiと、上記(4)式中のwiは、同一の記号を用いているが、値はそれぞれ独立に決定されるとして仮定する。

0088

図1に、原素性関数と縮約素性関数との関係を示す。P=(Fidk)Kk=1を原素性関数集合Fの分割情報、v^=(vk)|H|k=1を各縮約素性関数で用いられる重み情報、δ^=(δi)|F|i=1を各原素性関数に対する符号情報とする。このとき、縮約素性関数集合Hは、原素性関数集合の定義Fと(P,v^,δ^)を決定することにより一意に得ることができる。

0089

原素性関数集合の定義Fは、人手により与えられることを仮定する。本実施の形態においては、大量の未解析データを用いて効果的に(P,v^,δ^)を決定する。なお、(P,v^,δ^)をいかに効率的に決定するかという方法論が、縮約素性関数の性能を大きく左右する。

0090

本実施の形態においては、情報処理システムのシステムパラメタ決定に関して、事前に定義した原素性関数集合を元に、縮約素性関数集合を生成し、生成した縮約素性関数集合を用いて最終的なシステムパラメタを決定する。本実施の形態においては、自然言語処理分野での文書分類問題を例に説明する。

0091

まず、計算機による自動文書分類システムでは、入力が文書、出力が文書に付与すべきクラスとなる。出力の文書に付与すべきクラスは、例えば、カテゴリへの分類問題を想定すると、書籍の体系のように「科学」、「経済」、「政治」、及び「スポーツ」といったものがクラスとなる。また、スパム分類のような文書分類問題を想定すると、出力クラスは、「スパム文書」と「通常の文書」との二クラスとなる。それ以外にも、任意の商品に対するアンケートからの評判分析をするような文書分類問題を考えている場合には、例えば、出力クラスは、5段階の「非常に良い」、「良い」、「普通」、「悪い」、及び「非常に悪い」のようなものになる。図2に典型的な自動文書分類システムの例を示す。

0092

次に、このような文書分類システムを構築する方法について説明する。近年では、このような問題は正解データを準備し、そこから教師あり学習により分類モデルを構築する方法が主流である。このとき、正解データとは、構築したい自動文書分類システムの入力と出力のペアに相当するデータである。教師あり学習とは、この正解データから、演繹的自動分類モデルを学習する方法である。

0093

次に、文書分類問題を教師あり学習によりモデル構築する際に用いる原素性関数について説明する。文書分類問題の例では、文書中に出現する単語を情報源として原素性関数を定義する方法が一般的である。これは、文書を構成する要素が単語であることと、それぞれの単語が問題を説明する大きな要素となるからである。但し、この場合、原素性関数の数は単語数となるため、例えば、数万や数百万といった非常に大きい数となる。ここで、単語が{W1,...,WN}とN個存在するとした場合、n番目の素性関数の例として、下記(9)式、及び(10)式のようなものが考えられる。

0094

0095

また、単純に単語が出現したか、しなかったかを0と1とで表現する下記(11)式に示すような二値素性関数も考えられる。

0096

0097

文書分類システムは、入力としてある文書x^が与えられたときに、その文書が属するカテゴリy^を決定するシステムである。本実施の形態においては、自動文書分類システムとして、上記(4)式で示した線形判別関数を用いる。つまり、定義した素性関数とその重みの線形和が尤も大きくなるカテゴリが出力として選択される。

0098

線形判別関数のパラメタを教師あり学習により推定するとは、パラメタであるwnの値を決定することに相当する。これには、正解データを利用する教師あり学習により値を決定する。また、学習法としては、例えば、確率モデル(対数線形モデル)による尤度最大化や、線形モデルによるマージン最大化に基づくモデルパラメタ推定法などが広く用いられている。

0099

次に、本実施の形態において、原素性関数集合を入力とし、縮約素性関数集合を獲得し、最終的なシステムパラメタを決定する処理手順について説明する。本実施の形態における、縮約素性関数集合を用いたシステムを構築する処理について、大まかに3つの大きな処理ブロックに分けて説明する。

0100

まず、第1の処理として、教師あり学習により対象とする問題のモデルを構築する処理について説明する。第1の処理は、従来の教師あり学習によるシステムパラメタ推定と同じ処理となる。図3に第1の処理の概要を示す。

0101

本実施の形態においては、正解データ

0102

0103

と人手により定義した原素性関数集合Fの定義を読み込み、初期モデルを構築する。本実施の形態においては、正解データと原素性関数集合とを用いて、教師あり学習をした結果得られたシステムパラメタによるシステムを「ベースモデル」と定義する。

0104

次に、第2の処理として、縮約素性関数集合を獲得する処理について説明する。縮約素性関数集合の獲得には、原素性関数の重要度の計算と、原素性関数の融合を行う。図4及び図5に第2の処理の概要を示す。

0105

本実施の形態においては、人手により事前に定義された、ベースモデルから計算できる何かしらの基準に基づいてx^が与えられた際のy^の尤度を返す関数r(x^,y^)を、参照関数と定義する。

0106

例えば、入力x^に対して出力y^の出現確率がベースモデルにより計算できる場合は、確率そのもの、或いは、対数尤度などが参照関数として考えられる。いずれにしても、入力x^に対してある出力y^である可能性が高い場合に相対的に高いスコアを出し、逆に、y^である可能性が低いと考えられる場合には相対的に低いスコアを出す関数であればよい。本実施の形態においては、最も単純なものとして、未解析データx^から抽出された複数の原素性関数の各々を用いてベースモデルが選択した最尤出力*y^と同じ場合、つまり、y^=*y^の時に1を返し、それ以外の時に0を返す関数を用いた例を考える。この時、関数r(x^,y^)は、与られたy^がベースモデルによる最尤出力*y^と同じ場合、つまり、y^=*y^のときに1を返し、それ以外の時に0を返す関数とする。つまり、関数r(x^,y^)は、ベースモデルに従って戻り値が決定する関数である。

0107

次に、

0108

0109

を、関数r(x^,y^)のx^における平均であり、下記(12)式で表される。

0110

0111

また、

0112

0113

を、平均

0114

0115

からの実際の値r(x^,y^)の偏りとし、下記(13)式で表す。

0116

0117

次に、原素性関数の重要度の計算について説明する。まず、参照関数の定義と、未解析データを読み込み、(P,v^,δ^)を推定する問題において、未解析データDUを用いて、下記(14)式、及び(15)式のように定義する。

0118

0119

また、Σ(x^,y^)は、

0120

0121

の短縮形であり、ξ、λ1、及びλ2は、未解析データに応じて定められる値である。また、(*u^,*δ^)は、

0122

0123

によって決定する値に基づいて各原素性がベースモデルの判別にどの程度影響を与えているかを計算している。*δi=1は、fi(・)が正の判別をする場合に影響を与え、*δi=−1は、fi(・)が負の判別をする場合に影響を与えていることを表す。また、*uiの値が大きい場合には、fi(・)が正または負の判別に大きな影響力をもっていることを意味する。そして、(*v^,*u^)は、間接的に原素性関数集合の分割Pの情報を保持している。

0124

次に、原素性関数の融合処理について説明する。本実施の形態においては、上記(14)式の解(*v^,*u^,*δ^)から、縮約素性関数集合Hを得る方法を説明する。上記(14)式の制約から、*u^の値の種類は、0を除くと*v^の要素数と同じ、|H|個となる。この関係から*u^が同じ値となった原素性関数を一つのグループとしてまとめる処理を行う。つまり、i番目の原素性関数がk番目のグループに属していると仮定すると、*ui=*ujとなるj番目の原素性関数はすべてk番目のグループに属するようにグループを構成する。これは、*u^が与えられれば一意に作成できることは自明である。k番目のグループに属する原素性関数のインデックスを集合Fidkの要素とする。

0125

このとき、全てのi∈Fidkに対して、上記(7)式のvkに対して、vk=*uiの関係が成り立つので、グループの重要度を表す値としてvkに*uiの値を用いることとする。これらの処理により、上記(7)式を構成する要素がすべて揃うため、それぞれのグループの縮約素性に対応する縮約素性関数を求め、求められた縮約素性関数集合を用いてシステムを動かす準備ができる。以上の処理により、原素性関数集合の定義から、縮約素性関数集合の定義が自動的に獲得できる。

0126

次に、本実施の形態における、システムパラメタの再推定(再学習)する処理について説明する。具体的には、得られた縮約素性集合Hの定義を用いて、従来通りの教師あり学習によるシステムパラメタ推定を行うことで、図6に示すように、最終的に縮約素性関数集合に基づくシステムを構築することが可能となる。図7及び図8に原素性関数と縮約素性関数を用いた際の処理の違いを示す。これは、獲得した縮約素性関数に基づいたシステムパラメタを再推定する処理に相当する。

0127

<縮約素性生成装置のシステム構成
次に、本発明の実施の形態に係る縮約素性生成装置の構成について説明する。図9に示すように、本発明の実施の形態に係る縮約素性生成装置100は、CPUと、RAMと、後述する縮約素性生成処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この縮約素性生成装置100は、機能的には図9に示すように入力部10と、演算部20と、出力部90とを備えている。

0128

入力部10は、正解データの集合及び未解析データの集合を受け付ける。ここで、正解データの集合は、正解データ記憶部22に記憶され、未解析データの集合は、未解析データ記憶部28に記憶される。なお、正解データは、入力に対する正解出力が既知であるデータであり、未解析データは、入力に対する正解出力が未知のデータである。

0129

演算部20は、正解データ記憶部22と、ベースモデル構築部24と、ベースモデル記憶部26と、未解析データ記憶部28と、縮約素性関数構築部30と、縮約素性集合定義記憶部50と、モデル再構築部52とを備えている。

0130

正解データ記憶部22には、入力部10により受け付けた正解データの集合が記憶されている。

0131

ベースモデル構築部24は、正解データ記憶部22に記憶されている正解データの集合を入力として、周知の教師あり学習により対象とする問題のベースモデルを構築し、ベースモデル記憶部26に記憶する。ここで、入力される正解データの集合は、対象とする問題に応じて人手により定義した「モデル定義」、「原素性関数集合定義」、及び「教師あり学習アルゴリズム」である。

0132

具体的には、ベースモデル構築部24は、従来の教師あり学習によるモデル構築処理を実施する。教師あり学習の方法としては、解きたい問題に合わせて様々な方法を用いることができる。例えば、スパムフィルタのように、スパムかそうでないかという二つのクラスに分類したいような問題では、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.)といった構造予測器用のモデルを用いて学習することができる。

0133

ベースモデル記憶部26には、ベースモデル構築部24において構築したベースモデルが記憶されている。

0134

未解析データ記憶部28には、入力部10において受け付けた未解析データの集合が記憶されている。

0135

縮約素性関数構築部30は、ベースモデル構築部24において取得されたベースモデルと、未解析データ記憶部28に記憶されている未解析データの集合とに基づいて、縮約素性関数集合を獲得する。また、縮約素性関数構築部30は、図10に示すように、原素性重要度計算部34と、縮約素性作成部35とを備えている。なお、縮約素性関数の総数Hの値は、予め定められているものとする。

0136

原素性重要度計算部34は、ベースモデル構築部24において取得されたベースモデルと、未解析データ記憶部28に記憶されている未解析データの集合とに基づいて、上記(12)式、(13)式、(14)式、及び(15)式に従って、(*v^,*u^,*δ^)を計算し、各原素性関数について、正の重要度又は負の重要度を計算する。

0137

縮約素性作成部35は、原素性選択部36と、原素性融合部38と、原素性重要度追加部40とを備えている。

0138

原素性選択部36は、原素性重要度計算部34において計算された(*v^,*u^,*δ^)に基づいて、不必要と考えられる原素性関数を排除する。具体的には、*ui=0となった原素性関数fiを不必要と判定し、原素性関数の集合から排除することに相当する。原素性選択部36の処理は、原素性関数の重要度が0ということは、その原素性関数はモデルの出力決定に影響を与えないであろうと推定されたことを意味するので、これらの原素性関数を縮約素性関数に含めないための処理である。

0139

原素性融合部38は、原素性重要度計算部34において計算された(*v^,*u^,*δ^)に基づいて、原素性選択部36において不必要な原素性関数を排除した原素性関数集合に含まれる複数の原素性関数を一つの縮約素性関数のグループとして融合する。簡単な処理の例として、計算した*u^に基づき、同じ*uiの値となった原素性関数を一つの縮約素性関数のグループとしてまとめ上げることができる。

0140

原素性重要度追加部40は、原素性融合部38において取得した縮約素性関数のグループに素性重要度の値*uに関する情報を追加する。計算した素性重要度の値*u自体も非常に有効な情報源であるため、縮約素性関数に利用するものである。具体的には、グループに属する原素性関数の素性重要度の値*uを、当該グループの重要度vkの代表値とする。

0141

縮約素性集合定義記憶部50には、縮約素性関数構築部30において取得した縮約素性関数の集合が記憶されている。

0142

モデル再構築部52は、正解データ記憶部22に記憶されている正解データと、縮約素性集合定義記憶部50に記憶されている縮約素性関数集合の定義とを用いて、周知の教師あり学習アルゴリズムを用いた教師あり学習により、対象とする問題のモデルを再構築する。なお、ここで再構築されるモデルを、ベースモデルと区別して、「最終モデル」と呼ぶ。

0143

ここで、縮約素性関数構築部30で得られる縮約素性関数集合定義は、原素性関数集合定義から無駄を省いた縮約形を自動で生成したものに相当するため、性質としては、原素性関数集合定義と同じとなる。よってモデル再構築部52の処理は、本質的にベースモデル構築部24と同様に、従来の教師あり学習によるモデル構築の処理に相当する。つまり、ベースモデル構築部24及びモデル再構築部52の処理は、従来技術をそのまま用いることができる。

0144

<情報処理装置のシステム構成>
前述の縮約素性生成装置100で得られた縮約素性関数集合を用いた最終モデルを用いて、情報処理装置200によって、未知の入力データに対して所定の情報処理を行う。最終モデルを用いる場合、原素性関数集合を用いたベースモデルを用いる場合よりも、高いシステム性能が得られることが期待できる。

0145

図11は、本発明の実施の形態に係る情報処理装置200を示すブロック図である。この情報処理装置200は、CPUと、RAMと、後述する情報処理ルーチンを実行するためのプログラムを記憶したROMと、を備えたコンピュータで構成され、機能的には次に示すように構成されている。

0146

本実施の形態に係る情報処理装置200は、図11に示すように、入力部210と、モデル記憶部220と、情報処理部230と、出力部240とを備えている。

0147

入力部210は、正解出力が未知である入力データx^を受け付ける。

0148

モデル記憶部220には、上記縮約素性生成装置100によって構築された最終モデルが記憶されている。

0149

情報処理部230は、モデル記憶部220に記憶されている最終モデルに基づいて、入力部210において受け付けた入力データx^に対して、所定の情報処理を行う。具体的には、情報処理部230は、入力部210において受け付けた入力データx^から抽出される縮約素性関数と、モデル記憶部220に記憶されている最終モデルとに基づいて、入力データx^に対応する最尤出力として、入力データx^が属するカテゴリy^を取得する。

0150

出力部240は、情報処理部230によって取得されたカテゴリy^を結果として出力する。

0151

<縮約素性生成装置の作用>
次に、本実施の形態に係る縮約素性生成装置100の作用について説明する。まず、正解データの集合と、未解析データの集合と、縮約素性生成装置100に入力されると、縮約素性生成装置100によって、入力された正解データの集合が、正解データ記憶部22に記憶され、入力された未解析データの集合が、未解析データ記憶部28に記憶される。そして、縮約素性生成装置100によって、図12に示す縮約素性生成処理ルーチンが実行される。

0152

まず、ステップS100では、正解データ記憶部22に記憶されている正解データの集合を読み込む。

0153

次に、ステップS102では、未解析データ記憶部28に記憶されている未解析データの集合を読み込む。

0154

ステップS104では、ステップS100において取得した正解データの集合に基づいて、周知の教師あり学習により対象とする問題のベースモデルを構築(学習)し、ベースモデル記憶部26に記憶する。

0155

ステップS106では、ステップS102において取得した未解析データの集合と、ステップS104において取得したベースモデルとに基づいて、縮約素性関数の集合を生成する。

0156

ステップS108では、ステップS106において取得した縮約素性関数の集合と、ステップS100において取得した正解データの集合とに基づいて、周知の教師あり学習により対象とする問題の最終モデルを構築(学習)し、出力部90に出力して縮約素性生成処理ルーチンを終了する。

0157

上記ステップS106の縮約素性関数の集合の生成については、図13の縮約素性関数集合生成処理ルーチンにおいて詳細に説明する。

0158

図13のステップS202では、ステップS104において取得したベースモデルと、ステップS102において取得した未解析データの集合とに基づいて、上記(12)式〜(15)式に従って、(*v^,*u^,*δ^)を計算し、各原素性関数について、正の重要度又は負の重要度を計算する。

0159

次に、ステップS204では、ステップS202において取得した(*v^,*u^,*δ^)に基づいて、原素性関数の*u^が0となる原素性関数fiに対応する原素性関数を不必要と判定し、原素性関数の集合から排除し、原素性関数の*u^≠0となった原素性関数fiを、縮約素性関数に含める原素性関数として選択する。

0160

次に、ステップS206では、ステップS202において取得した(*v^,*u^,*δ^)に基づいて、ステップS204において取得した原素性関数の集合に含まれる複数の原素性関数を、同じ*uiとなる原素性関数毎に一つの縮約素性関数のグループとして融合する。

0161

次に、ステップS208では、ステップS202において取得した(*v^,*u^,*δ^)に基づいて、ステップS206において取得した縮約素性関数のグループの各々について、当該縮約素性関数のグループに属する原素性関数の素性重要度の値*uを、当該縮約素性関数のグループの重要度vkの代表値とする。

0162

<情報処理装置の作用>
次に、本実施の形態に係る情報処理装置200の作用について説明する。まず、縮約素性生成装置100から出力された最終モデルが情報処理装置200に入力されると、モデル記憶部220に格納される。そして、分類対象となる入力データx^が入力部210により受け付けられると、情報処理装置200によって、図14に示す実行処理ルーチンが実行される。

0163

まず、ステップS300では、モデル記憶部220に記憶されている最終モデルを読み込む。

0164

次に、ステップS302では、入力部210において受け付けた入力データx^から縮約素性関数を抽出する。

0165

次に、ステップS304では、ステップS300において取得した最終モデルと、ステップS302において取得した入力データx^の縮約素性関数とに基づいて、入力データx^のカテゴリを分類する。

0166

次に、ステップS306では、ステップS304において取得したカテゴリを出力部240から出力して実行処理ルーチンを終了する。

0167

<実験結果>
次に、本実施の形態の実験結果を示す。図15に原素性関数集合を使った場合、従来法を用いた場合、縮約素性関数集合を使った場合のテキスト分類精度を示す。

0168

図15中の横軸は、システムパラメタ数を表し、縦軸は、システムの分類精度を表している。この図からもわかるように、本実施の形態の方法を用いると、システムパラメタ数を削減しながら、システム性能を向上させることができる。

0169

以上説明したように、本発明の実施の形態に係る縮約素性生成装置によれば、複数の正解データの各々の特徴を表す複数の原素性の各々に応じた原素性関数の各々を用いて、ベースモデルを学習し、ベースモデルの最尤出力に対して、正の重要度又は負の重要度の値が、所定個の実数値と0とからなる離散値の集合に含まれる制約を満たすように、正の重要度又は負の重要度を、複数の原素性の各々について計算し、計算された複数の原素性の各々の正の重要度又は負の重要度に基づいて、同一の正の重要度又は負の重要度を有する原素性からなるグループを作成し、グループに含まれる原素性関数をまとめた縮約素性に応じた縮約素性関数を作成し、複数の正解データの各々の縮約素性の各々に応じた縮約素性関数の各々を用いて、最終モデルを学習することによって、一般的な教師あり学習に用いられる素性よりも、コンパクトかつ高精度の縮約素性関数を用いてモデルを学習することができる。

0170

また、本発明の実施の形態に係る情報処理装置によれば、入力データに対して、縮約素性関数を抽出し、抽出した縮約素性関数と、縮約素性生成装置により構築された最終モデルとに基づいて、最尤出力を出力することにより、高いシステム性能を得ることができる。

0171

また、正解データを用いて教師あり学習する際に、一般的に用いる素性集合よりもはるかにコンパクトで精度良い素性集合を獲得することができる。これにより、教師あり学習時に、過適応の起こる可能性を大幅に削減することができる。

0172

また、線形分類器を用いる場合には、パラメタ数は素性数と一致するため、パラメタ数も大幅に削減することができ、結果として必要主記憶メモリ)量も大幅に削減することができる。さらに、必要主記憶(メモリ)量が削減できるため、実行速度も向上させることができる。

0173

なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。

0174

例えば、本実施の形態においては、最終モデルを構築する際に用いる正解データを、ベースモデルを構築する際に用いた正解データを用いる場合について説明したが、これに限定されるものではなく、ベースモデルを構築する際に用いた正解データと別の正解データを用いてもよい。

0175

また、本実施の形態においては、原素性関数の*u^が同一の原素性関数を一つのグループとしてまとめる場合について説明したが、これに限定されるものではない。例えば、原素性関数の(*u^,*δ^)が同一の原素性関数を一つのグループとしてまとめてもよい。

0176

また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。

0177

10 入力部
20演算部
22正解データ記憶部
24ベースモデル構築部
26 ベースモデル記憶部
28未解析データ記憶部
30縮約素性関数構築部
34原素性重要度計算部
35 縮約素性作成部
36 原素性選択部
38 原素性融合部
40 原素性重要度追加部
50 縮約素性集合定義記憶部
52モデル再構築部
90 出力部
100 縮約素性生成装置
200情報処理装置
210 入力部
220 モデル記憶部
230情報処理部
240 出力部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ