JP6538762B2 - 類似度計算装置及び類似度計算方法 - Google Patents

類似度計算装置及び類似度計算方法 Download PDF

Info

Publication number
JP6538762B2
JP6538762B2 JP2017125252A JP2017125252A JP6538762B2 JP 6538762 B2 JP6538762 B2 JP 6538762B2 JP 2017125252 A JP2017125252 A JP 2017125252A JP 2017125252 A JP2017125252 A JP 2017125252A JP 6538762 B2 JP6538762 B2 JP 6538762B2
Authority
JP
Japan
Prior art keywords
attribute
classification score
inter
similarity calculation
cases
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2017125252A
Other languages
English (en)
Other versions
JP2019008640A (ja
Inventor
森 俊樹
俊樹 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2017125252A priority Critical patent/JP6538762B2/ja
Publication of JP2019008640A publication Critical patent/JP2019008640A/ja
Application granted granted Critical
Publication of JP6538762B2 publication Critical patent/JP6538762B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

実施の形態は、類似度計算装置及び類似度計算方法に関する。
従来、複数の事例、及び、複数の事例のそれぞれが複数の属性の値を持つデータから、事例間類似度、及び、属性間類似度を計算する類似度計算装置が提案されている。類似度計算装置では、全ての属性が数値データであり、かつ、各属性の分布の極端な偏りがない場合、古典的統計学による処理が可能であり、それぞれ行ベクトル間の相関係数、及び、列ベクトル間の相関係数を求めることで、事例間の類似度、及び、属性間の類似度を算出することができる。
数値データと離散的なカテゴリデータとが混在したより一般的なデータに対する類似度計算方法としては、機械学習を応用した方法も検討されている。特許文献1の技術では、互いに相関がある属性の組をもつデータに対して、条件部と結論部が同時に生起する頻度を相関ルール分析によって求め、その結果に基づいて類似度を補正することにより、ユーザの直感に沿うような類似事例を出力する。
しかしながら、事例間類似度の計算においては、属性の重み、及び、属性値間類似度を、予めユーザが設定しておく必要がある。
また、特許文献2の技術では、事例の部分集合をランダム抽出し、決定木等で繰り返し分類し、事例間の分類結果のクラスが同じか否かをカウントすることによって、事例間類似度を計算する。しかしながら、多数の反復処理を必要とするため計算効率が悪く、また、ランダム抽出の結果によって、事例間類似度の算出結果が大きく変化する可能性がある。
特開2002−149697号公報 特許第5391637号公報
実施形態の課題は、複数の事例、及び、複数の事例のそれぞれが複数の属性の値を持つデータから、事例間類似度及び属性間類似度を統一的な基準で、かつ効率的に計算することができる類似度計算装置及び類似度計算方法を提供することを目的とすることである。
実施形態の類似度計算装置は、分類器生成部と、評価部と、事例間類似度算出部とを有する。分類器生成部は、複数の事例と、複数の事例のそれぞれに対応付けられた複数の属性及び正例と負例とを含むクラスとの組から構成される入力データから、クラスに含まれる正例の割合と、所定の属性に含まれる所定のカテゴリデータの正例の割合とに基づいて、カテゴリデータから分類スコアを出力する分類器を属性毎に生成する。評価部は、分類器によって入力データに基づいて分類スコアを出力し、分類スコア行列を生成する。事例間類似度算出部は、分類スコア行列から各事例に対応付けられた各属性の分類スコアに基づいて、事例間類似度を算出する。
実施形態に係る類似度計算システムの構成の一例を示す図である。 類似度計算装置の構成の一例を示す図である。 類似度計算装置に構成される類似度計算処理部の一例を示す図である。 入力データ41の一例を示す図である。 分類器生成部32の処理の一例を示すフローチャートである。 分類器生成部32の処理により生成される分類器42の一例を示す図である。 評価部33の処理の一例を示すフローチャートである。 評価部33の処理により生成される分類スコア行列43の一例を示す図である。 事例間類似度算出部34の処理の一例を示すフローチャートである。 事例間類似度算出部34の処理により生成される事例間類似度行列44の一例を示す図である。 属性間類似度算出部35の処理の一例を示すフローチャートである。 属性間類似度算出部35の処理により生成される属性間類似度行列45の一例を示す図である。
以下、図面を参照して実施形態について詳細に説明する。
図1は、実施形態に係る類似度計算システムの構成の一例を示す図であり、図2は、類似度計算装置の構成の一例を示す図であり、図3は、類似度計算装置に構成される類似度計算処理部の一例を示す図である。
図1に示すように、類似度計算システム1は、ユーザにより操作されるパーソナルコンピュータ等である類似度計算装置11と、ネットワークNWを介して類似度計算装置11に接続されるデータベースサーバ12とを有して構成されている。
図2に示すように、類似度計算装置11は、制御部21と、ROM22と、RAM23と、入力デバイス24と、出力デバイス25と、通信インターフェース(以下、通信IFという)26と、記憶媒体着脱部27と、バス28とを有して構成されている。制御部21、ROM22、RAM23、入力デバイス24、出力デバイス25、通信IF26、及び、記憶媒体着脱部27は、互いにバス28を介して接続されている。
ROM22には、データの類似度を計算するための類似度計算プログラムが記憶されている。制御部21は、ROM22に記憶された類似度計算プログラムを読み出し、RAM23上に展開して実行する。これにより、後述する図3に示す類似度計算処理部31が構成されることになる。
入力デバイス24は、ユーザの操作に応じた情報及び指示等を入力することができるように構成されている。具体的には、入力デバイス24は、例えば、キーボード、マウス及びタッチパネルのうちの少なくとも1つを具備して構成されている。
出力デバイス25は、制御部21の処理等に応じて生成された情報を外部へ出力することができるように構成されている。具体的には、出力デバイス25は、例えば、ディスプレイまたはプリンタを具備して構成されている。
通信IF26は、ネットワークNWを介してデータベースサーバ12との間でデータ等の送受信を行うことが可能なデバイスにより構成されている。類似度計算装置11の通信IF26には、データベースサーバ12からネットワークNWを介して入力データ41(図3参照)が入力されるように構成されている。
記憶媒体着脱部27は、メモリカードまたはUSBメモリ等の記憶媒体が着脱可能に構成されている。なお、入力データ41(図3参照)は、記憶媒体着脱部27に装着された記憶媒体から入力されるものであってもよい。
図3に示すように、類似度計算処理部31は、分類器生成部32と、評価部33と、事例間類似度算出部34と、属性間類似度算出部35とを有して構成されている。
分類器生成部32は、入力データ41から属性毎に尤度に基づく数値を返す分類器42を生成する。分類器生成部32は、生成した分類器42を評価部33に出力する。より具体的には、分類器生成部32は、複数の事例X1〜X10と、複数の事例のそれぞれに対応付けられた複数の属性Y1〜Y3及び正例と負例とを含むクラスとの組から構成される入力データ41から、クラスに含まれる正例の割合と、所定の属性に含まれる所定のカテゴリデータの正例の割合とに基づいて、カテゴリデータから分類スコアを出力する分類器Z1〜Z3を属性Y1〜Y3毎に生成する。
評価部33は、分類器42によって入力データ41に基づいて分類スコアを出力し、分類スコア行列43を生成する。すなわち、評価部33は、入力データ41を分類器42により処理して分類スコア行列43を生成する。評価部33は、生成した分類スコア行列43を事例間類似度算出部34及び属性間類似度算出部35に出力する。
事例間類似度算出部34は、分類スコア行列43から各事例X1〜X10に対応付けられた各属性Y1〜Y3の分類スコアに基づいて、事例間類似度行列44を生成する。
属性間類似度算出部35は、分類スコア行列43から各属性Y1〜Y3に対応付けられた各事例X1〜X10の分類スコアに基づいて、属性間類似度行列45を生成する。
次に、実施形態に係る処理の具体例について、図4から図12を用いて説明する。
図4は、入力データ41の一例を示す図であり、図5は、分類器生成部32の処理の一例を示すフローチャートであり、図6は、分類器生成部32の処理により生成される分類器42の一例を示す図である。
図4に示すように、入力データ41の1行目(先頭行)は、ラベルを表し、複数の属性Y1〜Y3と、1つのクラスとにより形成されている。本実施形態では、入力データ41は、属性Y1、属性Y2、及び、属性Y3の3個の属性Yを有している。
入力データ41の2行目以降は、複数の事例X1〜X10を表し、各事例X1〜X10は、それぞれの特徴を示す属性Y1〜Y3及びデータの種別を示すクラスの値の組から構成されている。本実施形態では、入力データ41は、事例X1〜X10の10個の事例Xを有している。また、属性における「−」はデータの欠損を表している。
本実施形態では、属性Yは全て数値データではない離散的なデータであるカテゴリデータとなっている。例えば、事例X1の属性Y1は、「A」であり、事例X1の属性Y2は、「C」であり、事例X1の属性Y3は、「F」である。属性Yに数値データが含まれている場合、分類器生成部32が離散化により数値データをカテゴリデータに変換する。なお、離散化については、例えば、等間隔分割又は等頻度分割等の既知の手法を用いればよい。
また、入力データ41のクラスは、正例(TRUE)と、負例(FALSE)の二値とする。クラスが多値の場合、分類器生成部32が例えば1つの値を正例、残りの値を負例と見なす等、二値のデータに変換する。クラスの正例及び負例は、属性Y1〜Y3のカテゴリデータに応じてユーザが予め設定する。
図4に示す入力データ41は、分類器生成部32及び評価部33に入力される。上述したように、入力データ41は、データベースサーバ12からネットワークNWを介して、あるいは、記憶媒体着脱部27に装着された記憶媒体から分類器生成部32及び評価部33に入力される。分類器生成部32は、入力データ41を教師データとして分類器Z1〜Z3を生成する。
分類器生成部32は、ステップS1において、変数iに1を代入し、総属性数N、及び、全事例X中の正例の割合Ptを求める。本実施形態では、入力データ41は属性Y1、Y2及びY3を有しているため、総属性数Nは、「3」となる。また、入力データ41は事例X1〜X10の10個の事例Xを有し、事例X1〜X4の4個の事例Xが正例となっているため、全事例X中の正例の割合Ptは、「4/10」となる。
次に、分類器生成部32は、ステップS2において、変数jに1を代入し、属性Yiの総カテゴリ数Mを求める。属性Y1のカテゴリデータは、「A」及び「B」の2つになるため、総カテゴリ数Mは、「2」となる。
次に、分類器生成部32は、ステップS3において、属性Yi(i=1)、カテゴリj(j=1)の正例の割合P(i,j)を求める。ここで、カテゴリj(j=1)をカテゴリデータ「A」とすると、属性Y1のカテゴリデータ「A」の個数は7であり、そのうち、正例の個数は2である。そのため、属性Yi、カテゴリjの正例の(i,j)は、「2/7」となる。
次に、分類器生成部32は、ステップS4において、以下の性質を備えた分類器Ziを生成する。
・Pt<P(i,j)の場合、正の数値を返す
・Pt>P(i,j)の場合、負の数値を返す
・Pt=P(i,j)、又は、欠損の場合、0を返す
すなわち、あるカテゴリjの正例の割合P(i,j)が全事例X中の正例の割合Ptより大きい場合には、「属性Yiがカテゴリjの値を持つ場合、正例である尤度(もっともらしさ)が高くなる」と解釈し、正の数値を返す。
一方、あるカテゴリjの正例の割合P(i,j)が全事例X中の正例の割合Ptより小さい場合には、「属性Yiがカテゴリjの値を持つ場合、正例である尤度(もっともらしさ)が低くなる」と解釈し、負の数値を返す。
さらに、あるカテゴリjの正例の割合P(i,j)が全事例X中の正例の割合Ptと等しい場合、又は、属性Yiが欠損の場合には、「正例である尤度(もっともらしさ)は変化しない」と解釈し、0を返す。
このような性質を備えた分類器としては、例えば、下記の(式1)の分類器を用いる。
log10P(i,j)−log10Pt・・・(式1)
ここでは、属性Yi、カテゴリjの正例の割合P(i,j)は、「2/7」であり、全事例X中の正例の割合Ptは、「4/10」であるため、あるカテゴリjの正例の割合P(i,j)が全事例X中の正例の割合Ptより小さくなる。そのため、分類器Zi(i=1)は負の数値を返す。なお、以下の説明では、分類器Ziが返す数値、すなわち、返値のことを「分類スコア」と呼ぶ。属性Yi、カテゴリjの正例の割合P(i,j)、及び、全事例X中の正例の割合Ptを(式1)に代入することで、分類スコアが「−0.146」となる。
次に、分類器生成部32は、ステップS5において、変数jを1インクリメントし、ステップS6において、変数jが属性Yiの総カテゴリ数Mより大きいか否かを判定する。
ここでは、変数jが2、属性Yi(i=1)の総カテゴリ数Mが2であるため、分類器生成部32は、変数jが属性Yiの総カテゴリ数Mより大きくないと判定し、ステップS3に戻り、同様の処理を繰り返す。
分類器生成部32は、ステップS3において、属性Yi(i=1)、カテゴリj(j=2)の正例の割合P(i,j)を求める。ここで、カテゴリj(j=2)をカテゴリデータ「B」とすると、属性Y1のカテゴリデータ「B」の個数は3であり、そのうち、正例の個数は2である。そのため、属性Yi、カテゴリjの正例の割合P(i,j)は、「2/3」となる。
属性Yi、カテゴリjの正例の割合P(i,j)は、「2/3」であり、全事例X中の正例の割合Ptは、「4/10」であるため、あるカテゴリjの正例の割合P(i,j)が全事例X中の正例の割合Ptより大きくなる。
分類器生成部32は、ステップS4において、正の数値を返す分類器Ziを生成する。属性Yi、カテゴリjの正例の割合P(i,j)、及び、全事例X中の正例の割合Ptを(式1)に代入することで、分類スコアが「0.222」となる。
このような処理により、図6に示すように、属性Y1に対応する分類器Z1が生成されることになる。この分類器Z1は、属性Y1のカテゴリデータに応じた数値(分類スコア)を戻すように構成されている。
次に、分類器生成部32は、ステップS5において、変数jを1インクリメントし、ステップS6において、変数jが属性Yiの総カテゴリ数Mより大きいか否かを判定する。
ここでは、変数jが3、属性Yi(i=1)の総カテゴリ数Mが2であるため、分類器生成部32は、変数jが属性Yiの総カテゴリ数Mより大きいと判定し、ステップS7に移行する。
分類器生成部32は、ステップS7において、変数iを1インクリメントし、ステップS8において、変数iが総属性数Nより大きいか否かを判定する。
ここでは、変数iが2、総属性数Nが3であるため、分類器生成部32は、変数iが総属性数Nより大きくないと判定し、ステップS2に戻り、同様の処理を繰り返す。
属性Yi(i=2)のカテゴリデータは、「C」、「D」、「E」、及び、「欠損」の4つになるため、総カテゴリ数Mは、「4」となる。分類器生成部32は、属性Y2について、上述した処理と同様の処理を繰り返すことで、図6に示す分類器Z2を生成する。この分類器Z2は、属性Y2のカテゴリデータに応じた数値(分類スコア)を戻すように構成されている。
そして、分類器生成部32は、ステップS7において、変数iを1インクリメントし、ステップS8において、変数iが総属性数Nより大きいか否かを判定する。
ここでは、変数iが3、総属性数Nが3であるため、分類器生成部32は、変数iが総属性数Nより大きくないと判定し、ステップS2に戻り、同様の処理を繰り返す。
属性Yi(i=3)のカテゴリデータは、「F」、「G」、及び、「欠損」の3つになるため、総カテゴリ数Mは、「3」となる。分類器生成部32は、属性Y3について、上述した処理と同様の処理を繰り返すことで、図6に示す分類器Z3を生成する。この分類器Z3は、属性Y3のカテゴリデータに応じた数値(分類スコア)を戻すように構成されている。
次に、分類器生成部32は、ステップS7において、変数iを1インクリメントすると、変数iが4となる。この結果、変数iが4、総属性数Nが3であるため、分類器生成部32は、変数iが総属性数Nより大きいと判定し、処理を終了する。
このように、図5の処理により、入力データ41の総属性数がNの場合、N個の分類器が生成されることになる。本実施形態では、入力データ41が3つの属性Y1〜Y3を有しているため、3つの分類器Z1〜Z3を有した分類器42が分類器生成部32によって生成される。
次に、評価部33の処理について説明する。図7は、評価部33の処理の一例を示すフローチャートであり、図8は、評価部33の処理により生成される分類スコア行列43の一例を示す図である。
評価部33は、図4に示す入力データ41及び図6に示す分類器42を用いて、図8に示す分類スコア行列43を生成する。なお、評価部33に入力データには、図4に示すクラスは無くてもよい。また、評価部33に入力される入力データは、図4に示す入力データ41であってもよいし、他の入力データであってもよい。
評価部33は、ステップS11において、変数iに1を代入し、総属性数N及び総事例数Dを求める。本実施形態では、総属性数Nは3であり、総事例数Dは10となる。
評価部33は、ステップS12において、変数kに1を代入し、ステップS13において、事例Xk、属性Yiの値a(k,i)を求める。ここでは、変数k=1、変数i=1であるため、評価部33は、入力データ41の事例X1、属性Y1の値(カテゴリデータ)として「A」を求める。
評価部33は、ステップS14において、属性Yiに対応する分類器Ziを用いて、値a(k,i)から分類スコアs(k,i)を求める。ここでは、属性Y1に対応する分類器Z1を用いて、事例X1、属性Y1の値である「A」から分類スコアs(k,i)として「−0.146」を求める。
評価部33は、ステップS15において、分類スコア行列43の(k,i)成分に、分類スコアs(k,i)を代入する。これにより、図8に示す分類スコア行列43の事例X1、属性Y1の成分にステップS14において求められた分類スコアである「−0.146」が代入されることになる。
評価部33は、ステップS16において、変数kを1インクリメントし、ステップS17において、変数kが総事例数Dより大きいか否かを判定する。
ここでは、変数kが2、総事例数Dが10であるため、評価部33は、変数kが総事例数Dより大きくないと判定し、ステップS13に戻り、同様の処理を繰り返す。この結果、事例X2、属性Y1の分類スコアs(k,i)、事例X3、属性Y1の分類スコアs(k,i)、・・・、事例X10、属性Y1の分類スコアs(k,i)が求められ、分類スコア行列43に代入されることになる。
一方、評価部33は、ステップS17において、変数kが総事例数Dより大きいと判定した場合、ステップS18に移行する。評価部33は、ステップS18において、変数iを1インクリメントし、ステップS19において、変数iが総属性数Nより大きいか否かを判定する。ここでは、変数iが2、総属性数Nが3であるため、評価部33は、変数iが総属性数Nより大きくないと判定し、ステップS12に戻り、同様の処理を繰り返す。この結果、事例X1、属性Y2の分類スコアs(k,i)、事例X2、属性Y2の分類スコアs(k,i)、・・・、事例X10、属性Y2の分類スコアs(k,i)が求められ、分類スコア行列43に代入されることになる。
同様の処理により、変数iが1インクリメントされて3になると、事例X1、属性Y3の分類スコアs(k,i)、事例X2、属性Y3の分類スコアs(k,i)、・・・、事例X10、属性Y3の分類スコアs(k,i)が求められ、分類スコア行列43に代入されることになる。一方、変数iが1インクリメントされて4になると、評価部33は、変数iが総属性数Nより大きいと判定し、処理を終了する。
以上の処理により、図8に示す分類スコア行列43が評価部33によって生成される。すなわち、属性Y1〜Y3毎に対応する分類器Z1〜Z3を用いて入力データ41を処理することで、カテゴリデータに応じた数値(分類スコア)が代入された分類スコア行列43が生成されることになる。
次に、事例間類似度算出部34の処理について説明する。図9は、事例間類似度算出部34の処理の一例を示すフローチャートであり、図10は、事例間類似度算出部34の処理により生成される事例間類似度行列44の一例を示す図である。
事例間類似度算出部34は、図8に示す分類スコア行列43を用いて、図10に示す事例間類似度行列44を生成する。
事例間類似度算出部34は、ステップS21において、変数iに1を代入し、総属性数N、総事例数Dを求める。ここでは、総属性数Nが3、総事例数Dが10となる。
事例間類似度算出部34は、ステップS22において、D次正方行列の事例間類似度行列44を生成し、全成分を0で初期化する。ここでは、総事例数Dが10であるため、図10に示すように、10行、10列の事例間類似度行列44が生成される。
事例間類似度算出部34は、ステップS23において、事例Xi、属性Ykの値をa(i,k)として、事例Xiに対応する行ベクトルVc(i)を生成する。なお、変数kは、1、2、・・・、N(総属性数)である。ここでは、事例X1に対応する行ベクトルVc(i)が生成される。具体的には、事例間類似度算出部34は、分類スコア行列43に基づいて、事例X1に対応する行ベクトルVc(i)=(−0.146, 0.176, 0.051)を生成する。
事例間類似度算出部34は、ステップS24において、変数jにi+1を代入する。ここでは、変数iが1であるため、変数jは2になる。
事例間類似度算出部34は、ステップS25において、事例Xj、属性Ykの値をa(j,k)として、事例Xjに対応する行ベクトルVc(j)を生成する。ここでは、事例X2に対応する行ベクトルVc(j)が生成される。具体的には、事例間類似度算出部34は、分類スコア行列43に基づいて、事例X2に対応する行ベクトルVc(j)=(−0.146, −0.250, −0.046)を生成する。
事例間類似度算出部34は、ステップS26において、行ベクトルVc(i)と行ベクトルVc(j)の類似度が高い程、値が小さくなるような距離Dc(i,j)を求め、事例間類似度行列44の(i,j)成分、及び、(j,i)成分にDc(i,j)を代入する。ここでは、事例X1と事例X2との距離Dc(1,2)が、事例間類似度行列44の(1,2)成分、及び、(2,1)成分に代入されることになる。
このような距離Dc(i,j)としては、例えば、コサイン類似度に基づく下記の(式2)を用いる。
Dc(i,j)=1−(Vc(i)・Vc(j))/(|Vc(i)||Vc(j)|)・・・(式2)
事例間類似度算出部34は、ステップS27において、変数jを1インクリメントし、ステップS28において、変数jが総事例数Dより大きいか否かを判定する。ここでは、変数jが3、総事例数Dが10であるため、事例間類似度算出部34は、変数jが総事例数Dより大きくないと判定し、ステップS25に戻り、同様の処理を繰り返す。
すなわち、事例間類似度算出部34は、事例X1と事例X3との距離Dc(1,3)を求め、事例間類似度行列44の(1,3)成分、及び、(3,1)成分に代入する。事例間類似度算出部34は、同様の処理を繰り返すことで、事例X1と事例X10との距離Dc(1,10)を求め、事例間類似度行列44の(1,10)成分、及び、(10,1)成分に代入する。
一方、事例間類似度算出部34は、変数jが総事例数Dより大きいと判定すると、ステップS29において、変数iを1インクリメントし、ステップS30において、変数iが総事例数Dよりも大きいか否かを判定する。ここでは、変数iが2であり、総事例数Dが10であるため、事例間類似度算出部34は、変数iが総事例数Dよりも大きくないと判定し、ステップS23に戻り、同様の処理を繰り返す。
すなわち、事例間類似度算出部34は、事例X2から事例X10についても、同様の処理を行うことで、事例間類似度行列44を生成する。そして、事例間類似度算出部34は、変数iが総事例数Dよりも大きいと判定すると、処理を終了する。
以上の処理により、図10に示す事例間類似度行列44が事例間類似度算出部34によって生成される。事例間類似度行列44は、各事例間の数値が小さい程、各事例間の距離が近い(各事例間が類似している)ことを示している。
次に、属性間類似度算出部35の処理について説明する。図11は、属性間類似度算出部35の処理の一例を示すフローチャートであり、図12は、属性間類似度算出部35の処理により生成される属性間類似度行列45の一例を示す図である。
属性間類似度算出部35は、図8に示す分類スコア行列43を用いて、図12に示す属性間類似度行列45を生成する。図9の処理では、分類スコア行列43の行ベクトルを用いて各事例間の距離を求めていたが、図11の処理では、分類スコア行列43の列ベクトルを用いて各属性間の距離を求めている。
属性間類似度算出部35は、ステップS41において、変数iに1を代入し、総属性数N、総事例数Dを求める。ここでは、総属性数Nが3、総事例数Dが10となる。
属性間類似度算出部35は、ステップS42において、N次正方行列の属性間類似度行列45を生成し、全成分を0で初期化する。ここでは、総属性数Nが3であるため、図12に示すように、3行、3列の属性間類似度行列45が生成される。
属性間類似度算出部35は、ステップS43において、事例Xk、属性Yiの値をa(k,i)として、属性Yiに対応する列ベクトルVa(i)を生成する。なお、変数kは、1、2、・・・、D(総事例数)である。ここでは、属性Y1に対応する列ベクトルVa(i)が生成される。具体的には、属性間類似度算出部35は、分類スコア行列43に基づいて、属性Y1に対応する列ベクトルVa(i)=(−0.146, −0.146, 0.222, 0.222, −0.146, −0.146, −0.146, −0.146, −0.146, 0.222)を生成する。
属性間類似度算出部35は、ステップS44において、変数jにi+1を代入する。ここでは、変数iが1であるため、変数jは2になる。
属性間類似度算出部35は、ステップS45において、事例Xk、属性Yjの値をa(k,j)として、属性Yjに対応する列ベクトルVa(j)を生成する。ここでは、属性Y2に対応する列ベクトルVa(j)が生成される。具体的には、属性間類似度算出部35は、分類スコア行列43に基づいて、属性Y2に対応する列ベクトルVa(j)=(0.176, −0.250, 0.051, 0.176, −0.250, 0.051, 0.000, 0.176, −0.250, −0.250)を生成する。
属性間類似度算出部35は、ステップS46において、列ベクトルVa(i)と列ベクトルVa(j)の類似度が高い程、値が小さくなるような距離Da(i,j)を求め、属性間類似度行列45の(i,j)成分、及び、(j,i)成分にDa(i,j)を代入する。ここでは、属性Y1と属性Y2との距離Da(1,2)が、属性間類似度行列45の(1,2)成分、及び、(2,1)成分に代入されることになる。
このような距離Da(i,j)としては、例えば、コサイン類似度に基づく下記の(式2)を用いる。
Da(i,j)=1−(Va(i)・Va(j))/(|Va(i)||Vc(j)|)・・・(式3)
属性間類似度算出部35は、ステップS47において、変数jを1インクリメントし、ステップS48において、変数jが総属性数Nより大きいか否かを判定する。ここでは、変数jが3、総属性数Nが3であるため、属性間類似度算出部35は、変数jが総属性数Nより大きくないと判定し、ステップS45に戻り、同様の処理を繰り返す。
すなわち、属性間類似度算出部35は、属性Y1と属性Y3との距離Da(1,3)を求め、属性間類似度行列45の(1,3)成分、及び、(3,1)成分に代入する。
一方、属性間類似度算出部35は、変数jが総属性数Nより大きいと判定すると、ステップS49において、変数iを1インクリメントし、ステップS50において、変数iが総属性数Nよりも大きいか否かを判定する。ここでは、変数iが2であり、総属性数Nが3であるため、属性間類似度算出部35は、変数iが総属性数Nよりも大きくないと判定し、ステップS43に戻り、同様の処理を繰り返す。
すなわち、属性間類似度算出部35は、属性Y2及び属性Y3についても、同様の処理を行うことで、属性間類似度行列45を生成する。そして、属性間類似度算出部35は、変数iが総属性数Nよりも大きいと判定すると、処理を終了する。
以上の処理により、図12に示す属性間類似度行列45が属性間類似度算出部35によって生成される。属性間類似度行列45は、各属性間の数値が小さい程、各属性間の距離が近い(各属性間が類似している)ことを示している。
以上のように、類似度計算装置11は、複数の事例、及び、複数の事例のそれぞれが複数の属性の値を持つ入力データ41から属性毎に尤度に基づく数値を返す分類器Z1〜Z3を生成しと、入力データ41に生成した分類器Z1〜Z3を適用し、分類器Z1〜Z3から返された数値を代入した分類スコア行列43を生成するようにした。そして、類似度計算装置11は、分類スコア行列43から事例間類似度行列44及び属性間類似度行列45を算出する。この結果、類似度計算装置11は、複数の事例、及び、複数の事例のそれぞれが複数の属性の値を持つデータから、事例間類似度及び属性間類似度を統一的な基準で、かつ効率的に計算することができる。
なお、以上説明した動作を実行するプログラムは、コンピュータプログラム製品として、フレキシブルディスク、CD−ROM等の可搬媒体や、ハードディスク等の記憶媒体に、その全体あるいは一部が記録され、あるいは記憶されている。そのプログラムコードがコンピュータにより読み取られて、動作の全部あるいは一部が実行される。あるいは、そのプログラムの全体あるいは一部を通信ネットワークを介して流通または提供することができる。利用者は、通信ネットワークを介してそのプログラムをダウンロードしてコンピュータにインストールしたり、あるいは記録媒体からコンピュータにインストールすることで、容易に本発明を実現することができる。
また、明細書におけるフローチャート中の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
発明のいくつかの実施の形態を説明したが、これらの実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…類似度計算システム、11…類似度計算装置、12…データベースサーバ、21…制御部、22…ROM、23…RAM、24…入力デバイス、25…出力デバイス、26…通信IF、27…記憶媒体着脱部、28…バス、31…類似度計算処理部、32…分類器生成部、33…評価部、34…事例間類似度算出部、35…属性間類似度算出部、41…入力データ、42…分類器、43…分類スコア行列、44…事例間類似度行列、45…属性間類似度行列。

Claims (8)

  1. 複数の事例と、前記複数の事例のそれぞれに対応付けられた複数の属性及び正例と負例とを含むクラスとの組から構成される入力データから、前記クラスに含まれる前記正例の割合と、所定の属性に含まれる所定のカテゴリデータの前記正例の割合とに基づいて、前記カテゴリデータから分類スコアを出力する分類器を前記属性毎に生成する分類器生成部と、
    前記分類器によって前記入力データに基づいて前記分類スコアを出力し、分類スコア行列を生成する評価部と、
    前記分類スコア行列から各事例に対応付けられた各属性の前記分類スコアに基づいて、事例間類似度を算出する事例間類似度算出部と
    を有することを特徴とする類似度計算装置。
  2. 複数の事例と、前記複数の事例のそれぞれに対応付けられた複数の属性及び正例と負例とを含むクラスとの組から構成される入力データから、前記クラスに含まれる前記正例の割合と、所定の属性に含まれる所定のカテゴリデータの前記正例の割合とに基づいて、前記カテゴリデータから分類スコアを出力する分類器を前記属性毎に生成する分類器生成部と、
    前記分類器によって前記入力データに基づいて前記分類スコアを出力し、分類スコア行列を生成する評価部と、
    前記分類スコア行列から各属性に対応付けられた各事例の前記分類スコアに基づいて、属性間類似度を算出する属性間類似度算出部と
    を有することを特徴とする類似度計算装置。
  3. 分類器生成部が生成する分類器は、前記クラスに含まれる前記正例の割合が、前記所定の属性に含まれる前記所定のカテゴリデータの前記正例の割合より小さい場合、正の数値を出力し、前記クラスに含まれる前記正例の割合が、前記所定の属性に含まれる前記所定のカテゴリデータの前記正例の割合より大きい場合、負の数値を出力し、前記クラスに含まれる前記正例の割合が、前記所定の属性に含まれる前記所定のカテゴリデータの前記正例の割合と等しい場合、0を出力することを特徴とする請求項1又は2に記載の類似度計算装置。
  4. 前記分類器生成部が生成する前記分類器は、以下の式を満たすことを特徴とする請求項に記載の類似度計算装置。
    log10P(i,j)−log10Pt
    式中のPtは全事例中の正例の割合であり、P(i,j)は所定の属性iに含まれる所定のカテゴリデータjの正例の割合である。
  5. 前記事例間類似度算出部は、前記分類スコア行列から各事例に対応する行ベクトルを生成し、各事例に対応する行ベクトルの類似度が高い程、値が小さくなる距離を求めることで、前記事例間類似度を算出することを特徴とする請求項に記載の類似度計算装置。
  6. 前記属性間類似度算出部は、前記分類スコア行列から各属性に対応する列ベクトルを生成し、各属性に対応する列ベクトルの類似度が高い程、値が小さくなる距離を求めることで、前記属性間類似度を算出する請求項に記載の類似度計算装置。
  7. 複数の事例と、前記複数の事例のそれぞれに対応付けられた複数の属性及び正例と負例とを含むクラスとの組から構成される入力データから、前記クラスに含まれる前記正例の割合と、所定の属性に含まれる所定のカテゴリデータの前記正例の割合とに基づいて、前記カテゴリデータから分類スコアを出力する分類器を前記属性毎に生成するステップと、
    前記分類器によって前記入力データに基づいて前記分類スコアを出力し、分類スコア行列を生成するステップと、
    前記分類スコア行列から各事例に対応付けられた各属性の前記分類スコアに基づいて、事例間類似度を算出するステップと
    を有することを特徴とする類似度計算方法。
  8. 複数の事例と、前記複数の事例のそれぞれに対応付けられた複数の属性及び正例と負例とを含むクラスとの組から構成される入力データから、前記クラスに含まれる前記正例の割合と、所定の属性に含まれる所定のカテゴリデータの前記正例の割合とに基づいて、前記カテゴリデータから分類スコアを出力する分類器を前記属性毎に生成するステップと、
    前記分類器によって前記入力データに基づいて前記分類スコアを出力し、分類スコア行列を生成するステップと、
    前記分類スコア行列から各属性に対応付けられた各事例の前記分類スコアに基づいて、属性間類似度を算出するステップと
    を有することを特徴とする類似度計算方法。
JP2017125252A 2017-06-27 2017-06-27 類似度計算装置及び類似度計算方法 Expired - Fee Related JP6538762B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017125252A JP6538762B2 (ja) 2017-06-27 2017-06-27 類似度計算装置及び類似度計算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017125252A JP6538762B2 (ja) 2017-06-27 2017-06-27 類似度計算装置及び類似度計算方法

Publications (2)

Publication Number Publication Date
JP2019008640A JP2019008640A (ja) 2019-01-17
JP6538762B2 true JP6538762B2 (ja) 2019-07-03

Family

ID=65028931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017125252A Expired - Fee Related JP6538762B2 (ja) 2017-06-27 2017-06-27 類似度計算装置及び類似度計算方法

Country Status (1)

Country Link
JP (1) JP6538762B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149697A (ja) * 2000-11-07 2002-05-24 Mitsubishi Electric Corp 類似事例検索装置
JP4919386B2 (ja) * 2006-01-25 2012-04-18 独立行政法人情報通信研究機構 情報抽出・表示装置
US9015633B2 (en) * 2007-10-22 2015-04-21 Sony Corporation Data management apparatus and method for organizing data elements into multiple categories for display
JP2009104338A (ja) * 2007-10-22 2009-05-14 Sony Computer Entertainment Inc データ管理装置及び方法
JP5391637B2 (ja) * 2008-10-10 2014-01-15 日本電気株式会社 データ類似度計算システム、データ類似度計算方法およびデータ類似度計算プログラム

Also Published As

Publication number Publication date
JP2019008640A (ja) 2019-01-17

Similar Documents

Publication Publication Date Title
US9002101B2 (en) Recognition device, recognition method, and computer program product
JP6231944B2 (ja) 学習モデル作成装置、判定システムおよび学習モデル作成方法
US10678765B2 (en) Similarity calculation system, method of calculating similarity, and program
JP6962532B1 (ja) 事象予測装置および事象予測用プログラム
WO2014199920A1 (ja) 予測関数作成装置、予測関数作成方法、及びコンピュータ読み取り可能な記録媒体
JP6365032B2 (ja) データ分類方法、データ分類プログラム、及び、データ分類装置
JP5638503B2 (ja) テキスト要約装置、方法及びプログラム
CN112651418B (zh) 数据分类方法、分类器训练方法及系统
US20190205361A1 (en) Table-meaning estimating system, method, and program
WO2018088277A1 (ja) 予測モデル生成システム、方法およびプログラム
JP6538762B2 (ja) 類似度計算装置及び類似度計算方法
JP5623369B2 (ja) テキスト要約装置、方法及びプログラム
JP6648549B2 (ja) 変異情報処理装置、方法及びプログラム
WO2021220775A1 (ja) 材料の特性値を推定するシステム
WO2022013954A1 (ja) 機械学習プログラム、機械学習方法および情報処理装置
WO2022044115A1 (ja) 情報処理装置、情報処理方法、および、プログラム
JP5815468B2 (ja) スパム分類モデル生成装置及び方法及びプログラム
JP5824429B2 (ja) スパムアカウントスコア算出装置、スパムアカウントスコア算出方法、及びプログラム
CN107622129B (zh) 一种知识库的组织方法及装置、计算机存储介质
KR20170085396A (ko) 스캔도서 식별을 위한 특징벡터 클러스터링 및 데이터베이스 생성 방법
JP6717067B2 (ja) 対処履歴分析プログラム、方法、及び装置
JP2016181040A (ja) データ解析装置、方法、及びプログラム
JP7395396B2 (ja) 情報処理装置、情報処理方法およびプログラム
WO2018088276A1 (ja) 予測モデル生成システム、方法およびプログラム
JP7468681B2 (ja) 学習方法、学習装置、及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190410

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190606

R151 Written notification of patent or utility model registration

Ref document number: 6538762

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees