JP6005583B2 - SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM - Google Patents

SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM Download PDF

Info

Publication number
JP6005583B2
JP6005583B2 JP2013108843A JP2013108843A JP6005583B2 JP 6005583 B2 JP6005583 B2 JP 6005583B2 JP 2013108843 A JP2013108843 A JP 2013108843A JP 2013108843 A JP2013108843 A JP 2013108843A JP 6005583 B2 JP6005583 B2 JP 6005583B2
Authority
JP
Japan
Prior art keywords
subgraph
calculation
nodes
candidate node
search
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
JP2013108843A
Other languages
Japanese (ja)
Other versions
JP2014229110A (en
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 JP2013108843A priority Critical patent/JP6005583B2/en
Publication of JP2014229110A publication Critical patent/JP2014229110A/en
Application granted granted Critical
Publication of JP6005583B2 publication Critical patent/JP6005583B2/en
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

本発明は、検索装置、検索方法および検索プログラムに関する。   The present invention relates to a search device, a search method, and a search program.

近年、ソーシャルネットワークに代表されるように、大規模なネットワークの利用が進んでいる。そして、大規模なネットワークに対して、データマイニングや検索をおこなうシステムの重要性が増している。ネットワーク構成は、ネットワークを構築するコンピュータをノードとし、各ノード間の接続を示すリンクをエッジとするグラフデータとして表現できる。このため、ネットワーク構成をグラフデータとして取り扱うグラフデータベースに問い合わせをおこない、グラフのノードの検索、分類、解析などをおこなうことへの関心が高まりつつある。   In recent years, as represented by social networks, the use of large-scale networks is progressing. And, the importance of data mining and retrieval systems for large-scale networks is increasing. The network configuration can be expressed as graph data in which a computer constituting the network is a node and a link indicating a connection between the nodes is an edge. For this reason, there is a growing interest in inquiring a graph database that handles network configuration as graph data and performing search, classification, analysis, etc. of graph nodes.

例えば、ノードとしてのコンピュータがウェブサイトである場合に、ウェブページの重要度を決定するためのアルゴリズムとしてPageRankのアルゴリズムがある。このPageRankのアルゴリズムは、ランダムサーファーモデルに基づきノードの重要度を計算する。ランダムサーファーモデルは、ユーザが複数回ウェブページのリンクをクリックした後にランダムなページにジャンプするという行動をモデル化したものである。   For example, when a computer as a node is a website, there is a PageRank algorithm as an algorithm for determining the importance of a web page. The PageRank algorithm calculates the importance of a node based on a random surfer model. The random surfer model models a behavior in which a user jumps to a random page after clicking a web page link a plurality of times.

PageRankによるノードの重要度は、ランダムウォークの定常状態における確率に対応する。PageRankの各処理ステップでは、現在のノードからリンク先のノードを選択して移動し、また一定の確率でランダムなページへジャンプする。その有効性から、PageRankは、様々なアプリケーションに応用されている。   The importance of the node by PageRank corresponds to the probability in the steady state of the random walk. In each processing step of PageRank, a link destination node is selected and moved from the current node, and jumps to a random page with a certain probability. Due to its effectiveness, PageRank is applied to various applications.

Lawrence Page、Sergey Brin、Rajeev Motwani、Terry Winograd、“The PageRank Citation Ranking:Bringing Order to the Web”、1999Lawrence Page, Sergey Brin, Rajeev Motwani, Terry Winograd, “The PageRank Citation Ranking: Bringing Order to the Web”, 1999

しかしながら、上述の従来技術では、PageRankの計算コストが高いという問題がある。すなわち、従来技術によるPageRankの計算では、グラフ全体を用いて全てのノードのスコアが収束するまで繰り返し計算を行わなければならないため、大規模なグラフに対しては高速に重要度の高いノードの検索ができない。   However, the above-described conventional technique has a problem that the calculation cost of PageRank is high. In other words, in the conventional PageRank calculation, the entire graph must be used repeatedly until the scores of all the nodes converge. Therefore, for large-scale graphs, high-priority nodes are searched at high speed. I can't.

本願が開示する実施形態は、上記に鑑みてなされたものであって、PageRankに基づくノード検索において、高速に検索結果を得ることを目的とする。   An embodiment disclosed in the present application has been made in view of the above, and an object thereof is to obtain a search result at high speed in a node search based on PageRank.

本願が開示する実施形態の一例は、コンピュータネットワークを形成する機器をノードとし、機器間の接続をエッジとするコンピュータネットワークのグラフを、解ノードの個数を示す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と異なる場合には、当該をさらに+1インクリメントさせたあらたなiについて部分グラフ構築処理を実行させる。そして、検索装置は、あらたなiについて部分グラフ構築処理を実行させる場合は、当該あらたなiについて、上述の各処理を再度、順次実行する。 An example of an embodiment disclosed in the present application is a graph of a computer network in which a device forming a computer network is a node and a connection between devices is an edge, and k (k is greater than the number of nodes) indicating the number of solution nodes. This is a search device that accepts and searches for (no positive integer) input and outputs k solution nodes. The search device sets 0 as an initial value, i is incremented by +1, and if i = 0, the graph is a partial graph, and if i> 0, it is based on the candidate node in the i-th iteration (i -1) A subgraph construction process for constructing a subgraph of the graph in the i-th iterative calculation is executed from a set of nodes that can reach the subgraph of the graph in the iterative calculation of the first time. The search device also calculates the probability of random walk corresponding to the subgraph. Further, the search device calculates the probability of random walk and the estimated value of the lower limit value and the estimated upper limit value of the PageRank score for all the candidate nodes in the i-th iterative calculation. Further, the search device calculates a candidate node in the (i + 1) -th iteration calculation from a candidate node in the i-th iteration calculation, and the number of elements in the candidate node set in the (i + 1) -th iteration calculation is equal to k. Output a set of candidate nodes in the (i + 1) -th iteration calculation as a solution node, and if the number of elements in the candidate node set in the (i + 1) -th iteration calculation is different from k, i The subgraph construction process is executed for the new i incremented by +1. Then, when the subgraph construction process is executed for the new i, the search device sequentially executes the above-described processes again for the new i.

本願が開示する実施形態によれば、例えば、PageRankに基づくノード検索において、高速に検索結果を得ることができる。   According to the embodiment disclosed in the present application, for example, a search result can be obtained at high speed in a node search based on PageRank.

図1は、検索装置の構成を示すブロック図である。FIG. 1 is a block diagram showing the configuration of the search device. 図2は、検索処理を示すフローチャートである。FIG. 2 is a flowchart showing the search process. 図3は、検索アルゴリズムを示す図である。FIG. 3 is a diagram showing a search algorithm. 図4は、検索プログラムを実行するコンピュータの一例を示す図である。FIG. 4 is a diagram illustrating an example of a computer that executes a search program.

以下に、本願が開示する検索装置などの実施形態を図面に基づいて説明する。以下の実施形態は、コンピュータネットワークを形成する機器をノードとし、機器間の接続をエッジとするコンピュータネットワークのグラフを、解ノードの個数を示すk(kはノードの数を超えない正整数)の入力を受け付けて検索する際に、PageRankのスコアが上位kである候補ノードを、解ノードとして出力する。なお、以下の実施形態は、一例を示すに過ぎず、本願が開示する技術を限定するものではない。   Hereinafter, embodiments of a search device and the like disclosed in the present application will be described with reference to the drawings. In the following embodiment, a graph of a computer network in which devices forming a computer network are nodes and connections between devices are edges is represented by k indicating the number of solution nodes (k is a positive integer not exceeding the number of nodes). When an input is received and a search is performed, a candidate node having a PageRank score of higher k is output as a solution node. The following embodiments are merely examples, and do not limit the technology disclosed by the present application.

[記号の定義]
実施形態の説明で用いる記号を下表に示す。なお、実施形態の説明では、ベクトルをボールド体のラテン小文字、行列をボールド体のラテン大文字で表記する。
[Definition of symbols]
The symbols used in the description of the embodiment are shown in the following table. In the description of the embodiment, the vector is expressed in bold Latin small letters, and the matrix is expressed in bold Latin capital letters.

Figure 0006005583
Figure 0006005583

(従来技術の概要および問題点)
実施形態の説明に先立ち、従来技術の概要および問題点について説明する。従来技術では、PageRankは、ランダムなノードからランダムウォークを開始し、各処理ステップにおいて再帰的にランダムウォークを確率s(0<s<1)で繰り返す。また、従来技術では、各処理ステップにおいて、一定の確率(1−s)でランダムなノードへジャンプする。
(Overview of conventional technology and problems)
Prior to the description of the embodiments, the outline and problems of the prior art will be described. In the prior art, PageRank starts a random walk from a random node, and recursively repeats the random walk with probability s (0 <s <1) in each processing step. In the prior art, each processing step jumps to a random node with a certain probability (1-s).

集合Vをグラフ全体のノードとし、集合Eをエッジの集合とすると、問い合わせ対象のグラフGは、G={V,E}と表現できる。ここで、

Figure 0006005583
をu番目の要素p[u]がノードuのPageRankのスコアに対応する列ベクトルとする。また、Nをグラフのノード数とする場合に、
Figure 0006005583
を全ての要素の値が1/Nである列ベクトルとする。また、W[u,v]をノードvからノードuへ移動する確率とする場合に、
Figure 0006005583
を列要素が正規化されたグラフの隣接行列とする。各ノードのPageRankのスコアは、以下の式(1)を再帰的に収束するまで繰り返し計算を行うことで得られる。 If the set V is a node of the whole graph and the set E is a set of edges, the graph G to be queried can be expressed as G = {V, E}. here,
Figure 0006005583
Is a column vector in which the u-th element p [u] corresponds to the PageRank score of the node u. If N is the number of nodes in the graph,
Figure 0006005583
Is a column vector in which the values of all elements are 1 / N. When W [u, v] is a probability of moving from node v to node u,
Figure 0006005583
Let be the adjacency matrix of a graph with normalized column elements. The PageRank score of each node is obtained by repeatedly calculating the following expression (1) until it converges recursively.

Figure 0006005583
Figure 0006005583

ここで、i=0であれば、

Figure 0006005583

Figure 0006005583
に設定される。この繰り返し計算を行う従来技術の手法は、各ノードにおけるPageRankのスコアが収束するまでおこなわれる。Mをグラフのエッジ数とし、Tを収束するまでの繰り返し計算の計算回数とすると、この繰り返し計算は、O((N+M)・T)の計算コストを要する。そのため、従来技術の手法は、大規模なグラフに対して高速に検索が行えないという問題がある。なお、O(*)は、ランダウの記号である。 Here, if i = 0,
Figure 0006005583
Is
Figure 0006005583
Set to The conventional technique for performing this iterative calculation is performed until the PageRank score at each node converges. Assuming that M is the number of edges in the graph and T is the number of calculation times until convergence, this iterative calculation requires a calculation cost of O ((N + M) · T). For this reason, the conventional technique has a problem that a large-scale graph cannot be searched at high speed. O (*) is a Landau symbol.

[実施形態]
(実施形態の概要)
以下に説明する実施形態は、上述の従来技術の問題点を解決するものである。実施形態では、計算コストを低減するために、PageRankのスコアの下限値の推定値および上限値の推定値を計算する。すなわち、実施形態は、従来技術の手法のように検索対象のグラフ全体を用いるのではなく、PageRankのスコアの下限値および上限値の推定値により、不要なノードとエッジを検索対象のグラフから除外した部分グラフに対してPageRankのスコアの繰り返し計算をおこなうことにより、ノード検索をおこなう。
[Embodiment]
(Outline of the embodiment)
Embodiment described below solves the problem of the above-mentioned prior art. In the embodiment, in order to reduce the calculation cost, the estimated value of the lower limit value and the estimated value of the upper limit value of the PageRank score are calculated. That is, the embodiment excludes unnecessary nodes and edges from the search target graph based on the estimated lower and upper limit values of the PageRank score instead of using the entire search target graph as in the conventional technique. Node search is performed by repeatedly calculating the PageRank score for the subgraph.

以下の実施形態では、まず、実施形態にかかる計算処理方法および理論的背景を説明し、次に、実施形態にかかる検索装置の構成および処理を説明する。   In the following embodiments, first, the calculation processing method and theoretical background according to the embodiment will be described, and then the configuration and processing of the search device according to the embodiment will be described.

<計算処理方法および理論的背景>
(PageRankのスコアの下限値および上限値の推定方法)
実施形態では、PageRankのスコアのi(i=0,1,2,・・・、(非負整数))番目の繰り返し計算において、候補ノードの集合に含まれるノードのPageRankのスコアの下限値および上限値の推定値を計算する。以下では、PageRankのスコアの下限値を「下限値」、PageRankのスコアの上限値を「上限値」、PageRankのスコアの下限値の推定値を「下限値の推定値」、PageRankのスコアの上限値の推定値を「上限値の推定値」、PageRankのスコアの下限値の推定値および上限値の推定値を「推定値」と適宜表記する。なお、候補ノードの集合を求める方法については、後述する。
<Calculation processing method and theoretical background>
(Method for estimating the lower and upper limits of PageRank score)
In the embodiment, in the i (i = 0, 1, 2,..., (Non-negative integer)) iteration of the PageRank score, the lower limit value and the upper limit value of the PageRank score of the nodes included in the set of candidate nodes Calculate an estimate of the value. Below, the lower limit of the PageRank score is "Lower limit", the upper limit of the PageRank score is "Upper limit", the estimated lower limit of the PageRank score is "Lower limit estimate", and the upper limit of the PageRank score The estimated value is appropriately expressed as “estimated value of the upper limit value”, the estimated value of the lower limit value of the PageRank score, and the estimated value of the upper limit value as “estimated value” as appropriate. A method for obtaining a set of candidate nodes will be described later.

上限値を計算するために、候補ノードの集合Cに到達可能なノードの集合Rを用いる。ここで、ノードuがノードvへ到達可能であるとは、グラフ上にノードuからノードvへのパスが存在するということである。またu番目の要素がエッジの最大の重みから、

Figure 0006005583
となるN×1の列ベクトルを
Figure 0006005583
とする。 In order to calculate the upper limit value, a set R i of nodes that can reach the set C i of candidate nodes is used. Here, the fact that the node u can reach the node v means that a path from the node u to the node v exists on the graph. The u th element is the maximum weight of the edge,
Figure 0006005583
N × 1 column vector
Figure 0006005583
And

また、長さがiのランダムウォークの確率をN×1の列ベクトル

Figure 0006005583
とする。なお、
Figure 0006005583
のu列目の成分をr[u]とする。ここで、グラフの隣接行列
Figure 0006005583
のi乗を用いて、
Figure 0006005583

Figure 0006005583
と計算できる。なお、i=0ならば、
Figure 0006005583
とする。i番目の繰り返し計算における下限値
Figure 0006005583
と、i番目の繰り返し計算における上限値
Figure 0006005583
を以下のように定義する。 Also, the probability of a random walk of length i is the N × 1 column vector
Figure 0006005583
And In addition,
Figure 0006005583
Let the component in the u-th column of r be r i [u]. Where the adjacency matrix of the graph
Figure 0006005583
Using the i power of
Figure 0006005583
Is
Figure 0006005583
Can be calculated. If i = 0,
Figure 0006005583
And Lower limit for i-th iteration
Figure 0006005583
And the upper limit in the i th iterative calculation
Figure 0006005583
Is defined as follows.

Figure 0006005583
Figure 0006005583

Figure 0006005583
Figure 0006005583

これらの推定値の性質を、以下の補助定理1、補助定理2、補助定理3で示す。なお、補助定理3は、実施形態では、推定値が収束することを示す。   The properties of these estimated values are shown by the following Lemma 1, Lemma 2, and Lemma 3. Note that Lemma 3 indicates that the estimated value converges in the embodiment.

Figure 0006005583
Figure 0006005583

Figure 0006005583
Figure 0006005583

Figure 0006005583
Figure 0006005583

実施形態は、再帰的に上位k個のノードを検索するために候補ノードを計算し、候補ノードの数がk個になれば繰り返し計算を終了する。推定値を計算するために、候補ノードの集合に含まれるノードに対して部分グラフを計算する。そして、候補ノードは、繰り返し計算の中で動的に更新される。   In the embodiment, candidate nodes are calculated in order to recursively search for the top k nodes, and the iterative calculation ends when the number of candidate nodes reaches k. In order to calculate the estimated value, a subgraph is calculated for the nodes included in the set of candidate nodes. Then, the candidate node is dynamically updated in the repeated calculation.

(候補ノードについて)
以下に、候補ノードおよび部分グラフの定義、ならびに、候補ノードおよび部分グラフの性質を示す。閾値εi−1を(i−1)番目の繰り返し計算におけるk番目に高い下限値とし、i番目の繰り返し計算における候補ノードの集合Cを以下のように定義する。
(About candidate nodes)
Below, the definition of a candidate node and a subgraph, and the property of a candidate node and a subgraph are shown. The threshold value ε i−1 is set to the kth highest lower limit value in the (i−1) -th iterative calculation, and a set C i of candidate nodes in the i-th iterative calculation is defined as follows.

Figure 0006005583
Figure 0006005583

集合Cの性質は、以下のとおりである。 The properties of the set C i are as follows.

Figure 0006005583
Figure 0006005583

補助定理4から、A⊆Cであるため、各繰り返し計算において、候補ノードの集合Ci−1から候補ノードの集合Cを、以下のように逐次的に計算できる。 From Auxiliary Theorem 4, since A⊆C i , in each iteration, the candidate node set C i-1 to the candidate node set C i can be calculated sequentially as follows.

Figure 0006005583
Figure 0006005583

また、候補ノードの集合C(i=0,1,2,・・・)は、以下のとおり、iについて単調減少する。 Further, the set C i (i = 0, 1, 2,...) Of candidate nodes monotonously decreases for i as follows.

Figure 0006005583
Figure 0006005583

(部分グラフについて)
また、実施形態は、部分グラフを用いて、候補ノードに対する推定値を計算する。ここで、i番目の繰り返し計算における部分グラフGを、以下のように定義する。
(About partial graphs)
In addition, the embodiment calculates an estimated value for a candidate node using a subgraph. Here, the subgraph G i at the i-th iteration, is defined as follows.

Figure 0006005583
Figure 0006005583

部分グラフの集合G(i=0,1,2,・・・)について、次が成り立つ。 The following holds for the set of subgraphs G i (i = 0, 1, 2,...).

Figure 0006005583
Figure 0006005583

また、部分グラフの集合G(i=0,1,2,・・・)は、以下のとおり、iについて単調減少する。 The subgraph set G i (i = 0, 1, 2,...) Monotonously decreases for i as follows.

Figure 0006005583
Figure 0006005583

(推定値の計算について)
また、i番目の繰り返し計算における下限値および上限値は、部分グラフの集合Gを用いて、逐次的に、以下のように計算する。なお、補助定理7に基づき部分グラフの集合Gを構築する方法は、後述する。
(About calculation of estimated values)
In addition, the lower limit value and the upper limit value in the i-th iterative calculation are sequentially calculated as follows using a set G i of subgraphs. A method for constructing a set G i subgraph based on the lemma 7 will be described later.

Figure 0006005583
Figure 0006005583

そして、定義6によるi番目の繰り返し計算における下限値および上限値の計算の計算コストは、以下のとおりである。   And the calculation cost of the calculation of the lower limit value and the upper limit value in the i-th iterative calculation according to Definition 6 is as follows.

Figure 0006005583
Figure 0006005583

以上から、以下の2つの主張を、定理として示す。   From the above, the following two assertions are shown as theorems.

Figure 0006005583
Figure 0006005583

Figure 0006005583
Figure 0006005583

<検索装置の構成および処理>
(検索装置の構成)
図1は、検索装置の構成を示すブロック図である。実施形態にかかる検索装置10は、ノード検索の問い合わせに用いるグラフGと、解ノードの個数kを入力とし、候補ノードの要素数がkに等しい場合に、PageRankのスコアが上位kである候補ノードを解ノードとして出力する。図1に示すように、検索装置10は、部分グラフ構築部11、ランダムウォーク確率計算部12、推定値計算部13、候補ノード計算部14を有する。
<Configuration and processing of search device>
(Configuration of search device)
FIG. 1 is a block diagram showing the configuration of the search device. The search device 10 according to the embodiment receives a graph G used for a node search query and the number k of solution nodes as input, and the candidate node having the highest rank of PageRank when the number of candidate node elements is equal to k. Are output as solution nodes. As illustrated in FIG. 1, the search device 10 includes a subgraph construction unit 11, a random walk probability calculation unit 12, an estimated value calculation unit 13, and a candidate node calculation unit 14.

部分グラフ構築部11は、問い合わせに用いるグラフGと、解ノードの個数を示すk(kはノードの数を超えない正整数)を入力とし、繰り返し計算回数を示すi(iは非負整数)について、部分グラフGを計算して出力する。 The subgraph construction unit 11 receives the graph G used for the inquiry and k indicating the number of solution nodes (k is a positive integer not exceeding the number of nodes) and i indicating the number of repeated calculations (i is a non-negative integer). The subgraph G i is calculated and output.

具体的には、部分グラフ構築部11は、i=0の場合には、候補ノードCの初期集合であるCに関してC=V、部分グラフGの初期集合であるGに関してG=Gをセットする。そして、部分グラフ構築部11は、ランダムウォーク確率計算部12へ、部分グラフGを出力する。 G Specifically, subgraph constructing unit 11, in the case of i = 0, with respect to C 0 is an initial set of candidate nodes C i C 0 = V, with respect to G 0 is the initial set of subgraphs G i 0 = G is set. Then, the subgraph construction unit 11 outputs the subgraph G 0 to the random walk probability calculation unit 12.

一方、部分グラフ構築部11は、i≠0の場合には、iを+1インクリメントする。この+1インクリメントにより、部分グラフ構築部11が計算した部分グラフGは、部分グラフGi−1となる。そして、部分グラフ構築部11は、定義3の式(5)および定義4の式(6)に基づいて候補ノードCを計算する。そして、部分グラフ構築部11は、補助定理7に基づいて、幅優先探索により、候補ノードCから部分グラフGi−1に到達可能なノードの集合Rを計算する。そして、部分グラフ構築部11は、定義5に基づいて、ノードの集合Rから部分グラフGを計算し、ランダムウォーク確率計算部12へ出力する。 On the other hand, if i ≠ 0, the subgraph construction unit 11 increments i by +1. With this +1 increment, the subgraph G i calculated by the subgraph construction unit 11 becomes the subgraph G i−1 . Then, the subgraph construction unit 11 calculates the candidate node C i based on Expression (5) in Definition 3 and Expression (6) in Definition 4. Then, the subgraph construction unit 11 calculates a set R i of nodes that can reach the subgraph G i−1 from the candidate node C i by breadth-first search based on the lemma 7. Then, the subgraph construction unit 11 calculates the subgraph G i from the node set R i based on the definition 5 and outputs the sub graph G i to the random walk probability calculation unit 12.

ランダムウォーク確率計算部12は、部分グラフ構築部11が出力した部分グラフGを入力とし、補助定理6および定義6に基づいて、部分グラフGに対応するランダムウォークの確率r[u]を計算し、推定値計算部13へ出力する。 The random walk probability calculation unit 12 receives the subgraph G i output from the subgraph construction unit 11 and, based on the lemma 6 and definition 6, the random walk probability r i [u] corresponding to the subgraph G i . Is output to the estimated value calculation unit 13.

推定値計算部13は、ランダムウォーク確率計算部12が出力したランダムウォークの確率r[u]および部分グラフ構築部11が計算した候補ノードCから、定義6に基づいて、候補ノードCの全てのノードに対してPageRankのスコアの下限値の推定値および上限値の推定値を計算する。そして、推定値計算部13は、計算した推定値を、候補ノード計算部14へ出力する。 Estimated value calculating section 13, from the probability r i [u] and the candidate node C i the partial graph construction unit 11 has calculated the random walk random walk probability calculation unit 12 is output, based on the definition 6, the candidate node C i The estimated value of the lower limit value and the upper limit value of the PageRank score are calculated for all the nodes. Then, the estimated value calculation unit 13 outputs the calculated estimated value to the candidate node calculation unit 14.

候補ノード計算部14は、部分グラフ構築部11が計算した候補ノードCから、i番目の繰り返し計算におけるk番目に高い下限値である閾値εを計算する。そして、候補ノード計算部14は、定義3および定義4、ならびに、計算した閾値εに基づいて、(i+1)回目の繰り返し計算における候補ノードの集合Ci+1を計算する。そして、候補ノード計算部14は、候補ノードの集合Ci+1の要素数|Ci+1|がkに等しいか否かを判定する。そして、候補ノード計算部14は、要素数|Ci+1|がkに等しい場合には、候補ノードの集合Ci+1を解ノードとして出力する。一方、候補ノード計算部14は、要素数|Ci+1|がkと異なる場合には、部分グラフ構築部11に対して、iの+1インクリメント処理以降の処理をおこなわせる。 The candidate node calculation unit 14 calculates a threshold value ε i that is the kth highest lower limit value in the i th iterative calculation from the candidate nodes C i calculated by the subgraph construction unit 11. Then, the candidate node calculation unit 14 calculates a set C i + 1 of candidate nodes in the (i + 1) -th iterative calculation based on the definitions 3 and 4 and the calculated threshold value ε i . Then, the candidate node calculation unit 14 determines whether or not the number of elements | C i + 1 | of the candidate node set C i + 1 is equal to k. If the number of elements | C i + 1 | is equal to k, the candidate node calculation unit 14 outputs the candidate node set C i + 1 as a solution node. On the other hand, when the number of elements | C i + 1 | is different from k, the candidate node calculation unit 14 causes the subgraph construction unit 11 to perform processing after the i + 1 increment processing.

(検索処理)
図2は、検索処理を示すフローチャートである。まず、検索装置10の部分グラフ構築部11は、問い合わせに用いるグラフGと、解ノードの個数を示すk(kはノードの数を超えない正整数)の入力を受け付ける(ステップS10)。続いて、検索装置10の部分グラフ構築部11は、繰り返し計算回数を示すiに0をセットし、候補ノードの集合Vの初期集合にCをセットし、グラフGの部分グラフの初期集合にGをセットする初期化をおこなう(ステップS12)。
(Search process)
FIG. 2 is a flowchart showing the search process. First, the subgraph construction unit 11 of the search device 10 receives an input of a graph G used for an inquiry and k indicating the number of solution nodes (k is a positive integer not exceeding the number of nodes) (step S10). Subsequently, subgraph constructing unit 11 of the retrieval device 10 is to set to zero i indicating the number of repetitive calculations, it sets C 0 to initial set of the set V of the candidate nodes, the initial set of subgraphs of the graph G It performs initialization to set the G 0 (step S12).

続いて、検索装置10の部分グラフ構築部11は、i≠0であるか否かを判定する(ステップS13)。検索装置10の部分グラフ構築部11は、i≠0である場合に(ステップS13Yes)、ステップS14へ処理を移す。一方、検索装置10の部分グラフ構築部11は、i=0である場合に(ステップS13No)、ステップS17へ処理を移す。   Subsequently, the subgraph construction unit 11 of the search device 10 determines whether i ≠ 0 (step S13). The subgraph construction unit 11 of the search device 10 moves the process to step S14 when i ≠ 0 (step S13 Yes). On the other hand, when i = 0 (No in step S13), the subgraph building unit 11 of the search device 10 moves the process to step S17.

ステップS14では、検索装置10の部分グラフ構築部11は、iを+1インクリメントする。続いて、検索装置10の部分グラフ構築部11は、定義3の式(5)および定義4の式(6)に基づいて候補ノードCを計算し、補助定理7に基づいて、幅優先探索により、候補ノードCから部分グラフGi−1に到達可能なノードの集合Rを計算する(ステップS15)。続いて、検索装置10の部分グラフ構築部11は、定義5に基づいて、ノードの集合Rから部分グラフGを計算する(ステップS16)。 In step S14, the subgraph construction unit 11 of the search device 10 increments i by +1. Subsequently, the subgraph construction unit 11 of the search device 10 calculates the candidate node C i based on the expression (5) of the definition 3 and the expression (6) of the definition 4, and performs the breadth-first search based on the auxiliary theorem 7. Then, a set R i of nodes that can reach the subgraph G i−1 from the candidate node C i is calculated (step S15). Subsequently, the subgraph construction unit 11 of the search device 10 calculates the subgraph G i from the node set R i based on the definition 5 (step S16).

続いて、検索装置10のランダムウォーク確率計算部12は、補助定理6および定義6に基づいて、部分グラフGに対応するランダムウォークの確率r[u]を計算する(ステップS17)。 Subsequently, the random walk probability calculation unit 12 of the search device 10 calculates a random walk probability r i [u] corresponding to the subgraph G i based on the lemma 6 and the definition 6 (step S17).

続いて、検索装置10の推定値計算部13は、ランダムウォークの確率r[u]および候補ノードCから、定義6に基づいて、候補ノードCの全てのノードに対してPageRankのスコアの下限値の推定値および上限値の推定値を計算する(ステップS18)。 Subsequently, the estimated value calculation unit 13 of the search device 10 calculates the PageRank score for all the nodes of the candidate nodes C i based on the definition 6 from the random walk probability r i [u] and the candidate nodes C i. An estimated value of the lower limit value and an estimated value of the upper limit value are calculated (step S18).

続いて、検索装置10の候補ノード計算部14は、候補ノードCから閾値εを計算し、定義3および定義4、ならびに、閾値εに基づいて、(i+1)回目の繰り返し計算における候補ノードの集合Ci+1を計算する(ステップS19)。続いて、検索装置10の候補ノード計算部14は、候補ノードの集合Ci+1の要素数|Ci+1|がkに等しいか否かを判定する(ステップS20)。検索装置10の候補ノード計算部14は、要素数|Ci+1|がkに等しい場合には(ステップS20Yes)、ステップS21へ処理を移す。一方、検索装置10の候補ノード計算部14は、要素数|Ci+1|がkと異なる場合には(ステップS20No)、ステップS14へ処理を移す。ステップS21では、検索装置10の候補ノード計算部14は、候補ノードCi+1を、解ノードとして出力する。ステップS21が終了すると、検索装置10は、検索処理を終了する。 Subsequently, the candidate node calculator 14 of the retrieval device 10, the threshold epsilon i calculated from the candidate node C i, Definition 3 and definitions 4, and, on the basis of the threshold epsilon i, candidates in (i + 1) th iteration of A node set C i + 1 is calculated (step S19). Subsequently, the candidate node calculation unit 14 of the search device 10 determines whether or not the number of elements | C i + 1 | of the candidate node set C i + 1 is equal to k (step S20). If the number of elements | C i + 1 | is equal to k (Yes in step S20), the candidate node calculation unit 14 of the search device 10 moves the process to step S21. On the other hand, if the number of elements | C i + 1 | is different from k (No in step S20), the candidate node calculation unit 14 of the search device 10 moves the process to step S14. In step S21, the candidate node calculation unit 14 of the search device 10 outputs the candidate node C i + 1 as a solution node. When step S21 ends, the search device 10 ends the search process.

以上の検索処理によれば、検索における事前計算を要さず、アドホックに検索をおこなうことができる。また、以上の検索処理によれば、内部パラメータの設定を要さないため、ユーザは、簡易にPageRankによる検索を行うことができる。   According to the above search processing, it is possible to perform an ad hoc search without requiring a prior calculation in the search. Further, according to the above search processing, setting of internal parameters is not required, so that the user can easily perform a search by PageRank.

(検索アルゴリズム)
図3は、検索アルゴリズムを示す図である。図3に示す検索アルゴリズムは、図2の検索処理のフローチャートが示す処理に対応する。図3に示すように、検索アルゴリズムは、i=0ならば、定義3および定義5から、集合C、グラフGをそれぞれC=V、G=Gとして初期化する(図3の第2行目〜第3行目)。検索アルゴリズムは、i≠0ならば、グラフGi−1に幅優先探索を用いて集合Cから集合Rを計算する(図3の第7行目)。これは、補助定理7から、部分グラフGに対してG⊆Gi−1という性質があるからである。そして、検索アルゴリズムは、定義5から、集合Rを用いて部分グラフGを計算する(図3の第8行目)。
(Search algorithm)
FIG. 3 is a diagram showing a search algorithm. The search algorithm shown in FIG. 3 corresponds to the process shown in the flowchart of the search process in FIG. As shown in FIG. 3, if i = 0, the search algorithm initializes the set C 0 and the graph G 0 from definitions 3 and 5 as C 0 = V and G 0 = G, respectively (see FIG. 3). 2nd to 3rd lines). If i ≠ 0, the search algorithm calculates the set R i from the set C i using the breadth - first search for the graph G i−1 (the seventh line in FIG. 3). This is because from Lemma 7, there is a property of G i ⊆G i−1 with respect to the subgraph G i . Then, the search algorithm calculates the subgraph G i from the definition 5 using the set R i (the eighth line in FIG. 3).

そして、検索アルゴリズムは、部分グラフGにおける各ノードに対してランダムウォークの確率を計算する(図3の第10行目〜第12行目)。これは、補助定理6から、推定値を計算するためにランダムウォークの確率が必要だからである。そして、検索アルゴリズムは、候補ノードCに対して推定値を計算し(図3の第13行目〜第15行目)、候補ノードCから閾値εを計算する(図3の第16行目)。 Then, the search algorithm calculates the probability of random walk for each node in the subgraph G i (line 10 to line 12 in FIG. 3). This is because the probability of random walk is necessary to calculate the estimated value based on Lemma 6. Then, the search algorithm calculates an estimated value for the candidate node C i (13th to 15th lines in FIG. 3), and calculates a threshold ε i from the candidate node C i (16th line in FIG. 3). Line).

また、検索アルゴリズムは、候補ノードを更新し、Ci+1を計算する(図3の第17行目)。検索アルゴリズムは、集合Ci+1の要素数|Ci+1|がkと等しい、すなわち|Ci+1|=kであれば、補助定理4から、候補ノードの集合Ci+1に含まれるノードは全て解ノードである。よって、繰り返し計算を打ち切り(図3の第18行目)、候補ノードの集合Ci+1を解ノードとして出力する(図3の第19行目)。 Further, the search algorithm updates the candidate node and calculates C i + 1 (the 17th line in FIG. 3). In the search algorithm, if the number of elements | C i + 1 | of the set C i + 1 is equal to k, that is, if | C i + 1 | = k, all the nodes included in the set C i + 1 of candidate nodes are solution nodes from the lemma 4. is there. Therefore, the iterative calculation is aborted (line 18 in FIG. 3), and a set of candidate nodes C i + 1 is output as a solution node (line 19 in FIG. 3).

(実施形態による効果)
以上の実施形態によれば、従来技術の手法と比較して、PageRankのスコアをグラフ全体ではなく部分グラフから計算することにより、高速に検索が可能である。また、以上の実施形態によれば、入力パラメータk(kはノード数を超えない自然数)に対し、PageRankのスコアの正確な上位k個のノードを検索できる。また、以上の実施形態によれば、検索に事前計算を要さず、任意のグラフに対してアドホックに検索をおこなうことができる。また、以上の実施形態によれば、内部パラメータの設定を要さないため、ユーザは、PageRankによる検索を簡易におこなうことができる。
(Effect by embodiment)
According to the above embodiment, compared to the conventional technique, the PageRank score is calculated not from the entire graph but from the partial graph, thereby enabling high-speed search. Further, according to the above-described embodiment, it is possible to search the top k nodes with the correct PageRank score for the input parameter k (k is a natural number not exceeding the number of nodes). Moreover, according to the above embodiment, it is possible to perform an ad hoc search on an arbitrary graph without requiring a prior calculation for the search. Further, according to the above embodiment, since setting of an internal parameter is not required, the user can easily perform a search by PageRank.

(実施形態のシステム構成について)
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散および統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
(System configuration of the embodiment)
Each component of each illustrated apparatus is functionally conceptual and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution and integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.

また、検索装置10においておこなわれる各処理は、全部または任意の一部が、CPU(Central Processing Unit)およびCPUにより解析実行されるプログラムにて実現されてもよい。また、検索装置10においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。   Each process performed in the search device 10 may be realized in whole or in part by a CPU (Central Processing Unit) and a program that is analyzed and executed by the CPU. Each process performed in the search device 10 may be realized as hardware by wired logic.

また、実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上述および図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。   In addition, among the processes described in the embodiment, all or a part of the processes described as being automatically performed can be manually performed. Alternatively, all or part of the processing described as being performed manually can be automatically performed by a known method. In addition, the above-described and illustrated processing procedures, control procedures, specific names, and information including various data and parameters can be changed as appropriate unless otherwise specified.

(プログラムについて)
また、実施形態において説明した検索装置10のCPUなどの制御装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、制御装置が実行する処理をコンピュータが実行可能な言語で記述した検索プログラムを作成することもできる。この場合、コンピュータが検索プログラムを実行することにより、実施形態と同様の効果を得ることができる。さらに、検索プログラムをコンピュータ読み取り可能な記録媒体に記録して、記録媒体に記録された検索プログラムをコンピュータに読み込ませて実行することにより実施形態と同様の処理を実現できる。以下に、図1に示した検索装置10と同様の機能を実現するプログラムを実行するコンピュータの一例を説明する。
(About the program)
It is also possible to create a program in which processing executed by a control device such as the CPU of the search device 10 described in the embodiment is described in a language that can be executed by a computer. For example, a search program in which processing executed by the control device is described in a language that can be executed by a computer can be created. In this case, the same effect as the embodiment can be obtained by the computer executing the search program. Furthermore, the processing similar to the embodiment can be realized by recording the search program on a computer-readable recording medium, and reading and executing the search program recorded on the recording medium. Hereinafter, an example of a computer that executes a program that implements the same function as the search device 10 illustrated in FIG. 1 will be described.

図4は、検索プログラムを実行するコンピュータ1000の一例を示す図である。コンピュータ1000は、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらは、バス1080によって接続される。   FIG. 4 is a diagram illustrating an example of a computer 1000 that executes a search program. The computer 1000 includes a memory 1010 and a CPU 1020. The computer 1000 also includes a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These are connected by a bus 1080.

図4に示すように、メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。また、ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。また、ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。ディスクドライブ1041には、磁気ディスクや光ディスクなどの着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050は、例えばマウス1051、キーボード1052に接続される。また、ビデオアダプタ1060は、例えばディスプレイ1061に接続される。   As shown in FIG. 4, the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012. The ROM 1011 stores a boot program such as BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1031. The disk drive interface 1040 is connected to the disk drive 1041. A removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1041. The serial port interface 1050 is connected to a mouse 1051 and a keyboard 1052, for example. The video adapter 1060 is connected to the display 1061, for example.

ここで、図4に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、検索プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1031に記憶される。   Here, as illustrated in FIG. 4, the hard disk drive 1031 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the search program is stored in, for example, the hard disk drive 1031 as a program module in which a command to be executed by the computer 1000 is described.

また、実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出す。そして、CPU1020が、検索プログラムの各手順を実行する。   The various data described in the embodiment is stored as program data, for example, in the memory 1010 or the hard disk drive 1031. The CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1031 to the RAM 1012 as necessary. Then, the CPU 1020 executes each procedure of the search program.

なお、検索プログラムにかかるプログラムモジュール1093およびプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られない。すなわち、プログラムモジュール1093およびプログラムデータ1094は、着脱可能な記憶媒体に記憶され、ディスクドライブなどを介してCPU1020によって読み出されてもよい。検索プログラムにかかるプログラムモジュール1093およびプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)など)を介して接続された他のコンピュータに記憶されていてもよい。そして、プログラムモジュール1093およびプログラムデータ1094は、ネットワークインタフェース1070を介してCPU1020によって読み出され、実行されてもよい。   Note that the program module 1093 and the program data 1094 related to the search program are not limited to being stored in the hard disk drive 1031. That is, the program module 1093 and the program data 1094 may be stored in a removable storage medium and read by the CPU 1020 via a disk drive or the like. The program module 1093 and the program data 1094 related to the search program may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). The program module 1093 and the program data 1094 may be read and executed by the CPU 1020 via the network interface 1070.

10 検索装置
11 部分グラフ構築部
12 ランダムウォーク確率計算部
13 推定値計算部
14 候補ノード計算部
DESCRIPTION OF SYMBOLS 10 Search apparatus 11 Subgraph construction part 12 Random walk probability calculation part 13 Estimated value calculation part 14 Candidate node calculation part

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と異なる場合には、前記部分グラフ構築部に当該をさらに+1インクリメントさせたあらたなiについて前記部分グラフ構築処理を実行させる候補ノード計算部と
を有し、
前記候補ノード計算部が前記部分グラフ構築部に前記あらたなiについて前記部分グラフ構築処理を実行させる場合は、当該あらたなiについて、前記部分グラフ構築部、前記ランダムウォーク確率計算部、前記推定値計算部、前記候補ノード計算部が各処理を再度、順次実行する
ことを特徴とする検索装置。
Accepts an input of k (k is a positive integer not exceeding the number of nodes) indicating the number of solution nodes in the computer network graph in which the devices forming the computer network are nodes and the connections between the devices are edges. A search device for searching and outputting the k solution nodes,
For i that is incremented by +1 with 0 as an initial value, if i = 0, the graph is a partial graph, and if i> 0, it is based on a candidate node in the i-th iteration (i−1). A subgraph construction unit for executing a subgraph construction process for constructing a subgraph of the graph in the i-th iterative calculation from a set of nodes that can reach the subgraph of the graph in the iterative calculation of the first time;
A random walk probability calculation unit for calculating a probability of a random walk corresponding to the subgraph constructed by the subgraph construction unit;
Random walk probability calculated by the random walk probability calculation unit and an estimated value calculation unit for calculating an estimated lower limit value and an estimated upper limit value of PageRank scores for all of the candidate nodes in the i-th iterative calculation When,
When the candidate node in the (i + 1) -th iteration calculation is calculated from the candidate node in the i-th iteration calculation, and the number of elements in the candidate node set in the (i + 1) -th iteration calculation is equal to the k When the set of candidate nodes in the (i + 1) -th iteration calculation is output as a solution node, and the number of elements of the candidate node set in the (i + 1) -th iteration calculation is different from k, the subgraph A candidate node calculation unit that causes the construction unit to execute the subgraph construction process for a new i obtained by further incrementing i by +1,
When the candidate node calculation unit causes the subgraph building unit to execute the subgraph building process for the new i, the subgraph building unit, the random walk probability calculating unit, and the estimated value for the new i A search device, wherein the calculation unit and the candidate node calculation unit sequentially execute each process again.
コンピュータネットワークを形成する機器をノードとし、前記機器間の接続をエッジとする前記コンピュータネットワークのグラフを、解ノードの個数を示す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と異なる場合には、前記部分グラフ構築工程に当該をさらに+1インクリメントさせたあらたなiについて前記部分グラフ構築処理を実行させる候補ノード計算工程と
を含み、
前記候補ノード計算工程が前記部分グラフ構築工程に前記あらたなiについて前記部分グラフ構築処理を実行させる場合は、当該あらたなiについて、前記部分グラフ構築工程、前記ランダムウォーク確率計算工程、前記推定値計算工程、前記候補ノード計算工程が各処理を再度、順次実行する
ことを特徴とする検索方法。
Accepts an input of k (k is a positive integer not exceeding the number of nodes) indicating the number of solution nodes in the computer network graph in which the devices forming the computer network are nodes and the connections between the devices are edges. And a search method executed by a search device that outputs the k solution nodes,
For i that is incremented by +1 with 0 as an initial value, if i = 0, the graph is a partial graph, and if i> 0, it is based on a candidate node in the i-th iteration (i−1). A subgraph construction step of executing a subgraph construction process for constructing a subgraph of the graph in the i-th iteration calculation from a set of nodes that can reach the subgraph of the graph in the iteration computation;
A random walk probability calculation step of calculating a probability of a random walk corresponding to the subgraph constructed by the subgraph construction step;
Estimated value calculating step of calculating the estimated value of the lower limit value and the upper limit value of the PageRank score for all nodes of the candidate node in the random walk probability calculated by the random walk probability calculating step and the i-th iterative calculation When,
When the candidate node in the (i + 1) -th iteration calculation is calculated from the candidate node in the i-th iteration calculation, and the number of elements in the candidate node set in the (i + 1) -th iteration calculation is equal to the k When the set of candidate nodes in the (i + 1) -th iteration calculation is output as a solution node, and the number of elements of the candidate node set in the (i + 1) -th iteration calculation is different from k, the subgraph A candidate node calculation step of executing the subgraph construction processing for a new i obtained by further incrementing the i by +1 in the construction step;
When the candidate node calculation step causes the subgraph construction step to execute the subgraph construction processing for the new i, for the new i, the subgraph construction step, the random walk probability calculation step, and the estimated value A search method, wherein the calculation step and the candidate node calculation step sequentially execute each process again.
コンピュータを、
請求項1に記載の検索装置として機能させるための検索プログラム。
Computer
The search program for functioning as a search device of Claim 1.
JP2013108843A 2013-05-23 2013-05-23 SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM Expired - Fee Related JP6005583B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013108843A JP6005583B2 (en) 2013-05-23 2013-05-23 SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013108843A JP6005583B2 (en) 2013-05-23 2013-05-23 SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM

Publications (2)

Publication Number Publication Date
JP2014229110A JP2014229110A (en) 2014-12-08
JP6005583B2 true JP6005583B2 (en) 2016-10-12

Family

ID=52128898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013108843A Expired - Fee Related JP6005583B2 (en) 2013-05-23 2013-05-23 SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM

Country Status (1)

Country Link
JP (1) JP6005583B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991592B (en) * 2017-03-22 2021-01-01 南京财经大学 Personalized recommendation method based on purchasing user behavior analysis
CN111079058B (en) * 2019-12-16 2023-07-28 武汉大学 Network node representation method and device based on node importance

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5506711B2 (en) * 2011-01-31 2014-05-28 日本電信電話株式会社 Similar node search apparatus, method and program

Also Published As

Publication number Publication date
JP2014229110A (en) 2014-12-08

Similar Documents

Publication Publication Date Title
JP5995409B2 (en) Graphical model for representing text documents for computer analysis
KR102170929B1 (en) User keyword extraction device, method, and computer-readable storage medium
Vora et al. Kickstarter: Fast and accurate computations on streaming graphs via trimmed approximations
US9262484B2 (en) Method for identifying network similarity by matching neighborhood topology
JP6332264B2 (en) Similar data search device, similar data search method, and program
WO2016062044A1 (en) Model parameter training method, device and system
De Vocht et al. Discovering meaningful connections between resources in the web of data
WO2011134141A1 (en) Method of extracting named entity
WO2015192798A1 (en) Topic mining method and device
US8392393B2 (en) Graph searching
JP5964781B2 (en) SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM
JP5506711B2 (en) Similar node search apparatus, method and program
CN106599122B (en) Parallel frequent closed sequence mining method based on vertical decomposition
JP6005583B2 (en) SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM
Garg et al. STIC-D: algorithmic techniques for efficient parallel pagerank computation on real-world graphs
JP6365274B2 (en) Common operation information generation program, common operation information generation method, and common operation information generation device
JP2014146280A (en) Association calculation device, association calculation system, association calculation method, and association calculation program
JP5727421B2 (en) Related node search device, related node search method, and program
JP5869948B2 (en) Passage dividing method, apparatus, and program
CN109952742B (en) Graph structure processing method, system, network device and storage medium
JP6261669B2 (en) Query calibration system and method
JP6034240B2 (en) Analysis method, analysis apparatus, and analysis program
JP4959032B1 (en) Web page analysis apparatus and web page analysis program
JP6577922B2 (en) Search apparatus, method, and program
CN110968668A (en) Method and device for calculating similarity of network public sentiment subjects based on hyper-network

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