JP2014229110A - 検索装置、検索方法および検索プログラム - Google Patents
検索装置、検索方法および検索プログラム Download PDFInfo
- Publication number
- JP2014229110A JP2014229110A JP2013108843A JP2013108843A JP2014229110A JP 2014229110 A JP2014229110 A JP 2014229110A JP 2013108843 A JP2013108843 A JP 2013108843A JP 2013108843 A JP2013108843 A JP 2013108843A JP 2014229110 A JP2014229110 A JP 2014229110A
- Authority
- JP
- Japan
- Prior art keywords
- subgraph
- calculation
- nodes
- candidate node
- node
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 34
- 238000004364 calculation method Methods 0.000 claims abstract description 91
- 238000010276 construction Methods 0.000 claims abstract description 36
- 238000005295 random walk Methods 0.000 claims abstract description 32
- 238000010845 search algorithm Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- JTJMJGYZQZDUJJ-UHFFFAOYSA-N phencyclidine Chemical compound C1CCCCN1C1(C=2C=CC=CC=2)CCCCC1 JTJMJGYZQZDUJJ-UHFFFAOYSA-N 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
実施形態の説明で用いる記号を下表に示す。なお、実施形態の説明では、ベクトルをボールド体のラテン小文字、行列をボールド体のラテン大文字で表記する。
実施形態の説明に先立ち、従来技術の概要および問題点について説明する。従来技術では、PageRankは、ランダムなノードからランダムウォークを開始し、各処理ステップにおいて再帰的にランダムウォークを確率s(0<s<1)で繰り返す。また、従来技術では、各処理ステップにおいて、一定の確率(1−s)でランダムなノードへジャンプする。
をu番目の要素p[u]がノードuのPageRankのスコアに対応する列ベクトルとする。また、Nをグラフのノード数とする場合に、
を全ての要素の値が1/Nである列ベクトルとする。また、W[u,v]をノードvからノードuへ移動する確率とする場合に、
を列要素が正規化されたグラフの隣接行列とする。各ノードのPageRankのスコアは、以下の式(1)を再帰的に収束するまで繰り返し計算を行うことで得られる。
は
に設定される。この繰り返し計算を行う従来技術の手法は、各ノードにおけるPageRankのスコアが収束するまでおこなわれる。Mをグラフのエッジ数とし、Tを収束するまでの繰り返し計算の計算回数とすると、この繰り返し計算は、O((N+M)・T)の計算コストを要する。そのため、従来技術の手法は、大規模なグラフに対して高速に検索が行えないという問題がある。なお、O(*)は、ランダウの記号である。
(実施形態の概要)
以下に説明する実施形態は、上述の従来技術の問題点を解決するものである。実施形態では、計算コストを低減するために、PageRankのスコアの下限値の推定値および上限値の推定値を計算する。すなわち、実施形態は、従来技術の手法のように検索対象のグラフ全体を用いるのではなく、PageRankのスコアの下限値および上限値の推定値により、不要なノードとエッジを検索対象のグラフから除外した部分グラフに対してPageRankのスコアの繰り返し計算をおこなうことにより、ノード検索をおこなう。
(PageRankのスコアの下限値および上限値の推定方法)
実施形態では、PageRankのスコアのi(i=0,1,2,・・・、(非負整数))番目の繰り返し計算において、候補ノードの集合に含まれるノードのPageRankのスコアの下限値および上限値の推定値を計算する。以下では、PageRankのスコアの下限値を「下限値」、PageRankのスコアの上限値を「上限値」、PageRankのスコアの下限値の推定値を「下限値の推定値」、PageRankのスコアの上限値の推定値を「上限値の推定値」、PageRankのスコアの下限値の推定値および上限値の推定値を「推定値」と適宜表記する。なお、候補ノードの集合を求める方法については、後述する。
となるN×1の列ベクトルを
とする。
とする。なお、
のu列目の成分をri[u]とする。ここで、グラフの隣接行列
のi乗を用いて、
は
と計算できる。なお、i=0ならば、
とする。i番目の繰り返し計算における下限値
と、i番目の繰り返し計算における上限値
を以下のように定義する。
以下に、候補ノードおよび部分グラフの定義、ならびに、候補ノードおよび部分グラフの性質を示す。閾値εi−1を(i−1)番目の繰り返し計算におけるk番目に高い下限値とし、i番目の繰り返し計算における候補ノードの集合Ciを以下のように定義する。
また、実施形態は、部分グラフを用いて、候補ノードに対する推定値を計算する。ここで、i番目の繰り返し計算における部分グラフGiを、以下のように定義する。
また、i番目の繰り返し計算における下限値および上限値は、部分グラフの集合Giを用いて、逐次的に、以下のように計算する。なお、補助定理7に基づき部分グラフの集合Giを構築する方法は、後述する。
(検索装置の構成)
図1は、検索装置の構成を示すブロック図である。実施形態にかかる検索装置10は、ノード検索の問い合わせに用いるグラフGと、解ノードの個数kを入力とし、候補ノードの要素数がkに等しい場合に、PageRankのスコアが上位kである候補ノードを解ノードとして出力する。図1に示すように、検索装置10は、部分グラフ構築部11、ランダムウォーク確率計算部12、推定値計算部13、候補ノード計算部14を有する。
図2は、検索処理を示すフローチャートである。まず、検索装置10の部分グラフ構築部11は、問い合わせに用いるグラフGと、解ノードの個数を示すk(kはノードの数を超えない正整数)の入力を受け付ける(ステップS10)。続いて、検索装置10の部分グラフ構築部11は、繰り返し計算回数を示すiに0をセットし、候補ノードの集合Vの初期集合にC0をセットし、グラフGの部分グラフの初期集合にG0をセットする初期化をおこなう(ステップS12)。
図3は、検索アルゴリズムを示す図である。図3に示す検索アルゴリズムは、図2の検索処理のフローチャートが示す処理に対応する。図3に示すように、検索アルゴリズムは、i=0ならば、定義3および定義5から、集合C0、グラフG0をそれぞれC0=V、G0=Gとして初期化する(図3の第2行目〜第3行目)。検索アルゴリズムは、i≠0ならば、グラフGi−1に幅優先探索を用いて集合Ciから集合Riを計算する(図3の第7行目)。これは、補助定理7から、部分グラフGiに対してGi⊆Gi−1という性質があるからである。そして、検索アルゴリズムは、定義5から、集合Riを用いて部分グラフGiを計算する(図3の第8行目)。
以上の実施形態によれば、従来技術の手法と比較して、PageRankのスコアをグラフ全体ではなく部分グラフから計算することにより、高速に検索が可能である。また、以上の実施形態によれば、入力パラメータk(kはノード数を超えない自然数)に対し、PageRankのスコアの正確な上位k個のノードを検索できる。また、以上の実施形態によれば、検索に事前計算を要さず、任意のグラフに対してアドホックに検索をおこなうことができる。また、以上の実施形態によれば、内部パラメータの設定を要さないため、ユーザは、PageRankによる検索を簡易におこなうことができる。
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散および統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
また、実施形態において説明した検索装置10のCPUなどの制御装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、制御装置が実行する処理をコンピュータが実行可能な言語で記述した検索プログラムを作成することもできる。この場合、コンピュータが検索プログラムを実行することにより、実施形態と同様の効果を得ることができる。さらに、検索プログラムをコンピュータ読み取り可能な記録媒体に記録して、記録媒体に記録された検索プログラムをコンピュータに読み込ませて実行することにより実施形態と同様の処理を実現できる。以下に、図1に示した検索装置10と同様の機能を実現するプログラムを実行するコンピュータの一例を説明する。
11 部分グラフ構築部
12 ランダムウォーク確率計算部
13 推定値計算部
14 候補ノード計算部
Claims (3)
- コンピュータネットワークを形成する機器をノードとし、前記機器間の接続をエッジとする前記コンピュータネットワークのグラフを、解ノードの個数を示すk(kは前記ノードの数を超えない正整数)の入力を受け付けて検索し、前記k個の解ノードを出力する検索装置であって、
0を初期値とし、+1ずつインクリメントされるiについて、i=0の場合には前記グラフを部分グラフとし、i>0の場合にはi回目の繰り返し計算における候補ノードに基づく(i−1)回目の繰り返し計算における前記グラフの部分グラフへ到達可能なノードの集合からi回目の繰り返し計算における前記グラフの部分グラフを構築する部分グラフ構築処理を実行する部分グラフ構築部と、
前記部分グラフ構築部が構築した部分グラフに対応するランダムウォークの確率を計算するランダムウォーク確率計算部と、
前記ランダムウォーク確率計算部が計算したランダムウォークの確率およびi回目の繰り返し計算における前記候補ノードの全てのノードに対するPageRankのスコアの下限値の推定値および上限値の推定値を計算する推定値計算部と、
i回目の繰り返し計算における前記候補ノードから(i+1)回目の繰り返し計算における前記候補ノードを計算し、当該(i+1)回目の繰り返し計算における前記候補ノードの集合の要素数が前記kに等しい場合には当該(i+1)回目の繰り返し計算における前記候補ノードの集合を解ノードとして出力し、当該(i+1)回目の繰り返し計算における前記候補ノードの集合の要素数が前記kと異なる場合には、前記部分グラフ構築部に当該(i+1)をさらに+1インクリメントさせたあらたなiについて前記部分グラフ構築処理を実行させる候補ノード計算部と
を有し、
前記候補ノード計算部が前記部分グラフ構築部に前記あらたなiについて前記部分グラフ構築処理を実行させる場合は、当該あらたなiについて、前記部分グラフ構築部、前記ランダムウォーク確率計算部、前記推定値計算部、前記候補ノード計算部が各処理を再度、順次実行する
ことを特徴とする検索装置。 - コンピュータネットワークを形成する機器をノードとし、前記機器間の接続をエッジとする前記コンピュータネットワークのグラフを、解ノードの個数を示すk(kは前記ノードの数を超えない正整数)の入力を受け付けて検索し、前記k個の解ノードを出力する検索装置で実行される検索方法であって、
0を初期値とし、+1ずつインクリメントされるiについて、i=0の場合には前記グラフを部分グラフとし、i>0の場合にはi回目の繰り返し計算における候補ノードに基づく(i−1)回目の繰り返し計算における前記グラフの部分グラフへ到達可能なノードの集合からi回目の繰り返し計算における前記グラフの部分グラフを構築する部分グラフ構築処理を実行する部分グラフ構築工程と、
前記部分グラフ構築工程が構築した部分グラフに対応するランダムウォークの確率を計算するランダムウォーク確率計算工程と、
前記ランダムウォーク確率計算工程が計算したランダムウォークの確率およびi回目の繰り返し計算における前記候補ノードの全てのノードに対するPageRankのスコアの下限値の推定値および上限値の推定値を計算する推定値計算工程と、
i回目の繰り返し計算における前記候補ノードから(i+1)回目の繰り返し計算における前記候補ノードを計算し、当該(i+1)回目の繰り返し計算における前記候補ノードの集合の要素数が前記kに等しい場合には当該(i+1)回目の繰り返し計算における前記候補ノードの集合を解ノードとして出力し、当該(i+1)回目の繰り返し計算における前記候補ノードの集合の要素数が前記kと異なる場合には、前記部分グラフ構築工程に当該(i+1)をさらに+1インクリメントさせたあらたなiについて前記部分グラフ構築処理を実行させる候補ノード計算工程と
を含み、
前記候補ノード計算工程が前記部分グラフ構築工程に前記あらたなiについて前記部分グラフ構築処理を実行させる場合は、当該あらたなiについて、前記部分グラフ構築工程、前記ランダムウォーク確率計算工程、前記推定値計算工程、前記候補ノード計算工程が各処理を再度、順次実行する
ことを特徴とする検索方法。 - コンピュータを、
請求項1に記載の検索装置として機能させるための検索プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013108843A JP6005583B2 (ja) | 2013-05-23 | 2013-05-23 | 検索装置、検索方法および検索プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013108843A JP6005583B2 (ja) | 2013-05-23 | 2013-05-23 | 検索装置、検索方法および検索プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014229110A true JP2014229110A (ja) | 2014-12-08 |
JP6005583B2 JP6005583B2 (ja) | 2016-10-12 |
Family
ID=52128898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013108843A Expired - Fee Related JP6005583B2 (ja) | 2013-05-23 | 2013-05-23 | 検索装置、検索方法および検索プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6005583B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991592A (zh) * | 2017-03-22 | 2017-07-28 | 南京财经大学 | 一种基于购买用户行为分析的个性化推荐方法 |
CN111079058A (zh) * | 2019-12-16 | 2020-04-28 | 武汉大学 | 一种基于节点重要性的网络节点表示方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012160015A (ja) * | 2011-01-31 | 2012-08-23 | Nippon Telegr & Teleph Corp <Ntt> | 類似ノード検索装置及び方法及びプログラム |
-
2013
- 2013-05-23 JP JP2013108843A patent/JP6005583B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012160015A (ja) * | 2011-01-31 | 2012-08-23 | Nippon Telegr & Teleph Corp <Ntt> | 類似ノード検索装置及び方法及びプログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991592A (zh) * | 2017-03-22 | 2017-07-28 | 南京财经大学 | 一种基于购买用户行为分析的个性化推荐方法 |
CN111079058A (zh) * | 2019-12-16 | 2020-04-28 | 武汉大学 | 一种基于节点重要性的网络节点表示方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP6005583B2 (ja) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5995409B2 (ja) | コンピュータ解析のためにテキスト文書を表現するためのグラフィカル・モデル | |
KR102170929B1 (ko) | 사용자 키워드 추출장치, 방법 및 컴퓨터 판독 가능한 저장매체 | |
Vora et al. | Kickstarter: Fast and accurate computations on streaming graphs via trimmed approximations | |
Pershina et al. | Personalized page rank for named entity disambiguation | |
WO2017137000A1 (zh) | 对描述同一实体的不同实例进行合并的方法、装置及设备 | |
WO2016062044A1 (zh) | 一种模型参数训练方法、装置及系统 | |
JP6142727B2 (ja) | データアクセス分析プログラム、データアクセス分析方法、及びデータアクセス分析装置 | |
JPWO2014136810A1 (ja) | 類似データ検索装置、類似データ検索方法、及びプログラム | |
De Vocht et al. | Discovering meaningful connections between resources in the web of data | |
CN109241243B (zh) | 候选文档排序方法及装置 | |
WO2011134141A1 (en) | Method of extracting named entity | |
WO2015192798A1 (zh) | 主题挖掘方法和装置 | |
JP2019513245A (ja) | ソーシャルネットワークに基づいてグループを探索する方法、デバイス、サーバ及び記憶媒体 | |
JP5964781B2 (ja) | 検索装置、検索方法および検索プログラム | |
JP5506711B2 (ja) | 類似ノード検索装置及び方法及びプログラム | |
US20110202511A1 (en) | Graph searching | |
JP6005583B2 (ja) | 検索装置、検索方法および検索プログラム | |
JP5727421B2 (ja) | 関連ノード検索装置、関連ノード検索方法、及びプログラム | |
JP5869948B2 (ja) | パッセージ分割方法、装置、及びプログラム | |
Papai et al. | Constraint propagation for efficient inference in markov logic | |
JP6261669B2 (ja) | クエリ校正システムおよび方法 | |
WO2011016281A2 (ja) | ベイジアンネットワーク構造学習のための情報処理装置及びプログラム | |
Patra et al. | Motif discovery in biological network using expansion tree | |
CN113297854A (zh) | 文本到知识图谱实体的映射方法、装置、设备及存储介质 | |
Hu et al. | Bayesian data cleaning for Web data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150715 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20151001 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20151005 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160520 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160531 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160622 |
|
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: 20160906 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160907 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6005583 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |