JP5647166B2 - 類似ノード検索装置及び方法及びプログラム - Google Patents

類似ノード検索装置及び方法及びプログラム Download PDF

Info

Publication number
JP5647166B2
JP5647166B2 JP2012061164A JP2012061164A JP5647166B2 JP 5647166 B2 JP5647166 B2 JP 5647166B2 JP 2012061164 A JP2012061164 A JP 2012061164A JP 2012061164 A JP2012061164 A JP 2012061164A JP 5647166 B2 JP5647166 B2 JP 5647166B2
Authority
JP
Japan
Prior art keywords
matrix
node
value
nodes
calculating
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
JP2012061164A
Other languages
English (en)
Other versions
JP2013196201A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012061164A priority Critical patent/JP5647166B2/ja
Publication of JP2013196201A publication Critical patent/JP2013196201A/ja
Application granted granted Critical
Publication of JP5647166B2 publication Critical patent/JP5647166B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、類似ノード検索装置及び方法及びプログラムに係り、特に、SimRankに基づき類似度を計算し、検索を行う類似ノード検索装置及び方法及びプログラムに関する。
グラフはデータをノードとエッジで表現するデータ構造であり、様々な分野で用いられている。グラフ理論において2つのノード間の類似度は重要な性質の一つであり、ノードの類似度として今まで様々な手法が提案されてきた。
その中でもSimRankはノードの類似度として最も注目を集めているものの一つである(例えば、非特許文献1参照)。SimRankは今までグラフ理論でよく用いられてきたノード間の最短距離などと異なり、グラフの構造的な特徴に基づいて類似度が計算できるからである。
SimRankは、「複数のノードからあるノードペアそれぞれに対してエッジがあれば、そのノードペアの類似度は高い」という考えに基づいたノードの類似度である。SimRankにおける類似度は、ノードペアから出発した2つのランダムウォークがあるノードで出会う確率を再帰的に繰り返し計算することで得ることができる。この計算により全てのノードペアの類似度が得られるが、この処理が計算量が高いという問題がある。また、実際のアプリケーションにおいては全てのノードペアの類似度が必要なのではなく、問い合わせノードから類似度の高いノードを探す処理が行われている(例えば、非特許文献2,3,4参照)。
Glen Jeh and Jennifer Widom, SimRank: a measure of structural-context similarity, KDD, 2002. Alexandros Ntoulas and Marc Najork and Mark Manasse and Dennis Fetterly, Detecting spam web pages through content analysis, WWW, 2006. Kaikou Xu and Yu Chen and Yexi Jiang and Rong Tang and Yintian Liu and Jie Gong, A Comparative Study of Correlation Measurements for Searching Similar Tags, ADMA, 2008.
しかしながら、上記のSimRankの計算は、再帰的に計算を繰り返す必要があり、計算量が多くなるという問題がある。
本発明は、上記の点に鑑みなされたもので、繰り返し計算を行うことなく、高速に計算可能な類似ノード検索装置及び方法及びプログラムを提供することを目的とする。
上記の課題を解決するため、本発明は、問い合わせノードに対するSimRankの近似値を計算し、該近似値が高い順にK個のノードを検索する類似ノード検索装置であって、
グラフデータとグラフのノード数Nと特異値の数nを外部入力とし、記憶手段に格納し、該グラフのノード数Nと該特異値の数nを読み出して、N×nの行列とn×Nの行列とそれらの統計量を算出し、出力する事前計算手段と、
問い合わせノードと検索個数を外部入力とし、記憶手段に格納し、前記N×nの行列と前記n×Nの行列と前記統計量を前記事前計算手段から取得し、K個の類似ノードを出力する検索手段と、
を有し、
前記事前計算手段は、
入力された前記グラフデータのグラフの固有値分解を行う固有値分解手段と、
前記固有値分解の結果を入力とし、特異値分解を計算する特異値分解手段と、
前記固有値分解の結果と前記特異値分解の結果と前記特異値の数nを入力として、前記N×nの行列と前記n×Nの行列と該行列の統計量を求める行列計算手段と、
を含み、
前記検索手段は、
前記行列の統計量を入力とし、該統計量に基づいて近似値の上限値を計算する上限値計算手段と、
前記N×nの行列と前記n×Nの行列を入力とし、前記上限値に基づいてノードを枝刈りし、枝刈りされなかったノードに対してのみ類似度の近似計算を行う近似値計算手段と、
を含む。
また、本発明は、前記近似値計算手段において、
前記N×nの行列と前記n×Nの行列のノードの推定値を求め、該推定値が前記上限値より小さければ枝刈りし、大きければ該ノードの類似度を求め、解候補ノードとして解候補記憶手段に格納し、該ノード推定値を上限値として更新する手段を含む。
上述のように本発明では、特定のノードの類似度を、行列を用いて繰り返し計算を行うことなく求め、行列の統計量を用いて不必要な類似度計算の枝刈りを行うことで、従来手法よりも大幅に高速に類似ノードを検索でき、同時にメモリ資源も節約することが可能である。さらに、近似的に解ノードを高い精度で求めることができる。
本発明の一実施の形態における類似ノード検索装置の構成図である。 本発明の一実施の形態における事前計算部のアルゴリズムである。 本発明の一実施の形態における事前計算部のフローチャートである。 本発明の一実施の形態における検索部のアルゴリズムである。 本発明の一実施の形態における検索部のフローチャートである。
以下、図面と共に本発明の実施の形態を説明する。
図1は、本発明の一実施の形態における類似ノード検索装置の構成を示す。
類似ノード検索装置100は、問い合わせノードに対するSimRankの近似値を計算し、近似値が高い順にK個の類似ノードを検索するものである。
同図に示す類似ノード検索装置100は、事前計算部110と検索部120から構成される。
事前計算部110は、固有値分解部111、特異値分解部112、行列計算部113から構成され、グラフデータとグラフのノード数Nと特異値の数nを外部入力とし、N×nの行列とn×Nの行列とそれらの統計量を検索部120に出力する。
事前計算部110の固有値分解部111は、外部からのグラフデータを入力とし、グラフの固有値分解を行い、特異値分解部112に出力する。
特異値分解部112は、固有値分解部111の固有値分解の結果と特異値の数nを入力とし、特異値分解を計算し、行列計算部113に出力する。
行列計算部113は、固有値分解の結果と特異値分解の結果と特異値の数nを入力とし、N×nの行列とn×Nの行列とそれらの統計量を出力する。
検索部120は、上限値計算部121と近似値計算部122を有し、問い合わせノードと検索個数(K個)を外部入力とし、N×nの行列とn×Nの行列とそれらの統計量を事前計算部110からの入力とし、K個の類似ノードを出力する。
上限値計算部121は、事前計算部110で求められた行列の統計量を入力とし、類似度の近似値の上限値を計算し、近似値計算部122に出力する。
近似値計算部122は、N×nの行列とN×nの行列を入力とし、類似度の近似計算を行う。
なお、上記の事前計算部110、検索部120は図示しないが、入力データ、途中の計算結果を格納するためのメモリを有する。
まず、本明細書で用いる記号を定義し、必要となる背景知識を説明する。
q:問い合わせノード
K:解ノードの個数
N:グラフにおけるノードの個数
T:繰り返し計算の計算回数
n:特異値分解における特異値の数
d:ノードの次数の平均値
c:decay factor
s(u,v):ノードuとvの類似度
S:類似度行列
W:グラフの隣接行列
D:固有値行列
P:固有ベクトル行列
Figure 0005647166
SimRankはグラフのノードの類似度を計算する一つの方法である。SimRankにおいてノードuとノードvの類似度s(u,v)は、ノードuとノードvから始まる2つのランダムウォークが同じノードにたどり着くまでのホップ数の期待値として計算される。具体的に、SimRankの類似度は以下の式を再帰的に収束するまで繰り返し計算する。
Figure 0005647166
ここで、cはdecay factorと呼ばれる0から1の定数であり、A(u)はノードuに向かってエッジを張っているノードの集合であり、|A(u)|は集合A(u)におけるノードの数であり、集合におけるノードはAi(u)として表現される。また、s(u,v)はu≠vであれば0に初期化され、そうでなければ1に初期化される。式(1)において0で割ることを防ぐために、もしA(u)またはA(v)が空集合である場合は、s(u,v)は0と定義される。
グラフにおけるノード数をN、ノードの次数をd、収束するまでの繰り返し計算回数をTとしたときに、SimRankの計算には、O(N2d2T)の計算コストを要する。そのためグラフが密になる最悪の場合、SimRankの計算にはO(N4T)の計算コストが必要になる。また、上記のSimRankの計算式は一つのノードペアに対して定義される。すなわち、ノード数がNであるグラフにはN2個の式が定義されるため、SimRankの計算にはO(N2)のメモリ量を要する。そのため、グラフの規模が大きい場合、SimRankの計算には莫大な計算コストとメモリコストが必要になるという問題がある。
本発明は、以下の2つの手法で構成される。
[手法1]行列による類似度の計算:
当該手法1は、事前計算部110で用いられる手法である。
SimRankにおいては、全てのノードペアの類似度を繰り返し計算によって求めるが、莫大な計算コストとメモリコストが必要になるという問題がある。本発明では、全てのノードペアの類似度を求めずに、上位K個のノードを求めるのに必要なノードペアに対してのみ類似度を計算する。
後述するように、SimRankの類似度は定義式を変換したシルベスタ方程式(文献1『Peter Benner, Factorized Solution of Sylvester Equations with Applications in Control, NTNS, 2004』)から計算することができる。シルベスタ方程式は、Bartels-Stewart法(文献2『Richard H. Bartels and G. W. Stewart, Solution of the Matrix Equation AX+XB=C[F4] (Algorithm 432), Commun. ACM, 1972.』)を用いれば解けるが、Bartels-Stewart法による手法は必要なノードペアに対してのみ類似度を計算することができないという問題がある。そのため、本発明では、事前計算部110の固有値分解部111において、固有値分解を用いて必要なノードペアの類似度を計算する。この手法によりノードの類似度をO(N3)で計算できるようになるが、更に本発明では、特異値分解を用いて類似度を近似的にO(Nn)で高速に計算する。
詳細については後述する。
[手法2]統計量による推定:
当該手法2は、検索部120で用いられる手法である。
上記の手法1により選んだノードの類似度の近似値を高速に計算することができる。さらに、本手法2では、検索においてどのノードの類似度を計算し、どのノードの類似度の計算を枝刈りするかを決めるために、検索部120の上限値計算部121においてノードの類似度の上限値を推定する。
検索部120の上限値計算部121では、行列の統計量を用いることによりO(1)でノードの類似度の上限値を計算することができる。そのため、上限値を計算することで、近似値計算部122において、類似度を計算するべきノードを高速に特定し、結果として解ノードを高速に計算することができる。
詳細は後述する。
[手法1の詳細]
上記(手法1)は、事前計算部110において、行列を用いて選択したノードの類似度を計算するものである。SをN×Nの類似度行列とし、Wを列ベクトルが1に正規化されたグラフの隣接行列とする。
まず、はじめに類似度は繰り返し計算せずに求められることを示す。
上記の式(1)は以下のように書き換えることができる。
Figure 0005647166
ここで、Wtは行列Wの転置行列であり、Iは単位行列である。式(2)は以下のように書き換えることができる。
Figure 0005647166
式(3)の形式はシルベスタ方程式(文献1)であり、Bartels-Stewart法(文献2)を用いれば解ける。しかし選択されたノードペアの類似度のみを計算することができないという問題がる。そのため本手法では、固有値分解部111において、式(3)を更に固有値分解を用いて書き換える。λi(i=1,2,…,N)を隣接行列Wの固有値とし、pi(ここでpiのノルムは1とする。すなわち‖pi‖=1である)を固有値λi(i=1,2,…,N)に対応する固有ベクトルとし、Dを固有値による対角行列とし、P(=[p1p2…pN])を固有ベクトルからなる行列とする。式(3)は左からPtをかけ右からPをかけると以下のようになる。
Figure 0005647166
式(8)から類似度を計算するのは行列Xの要素が必要であることがわかる。Xの(i,j)の要素は式(7)から計算できる。行列DとD−1は共に対角行列であるため、式(7)における左側の(i,j)要素は以下のようになる。
Figure 0005647166
さらに式(7)の右側の行列の要素は固有値行列と固有値ベクトル行列から計算できる。そのため類似式を式(8)から繰り返し計算なしに求めることができる。
次に、本発明で用いる類似度の計算方法について述べる。式(8)に見られるように、類似度は行列(Pt)−1とXとP−1を用いれば計算できるが、式(8)を直接計算するとO(N3)のコストがかかる。これは、これらの行列のサイズがN×Nだからである。
本発明では、類似度の計算コストを下げるため、事前計算部110の特異値分解部112において特異値分解を用いて行列の近似を行う。
Figure 0005647166
を行列P-1の近似とすると理論的に類似度は
Figure 0005647166
として計算できる。
Figure 0005647166
は行列UとΣとVをランクnの行列としたときに、
Figure 0005647166
と計算できる。一般的に近似により、
Figure 0005647166
は極めて小さくなることが知られている。
本発明では、ノードuとqの類似度を以下のように計算する。
[定義1]
Figure 0005647166
であり、L=(P t)−1XUΣであり、ベクトルviをVにおけるi番目の列ベクトルであり、ベクトルliをi番目の行ベクトルとすると、ノードuとqの類似度s(q,u)は以下のように計算する。
Figure 0005647166
すなわち、u≠qであれば類似度s(q,u)をベクトルlqとvuの内積として計算する。
定義1について以下の補助定理が成り立つ。
[補助定理1]
もし、
Figure 0005647166
であり、u≠qであれば式(10)は式(8)と同じ計算結果になる。
証明)本発明では、類似度を理論的に
Figure 0005647166
と計算するが、もし、
Figure 0005647166
であれば、式(8)から
Figure 0005647166
となる。そのため行列Sの(q,u)要素と同じになる。そのためもしu≠qであれば、明らかにs(q,u)はベクトルlqとvuの内積と等しくなる。
本発明における類似度の計算方法の計算量を示すために以下の補助定理を示す。
[補助定理2]
もし、u≠qであれば、ノードの類似度s(q,u)の計算にはO(n)の計算コストを要する。
証明)もし、u≠qであれば式(10)において、s(q,u)=lq・vuとなる。ここで行列LとVのサイズはそれぞれN×nとn×Nであるため、ベクトルlqとvuの長さはnとなる。そのため、s(q,u)はO(n)のコストで計算できる。
もし、u=qであれば式(10)より類似度は明らかにO(1)で計算できる。
本手法では、行列計算部113において、
Figure 0005647166
を用いて類似度の近似値を計算するが、類似ノードの検索において近似精度を上げるための手法について述べる。この手法では、固有値行列と固有ベクトル行列における以下の特性を利用する。
・固有値と固有ベクトルの順番は任意に設定することができる。
・固有ベクトルのノルムの大きさは任意に設定することができる。
本発明は、理論的には類似度を
Figure 0005647166
として計算する。つまり、類似度s(q,u)は行列
Figure 0005647166
のq番目の行ベクトルと行列
Figure 0005647166
のu番目の列ベクトルの内積として計算される。そのため、s(q,u)の近似誤差を小さくするためには、行列
Figure 0005647166
のu番目の列ベクトルの近似誤差を小さくすることが必要である。本発明では、近似に特異値分解を用いるが、特異値分解は2乗誤差を小さくする特性がある。すなわち、もし絶対値が大きい値は特異値分解により高精度で近似され、絶対値が小さな値は高精度で近似できない特性がある。そのため、本発明では、検索の解になりそうなノードに対応する列別ベクトルのノルムを大きくする。
検索の解になりそうなノードの指標としては、ノードの次数を用いる。これは、SimRankが「複数のノードからあるノードペアそれぞれに対してエッジがあれば、そのノードペアの類似度は高い」という考えに基づいていて、さらに次数が高いほど他のノードから短いホップ数で辿り着けると期待できるからである。そのため、本発明では、行列WとPとDにおいて高い次数に対応する要素のノルムを大きくし、行列W'とP'とD'に変換する。
図2に当該手法1のアルゴリズムを示す。
図2において、まず、次数の小さい順にノードを並び替え、メモリに格納する(4行目)。その結果、行列Wは行列W'に変換される。行列W'においてはノード番号が大きくなるにしたがって検索の解ノードになることが期待される。重み付きノルムを各固有ベクトルに対して計算する(5〜7行目)。i番目の固有ベクトルの重み付きノルムwiは行列Pから以下のように計算される。
Figure 0005647166
固有ベクトルの順番は任意に設定できるため、行列P'とD'における固有ベクトルと固有値を重み付きノルムの小さい順に並べる(8行目)。その結果、行列Dは行列D'に変換される。固有ベクトルのノルムは任意に設定可能なため、行列P'における各列ベクトルにそれらの列番号をかける(9〜11行目)。結果行列Pから行列P'が得られる。行列P'における各行ベクトルのノルムは、行番号が大きくなるほど小さくなる。図2におけるアルゴリズムを事前計算部110の特異値分解部112に適用した場合のフローチャートを図3に示す。
ステップ101)固有値分解部111から特異値分解部112にグラフの隣接行列W、固有値行列D、固有ベクトル行列Pが入力されると、メモリ(図示せず)に格納する。
ステップ102)特異値分解部112は、W'=W、D'=D、P'=Pとする。
ステップ103) 特異値分解部112は、メモリ(図示せず)中のW'のノードを次数の小さい順に並び替える。
ステップ104) 特異値分解部112は、メモリからノードを一つ選択し、固有ベクトル行列P'の中の列ベクトルに対して重み付きノルムを計算する処理を、全ノードに対して行う。
ステップ105) 特異値分解部112は、行列D'とP'の列ベクトルを重み付きノルムの小さい順に並び替え、メモリ(図示せず)に格納する。
ステップ106) 特異値分解部112は、P'の中の列ベクトルに対して列番号をかける。
ステップ107) 特異値分解部112は、固有値ベクトル行列P'に対して特異値分解を行う。
事前計算部110において、行列P'から行列(P')−1を計算する。行列P'のi番目の行ベクトルと行列(P')−1のi番目の列ベクトルの内積は逆行列の定義から1になる。そのため、行列(P')−1の列ベクトルのノルムは列番号が大きくなる程に大きくなる。そのため特異値分解を用いることにより行列(P')−1の要素は列番号が大きくなる程よく近似できるようになる。ノードは、次数の小さい順に並び替えてあるため、検索の解になりそうなノードほどよく近似できるようになる。
[手法2の詳細]
手法2は、検索部120において、検索の途中において類似度を計算していないノードの類似度を高速にかつ効果的に推定するためのものである。当該手法は、検索部120の上限値計算部121において、事前計算部110から入力された行列の統計量を利用して類似度の上限値を計算するものである。
まず、当該手法2において用いる統計量について説明する。
Figure 0005647166
はそれぞれベクトルliとviの平均値である。また、
Figure 0005647166
はそれぞれベクトルliとviの標準偏差である。
これらの統計量を用いて以下のように類似度を推定する。
[定義2]
ノードuとqの類似度の推定値(上限値)
Figure 0005647166
は以下のように計算する。
Figure 0005647166
この推定値は以下の性質を有する。
[補助定理3]
ノードqとuのペアに対して
Figure 0005647166
となる。
証明)もし、u=qであれば定義1と2より明らかに
Figure 0005647166
となる。そうでなければ定義1より以下の式が成り立つ。
Figure 0005647166
ここで、Δlqiはlqi
Figure 0005647166
からの差とし、Δviuはviu
Figure 0005647166
からの差とする。
Figure 0005647166
であるため、
Figure 0005647166
となる。ここで、シュワルツの不等式(文献3:J. Michael Steele, The Cauchy-Schwarz Master Class: An Introduction to the Art of Mathematical Inequalities, Cambridge University Press, 2004.)より以下が成り立つ。
Figure 0005647166
そのため、
Figure 0005647166
となる。
この補助定理を用いることにより、効果的に不必要な類似度計算を枝刈りで切る。さらにこの手法における計算コストを示すために以下の補助定理を示す。
[補助定理4]
類似度の上限値はO(1)のコストで計算できる。
証明)もし、u=qであれば
Figure 0005647166
であるため、明らかにO(1)のコストで計算できる。そうでなければ定義2より
Figure 0005647166
となるが、ここで統計量は事前に計算可能であり、またnは定数であるためO(1)のコストで計算できる。
手法2の検索アルゴリズムを図4に示す。同図に示すアルゴリズムにおいて、θは解候補のノードにおける最も小さな類似度の値であり、vcは解候補のノードの集合とする。
まず、アルゴリズムではθを0とし、vcにK個のダミーノードを加える(1〜3行目)。ここで、ダミーノードの類似度は全て0とする。ノードを一つ選択し、それらのノードの推定値を計算する(5行目)。もし、推定値がθより小さければそのノードは解になりえないので、枝刈りする。そうでなければ、そのノードは解になりうるので、そのノードの類似度を計算する(7行目)。もし類似度がθ以下でなかったら、vcとθを更新する(8〜13行目)。そして最後にvcを解ノードとして出力する(16行目)。
図4におけるアルゴリズムを検索部120に適用した場合のフローチャートを図5に示す。
ステップ201) 検索部120に、外部から問い合わせノードq、検索個数K、及び、事前計算部110から行列L、行列V、特異値の数n、行列Lの統計量、行列Vの統計量が入力されると、メモリ(図示せず)に格納する。
ステップ202) メモリ(図示せず)上に、解候補のノードにおける最も小さな類似度θ=0、解候補のノード集合Vcを設定する。
ステップ203) K個のダミーノードをVcに加える。
ステップ204) 上限値計算部121は、入力されたノードを1つメモリ(図示せず)から読み出し、統計量l、vを用いてノードの推定値(上限値)を前述の式(12)により計算する。
ステップ205) ステップ204で求められた推定値がθ以上であればステップ206に移行し、θより小さければ次のノードを選択する(ステップ204に戻る)。
ステップ206) 近似値計算部122は、ノードの類似度を前述の式(10)により求める。
ステップ207) 求められたノードの類似度がθ以上であればステップ208に移行し、θより小さければ次のノードを選択する(ステップ204に戻る)。
ステップ208) 当該ノードを解候補のノード集合Vcに追加し、ノード集合Vcから類似度が尤も小さいノードを削除する。そしてθをk番目の類似度に設定する。
ステップ209) 最後に解候補のノード集合Vcを出力する。
なお、上記の図2、図4に示すアルゴリズムをプログラムとして構築し、類似ノード検索装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
100 類似ノード検索装置
110 事前計算部
111 固有値分解部
112 特異値分解部
113 行列計算部
120 検索部
121 上限値計算部
122 近似値計算部

Claims (5)

  1. 問い合わせノードに対するSimRankの近似値を計算し、該近似値が高い順にK個のノードを検索する類似ノード検索装置であって、
    グラフデータとグラフのノード数Nと特異値の数nを外部入力とし、記憶手段に格納し、該グラフのノード数Nと該特異値の数nを読み出して、N×nの行列とn×Nの行列とそれらの統計量を算出し、出力する事前計算手段と、
    問い合わせノードと検索個数を外部入力とし、記憶手段に格納し、前記N×nの行列と前記n×Nの行列と前記統計量を前記事前計算手段から取得し、K個の類似ノードを出力する検索手段と、
    を有し、
    前記事前計算手段は、
    入力された前記グラフデータのグラフの固有値分解を行う固有値分解手段と、
    前記固有値分解の結果を入力とし、特異値分解を計算する特異値分解手段と、
    前記固有値分解の結果と前記特異値分解の結果と前記特異値の数nを入力として、前記N×nの行列と前記n×Nの行列と該行列の統計量を求める行列計算手段と、
    を含み、
    前記検索手段は、
    前記行列の統計量を入力とし、該統計量に基づいて近似値の上限値を計算する上限値計算手段と、
    前記N×nの行列と前記n×Nの行列を入力とし、前記上限値に基づいてノードを枝刈りし、枝刈りされなかったノードに対してのみ類似度の近似計算を行う近似値計算手段と、
    を含むことを特徴とする類似ノード検索装置。
  2. 前記近似値計算手段は、
    前記N×nの行列と前記n×Nの行列のノードの推定値を求め、該推定値が前記上限値より小さければ枝刈りし、大きければ該ノードの類似度を求め、解候補ノードとして解候補記憶手段に格納し、該ノード推定値を上限値として更新する手段を含む
    請求項1記載の類似ノード検索装置。
  3. 問い合わせノードに対するSimRankの近似値を計算し、該近似値が高い順にK個のノードを検索する類似ノード検索装置における類似ノード検索方法であって、
    前記類似ノード検索装置が、
    グラフデータとグラフのノード数Nと特異値の数nを外部入力とし、記憶手段に格納し、該グラフのノード数Nと該特異値の数nを読み出して、N×nの行列とn×Nの行列とそれらの統計量を算出し、出力する事前計算ステップと、
    問い合わせノードと検索個数を外部入力とし、記憶手段に格納し、前記事前計算ステップで求められた前記N×nの行列と前記n×Nの行列と前記統計量を取得し、K個の類似ノードを出力する検索ステップと、を行い
    前記事前計算ステップにおいて、
    入力された前記グラフデータのグラフの固有値分解を行う固有値分解ステップと、
    前記固有値分解の結果を入力とし、特異値分解を計算する特異値分解ステップと、
    前記固有値分解の結果と前記特異値分解の結果と前記特異値の数nを入力として、前記N×nの行列と前記n×Nの行列と該行列の統計量を求める行列計算ステップと、
    を行い、
    前記検索ステップにおいて、
    前記行列の統計量を入力とし、該統計量に基づいて近似値の上限値を計算する上限値計算ステップと、
    前記N×nの行列と前記n×Nの行列を入力とし、前記上限値に基づいてノードを枝刈りし、枝刈りされなかったノードに対してのみ類似度の近似計算を行う近似値計算ステップと、を行う
    ことを特徴とする類似ノード検索方法。
  4. 前記近似値計算ステップにおいて、
    前記N×nの行列と前記n×Nの行列のノードの推定値を求め、該推定値が前記上限値より小さければ枝刈りし、大きければ該ノードの類似度を求め、解候補ノードとして解候補記憶手段に格納し、該ノード推定値を上限値として更新する
    請求項3記載の類似ノード検索方法。
  5. コンピュータを、
    請求項1または2に記載の類似ノード検索装置の各手段として機能させるための類似ノード検索プログラム。
JP2012061164A 2012-03-16 2012-03-16 類似ノード検索装置及び方法及びプログラム Expired - Fee Related JP5647166B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012061164A JP5647166B2 (ja) 2012-03-16 2012-03-16 類似ノード検索装置及び方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012061164A JP5647166B2 (ja) 2012-03-16 2012-03-16 類似ノード検索装置及び方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2013196201A JP2013196201A (ja) 2013-09-30
JP5647166B2 true JP5647166B2 (ja) 2014-12-24

Family

ID=49395111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012061164A Expired - Fee Related JP5647166B2 (ja) 2012-03-16 2012-03-16 類似ノード検索装置及び方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5647166B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101660584B1 (ko) * 2014-04-30 2016-09-27 한국과학기술원 그래프 압축 처리 방법 및 장치
CN105989154B (zh) * 2015-03-03 2020-07-14 华为技术有限公司 相似性度量的方法及设备

Also Published As

Publication number Publication date
JP2013196201A (ja) 2013-09-30

Similar Documents

Publication Publication Date Title
Patrascu et al. Efficient random coordinate descent algorithms for large-scale structured nonconvex optimization
Wang et al. A fast finite difference method for three-dimensional time-dependent space-fractional diffusion equations and its efficient implementation
Nutini et al. Convergence rates for greedy Kaczmarz algorithms, and faster randomized Kaczmarz rules using the orthogonality graph
Vogel et al. Superfast divide-and-conquer method and perturbation analysis for structured eigenvalue solutions
Shi et al. Sublinear time numerical linear algebra for structured matrices
Lee et al. Computing the stationary distribution locally
Greif et al. GMRES with multiple preconditioners
Ozaslan et al. Iterative hessian sketch with momentum
JP5506711B2 (ja) 類似ノード検索装置及び方法及びプログラム
JP5647166B2 (ja) 類似ノード検索装置及び方法及びプログラム
Saa et al. Alternative numerical computation of one-sided Lévy and Mittag-Leffler distributions
JP5727421B2 (ja) 関連ノード検索装置、関連ノード検索方法、及びプログラム
Hassan et al. Finite element analysis of a two-species chemotaxis system with two chemicals
Reinecke et al. Phase-type distributions
Chen et al. Monte Carlo methods and their applications in Big Data analysis
Bergamaschi et al. Parallel Newton–Chebyshev polynomial preconditioners for the conjugate gradient method
Huang A test and bidiagonal factorization for certain sign regular matrices
Semelhago et al. Computational methods for optimization via simulation using gaussian markov random fields
Zhang et al. Accelerated training of max-margin markov networks with kernels
Kressner et al. Low-rank updates and divide-and-conquer methods for quadratic matrix equations
Kressner et al. Compress‐and‐restart block Krylov subspace methods for Sylvester matrix equations
CN107818347A (zh) Gga数据质量的评定预测方法
Shang et al. A sequential experimental design for multivariate sensitivity analysis using polynomial chaos expansion
JP2016181040A (ja) データ解析装置、方法、及びプログラム
Arslan Dynamic physarum solver: a bio-inspired shortest path method of dynamically changing graphs

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20131001

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140804

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: 20141104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141106

R150 Certificate of patent or registration of utility model

Ref document number: 5647166

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees