(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023094030
(43)【公開日】2023-07-05
(54)【発明の名称】情報処理装置および情報処理方法、並びにプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20230628BHJP
G06N 5/02 20230101ALI20230628BHJP
【FI】
G06N20/00
G06N5/02
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021209229
(22)【出願日】2021-12-23
(71)【出願人】
【識別番号】504133110
【氏名又は名称】国立大学法人電気通信大学
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100082131
【弁理士】
【氏名又は名称】稲本 義雄
(72)【発明者】
【氏名】簀河原 皆
(72)【発明者】
【氏名】岡本 一志
(57)【要約】
【課題】共クラスタリングの分類精度および階層型クラスタによる解釈性の向上を図る。
【解決手段】分割の対象となる分割対象行列の行オブジェクトと列オブジェクトとを共に、分割対象行列の行オブジェクトと行オブジェクトに関する第1の特徴オブジェクトとからなる第1の補助行列、および、分割対象行列の列オブジェクトと列オブジェクトに関する第2の特徴オブジェクトとからなる第2の補助行列を用いてクラスタリングする。また、クラスタを順に分割することで、クラスタの階層関係を抽出する。本技術は、例えば、クラスタリングを行う情報処理装置に適用できる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
分割の対象となる分割対象行列の行オブジェクトと列オブジェクトとを共に、前記分割対象行列の行オブジェクトと前記行オブジェクトに関する第1の特徴オブジェクトとからなる第1の補助行列、および、前記分割対象行列の列オブジェクトと前記列オブジェクトに関する第2の特徴オブジェクトとからなる第2の補助行列を用いてクラスタリングするクラスタリング処理部
を備える情報処理装置。
【請求項2】
前記クラスタリング処理部は、
前記分割対象行列、前記第1の補助行列、前記第2の補助行列、前記第1の補助行列が前記分割対象行列に与える影響の大きさを示す第1の影響度、および、前記第2の補助行列が前記分割対象行列に与える影響の大きさを示す第2の影響度を用いた更新式を演算して、前記分割対象行列の全てのクラスタの更新値を求める更新式演算部と、
前記分割対象行列の前記行オブジェクトおよび前記列オブジェクトの全てのクラスタの前記更新値のうち、最も大きな値の前記更新値が求められたクラスタを分割対象として選択する選択部と、
分割対象の前記クラスタの分割を実行する分割実行部と
を有する請求項1に記載の情報処理装置。
【請求項3】
前記クラスタリング処理部は、前記分割実行部による分割後の前記行オブジェクトおよび前記列オブジェクトに基づいて、クラスタリングを終了させるための終了条件が満たされたか否かを判定する終了条件判定部をさらに有し、
前記終了条件が満たされたと判定されるまで、最も大きな値の前記更新値の順に従ってクラスタの分割が繰り返して行われる
請求項2に記載の情報処理装置。
【請求項4】
前記終了条件判定部は、前記分割対象行列のクラスタ粒度を示す目的関数値を求めるための目的関数を演算して、最新の前記目的関数値が、あらかじめ指定された閾値に到達した場合に、前記終了条件が満たされたと判定する
請求項3に記載の情報処理装置。
【請求項5】
前記終了条件判定部は、最新のクラスタ数が、あらかじめ指定されたクラスタ数に到達した場合に、前記終了条件が満たされたと判定する
請求項3に記載の情報処理装置。
【請求項6】
前記分割対象行列を分類するのに適切な前記第1の影響度および前記第2の影響度を、前記更新式演算部に設定する影響度設定部
をさらに備える請求項2に記載の情報処理装置。
【請求項7】
クラスタリングを行う情報処理装置が、
分割の対象となる分割対象行列の行オブジェクトと列オブジェクトとを共に、前記分割対象行列の行オブジェクトと前記行オブジェクトに関する第1の特徴オブジェクトとからなる第1の補助行列、および、前記分割対象行列の列オブジェクトと前記列オブジェクトに関する第2の特徴オブジェクトとからなる第2の補助行列を用いてクラスタリングすること
を含む情報処理方法。
【請求項8】
クラスタリングを行う情報処理装置のコンピュータに、
分割の対象となる分割対象行列の行オブジェクトと列オブジェクトとを共に、前記分割対象行列の行オブジェクトと前記行オブジェクトに関する第1の特徴オブジェクトとからなる第1の補助行列、および、前記分割対象行列の列オブジェクトと前記列オブジェクトに関する第2の特徴オブジェクトとからなる第2の補助行列を用いてクラスタリングすること
を含む情報処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置および情報処理方法、並びにプログラムに関し、特に、共クラスタリングの分類精度および階層型クラスタによる解釈性の向上を図ることができるようにした情報処理装置および情報処理方法、並びにプログラムに関する。
【背景技術】
【0002】
従来、特徴量(オブジェクト)の分布に基づいて類似したデータオブジェクトを分類するための手法としてクラスタリングが用いられている。
【0003】
例えば、非特許文献1で提案されているk-meansは、クラスタの平均を用いてデータオブジェクトをk個のクラスタ数に分類するone-wayクラスタリングである。
【0004】
また、非特許文献2で提案されているHICC(hierarchical co-clustering)は、データオブジェクトおよび特徴量の両方(two-way)を同時に分類する共クラスタリングである。例えば、共クラスタリングは、2種類のオブジェクトを同時に分類する教師なし機械学習手法のひとつであり、特徴量もクラスタリングすることによってロバスト性や高次元性を克服し、one-wayクラスタリングよりも優れた分類性能を有している。
【0005】
また、非特許文献3では、外部のドメイン知識および共クラスタリングを活用し、対象ドメインの分類精度の向上を図る教師なし転移学習であるCo-CoClustが提案されている。また、非特許文献4では、行/列オブジェクトに関する補助行列を用いた情報理論ベース共クラスタリングであるCCAM(co-clustering with augmented matrix)が提案されている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】J. MacQueen: Some methods for classification and analysis of multivariate observations, Proc. of the 5th Berkeley Symp. On Mathematical Statistics and Probability, 281-297, 1967.
【非特許文献2】W. Cheng, X. Zhang, F. Pan, W. Wang: HICC: an entropy splitting-based framework for hierarchical co-clustering, Knowledge and Information Systems, 46(2), 343-367, 2016.
【非特許文献3】F. Wang, S. Lin, P. S. Yu: Collaborative co-clustering across multiple social media, Proc. of 17th IEEE Int. Conf. on Mobile Data Management, 142-151, 2016.
【非特許文献4】M. Wu, C. Chang, R. Liu: Co-clustering with augmented matrix, Applied Intelligence, 39(1), 153-164, 2013.
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、上述の非特許文献1乃至4で提案されている従来のクラスタリング手法よりも、より分類精度を向上させることが求められている。また、従来、補助情報を利用する階層型共クラスタリング手法ついては提案されていなかった。
【0008】
本開示は、このような状況に鑑みてなされたものであり、共クラスタリングの分類精度および階層型クラスタによる解釈性の向上を図ることができるようにするものである。
【課題を解決するための手段】
【0009】
本開示の一側面の情報処理装置は、分割の対象となる分割対象行列の行オブジェクトと列オブジェクトとを共に、前記分割対象行列の行オブジェクトと前記行オブジェクトに関する第1の特徴オブジェクトとからなる第1の補助行列、および、前記分割対象行列の列オブジェクトと前記列オブジェクトに関する第2の特徴オブジェクトとからなる第2の補助行列を用いてクラスタリングするクラスタリング処理部を備える。
【0010】
本開示の一側面の情報処理方法またはプログラムは、分割の対象となる分割対象行列の行オブジェクトと列オブジェクトとを共に、前記分割対象行列の行オブジェクトと前記行オブジェクトに関する第1の特徴オブジェクトとからなる第1の補助行列、および、前記分割対象行列の列オブジェクトと前記列オブジェクトに関する第2の特徴オブジェクトとからなる第2の補助行列を用いてクラスタリングすることを含む。
【0011】
本開示の一側面においては、分割の対象となる分割対象行列の行オブジェクトと列オブジェクトとが共に、分割対象行列の行オブジェクトと行オブジェクトに関する第1の特徴オブジェクトとからなる第1の補助行列、および、分割対象行列の列オブジェクトと列オブジェクトに関する第2の特徴オブジェクトとからなる第2の補助行列を用いてクラスタリングされる。
【発明の効果】
【0012】
本開示の一側面によれば、共クラスタリングの分類精度および階層型クラスタによる解釈性の向上を図ることができる。
【0013】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【0014】
【
図1】共クラスタリングについて説明する図である。
【
図2】補助情報を用いた階層型共クラスタリングについて説明する図である。
【
図3】分割アルゴリズムの具体的な一例を示す図である。
【
図4】本技術を適用した情報処理装置の一実施の形態の構成例を示すブロック図である。
【
図5】補助情報を用いた階層型共クラスタリングを行うクラスタリング処理を説明するフローチャートである。
【
図7】評価実験を行った5つのクラスタリング手法を示す図である。
【
図8】Multi5およびScienceのデータセットについて説明する図である。
【
図9】分類対象行列および補助行列の一例について説明する図である。
【
図10】Multi5におけるHICCAMの精度の一例を示す図である。
【
図11】5つのクラスタリング手法による文書分類結果の一例を示す図である。
【
図12】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0015】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0016】
<補助情報を用いた階層型共クラスタリングの概要>
図1および
図2を参照し、マーケティングデータを一例に用いて、補助情報を用いた階層型共クラスタリング(以下、HICCAM(hierarchical co-clustering with augmented matrix)とも称する)の概要について説明する。
【0017】
図1には、顧客×商品の関係データ行列Fに対する共クラスタリングの一例が示されている。
【0018】
例えば、
図1の左側に示すように、共クラスタリングが行われる前の関係データ行列Fでは、顧客Aから顧客Fまでが順番で行に配置されており、商品1から商品6までが順番で列に配置されている。そして、ある顧客がある商品を購入したことがある場合には、その行列要素に1が入力されており、ある顧客がある商品を購入したことがない場合には、その行列要素に0が入力されている。
【0019】
そして、関係データ行列Fに対して共クラスタリングが行われると、
図1の右側に示すように、それぞれの類似度に応じて、顧客および商品の両方とも複数のクラスタに分割される。図示する例では、顧客は、顧客A、顧客B、および顧客Dが含まれるクラスタと、顧客C、顧客E、および顧客Fが含まれるクラスタとに分割されており、商品は、商品1、商品5、および商品6が含まれるクラスタと、商品2、および商品3が含まれるクラスタと、商品4が含まれるクラスタとに分割されている。
【0020】
このように、関係データ行列Fに対して共クラスタリングを行うことによって、顧客のクラスタと商品のクラスタとの2つが同時に生成される。
【0021】
そして、
図2に示すように、補助情報を用いた階層型共クラスタリングでは、関係データ行列Fが持つ知識だけではなく、顧客や商品などに関する分類に役立ちそうな補助情報を活用することによって、従来のクラスタリング手法よりも分類精度の向上を図ることができる。
【0022】
例えば、顧客×商品の関係データ行列Fに対する補助情報を用いた階層型共クラスタリングでは、顧客×(年齢、利用時間など)からなる顧客に関する補助行列G、および、商品×(商品名、メーカー、価格、売り上げなど)からなる商品に関する補助行列Hを用いることができる。そして、補助行列Gから影響度αで関係データ行列Fに対する知識の移転が行われるとともに、補助行列Hから影響度βで関係データ行列Fに対する知識の移転が行われる。
【0023】
これにより、補助情報を用いた階層型共クラスタリングは、クラスタ数(=何個のグループ)を、数として指定する代わりに、0~1の範囲で示されるクラスタ粒度として指定することでクラスタリングを行うことができる。さらに、補助情報を用いた階層型共クラスタリングは、クラスタを順に分割することで、
図1の右側に示したようなクラスタの階層構造を取得することによる解釈性の向上を図ることができ、クラスタ同士の近さを評価することや、細かく分割し過ぎた場合に後戻りすることなどができる。
【0024】
<分割アルゴリズムの概要>
補助情報を用いた階層型共クラスタリングは、1個の行クラスタおよび1個の列クラスタのメイン行列Fに対して分割アルゴリズムが開始され、メイン行列Fの行クラスタおよび列クラスタを共に、それぞれ2つのクラスタに2分割する処理を繰り返して行う分割型である。そして、分割アルゴリズムでは、次の式(1)に示すように、相互情報量Iを基にした目的関数q(X^,Y^)が基準となる。
【0025】
【0026】
例えば、目的関数q(X^,Y^)は、オブジェクトXを行としてオブジェクトYを列とするメイン行列Fを分類対象として、オブジェクトXを行として特徴オブジェクトAを列とする補助行列Gが影響度αで適用され、オブジェクトYを行として特徴オブジェクトBを列とする補助行列Hが影響度βで適用されることを表している。そして、目的関数q(X^,Y^)により求められる目的関数値qは、クラスタの粒度を表しており、未分割時には0であって、分割を行ってクラスタが増えるのに伴って単調増加し、分割が完全に終了すると1に到達する。
【0027】
また、分割前の行列と分割後の行列との相互情報量の差が小さいほど類似した値のオブジェクトが分離されることなく分割を行うことができる。このため、例えば、行クラスタsを第1の行クラスタs1および第2の行クラスタs2に二分割する場合、次の式(2)に示す更新式δq(X,Y)により求められる更新値δqを最大にする行クラスタを選択して2分割する処理が実行される。
【0028】
【0029】
なお、式(2)は、行クラスタについての更新式を示しており、列クラスタについても同様の更新式を用いて更新値を最大にする列クラスタを選択して2分割する処理が実行される。
【0030】
そして、補助情報を用いた階層型共クラスタリングを終了させるための終了条件は、計算コストの観点から、最新の目的関数値qが、あらかじめ指定された閾値に到達したか否かに基づいて判定される。また、あらかじめクラスタ数が指定されている場合には、最新のクラスタ数が、あらかじめ指定されたクラスタ数に到達したか否かに基づいて判定される。
【0031】
図3には、ここで説明した分割アルゴリズム具体的な一例が示されている。
【0032】
<情報処理装置の構成例>
図4は、本技術を適用した情報処理装置の一実施の形態の構成例を示すブロック図である。
【0033】
図4に示すように、情報処理装置11は、クラスタリング処理部21および影響度設定部22を備えて構成されており、クラスタリング処理部21は、初期分割部31、更新式演算部32、選択部33、分割実行部34、および終了条件判定部35を備えて構成される。
【0034】
例えば、情報処理装置11では、分割前の行クラスタ集合X^(全ての行オブジェクトを1つのクラスタとして持つクラスタ数1の集合)および分割前の列クラスタ集合Y^(全ての列オブジェクトを1つのクラスタとして持つクラスタ数1の集合)が初期分割部31に入力される。また、情報処理装置11では、分類対象となるオブジェクトXを行としてオブジェクトYを列とするメイン行列F、オブジェクトXを行として特徴オブジェクトAを列とする補助行列G、および、オブジェクトYを行として特徴オブジェクトBを列とする補助行列Hが、それぞれ初期分割部31、更新式演算部32、および終了条件判定部35に入力される。
【0035】
クラスタリング処理部21は、メイン行列FのオブジェクトXとオブジェクトYとを同時に、補助行列Gおよび補助行列Hを用いて共クラスタリングする。つまり、クラスタリング処理部21は、分割前の行クラスタ集合X^および分割前の列クラスタ集合Y^を入力として、メイン行列F、補助行列G、および補助行列Hに基づいた共クラスタリングを行う。そして、クラスタリング処理部21は、共クラスタリングを行った結果として、分割後の行クラスタ集合X^(行クラスタに含まれるオブジェクトを分割した後のクラスタごとに纏めたオブジェクトの集合)および分割後の列クラスタ集合Y^(列クラスタに含まれるオブジェクトを分割した後のクラスタごとに纏めたオブジェクトの集合)を出力する。
【0036】
影響度設定部22は、補助行列Gがメイン行列Fに与える影響の大きさを示す影響度α、および、補助行列Hがメイン行列Fに与える影響の大きさを示す影響度βを、初期分割部31、更新式演算部32、および終了条件判定部35に設定する。例えば、影響度設定部22は、情報処理装置11の利用者の操作入力に従って、メイン行列Fを共クラスタリングするのに適切な影響度αおよび影響度βを設定することができる。その他、分類対象の正解ラベルが存在する場合、影響度設定部22は、情報処理装置11から出力されるクラスタの分類結果および正解ラベルに基づいて、より高い分類精度でクラスタの分類が行われるように、適切な影響度αおよび影響度βを定量的基準により再設定することができる。また、正解ラベルが存在しない場合でも、分析者が、クラスタの分類結果に基づいて、影響度αおよび影響度βを定性的に再設定してもよい。
【0037】
初期分割部31は、メイン行列F、補助行列G、補助行列H、影響度α、および影響度βを使用して、分割前の行クラスタ集合X^および分割前の列クラスタ集合Y^それぞれを2分割する初期分割を行って初期クラスタを生成し、更新式演算部32に供給する。例えば、初期分割部31は、分割前の行クラスタ集合X^に対する初期分割を行う際には、列クラスタ集合Y^が全て完全に分割されていると一時的にみなして、分割前の行クラスタ集合X^を2分割する。同様に、初期分割部31は、分割前の列クラスタ集合Y^に対する初期分割を行う際には、行クラスタ集合X^が全て完全に分割されていると一時的にみなして、分割前の列クラスタ集合Y^を2分割する。
【0038】
更新式演算部32は、現時点における行クラスタ集合X^および列クラスタ集合Y^の全てのクラスタについて、影響度設定部22によって設定された影響度αおよび影響度βを用いて、上述の式(2)に示した更新式δq(X,Y)を演算して更新値δqを求める。例えば、初期分割部31から更新式演算部32に供給される初期クラスタは、オブジェクトXおよびオブジェクトYどちらもクラスタ数が2であるが、分割を繰り返して実行することによってクラスタ数が増加し、更新式演算部32は、それらのクラスタごとに更新値δqを求めることになる。従って、更新式演算部32は、現時点における行クラスタ集合X^および列クラスタ集合Y^の全てのクラスタの更新値δqを求めて選択部33に供給する。
【0039】
選択部33は、更新式演算部32から供給された行クラスタ集合X^および列クラスタ集合Y^の全てのクラスタの更新値δqのうち、最も大きな値の更新値δqを特定し、その更新値δqが求められたクラスタを分割対象として選択して、分割実行部34に供給する。
【0040】
分割実行部34は、選択部33から供給された分割対象のクラスタに対する分割を実行し、分割後の行クラスタ集合X^または分割後の列クラスタ集合Y^を終了条件判定部35に供給する。なお、行クラスタ集合X^および列クラスタ集合Y^のうち、分割対象のクラスタとして選択されなかったクラスタは、選択部33から分割実行部34を介して、そのまま終了条件判定部35に供給される。
【0041】
終了条件判定部35は、分割実行部34から供給された分割後の行クラスタ集合X^および分割後の列クラスタ集合Y^に基づいて、上述の式(1)に示した目的関数q(X^,Y^)を演算して目的関数値qを求める。そして、終了条件判定部35は、最新の目的関数値qが、あらかじめ指定された閾値に到達したか否かを判定することで、終了条件を満たしているか否かを判定する。即ち、終了条件判定部35は、最新の目的関数値qが閾値に到達している場合、終了条件を満たしていると判定することができる。または、終了条件判定部35は、あらかじめクラスタ数が指定されている場合には、最新のクラスタ数が、あらかじめ指定されたクラスタ数に到達したとき、終了条件を満たしていると判定することができる。
【0042】
そして、終了条件判定部35は、終了条件を満たしていないと判定した場合、分割後の行クラスタ集合X^および分割後の列クラスタ集合Y^を更新式演算部32に供給して、上述と同様の処理を繰り返して行わせ、最も大きな値の更新値δqの順に従ってクラスタの分割が行われる。一方、終了条件判定部35は、終了条件を満たしていると判定した場合、その時点における分割後の行クラスタ集合X^および分割後の列クラスタ集合Y^を、補助情報を用いた階層型共クラスタリングを行った結果として出力する。
【0043】
以上のように構成される情報処理装置11は、補助行列Gおよび補助行列Hを用いてメイン行列Fの共クラスタリングを行うことで、より分類精度の向上を図るとともに、階層型クラスタによる解釈性の向上を図ることができる。
【0044】
図5は、クラスタリング処理部21が、補助情報を用いた階層型共クラスタリングを行うクラスタリング処理を説明するフローチャートである。
【0045】
ステップS11において、初期分割部31は、メイン行列F、補助行列G、補助行列H、影響度α、および影響度βを使用して、分割前の行クラスタ集合X^および分割前の列クラスタ集合Y^それぞれを2分割する初期分割を行って初期クラスタを生成し、更新式演算部32に供給する。
【0046】
ステップS12において、更新式演算部32は、現時点における行クラスタ集合X^および列クラスタ集合Y^の全てのクラスタについて、影響度設定部22によって設定された影響度αおよび影響度βを用いて、上述の式(2)に示した更新式δq(X,Y)を演算し、メイン行列Fの全てのクラスタの更新値δqを求めて選択部33に供給する。例えば、更新式演算部32は、1回目の処理においては、ステップS11で初期分割部31から供給された初期クラスタの行クラスタ集合X^および列クラスタ集合Y^を処理対象とする。また、更新式演算部32は、2回目以降の処理においては、その時点における分割後の行クラスタ集合X^および分割後の列クラスタ集合Y^を処理対象とする。
【0047】
ステップS13において、選択部33は、ステップS12で更新式演算部32から供給された行クラスタ集合X^および列クラスタ集合Y^の全てのクラスタの更新値δqのうち、最も大きな値の更新値δqが求められたクラスタを分割対象として選択して、分割実行部34に供給する。
【0048】
ステップS14において、分割実行部34は、ステップS13で選択部33から供給された分割対象のクラスタに対する分割を実行し、分割後の行クラスタ集合X^または分割後の列クラスタ集合Y^を終了条件判定部35に供給する。
【0049】
ステップS15において、終了条件判定部35は、最新の目的関数値qまたは最新のクラスタ数に基づいて、終了条件を満たしているか否かを判定する。例えば、終了条件判定部35は、最新の目的関数値qが、あらかじめ指定された閾値に到達していない場合、または、最新のクラスタ数が、あらかじめ指定されたクラスタ数に到達していない場合、終了条件を満たしていないと判定する。
【0050】
ステップS15において、終了条件判定部35が終了条件を満たしていないと判定した場合、処理はステップS12に戻り、分割後の行クラスタ集合X^または分割後の列クラスタ集合Y^を用いて、以下、同様の処理が繰り返して行われる。
【0051】
一方、ステップS15において、終了条件判定部35は、最新の目的関数値qが、あらかじめ指定された閾値に到達した場合、または、最新のクラスタ数が、あらかじめ指定されたクラスタ数に到達した場合、終了条件を満たしたと判定し、処理は終了される。
【0052】
<文書分類タスクによる評価実験>
図6乃至
図11を参照して、共クラスタリングの有用性および補助情報の有効性を検証した評価実験について説明する。
【0053】
例えば、
図6に示すように、文書×単語のメイン行列Fに対するクラスタリングが評価実験に用いられた。また、評価実験は、
図7に示すように、非特許文献1のk-means、非特許文献2のHICC、非特許文献3のCo-CoClust、非特許文献4のCCAM、および提案手法のHICCAMの5つのクラスタリング手法を対象とした。そして、評価実験では、精度(Accuracy)および純度(Purity)が評価指標として用いられた。
【0054】
例えば、評価実験を行うために、20グループで構成される英語ニュース文書NG20(http://kdd.ics.uci.edu/databases/20newsgroups/20newsgroups.html)について、Multi5およびScienceの2種類のデータセットを作成した。
図8に示すように、Multi5は、グループ間の単語分布が異なる傾向にある5つのグループ(comp.graphics, rec.motorcycles, rec.sport.baseball, sci.space, talk.politics.mideast)の500文書で構成される。Scienceは、グループ間の単語分布が類似する傾向にある4つのグループ(sci.crypt, sci.electronics, sci.med, sci.space)の500文書で構成される。
【0055】
そして、データセットの作成は、以下で説明するような手順で行われた。まず、各データセットの出現単語についてストップワード(a , the , ofなど)の除去を行い、出現頻度の上位にある1000単語を抽出する。そして、1000単語をランダムに2分割して、
図9に示すように、分類対象となるメイン行列F(one-hot , 500文書×500単語)、および、文書補助行列G(one-hot , 500文書×500 単語)を作成する。さらに、オンライン百科事典で学習済みのfastTextモデル(https://fasttext.cc/docs/en/pretrained-vectors.html)を用いて、単語補助行列H(500単語×300次元)を用意する。
【0056】
図10には、Multi5におけるHICCAMの精度の一例が示されている。
【0057】
例えば、文書補助行列Gの影響度αと単語補助行列Hの影響度βとを、2の冪で変化させたとき、
図10に示すように精度が変化する。そして、
図10において太線の実線で囲まれた範囲、即ち、影響度αが0.5乃至2.0であって、かつ、影響度βが1.0以上である範囲において、高い精度でメイン行列Fを分類可能であること、即ち、優れた性能を発揮することが示された。一方、
図10において太線の破線で囲まれた範囲、即ち、影響度αが0.125以下であって、かつ、影響度βが0.25以下である範囲では、精度が低くなる傾向があり、高い精度でメイン行列Fを分類するためには、適切な影響度αおよび影響度βを設定する必要があることが示された。
【0058】
図11は、Multi5およびScienceにおける上述した
図7に示した5つのクラスタリング手法(k-means,HICC,Co-CoClust,CCAM,HICCAM)による文書分類結果の一例が示されている。
【0059】
図11のAは、Multi5における文書分類結果であり、
図11のBは、Scienceにおける文書分類結果であって、それぞれ上段のk-meansおよびHICCは、補助情報を用いないクラスタリング手法であり、それぞれ下段のCo-CoClust,CCAM、およびHICCAMは、補助情報を用いるクラスタリング手法である。
【0060】
図11に示すように、Multi5およびScienceどちらにおいても、補助情報を用いないクラスタリング手法よりも、補助情報を用いるクラスタリング手法の方が、精度(Accuracy)および純度(Purity)の値が高くなっていることより、補助情報を取り入れる有効性を確認することができる。そして、提案手法のHICCAMは、Co-CoClustおよびCCAMよりも約8~10%の精度の向上を図ることができたことが示されている。
【0061】
以上のように、本実施の形態の情報処理装置11は、現実の分類タスクでは外部知識を活用できるケースに着目し、補助情報を用いた階層型共クラスタリングを行うことによって、従来のクラスタリング手法よりも優れた精度の分類を行うことができる。
【0062】
また、補助情報を用いた階層型共クラスタリングは、クラスタ数の指定が必須であるフラット型(非階層型)の分類手法と比較して、クラスタ数を指定する必要がなく、クラスタ間の類似関係(階層関係)を得ることで、解釈性の向上を図ることができる。例えば、クラスタ関係の情報は、クラスタ同士の近さを評価することや、細かく分割し過ぎた場合に後戻りすることなどができる点で価値がある。
【0063】
<コンピュータの構成例>
次に、上述した一連の処理(情報処理方法)は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0064】
図12は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
【0065】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
【0066】
あるいはまた、プログラムは、ドライブ109によって駆動されるリムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウェアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【0067】
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【0068】
コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。
【0069】
CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM(Random Access Memory)104にロードして実行する。
【0070】
これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
【0071】
なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【0072】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
【0073】
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0074】
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0075】
また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
【0076】
また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0077】
また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
【0078】
また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
【0079】
なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【0080】
なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
【0081】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【符号の説明】
【0082】
11 情報処理装置, 21 クラスタリング処理部, 22 影響度設定部, 31 初期分割部, 32 更新式演算部, 33 選択部, 34 分割実行部, 35 終了条件判定部