説明

多重トピック分類装置、多重トピック分類方法、および多重トピック分類プログラム

【課題】多重トピック分類を高速かつ高精度におこなうこと。
【解決手段】多重トピック分類装置200は、学習処理をおこなう場合、取得部211により、分類済みデータ201とその訓練データセットYを取得する。つぎに、生成部212により、分類済みデータ201の素性ベクトルxを生成する。そして、算出部213によりトピック共起行列Kを算出する。このあと、設定部214により、重みベクトル設定処理を実行する。また、分類処理をおこなう場合、取得部211により、未分類データ202を取得する。つぎに、生成部212により、未分類データ202の素性ベクトルxを生成する。そして、分類部221により、単独トピック分類実行処理および多重トピック分類実行処理をおこなう。最後に、出力部222により、分類結果を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、文書などの分類対象に複数のトピックを付与する多重トピック分類装置、多重トピック分類方法、および多重トピック分類プログラムに関する。
【背景技術】
【0002】
従来、文書分類において1文書に1つの分類ラベルを付与することが前提となっていた。これは、排他的に分類され1文書に1つの分類ラベルが付与されていたほうが利用しやすいためと考えられる。しかし、この排他的な分類を実現するために分類器の性能向上はもちろん、厳密に構成された分類基準、分類ラベル定義が必要であった。この分類基準の構築とメンテナンスには多大なコストがかかるのが普通である。
【0003】
一方、現在は、タグを使って種々の情報を整理するサービスがひろまってきている。その理由の1つは、1データに対して1整理タグを付与させるような厳密な分類システムや複雑な分類階層構造を使用せずに、シンプルでフラットな分類タグを複数付与させる簡易な仕様であると考えられる。
【0004】
しかし、付与された多重分類タグを再利用する場合には、その複数タグ間の相関や階層を考慮しないと、効率的で有用な分類ができないようになってきている。こういった背景から、文書分類において1文書に複数の分類タグを付与する多重トピック文書分類の重要性は高くなってきている。現在までの多重トピック文書分類の研究は、Naive Bayes 法に基づく手法と、SVM(Support Vector Machine)を多値分類へ一般化する手法と、に大別される。
【0005】
A. McCallumらは、各トピックに対するNaive Bayes 分類器の混合モデルを構成し、その混合係数をEMアルゴリズムで推定することで多重トピック分類を実現する手法を提案した(下記非特許文献1を参照。)。
【0006】
同じく上田らは、それぞれのトピックに対応するNaive Bayes 分類器の混合モデルであるパラメトリック混合モデル(PMM)を提案し、SVMなどの従来法に比べて平均F1値で上回ることを実験で示した(下記非特許文献2を参照。)。
【0007】
Altun らは、構造マッピングの学習を多値分類SVMの一般化として定式化した。彼らの定式化では、分類対象と分類先構造データを1つの素性空間での事例ベクトルと考え、その事例ベクトルと新に作った不正解構造データを伴う負例事例ベクトルとのマージンを最大化するように重みベクトルを決定する。彼らは、木構造の文書分類階層を持った文書分類タスクにこの手法を適用し一対他方式のSVMに比べて精度性能で上回ったと報告している(下記非特許文献3を参照。)。
【0008】
同じく、賀沢らは、多重トピック文書分類にマージン最大化法による分類手法(MML)を提案した(下記非特許文献4,5を参照。)。MMLでは、トピック素性空間と語彙素性空間にそれぞれカーネル関数が定義され、その結合カーネル関数を使用してSVMと同じ枠組によって学習分類が実行される。
【0009】
MMLの手法は基本的に上記の構造マッピングのマージン最大化学習と同じであるが、多重トピックのベクトル間の類似度に相当するカーネル関数に線形カーネルとトピックF1値に基づく非線型カーネルを使用している。そして、一対他方式のSVMやPMMを含む他の多重トピック文書分類器との精度比較実験を行い、精度性能で他の手法より優れていることと報告している。
【0010】
【非特許文献1】A. McCallum. Multi-label text classification with a mixturemodel trained by EM. AAAI’99 Workshop on TextLearning, 1999.
【非特許文献2】N. Ueda and K. Saito. Single-shot detection of multiple categories of text using parametric mixture models. Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining, pages 626-631, 2002.
【非特許文献3】Y. Altun, I. Tsochantaridis, and T. Hofmann. Hidden markov support vector machines. Proc. ICML, 2003.
【非特許文献4】平博順,前田英作,磯崎秀樹,賀沢秀人,泉谷知範 最大マージン原理に基づく多重ラベリング学習”電子情報通信学会論文誌D-II Vol.J88-D-II No.11 pp.2246-2259 (2005).
【非特許文献5】Maximal Margin Labeling for Multi-Topic Text CategorizationAdvances in Neural Information Processing Systems 17, pp.649-656 (2005)
【発明の開示】
【発明が解決しようとする課題】
【0011】
しかしながら、上述したMMLは精度性能に優れた多重トピック文書分類器ではあるが、以下の問題がある。1つは、多重トピック分類の本来の目的である出力トピック数が大きい場合の精度性能において問題がある。彼らの報告では出力トピック数が4以上の場合においては、PMMと同等以下の性能を示している。
【0012】
さらに、トピックF1値に基づく非線型カーネル関数を使用した場合、分類時にもカーネル関数を使って分類をする必要があり、現実にはその分類処理速度の遅さから実用が不可能であるという問題がある。
【0013】
この発明は、上述した従来技術による問題点を解消するため、多重トピック分類を高速かつ高精度におこなうことができる多重トピック分類装置、多重トピック分類方法、および多重トピック分類プログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
上述した課題を解決し、目的を達成するため、この発明にかかる多重トピック分類装置、多重トピック分類方法、および多重トピック分類プログラムは、未分類データの多重トピック分類を実行する多重トピック分類装置、多重トピック分類方法、および多重トピック分類プログラムにおいて、分類済みデータと当該分類済みデータに付与されたトピックに関する訓練データとを取得し、取得された分類済みデータの素性ベクトルを生成し、取得された訓練データと生成された素性ベクトルとに基づいて、前記訓練データにより表現されるトピック間の相関をあらわすトピック共起カーネルを算出し、算出されたトピック共起カーネルに基づいて、前記未分類データの多重トピック分類に用いる重みベクトルを設定することを特徴とする。
【0015】
また、上記発明において、Dice係数によるトピック共起カーネルを算出することとしてもよい。
【0016】
また、上記発明において、未分類データを取得し、取得された未分類データの素性ベクトルを生成し、生成された前記未分類データの素性ベクトルと重みベクトルとに基づいて、前記未分類データの多重トピック分類をおこなうこととしてもよい。
【0017】
これらの発明によれば、相関の強い多重トピックは、それ自身マルチトピックのサブ構造の1 つと考えることができるため、各トピック間の相関を明示的に表すカーネル関数を導入することで、多重トピックを単独トピックと相関の強い多重トピックの重ね合わせとして表現することができる。
【0018】
また、Dice係数に基づくトピック共起カーネルを構築することにより、カーネル行列の非対角項でそのままトピック対の共起の強さをあらわすことができ、共起の強さによって異なるトピック間の類似度を設定することができる。
【発明の効果】
【0019】
本発明にかかる多重トピック分類装置、多重トピック分類方法、および多重トピック分類プログラムによれば、多重トピック分類を高速かつ高精度におこなうことができるという効果を奏する。
【発明を実施するための最良の形態】
【0020】
以下に添付図面を参照して、この発明にかかる多重トピック分類装置、多重トピック分類方法、および多重トピック分類プログラムの好適な実施の形態を詳細に説明する。
【0021】
まず、本発明の概要について説明する。MMLでは、トピック素性空間と語彙素性空間にそれぞれカーネル関数が定義され、その結合カーネル関数を使用してSVMと同じ枠組によって学習分類が実行されるが、本発明では、訓練データの各トピック間の共起情報からトピック素性空間のカーネル関数を構築する手法を採用する。
【0022】
すなわち、MMLの上記2つの問題点を改善するためにマージン最大化多重トピック分類器にトピック共起カーネルを導入する。トピック共起カーネル関数は、各トピックの訓練データ中の共起頻度に基づいてDice係数から定義される。
【0023】
異なるトピック間の類似度をDice係数で表現でき、これによって相関の強い、より関連したトピック対を1つの分類クラスのように扱うことができる。さらに、この効果によって、多重トピックを関連の強いトピック対の重ね合わせの状態として表現し、多重トピックのサイズの大きい場合でもより適切な分類をおこなうことができる。また、トピックF1 値に基づく非線型カーネルと異なり、トピック共起カーネルは斜交軸の空間で定義される線形カーネル関数であるため、分類時に重みベクトルを明示的に構成することができる。そのために高速な分類が可能になる。
【0024】
(多重トピック分類装置のハードウェア構成)
まず、この発明の実施の形態にかかる多重トピック分類装置のハードウェア構成について説明する。図1は、この発明の実施の形態にかかる多重トピック分類装置のハードウェア構成を示すブロック図である。
【0025】
図1において、多重トピック分類装置は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フレキシブルディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)107と、CD−RWドライブ108と、CD−RW109と、ディスプレイ110と、キーボード111と、マウス112と、ネットワークI/F113と、を備えている。また、各構成部はバス100によってそれぞれ接続されている。
【0026】
ここで、CPU101は、多重トピック分類装置の全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御にしたがってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。
【0027】
FDD106は、CPU101の制御にしたがってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶したり、FD107に記憶されたデータを多重トピック分類装置に読み取らせたりする。
【0028】
CD−RWドライブ108は、CPU101の制御にしたがってCD−RW109に対するデータのリード/ライトを制御する。CD−RW109は、CD−RWドライブ108の制御で書き込まれたデータを記憶したり、CD−RW109に記憶されたデータを多重トピック分類装置に読み取らせたりする。また、着脱可能な記録媒体として、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。
【0029】
ディスプレイ110は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ110は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【0030】
キーボード111は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス112は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【0031】
ネットワークI/F113は、通信回線を通じてインターネットなどのネットワーク114に接続され、このネットワーク114を介して他の装置に接続される。そして、ネットワークI/F113は、ネットワーク114と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。ネットワークI/F113には、たとえばモデムやLANアダプタなどを採用することができる。
【0032】
(多重トピック分類装置の機能的構成)
つぎに、この発明の実施の形態にかかる多重トピック分類装置の機能的構成について説明する。図2は、この発明の実施の形態にかかる多重トピック分類装置の機能的構成を示すブロック図である。
【0033】
図2において、多重トピック分類装置200は、未分類データ202の多重トピック分類を実行する機能を有し、具体的には、学習処理部210と分類処理部220とから構成されている。これらの機能的構成は、図1に示したROM102,RAM103,HD105などの記録媒体に記録されているプログラムを、CPU101に実行させることによって、またはネットワークI/F113によって、その機能を実現する。
【0034】
まず、学習処理部210は、分類済みデータ201から未分類データ202を分類するための重みベクトルを設定する機能を有し、具体的には、取得部211と生成部212と算出部213と設定部214とから構成されている。取得部211は、各種データを取得する。学習処理部210においては、分類済みデータ201と当該分類済みデータ201に付与された多重トピックに関する訓練データとを取得する機能を有する。
【0035】
ここで、分類済みデータ201とは、トピック(分類クラスともいう)がすでに付与されている電子データであり、たとえば、論文、図書、新聞、雑誌、漫画、小説などの電子文書が挙げられる。取得部211は、多重トピック分類装置200の外部から与えられた分類対象または内部に保持されている分類済みデータ201を読み込む。
【0036】
また、訓練データとは、訓練済みデータに付与されたトピックがどのトピックであるかを示すデータであり、たとえば、バイナリベクトル形式で表現される。1つの分類済みデータ201には、1または複数の訓練データが関連付けられている。ここでは、D個の訓練データy1,…,yd,…,yDが関連付けられている。以降、D個の訓練データy1,…,yd,…,yDを訓練データセットYと称す。
【0037】
訓練データydの個数Dは任意に設定される。多重トピック文書分類とは、1文書に複数のトピックを付与するタスクである。分類トピック集合をT={Ti|i=1,…,c}とすると、多重トピックが付与される訓練データydは、次のようなトピック素性空間のバイナリベクトルとして表現できる。
【0038】
d={t1,…,ti,…,tc
i=1 i番目のトピックTiが付与される
0 i番目のトピックTiが付与されない
【0039】
例として、トピック総数c=4の分類トピック集合T={T1,T2,T3,T4}について、T1が「国際」、T2が「政治」、T3が「経済」、T4が「スポーツ」をあらわすとする。分類済みデータ201が「国際政治」を扱っている(分類済み)電子文書である場合に、トピックT1,T2が付与されると、その電子文書におけるd番目の訓練データydは、yd={1,1,0,0}と表現される。
【0040】
生成部212は、取得部211によって取得された分類済みデータ201の素性ベクトルx={x1,…,xN}を生成する機能を有する。素性ベクトルxは未分類データ202の属性をあらわすベクトルである。たとえば、分類済みデータ201が電子文書である場合、単語(N個)ごとの出現頻度をベクトル化する、いわゆるbag-of-word表現により、素性ベクトルxを生成する。この場合、x1,…,xNは、電子文書内に出現するN個の単語の出現頻度となる。
【0041】
また、算出部213は、取得部211によって取得された訓練データydと生成部212によって生成された素性ベクトルxとに基づいて、訓練データydにより表現されるトピック間の相関をあらわすトピック共起カーネルを算出する機能を有する。トピック共起カーネルとは、トピック間の相関を明示的に表現するカーネル関数である。
【0042】
多重トピック分類において、分類処理部220により出力される多重トピックは、いくつかの関連の少ないサブトピックの重ね合わせとして表現できると考えられる。線形カーネルの場合、そのサブトピックは1つのトピックそのものとして扱われていたことに対応する。
【0043】
しかし、相関の強い多重トピックは、それ自身、多重トピックのサブ構造の1つと考えることができる。そこで、各トピック間の相関を明示的に表現するカーネル関数を導入することで、多重トピックを、単独トピックと相関の強い多重トピックの重ね合わせとして表現する。これは、畳み込みカーネルで実現されているサブ構造全体で、構造データを素性ベクトル化する手法の近似手法とも考えられる。
【0044】
また、従来は訓練データyd中の多重トピックの出現頻度等の統計情報は明示的には利用されてこなかった。それらの情報は多重トピック文書分類において有益な情報と考えられる。そこで、本実施の形態では、2次までのサブ構造である、トピック対の共起頻度を利用するトピック共起カーネルを提案する。
【0045】
トピック対の相関を考慮するにはいくつかの可能性があるが、本実施の形態では、直感的にわかりやすい非対角項がそのままトピック対の共起の強さを表現するDice係数に基づくトピック共起カーネルを構築する。
【0046】
このトピック共起カーネルは共起の強さによって異なるトピック間の類似度を設定することができ、非特許文献4の線形カーネルに基づくMMLの出力トピック数が大きい場合のトピックF1値の低い欠点を改善できることが期待できる。また、トピック素性空間の非対角項を持つカーネル行列として表現されるため、分類時に明示的に重みベクトルの構成ができ、高速な分類を実行することができる。
【0047】
ここで、Dice係数によるトピック共起カーネルについて具体的に説明する。多重トピックのなす素性空間において、非対角項を持つ線形カーネル関数を、下記式(1)とする。
【0048】
【数1】

【0049】
上記式(1)において、<,>はベクトルの内積をあらわす記号である。yは任意の訓練データydであり、y’はyとは異なる他の訓練データydである。また、Kはトピック共起行列であり、Kijはトピック共起行列K内の行列要素である。また、iはi番目のトピックTiを特定するインデックスである。jはj=1,…,cであり、j≠iである。
【0050】
また、行列要素Kijは、下記式(2)によってあらわされる。
【0051】
【数2】

【0052】
上記式(2)において、#yiは訓練データセットYにおける各訓練データydのi番
目のトピックTiの出現頻度であり、#yjは訓練データセットYにおける各訓練データydのj番目のトピックTjの出現頻度である。#yi∩yjは、訓練データセットYに
おける各訓練データydのi,j番目のトピック対Ti,Tjの共起頻度である。
【0053】
ここで、行列要素Kijの計算方法について説明する。ここでは、例として、上述のように、トピック総数c=4の分類トピック集合T={T1,T2,T3,T4}とし、T1が「国際」、T2が「政治」、T3が「経済」、T4が「スポーツ」をあらわすとする。また、訓練データ数DをD=3とし、訓練データy1〜y3を以下の通りとする。
【0054】
1={0,1,1,0}
2={1,1,0,0}
3={0,1,1,1}
【0055】
c=4であるため、トピック共起行列Kは4行4列の行列となる。ここで、各行列要素Kijの算出例を列挙する。
【0056】
12=K21=(2×1)/(1+3)=1/2
13=K31=(2×0)/(1+2)=0
14=K41=(2×0)/(1+1)=0
23=K32=(2×2)/(3+2)=4/5
24=K42=(2×1)/(3+1)=1/2
34=K43=(2×1)/(2+1)=2/3
【0057】
また、行列要素Kij中、対角項Kiiは共起情報から決定することはできないが、トピック共起行列Kがカーネル行列であるという要請、つまり正定値性を満たす条件から、下記式(3),(4)のように決めることができる。
【0058】
【数3】

【0059】
行列L,Kの対角成分はよく知られている正定値対称行列のCholeskey分解アルゴリズムから決めることができる。ここで、行列Lの対角成分でLii=1であるという仮定を置いた。これは、任意のトピック共起行列が正定値性を満たし、行列Kの非対角成分が小さい時、Kは単位行列にほぼ同じであるという要請を考慮したものである。
【0060】
また、設定部214は、算出部213によって算出されたトピック共起カーネルに基づいて、未分類データ202の多重トピック分類に用いる重みベクトルを設定する機能を有する。具体的には、上述したトピック共起行列Kを用いて重みベクトルwKを算出する。重みベクトルwKは下記式(5)により算出される。
【0061】
【数4】

【0062】
上記式(5)において、mはm=1,…,cであり、訓練データyd内のm番目の成分をあらわす。すなわち、y’dmは、訓練データyd内のm番目の成分を反転させたバイナリベクトルであり、訓練データydの不正解ベクトルをあらわす。たとえば、訓練データy1={0,1,1,0}の不正解ベクトルy’dmは、以下のとおりである。
【0063】
y’d1={1,1,1,0}
y’d2={0,0,1,0}
y’d3={0,1,0,0}
y’d4={0,1,1,1}
【0064】
また、上記式(5)で、αdmは、下記式(6)〜(8)に示すマージン最適化多重ラベリング学習の最適化問題(双対問題表示)として定式化された公知の式の解の非ゼロ要素である。
【0065】
【数5】

【0066】
また、|,|Kは、トピックのなす空間で内積としてトピック共起カーネルKを使用したベクトルの長さをあらわす。
【0067】
この重みベクトルwKにより、通常の線形カーネルでは考慮できない、トピック間の相関を考慮しつつ、線形カーネルと同じく高速な分類処理速度を実現できる。分類時には、各事例のノルムに従うスコアの正規化処理がマルチトピック分類器には必要となる。それを含めた分類処理の詳細については後述する。
【0068】
なお、上記式(6)〜(8)に示した最適化問題は2次計画問題であり、様々な効率的な解法アルゴリズムが存在する。しかし、多重トピック文書分類の場合、最適化する変数の個数は文書数×トピック数と大きくなり、通常はSVMの場合と同じく一般的な解法アルゴリズムの適用が難しくなる。そこで、SVMのSequential Mimimum Optimization(SMO)アルゴリズムを上記式(6)〜(8)式の最適化問題に拡張した解法アルゴリズムを本実施の形態で適用することができる。
【0069】
SVMのSMOアルゴリズムは最急降下法を基本とする反復解法の1つである。各反復で、最も目的関数を下げる2変数を選択しその変数のみを更新していく。SVMの場合には等式制約式が1つあるために、自由に更新できる最小の変数である2変数を選択し逐次更新していくが、本実施の形態の多重トピック分類の場合には、等式制約式がないため1変数を選択して更新していく拡張SMOアルゴリズムを使用する。
【0070】
(1)拡張SMOアルゴリズムでは、まず、誤差定数EPSに正の定数を設定し、すべてのαdmを初期化(αdm=0)する。
(2)つぎに、下記式(9)に示すバイオレーション値vdmが最大となる(d,m)を選択する。これは各訓練データの各反復数時での分類誤りを示している。
【0071】
【数6】

【0072】
(3)そして、vdm<EPSを満たしていれば終了、そうでなければ次の(4)へ移行する。(4)上記(2)で選択された(d,m)により特定されるαdmを、下記式(10)により更新する。
【0073】
【数7】

【0074】
(5)そして、αdmの更新に伴ってvdmを更新して、上記(1)にもどる。学習処理部210による学習処理時は、αdmの更新に伴って、全訓練データに対するviolation値vdmの更新処理が発生する。その際に(10)式によってカーネル計算を行う必要あるため、そのままの実装では学習時間は膨大となる。SVMのSMOアルゴリズムと同じようにカーネル関数値のキャッシュを保持することで学習処理時間の短縮化を図ることができる。
【0075】
つぎに、分類処理部220について説明する。図2において、分類処理部220は、学習処理部210により得られた重みベクトルを用いて未分類データ202を分類する機能を有し、具体的には、取得部211と生成部212と分類部221と出力部222とをから構成される。
【0076】
取得部211は、分類処理部220においては、未分類データ202を取得する機能を有する。ここで、未分類データ202とは、トピックがまだ付与されていない電子データであり、たとえば、論文、図書、新聞、雑誌、漫画、小説などの電子文書が挙げられる。取得部211は、多重トピック分類装置200の外部から与えられた分類対象または内部に保持されている分類済みデータ201を読み込む。
【0077】
生成部212は、分類処理部220においては、取得部211によって取得された未分類データ202の素性ベクトルx={x1,…,xN}を生成する機能を有する。素性ベクトルxは未分類データ202の属性をあらわすベクトルである。たとえば、未分類データ202が電子文書である場合、単語(N個)ごとの出現頻度をベクトル化する、いわゆるbag-of-word表現により、素性ベクトルxを生成する。この場合、x1,…,xNは、電子文書内に出現するN個の単語の出現頻度となる。
【0078】
また、図2において、分類部221は、未分類データ202の多重トピック分類を実行する機能を有する。具体的には、未分類データ202の素性ベクトルと重みベクトルとに基づいて、未分類データ202の多重トピック分類を実行する。
【0079】
また、出力部222は、分類結果となるバイナリベクトルを出力する機能を有する。具体的には、たとえば、バイナリベクトルのみ出力したり、未分類データ202に関連付けて出力する。出力形式は、画面表示や印刷出力、記憶領域への格納、他のコンピュータ装置への送信が挙げられる。
【0080】
(学習処理手順)
つぎに、この発明の実施の形態にかかる学習処理手順について説明する。図3は、この発明の実施の形態にかかる学習処理手順を示すフローチャートである。図3において、まず、取得部211により、分類済みデータ201とその訓練データセットを取得する(ステップS301)。
【0081】
つぎに、生成部212により、分類済みデータ201の素性ベクトルxを生成する(ステップS302)。そして、算出部213によりトピック共起行列Kを算出する(ステップS303)。このあと、設定部214により、重みベクトル設定処理を実行する(ステップS304)。これにより、一連の学習処理手順を終了する。
【0082】
つぎに、重みベクトル設定処理(ステップS304)の詳細な処理手順について説明する。図4は、重みベクトル設定処理(ステップS304)の詳細な処理手順を示すフローチャートである。
【0083】
まず、訓練データydのインデックスdをd=1とし(ステップS401)、m(訓練データyd内のm番目の成分をあらわすインデックス)をm=1とする(ステップS402)。そして、上記式(5)のAdmを算出する(ステップS403)。つぎに、m>cであるか否かを判断する(ステップS404)。m>cでない場合(ステップS404:No)、mをインクリメントして(ステップS405)、ステップS403に戻る。
【0084】
一方、m>cである場合(ステップS404:Yes)、d>D(Dは訓練データydの総数)であるか否かを判断する(ステップS406)。d>Dでない場合(ステップS406:No)、dをインクリメントして(ステップS407)、ステップS403に戻る。一方、d>Dである場合(ステップS406:Yes)、上記式(5)により重みベクトルwKを算出して(ステップS408)、一連の処理を終了する。
【0085】
(分類処理手順)
つぎに、この発明の実施の形態にかかる分類処理手順について説明する。図5は、この発明の実施の形態にかかる分類処理手順を示すフローチャートである。図5において、まず、取得部211により、未分類データ202を取得する(ステップS501)。つぎに、生成部212により、未分類データ202の素性ベクトルxを生成する(ステップS502)。そして、単独トピック分類実行処理(ステップS503)および多重トピック分類実行処理(ステップS504)をおこなう。最後に、出力部222により、分類結果を出力することにより(ステップS505)、一連の処理を終了する。
【0086】
つぎに、単独トピック分類実行処理(ステップS503)の詳細な処理手順について説明する。図6は、単独トピック分類実行処理の詳細な処理手順を示すフローチャートである。図6において、まず、i(i番目のトピックTiを特定するインデックス)をi=1とし(ステップS601)、単独トピックベクトルyiを生成する(ステップS602)。単独トピックベクトルyiは、i番目のトピックTiの値tiのみがti=1となるバイナリベクトルである。
【0087】
つぎに、単独トピックスコアSiを算出する(ステップS603)。単独トピックスコアSiは、下記式(11)により算出される。
【0088】
【数8】

【0089】
なお、|yiKは単独トピックの長さである。そして、i>cであるか否かを判断する(ステップS604)。すなわち、すべての単独トピックに対して単独トピックスコアSiを算出したか否かを判断する。i>cでない場合(ステップS605:No)、iをインクリメントして(ステップS606)、ステップS602に戻る。
【0090】
一方、i>cである場合(ステップS604:Yes)、これまでに算出された単独トピックスコアS1〜SCを降順にソートする(ステップS605)。そして、その中から最大スコアSmaxを保持して(ステップS607)、ステップS504に移行する。
【0091】
つぎに、多重トピック分類実行処理(ステップS504)の詳細な処理手順について説明する。図6は、多重トピック分類実行処理(ステップS504)の詳細な処理手順を示すフローチャートである。図6において、まず、g=2とする(ステップS701)。gは、ステップS605においてソートされた降順をあらわす。なお、g=1の場合、単独トピックスコアSmaxの算出元となる単独トピックべクトルである。
【0092】
つぎに、多重トピックベクトルzgを生成する(ステップS602)。多重トピックベクトルzgとは、上位2番目の単独トピックスコアの算出元の単独トピックベクトルから上位g番目までの単独トピックスコアの算出元の単独トピックベクトルの論理和である。
【0093】
たとえば、g=4とした場合、上位2番目の単独トピックスコアの算出元の単独トピックベクトルyAから上位3番目の単独トピックスコアの算出元の単独トピックベクトルyCを以下の通りとすると、多重トピックベクトルz4は以下の通りとなる。
【0094】
A={1,0,0,0}
B={0,0,1,0}
C={0,0,0,1}
4={1,0,1,1}
【0095】
そして、多重トピックスコアMgを算出する(ステップS703)。多重トピックスコアMgは、下記式(12)により算出される。
【0096】
【数9】

【0097】
なお、|zgKは多重トピックの長さである。多重トピックスコアMgは線形カーネルであるため、多重トピックの長さ|zgKの正規化項を除いて、多重トピックスコアMgは単独トピックスコアS1×|y1K〜SC×|ycKの和になっている。そのため、多重トピックに対するスコア計算には、一般のNaive Bayes分類器や、一対他方式のSVMなどと同じ単独トピックに対する計算コストと、トピック素性空間での多重トピックの長さによる正規化計算コストとなり、比較的高速に分類を実行できる。
【0098】
このあと、Mg>Smaxであるか否かを判断する(ステップS704)。Mg>Smaxである場合(ステップS704:Yes)、g>cであるか否かを判断する(ステップS705)。そして、g>cでない場合(ステップS705:No)、gをインクリメントして(ステップS706)、ステップS702に戻る。
【0099】
一方、g>cである場合(ステップS705:Yes)、最終的に得られた多重トピック訓練データzgを保持する(ステップS707)。一方、ステップS704において、Mg>Smaxでない場合(ステップS704:No)、1つ前の多重トピック訓練データzg-1を保持する(ステップS708)。このあと、ステップS505に移行することで、多重トピック分類実行処理(ステップS504)の一連の処理を終了する。
【0100】
このように、この発明の実施の形態によれば、カーネルにより相関の強いトピック対と語彙素性との関連をより強く学習することができ、トピック数の大きい場合のトピックF1値性能を向上させることができる。また、このトピック共起カーネルは非対角項を持つ線形カーネルとして表現できるため、分類時に明示的に重みベクトルを構成することができる。そのため、分類時にもカーネル関数を使用する場合に比べて高速な分類を実現することができる。
【0101】
なお、本実施の形態で説明した多重トピック分類方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【産業上の利用可能性】
【0102】
以上のように、本発明にかかる多重トピック分類装置、多重トピック分類方法、および多重トピック分類プログラムは、各種電子文書やソーシャルブックマークなどに有用である。
【図面の簡単な説明】
【0103】
【図1】この発明の実施の形態にかかる多重トピック分類装置のハードウェア構成を示すブロック図である。
【図2】この発明の実施の形態にかかる多重トピック分類装置の機能的構成を示すブロック図である。
【図3】この発明の実施の形態にかかる学習処理手順を示すフローチャートである。
【図4】重みベクトル設定処理の詳細な処理手順を示すフローチャートである。
【図5】この発明の実施の形態にかかる分類処理手順を示すフローチャートである。
【図6】単独トピック分類実行処理の詳細な処理手順を示すフローチャートである。
【図7】多重トピック分類実行処理の詳細な処理手順を示すフローチャートである。
【符号の説明】
【0104】
200 多重トピック分類装置
210 学習処理部
211 取得部
212 生成部
213 算出部
214 設定部
220 分類処理部
221 分類部
222 出力部

【特許請求の範囲】
【請求項1】
未分類データの多重トピック分類を実行する多重トピック分類装置において、
分類済みデータと当該分類済みデータに付与されたトピックに関する訓練データとを取得する取得手段と、
前記取得手段によって取得された分類済みデータの素性ベクトルを生成する生成手段と、
前記取得手段によって取得された訓練データと前記生成手段によって生成された素性ベクトルとに基づいて、前記訓練データにより表現されるトピック間の相関をあらわすトピック共起カーネルを算出する算出手段と、
前記算出手段によって算出されたトピック共起カーネルに基づいて、前記未分類データの多重トピック分類に用いる重みベクトルを設定する設定手段と、
を備えることを特徴とする多重トピック分類装置。
【請求項2】
前記算出手段は、Dice係数によるトピック共起カーネルを算出することを特徴とする請求項1に記載の多重トピック分類装置。
【請求項3】
前記未分類データの多重トピック分類を実行する分類手段を備え、
前記取得手段は、未分類データを取得し、
前記生成手段は、前記取得手段によって取得された未分類データの素性ベクトルを生成し、
前記分類手段は、前記生成手段によって生成された前記未分類データの素性ベクトルと前記設定手段によって設定された重みベクトルとに基づいて、前記未分類データの多重トピック分類をおこなうことを特徴とする請求項1または2に記載の多重トピック分類装置。
【請求項4】
未分類データの多重トピック分類を実行する多重トピック分類方法において、
分類済みデータと当該分類済みデータに付与されたトピックに関する訓練データとを取得する取得工程と、
前記取得工程によって取得された分類済みデータの素性ベクトルを生成する生成工程と、
前記取得工程によって取得された訓練データと前記生成工程によって生成された素性ベクトルとに基づいて、前記訓練データにより表現されるトピック間の相関をあらわすトピック共起カーネルを算出する算出工程と、
前記算出工程によって算出されたトピック共起カーネルに基づいて、前記未分類データの多重トピック分類に用いる重みベクトルを設定する設定工程と、
を含んだことを特徴とする多重トピック分類方法。
【請求項5】
未分類データの多重トピック分類をコンピュータに実行させる多重トピック分類プログラムにおいて、
分類済みデータと当該分類済みデータに付与されたトピックに関する訓練データとを取得する取得工程と、
前記取得工程によって取得された分類済みデータの素性ベクトルを生成する生成工程と、
前記取得工程によって取得された訓練データと前記生成工程によって生成された素性ベクトルとに基づいて、前記訓練データにより表現されるトピック間の相関をあらわすトピック共起カーネルを算出する算出工程と、
前記算出工程によって算出されたトピック共起カーネルに基づいて、前記未分類データの多重トピック分類に用いる重みベクトルを設定する設定工程と、
を前記コンピュータに実行させることを特徴とする多重トピック分類プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2008−276344(P2008−276344A)
【公開日】平成20年11月13日(2008.11.13)
【国際特許分類】
【出願番号】特願2007−116431(P2007−116431)
【出願日】平成19年4月26日(2007.4.26)
【出願人】(390024350)株式会社ジャストシステム (123)
【Fターム(参考)】