JP2014146280A - Association calculation device, association calculation system, association calculation method, and association calculation program - Google Patents
Association calculation device, association calculation system, association calculation method, and association calculation program Download PDFInfo
- Publication number
- JP2014146280A JP2014146280A JP2013015911A JP2013015911A JP2014146280A JP 2014146280 A JP2014146280 A JP 2014146280A JP 2013015911 A JP2013015911 A JP 2013015911A JP 2013015911 A JP2013015911 A JP 2013015911A JP 2014146280 A JP2014146280 A JP 2014146280A
- Authority
- JP
- Japan
- Prior art keywords
- node
- relevance
- calculation
- edge
- association
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、関連度計算装置、関連度計算システム、関連度計算方法および関連度計算プログラムに関する。 The present invention relates to an association degree calculation device, an association degree calculation system, an association degree calculation method, and an association degree calculation program.
従来、データ間の関係などをノードとエッジの関係で表現するデータモデルであるグラフ構造データが知られている。例えば、図14に例示するようなコンピュータとそれらの接続関係が与えられた時に、グラフ構造データを用いることによって、これらコンピュータとそれらの接続関係を、図15に例示するようなデータモデルで表現することができる。近年、Personalized Searchへのグラフ理論の適用による高度で高品質な検索処理の実現等により、グラフ理論の利用に関する関心が高まりつつある。このグラフ理論の利用において、ノード間の関連度は重要な属性の一つであり、様々な分野のアプリケーションに適用されており、各種の関連度の計算手法が提案されている。 Conventionally, graph structure data, which is a data model that expresses a relationship between data by a relationship between nodes and edges, is known. For example, when the computers and their connection relationships illustrated in FIG. 14 are given, the graph structure data is used to express these computers and their connection relationships in a data model as illustrated in FIG. be able to. In recent years, interest in the use of graph theory has increased due to the realization of advanced and high-quality search processing by applying graph theory to Personalized Search. In using this graph theory, the degree of association between nodes is one of the important attributes, and it is applied to applications in various fields, and various methods for calculating the degree of association have been proposed.
このような関連度の計算手法として、例えば、Personalized Page Rankという計算手法が、ノード間の関連度の計算手法として注目を集めているもののひとつである。Personalized Page Rankは、今までグラフ理論でよく用いられてきたノード間の最短距離などと異なり、グラフの構造的な特徴に基づいて関連度が計算できる。 As such a relevance calculation method, for example, a calculation method called Personalized Page Rank is one of the methods attracting attention as a relevance calculation method between nodes. Personalized Page Rank can calculate the degree of relevance based on the structural features of the graph, unlike the shortest distance between nodes that has been often used in graph theory.
このPersonalized Page Rankでは、問い合わせ分布に基づいた各ノードの存在確率からランダムウォークを開始し、隣接するノードにエッジの重みに比例した確率でランダムに移動する。さらにノードに到達するたびに一定の確率で問い合わせ分布に基づいた確率でノードに戻る。この操作を再帰的に繰り返した結果として各ノードにおける定常状態確率が得られるが、Personalized Page Rankでは、この得られた定常状態確率を関連度とする手法である。 In this Personalized Page Rank, a random walk is started from the existence probability of each node based on the query distribution, and moves randomly to an adjacent node with a probability proportional to the edge weight. Furthermore, every time the node is reached, the node returns to the node with a probability based on the query distribution with a certain probability. As a result of recursively repeating this operation, a steady state probability at each node is obtained. In Personalized Page Rank, the obtained steady state probability is a method of using the degree of relevance.
ここで、図16を参照して、Personalized Page Rankにおいて、関連度を計算するためのアルゴリズムの一例について説明する。図16の例では、このアルゴリズムにおいてVとCuをそれぞれグラフにおける全てのノードの集合及びノードuから出ているエッジがつながっている隣接ノードの集合とする。またs′を繰り返しにおいて計算される更新後の関連度とし、pをノード間で計算される関連度の伝搬値とする。ここで伝搬値とは、ノードの関連度とエッジの重みをかけたものである。 Here, with reference to FIG. 16, an example of an algorithm for calculating the degree of association in the Personalized Page Rank will be described. In the example of FIG. 16, in this algorithm, V and Cu are set as a set of all nodes in the graph and a set of adjacent nodes to which edges coming from the node u are connected. In addition, s ′ is a relevance degree after update calculated in repetition, and p is a propagation value of the relevance degree calculated between nodes. Here, the propagation value is obtained by multiplying the degree of relevance of the node and the weight of the edge.
図16に示すように、はじめに関連度の分布sを問い合わせ分布dに初期化する(1行目参照)。そして、繰り返し計算のなかで、まず更新後の関連度を0に初期化する(3〜5行目参照)。その後、すべてのノードに対してそれらのノードから出ているエッジが他のノードに伝搬する関連値を計算する(6〜11行目参照)。そして伝搬された関連度から更新後の関連度を求める(12,13行目参照)。その後、所定の繰り返し条件が満たされるまで、グラフ全体を用いた関連度の計算を再帰的に実行する。 As shown in FIG. 16, first, the relevance distribution s is initialized to the inquiry distribution d (see the first line). Then, in the repetitive calculation, first, the degree of association after the update is initialized to 0 (see the third to fifth lines). After that, for all the nodes, the related values that the edges coming out of those nodes propagate to other nodes are calculated (see the 6th to 11th lines). Then, the updated degree of association is obtained from the propagated degree of association (see the 12th and 13th lines). Thereafter, the relevance calculation using the entire graph is recursively executed until a predetermined repetition condition is satisfied.
しかしながら、上記した従来の技術では、グラフ全体を用いた関連度の計算を繰り返し行っているので、関連度の算出に要する計算量が多いという問題がある。このため、高度で効率的な検索処理の実現等、実用的なアプリケーションで関連度を有効に利用するためには、関連度の算出に要する計算量を削減し、関連度計算を効率的に実現することが課題となる。 However, in the above-described conventional technique, since the calculation of the degree of association using the entire graph is repeatedly performed, there is a problem that the amount of calculation required for calculating the degree of association is large. For this reason, in order to effectively use relevance in practical applications such as realization of advanced and efficient search processing, the amount of calculation required to calculate relevance is reduced and relevance is efficiently calculated. It becomes a problem to do.
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、関連度算出の計算量を抑制する技術を備えた関連度計算の仕組みを提供することを目的とする。 Accordingly, the present invention has been made to solve the above-described problems of the related art, and an object of the present invention is to provide a relevance calculation mechanism having a technique for suppressing the calculation amount of relevance calculation.
上述した課題を解決し、目的を達成するために、本発明に係る関連度計算装置は、データ間の関係をノードとエッジの関係で表現するデータモデルであるグラフ構造データにおいて、ノードから隣接ノードに対する伝搬値をノードの関連度とエッジの重みを用いてエッジごとに計算し、該エッジの伝搬値を用いてノードの集合体に対する各ノードの関連度を繰り返し計算する関連度計算部と、前記関連度計算部によって前記ノードの関連度が計算されるたびに、前記ノードの関連度または前記エッジの伝搬値に基づいて、所定のノードを計算対象のノードから除外する削除部と、を備え、前記関連度計算部は、前記所定のノードが除外された前記計算対象のノードの前記関連度を計算することを特徴とする。 In order to solve the above-described problems and achieve the object, the relevance calculation apparatus according to the present invention is a graph structure data that is a data model that expresses a relationship between data as a relationship between a node and an edge. A relevance calculation unit for calculating a propagation value for each node using the relevance of the node and the weight of the edge, and repeatedly calculating the relevance of each node with respect to the aggregate of nodes using the propagation value of the edge; A deletion unit that excludes a predetermined node from a calculation target node based on the degree of association of the node or the propagation value of the edge each time the degree of association of the node is calculated by the degree of association calculation unit, The relevance calculation unit calculates the relevance of the calculation target node from which the predetermined node is excluded.
また、本発明に係る関連度計算システムは、データ間の関係をノードとエッジの関係で表現するデータモデルであるグラフ構造データにおいて、ノードから隣接ノードに対する伝搬値をノードの関連度とエッジの重みを用いてエッジごとに計算し、該エッジの伝搬値を用いてノードの集合体に対する各ノードの関連度を繰り返し計算する関連度計算部と、前記関連度計算部によって前記ノードの関連度が計算されるたびに、前記ノードの関連度または前記エッジの伝搬値に基づいて、所定のノードを計算対象のノードから除外する削除部と、を備え、前記関連度計算部は、前記所定のノードが除外された前記計算対象のノードの前記関連度を計算することを特徴とする。 In addition, the relevance calculation system according to the present invention is a graph structure data that is a data model that expresses a relationship between data as a relationship between a node and an edge. And a relevance calculation unit that repeatedly calculates the relevance of each node to a set of nodes using the propagation value of the edge, and the relevance of the node is calculated by the relevance calculation unit. A deletion unit that excludes a predetermined node from a calculation target node based on the relevance level of the node or the propagation value of the edge each time the relevance calculation unit includes the predetermined node. The degree of association of the excluded nodes to be calculated is calculated.
また、本発明に係る関連度計算方法は、データ間の関係をノードとエッジの関係で表現するデータモデルであるグラフ構造データにおいて、ノードから隣接ノードに対する伝搬値をノードの関連度とエッジの重みを用いてエッジごとに計算し、該エッジの伝搬値を用いてノードの集合体に対する各ノードの関連度を繰り返し計算する関連度計算工程と、前記関連度計算工程によって前記ノードの関連度が計算されるたびに、前記ノードの関連度または前記エッジの伝搬値に基づいて、所定のノードを計算対象のノードから除外する削除工程と、を含み、前記関連度計算工程は、前記所定のノードが除外された前記計算対象のノードの前記関連度を計算することを特徴とする。 In addition, the relevance calculation method according to the present invention is a graph model data representing a data model that expresses a relationship between data as a relationship between a node and an edge. The relevance calculation step of calculating the relevance of each node with respect to the aggregate of nodes using the propagation value of the edge, and the relevance of the node is calculated by the relevance calculation step. Each step of deleting the predetermined node from the calculation target node based on the relevance of the node or the propagation value of the edge, and the relevance calculation step includes: The degree of association of the excluded nodes to be calculated is calculated.
また、本発明に係る関連度計算プログラムは、データ間の関係をノードとエッジの関係で表現するデータモデルであるグラフ構造データにおいて、ノードから隣接ノードに対する伝搬値をノードの関連度とエッジの重みを用いてエッジごとに計算し、該エッジの伝搬値を用いてノードの集合体に対する各ノードの関連度を繰り返し計算する関連度計算ステップと、前記関連度計算ステップによって前記ノードの関連度が計算されるたびに、前記ノードの関連度または前記エッジの伝搬値に基づいて、所定のノードを計算対象のノードから除外する削除ステップと、をコンピュータに実行させ、前記関連度計算ステップは、前記所定のノードが除外された前記計算対象のノードの前記関連度を計算することを特徴とする。 In addition, the relevance calculation program according to the present invention provides the propagation value from a node to an adjacent node using the relationship between the node and the edge weight in the graph structure data that is a data model expressing the relationship between the data by the relationship between the node and the edge. The relevance calculation step of repeatedly calculating the relevance of each node with respect to the aggregate of nodes using the propagation value of the edge, and calculating the relevance of the node by the relevance calculation step Each time, the computer executes a deletion step of excluding a predetermined node from the calculation target node based on the degree of association of the node or the propagation value of the edge. The relevance level of the calculation target node from which the node is excluded is calculated.
実施形態に係る関連度計算装置、関連度計算システム、関連度計算方法および関連度計算プログラムによれば、関連度算出の計算量を抑制する技術を備えた関連度計算の仕組みを提供することができるという効果を奏する。 According to the relevance calculation device, the relevance calculation system, the relevance calculation method, and the relevance calculation program according to the embodiment, it is possible to provide a relevance calculation mechanism having a technique for suppressing the calculation amount of relevance calculation. There is an effect that can be done.
以下に添付図面を参照して、この発明に係る関連度計算装置、関連度計算システム、関連度計算方法および関連度計算プログラムの実施例を詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。例えば、以下の説明では、Personalized Page Rankを用いて関連度を計算する場合の例を用いて説明するが、これに限定されるものではなく、Personalized Page Rank以外の手法(例えば、Page RankやRandom walk with restart)などを用いて関連度を計算する場合にも本発明を適用することができる。 Exemplary embodiments of an association degree calculation device, an association degree calculation system, an association degree calculation method, and an association degree calculation program according to the present invention will be described below in detail with reference to the accompanying drawings. Note that the present invention is not limited to the embodiments. For example, in the following explanation, an example of calculating the degree of relevance using Personalized Page Rank will be described, but the present invention is not limited to this. Methods other than Personalized Page Rank (for example, Page Rank and Random The present invention can also be applied to the case where the relevance is calculated using “walk with restart” or the like.
以下の実施例では、実施例1に係る関連度計算システムに含まれる関連度計算装置の構成、処理の流れを順に説明し、最後に実施例1による効果を説明する。 In the following embodiments, the configuration of the relevance calculation device included in the relevance calculation system according to the first embodiment and the flow of processing will be described in order, and finally the effects of the first embodiment will be described.
[関連度計算装置の構成]
まず、実施例1における関連度計算システムに含まれる関連度計算装置10について図1を用いて説明する。図1は、実施例1に係る関連度計算装置10の構成を説明するための図である。図1に示すように、実施例1における関連度計算システムは、関連度計算装置10およびユーザ端末20を有する。関連度計算システム10およびユーザ端末20は、例えば、インターネット等(図示せず)を介して、接続されている。
[Configuration of relevance calculation device]
First, the
この関連度計算装置10は、通信制御部11および制御部12を有し、インターネット等を介してユーザ端末20と接続される。以下にこれらの各部の処理を説明する。
The degree-of-
通信制御部11は、インターネット等を介して接続されるユーザ端末20との間でやり取りする各種情報に関する通信を制御する。具体的には、通信制御部11は、問い合わせ分布dと、グラフの隣接行列Wと、再開始確率cと、繰り返し計算回数Tと、枝刈りの閾値θとをユーザ端末20から受信する。また、通信制御部11は、計算した関連度分布をユーザ端末20に対して送信する。
The
制御部12は、関連度計算装置10において実行される各種処理を制御する。具体的には、制御部12は、図1に示すように、関連度計算部12aおよび削除部12bを有する。
The
関連度計算部12aは、データ間の関係をノードとエッジの関係で表現するデータモデルであるグラフ構造データにおいて、ノードから隣接ノードに対する伝搬値をノードの関連度とエッジの重みを用いてエッジごとに計算し、該エッジの伝搬値を用いてノードの集合体に対する各ノードの関連度を繰り返し計算する。また、関連度計算部12aは、後述する削除部12bにより所定のノードが除外された計算対象のノードの関連度を計算する。また、関連度計算部12aは、予め設定された繰り返し計算回数Tに応じて、ノードの関連度を繰り返し計算する。
The degree-of-
例えば、関連度計算部12aは、図2に例示するアルゴリズムを用いて、各ノードの関連度を計算する。図2は、関連度を計算するためのアルゴリズムの一例を示す図である。図2におけるアルゴリズムにおいてVとCuをそれぞれグラフにおける全てのノードの集合及びノードuから出ているエッジがつながっている隣接ノードの集合とする。また、s′を繰り返しにおいて計算される更新後の関連度とし、pをノード間で計算される関連度の伝搬値とする。また、更新後のあるノードの関連度の値は、そのノードにつながっている隣接ノードからの伝搬値の総和から計算される。V′を枝刈り後のノードの集合とし、θを枝刈りにおける閾値とする。
For example, the
図2に示すように、関連度計算部12aは、まず関連度の分布sを問い合わせ分布dに初期化し、ノードの集合V′をノード全体の集合Vに初期化する(1〜2行目参照)。また、関連度計算部12aは、計算回数tを「1」とする。そして、関連度計算部12aは、ノードuを全てのノードの集合Vから選択し、ノードの更新後の関連度s′を0に初期化する(4行目〜6行目参照)。
As shown in FIG. 2, the
続いて、関連度計算部12aは、繰り返し計算の中で各ノードからの伝搬値pは全てのノードの集合Vからでなく、伝搬対象を絞り込んだ枝刈り後のノードの集合V′から計算する(7〜12行目参照)。具体的には、関連度計算部12aは、ノードuをV′から選択し、ノードvをCuから選択する。そして、関連度計算部12aは、ノードの関連度sとエッジの重みを示すグラフの隣接行列Wを乗算して伝搬値pを計算、すなわち、p=W[v,u]s[u]を計算し(9行目参照)、計算したpを用いて、s′[v]=s′[v]+pを計算する(10行目参照)。この処理をV′とCuの全てのノードの組において繰り返し計算する。その後、関連度計算部12aは、s′=(1-c)s′[v]+cdを計算し(13行目参照)、関連度分布sを更新後の関連度s′とする(14行目参照)。そして、関連度計算部12aは、計算した関連度分布sを削除部12bに出力し、削除部12bが有する記憶部(図示せず)に関連度分布sを格納させる。
Subsequently, in the repetitive calculation, the
その後、関連度計算部12aは、ノード関連度s′が枝刈りの閾値θ以上であるノードのみを含むV′が後述する削除部12bにより記憶部(図示せず)が格納され、該V′を読み出して、上記の関連度計算処理を予め設定された繰り返し計算回数Tだけ繰り返し行う。このように、関連度計算部12aは、繰り返し計算のなかで関連度が枝刈りの閾値θ以上の関連度の高いノードからの伝搬に対してのみ関連度の伝搬値を計算し、結果高速に関連度の計算を行う。そして、関連度計算部12aは、関連度の計算処理を繰り返し計算回数Tだけ行うと、計算した関連度分布sをユーザ端末20に出力する。
Thereafter, in the
削除部12bは、関連度計算部12aによってノードの関連度が計算されるたびに、ノードの関連度に基づいて、所定のノードを計算対象のノードから除外する。具体的には、削除部12bは、関連度計算部12aによって計算されたノードの関連度を記憶部から読みだし、該ノードの関連度が枝刈りの閾値未満であるか否かを判定し、ノードの関連度が枝刈りの閾値未満であるノードを計算対象のノードから除外する。
The
図2を参照して説明すると、削除部12bは、枝刈り後のノードの集合は、各繰り返し計算の中で更新された関連度から求める(15〜20行目参照)。具体的には、削除部12bは、図2に示すように、枝刈り後のノードの集合V′を0に初期化した後(15行目参照)、関連度計算部12aによって計算された各ノードuのノード関連度s′が枝刈りの閾値θ以上であるか否かを判定する(17行目参照)。この結果、削除部12bは、ノード関連度s′が枝刈りの閾値θ以上であるノードのみをV′に加え(18行目参照)、ノード関連度s′が枝刈りの閾値θより低いノードを関連度計算対象のノードから削除する。その後、削除部12bは、枝刈り後のノードの集合V′を関連度計算部12aに出力し、関連度計算部12aが有する記憶部(図示せず)にノードの集合V′を格納させる。
If it demonstrates with reference to FIG. 2, the
ここで、図3〜図5を用いて、関連度計算装置10が実行する関連度計算処理の概要を説明する。図3は、ノードとエッジで表現されるグラフと、問い合わせ分布の値の一例を示す図である。図4は、ノードとエッジで表現されるグラフと、関連度の値の一例を示す図である。図5は、ノードの枝刈りが行われた後のノードとエッジで表現されるグラフと、関連度の値の一例を示す図である。
Here, the outline | summary of the relevance calculation process which the relevance
図3〜図5の例では、複数のノードA〜Hが存在し、ノード間がエッジで結合されている。まず、図3に示すように、問い合わせ分布から決定される存在確率がノードA〜Cに対して設定されている。また、図3に例示するように、ノードAの存在確率が「0.5」であり、ノードBの存在確率が「0.25」であり、ノードCの存在確率が「0.25」である。ここで存在確率とは、ランダムウォークが開始される各ノードの確率である。具体例な例を挙げて説明すると、例えば、ノードA〜Cは、ユーザがブックマークしているサイトであり、存在確率とは、ユーザが最初にアクセスするであろう各サイトの確率である。 In the example of FIGS. 3 to 5, there are a plurality of nodes A to H, and the nodes are connected by edges. First, as shown in FIG. 3, the existence probabilities determined from the query distribution are set for the nodes A to C. Further, as illustrated in FIG. 3, the existence probability of the node A is “0.5”, the existence probability of the node B is “0.25”, and the existence probability of the node C is “0.25”. is there. Here, the existence probability is a probability of each node at which the random walk is started. For example, the nodes A to C are sites bookmarked by the user, and the existence probability is the probability of each site that the user will access first.
次に、図4に示すように、関連度計算装置10は、最初の関連度計算では、全てについてのノードA〜Hの関連度を計算する。図4に例示するように、ノードAの関連度が「0.22」、ノードBの関連度が「0.18」、ノードCの関連度が「0.21」、ノードDの関連度が「0.18」、ノードEの関連度が「0.11」、ノードFの関連度が「0.05」、ノードGの関連度が「0.02」、ノードHの関連度が「0.33」となっている。ここで関連度とは、問い合わせノードに対して個別化された重要度である。つまり、具体例な例を挙げて説明すると、例えば、ノードA〜Cが、ユーザがブックマークしているニュースサイトである場合には、ブックマークされていないニュースサイトのノードの関連度が高くなる。
Next, as shown in FIG. 4, the
次に、関連度計算装置10は、関連度を計算した後であって、次の関連度計算処理を行う前に、各関連度が枝刈りの閾値よりも低いか否かを判定する。例えば、枝刈りの閾値が「0.04」である場合には、図4の例では、ノードGおよびノードHの関連度が枝刈りの閾値「0.04」よりも低い。このため、図5に例示するように、枝刈りの閾値「0.04」よりも低いノードGおよびノードHが計算対象のノードから削除され、次の関連度計算処理が行われる。
Next, after calculating the relevance level, the relevance
このように、繰り返し計算の中で更新後の関連度が閾値θ未満の関連度の小さいノード(図4、5の例では、ノードG、H)を、計算対象のノードから削除(枝刈り)する。その結果、枝刈りされたノードからの伝搬値を計算する必要がなくなるので、伝搬値量の計算量が削減し、結果高速な関連度の計算が可能になる。なお、この手法は「関連度の小さいノードまたはエッジは更新後の関連度の値に大きな影響を与えない」という知見に基づいている。つまり、関連度の小さいノードまたはエッジを除外した場合であっても、更新後の関連度の値に大きな影響を与えないため、計算対象から除外して計算量を抑制することで、関連度計算を効率的に行うことができる。 In this way, nodes with small relevance with updated relevance less than the threshold θ in the repeated calculation (nodes G and H in the examples of FIGS. 4 and 5) are deleted (pruned) from the calculation target nodes. To do. As a result, there is no need to calculate the propagation value from the pruned node, so the amount of propagation value calculation is reduced, and as a result, the relevance can be calculated at high speed. This method is based on the knowledge that “a node or an edge having a low degree of association does not greatly affect the value of the degree of association after update”. In other words, even if nodes or edges with low relevance are excluded, the relevance value after update is not greatly affected. Can be performed efficiently.
[関連度計算装置による関連度計算処理]
次に、図6を用いて、関連度計算装置10による関連度計算処理の流れを説明する。図6は、実施例1に係る関連度計算装置による関連度計算処理の流れを示すフローチャートである。図6に示すように、関連度計算装置10の関連度計算部12aは、関連度計算開始指示をユーザ端末20から受け付けると(ステップS101肯定)、まず関連度の分布sを問い合わせ分布dに初期化し、ノードの集合V′をノード全体の集合Vに初期化する(ステップS102)。そして、関連度計算部12aは、計算回数tを「1」とする(ステップS103)。
[Relevance calculation processing by relevance calculator]
Next, the flow of relevance calculation processing by the
続いて、関連度計算部12aは、ノードuを一つずつノードの集合Vから選択し(ステップS104)、ノードuの更新後の関連度s′[u]を0に初期化する(ステップS105)。そして、関連度計算部12aは、Vから全てのノードを選択したか否かを判定し(ステップS106)、Vから全てのノードを選択していない場合には(ステップS106否定)、ステップS104に戻る。また、関連度計算部12aは、Vから全てのノードを選択した場合には(ステップS106肯定)、ノードuを一つずつノードの集合V′から選択し(ステップS107)、ノードvを一つずつノードの集合Cuから選択する(ステップS108)。
Subsequently, the
そして、関連度計算部12aは、p=W[v,u]s[u]を計算し、計算したpを用いて、s′[v]=s′[v]+pを計算する(ステップS109)。続いて、関連度計算部12aは、関連度計算部12aは、Cuから全てのノードを選択したか否かを判定し(ステップS110)、Cuから全てのノードを選択していない場合には(ステップS110否定)、ステップS108に戻る。また、関連度計算部12aは、Cuから全てのノードを選択した場合には(ステップS110肯定)、V′から全てのノードを選択したか否かを判定し(ステップS111)、V′から全てのノードを選択していない場合には(ステップS111否定)、ステップS107に戻る。
Then, the
また、関連度計算部12aは、V′から全てのノードを選択した場合には(ステップS111肯定)、s′=(1-c)s′[v]+cdを計算し、関連度分布sを更新後の関連度s′とする(ステップS112)。
Further, when all the nodes are selected from V ′ (Yes at Step S111), the
そして、関連度計算装置10の削除部12bは、枝刈り後のノードの集合V′を0に初期化した後(ステップS113)、ノードuを一つずつノードの集合Vから選択する(ステップS114)。そして、削除部12bは、関連度計算部12aによって計算された各ノードuのノード関連度s′が枝刈りの閾値θ以上であるか否かを判定する(ステップS115)。この結果、削除部12bは、ノードuのノード関連度s′が枝刈りの閾値θ以上である場合には(ステップS115肯定)、ノードuを枝刈り後のノードの集合V′に加え(ステップS116)、ステップS117に進む。また、削除部12bは、ノードuのノード関連度s′が枝刈りの閾値θ未満である場合には(ステップS115否定)、ノード関連度s′が枝刈りの閾値θより低いノードを関連度計算対象のノードから除外して、ステップS117に進む。
Then, the
ステップS117では、削除部12bは、ノードの集合Vから全てのノードを選択したかを判定し、ノードの集合Vから全てのノードを選択していない場合には(ステップS117否定)、ステップS114に戻る。また、削除部12bがノードの集合Vから全てのノードを選択したと判定した場合には(ステップS117肯定)、関連度計算部12aは、計算回数tに1を加算し(ステップS118)、計算回数tが繰り返し計算回数Tを超えたか否かを判定する(ステップS119)。
In step S117, the
この結果、関連度計算部12aは、計算回数tが繰り返し計算回数Tを超えていないと判定した場合には(ステップS119否定)、ステップS104に戻って、関連度計算処理を行う。ここでの関連度計算処理は、関連度の低いノードが除外された計算対象のノードの集合V′から関連度を計算する。また、関連度計算部12aは、計算回数tが繰り返し計算回数Tを超えたと判定した場合には(ステップS119肯定)、関連度分布sをユーザ端末20に出力し(ステップS120)、関連度計算処理を終了する。
As a result, when it is determined that the calculation count t does not exceed the repeat calculation count T (No at Step S119), the
[関連度計算装置による関連度計算処理の実験結果]
次に、実施例1に係る関連度計算装置による関連度計算処理の実験結果について、図7を用いて説明する。なお、実験結果については、あくまで一例であり、これにより構成または処理が限定されるものではない。図7は、実施例1に係る関連度計算装置により関連度の計算を行った場合の結果の一例を示す図である。なお、図7に示す「ノード枝刈り」とは、実施例1に係る関連度計算装置による関連度計算処理の実験結果を示し、「オリジナル」とは、従来のアルゴリズムに従って関連度計算した場合の実験結果を示す。
[Experimental result of relevance calculation processing by relevance calculator]
Next, experimental results of the relevance calculation process performed by the relevance calculation apparatus according to the first embodiment will be described with reference to FIG. In addition, about an experimental result, it is an example to the last, and a structure or a process is not limited by this. FIG. 7 is a diagram illustrating an example of a result when the relevance calculation is performed by the relevance calculation apparatus according to the first embodiment. Note that “node pruning” illustrated in FIG. 7 indicates the experimental result of the relevance calculation processing by the relevance calculation apparatus according to the first embodiment, and “original” indicates the relevance calculation according to the conventional algorithm. Experimental results are shown.
また、この実験においては、ノード数が265214、エッジ数が420045で実験を行った。また、この実験においてはc=0.15,T=100とし、ランダムウォークを開始するノードはランダムに1つ設定した。またノードの枝刈りによる手法においては枝刈りの閾値θを10−3及び10−7にして実験を行った。 In this experiment, the number of nodes was 265214 and the number of edges was 420045. In this experiment, c = 0.15, T = 100, and one random starting node is set at random. In the method of pruning nodes, the experiment was performed with the pruning threshold θ set to 10 −3 and 10 −7 .
図7から本発明は従来の手法と比較して高速に関連度を計算できることがわかる。図7の例では、従来の計算時間が「1.01[s]」であるのに対して、本発明の手法では、閾値θが10−3である場合には、「0.05[s]」であり、閾値θが10−7である場合には、「0.46[s]」である。また、同時に枝刈りの閾値が大きいほうがより高速な関連度の計算が可能であることがわかる。これは閾値が大きい方がより多くのノードを枝刈りできるからである。 FIG. 7 shows that the present invention can calculate the relevance at a higher speed than the conventional method. In the example of FIG. 7, the conventional calculation time is “1.01 [s]”, but in the method of the present invention, when the threshold θ is 10 −3 , “0.05 [s] ] ”And the threshold θ is 10 −7 , it is“ 0.46 [s] ”. It can also be seen that the higher the pruning threshold, the faster the relevance can be calculated. This is because a larger threshold value allows more nodes to be pruned.
また図7から本発明における関連度の誤差が非常に小さい値になることがわかる。図7に示すように、本発明の手法では、閾値θが10−3である場合には、平均誤差が従来の手法に比べて「3.15・10−8」であり、閾値θが10−7である場合には、「4.81・10−11」である。これは、本発明の手法ではノードを枝刈りするが、なるべく関連度の値に影響がないように閾値が設定されているからである。また図7から本発明は閾値が小さい方がより高い精度で関連度を計算できることがわかる。これは閾値が小さい方がより多くのノードまたはエッジが計算対象となるため、関連度の計算精度が向上するためである。これらの結果から本発明において高速な計算を行いたい場合は閾値を大きくし、高精度な計算を行いたい場合は閾値を小さくすればいいことがわかる。 It can also be seen from FIG. 7 that the relevance error in the present invention is a very small value. As shown in FIG. 7, in the method of the present invention, when the threshold θ is 10 −3 , the average error is “3.15 · 10 −8 ” compared to the conventional method, and the threshold θ is 10 When it is −7 , it is “4.81 · 10 −11 ”. This is because the method of the present invention prunes the node, but the threshold value is set so as not to affect the relevance value as much as possible. FIG. 7 also shows that the present invention can calculate the degree of relevance with higher accuracy when the threshold value is smaller. This is because the calculation accuracy of the relevance is improved because more nodes or edges are to be calculated when the threshold value is smaller. From these results, it can be seen that in the present invention, the threshold value should be increased if high-speed calculation is desired, and the threshold value should be decreased if high-precision calculation is desired.
[実施例1の効果]
上述してきたように、実施例1に係る関連度計算装置10は、データ間の関係をノードとエッジの関係で表現するデータモデルであるグラフ構造データにおいて、ノードから隣接ノードに対する伝搬値をノードの関連度とエッジの重みを用いてエッジごとに計算し、該エッジの伝搬値を用いてノードの集合体に対する各ノードの関連度を繰り返し計算する。そして、関連度計算装置10は、ノードの関連度が計算されるたびに、ノードの関連度またはエッジの伝搬値に基づいて、所定のノードを計算対象のノードから除外する。そして、関連度計算装置10は、所定のノードが除外された計算対象のノードの関連度を計算する。これにより、関連度の低いノードを計算対象のノードから除外していくことが出来る結果、関連度算出の計算量を抑制する技術を備えた関連度計算の仕組みを提供することが可能である。また、閾値を調整することにより関連度計算における計算速度の精度の調整が可能である。
[Effect of Example 1]
As described above, the degree-of-
また、実施例1に係る関連度計算装置10は、計算されたノードの関連度が所定の閾値未満であるか否かを判定し、ノードの関連度が閾値未満であるノードを、計算対象のノードから除外する。このため、関連度の低いノードを計算対象のノードから除外していく枝刈りを実行することができ、枝刈りを実行した後の計算処理では、絞り込んだノードから関連度の計算を実行するので、関連度算出の計算量を抑制することが可能である。
Further, the
また、実施例1に係る関連度計算装置10は、予め設定された繰り返し計算回数に応じて、ノードの関連度を繰り返し計算する。このため、関連度計算の繰り返し回数を容易に変更することが可能である。
In addition, the
ところで、上記の実施例1では、関連度が低いノードを計算対象のノードから除外する場合を説明したが、これに限定されるものではなく、例えば、関連度の低いエッジの計算を中止し、エッジにつながれたノードを計算対象から除外するようにしてもよい。そこで、以下で説明する実施例2では、関連度の低いエッジの計算を中止し、エッジにつながれたノードを計算対象から除外する場合について説明する。 By the way, in the above-described first embodiment, a case where a node having a low degree of association is excluded from a calculation target node has been described. However, the present invention is not limited to this. For example, the calculation of an edge having a low degree of association is stopped, You may make it exclude the node connected to the edge from calculation object. Thus, in a second embodiment described below, a case will be described in which calculation of an edge having a low degree of association is stopped and a node connected to the edge is excluded from the calculation target.
まず、図8を用いて、実施例2に係る関連度計算装置10Aの構成について説明する。図8は、実施例2に係る関連度計算装置の構成を説明するための図である。なお、実施例1に係る関連度計算装置10と同様の構成については、説明を省略する。
First, the configuration of the
図8に示すように、実施例2に係る関連度計算装置10Aは、実施例1に係る関連度計算装置10と比較して、並び替え部1c2をさらに有する。並び替え部12cは、ノードごとに該ノードにつながれたエッジの重み値が設定され、該重み値が大きい順にエッジを並び替える。ここで、図3の例を用いて説明すると、並び替え部12cは、ノードAについて、ノードBとつながるエッジ(ここでは、エッジID「1」のエッジとする)およびノードCとつながるエッジ(ここでは、エッジID「2」のエッジとする)の2つのエッジにつながれている。
As illustrated in FIG. 8, the
ここで、図9に例示するように、ノードAとノードBを接続するエッジID1のエッジについて、重み値が「0.6」であり、ノードAとノードCを接続するエッジID2のエッジについて、重み値が「0.4」である場合には、並び替え部12cは、重み値が大きい順として、エッジID1、エッジID2の順に並び替える。図9は、重みの降順で並び替えられたエッジの例を示す図である。
Here, as illustrated in FIG. 9, for the edge of edge ID1 that connects node A and node B, the weight value is “0.6”, and for the edge of edge ID2 that connects node A and node C, When the weight value is “0.4”, the
また、実施例2に係る関連度計算装置10Aの関連度計算部12aは、並び替え部12cに並び替えられた順にエッジの伝搬値を計算し、また、各ノードの関連度を計算する。具体的には、関連度計算部12aは、図10に例示するアルゴリズムを用いて、関連度分布を計算する。図10におけるアルゴリズムにおいてVとCuをそれぞれグラフにおける全てのノードの集合及びノードuから出ているエッジがつながっている隣接ノードの集合とする。また、s′を繰り返しにおいて計算される更新後の関連度とし、pをノード間で計算される関連度の伝搬値とする。また、更新後のあるノードの関連度の値は、そのノードにつながっている隣接ノードからの伝搬値の総和から計算される。V′を枝刈り後のノードの集合とし、θを枝刈りにおける閾値とする。
Further, the
図10に示すように、関連度計算部12aは、まず関連度の分布sを問い合わせ分布に初期化する(1行目参照)。そして繰り返し計算のなかで効率的な計算の枝刈りを行うために、各ノードに対してそれらのノードから出ているエッジをエッジの重み(グラフの隣接行列の非ゼロ要素の大きさに対応)が大きい順で並び替える(2〜4行目参照)。
As shown in FIG. 10, the
そして、関連度計算部12aは、繰り返し計算のなかでは各ノードから他の隣接するノードへの伝搬値pを計算する(11行目参照)。
Then, the
削除部12bは、関連度計算部12aによって計算されたエッジの伝搬値が枝刈り閾値未満であるか否かを判定し、エッジの伝搬値が枝刈り閾値未満である場合には、該エッジの重み値よりも小さい重み値のエッジの伝搬値の計算を中止し、該エッジで接続されるノードを、計算対象のノードから除外する。
The
つまり、各ノードにおいて、エッジの集合を用いて当該ノードに隣接する隣接ノードへの伝搬値を計算する過程で、ある隣接ノードへの伝搬値からその後に計算する他の隣接ノードへの伝搬値が枝刈りの閾値θより小さくなることがわかった段階で当該他の隣接ノードを含む未計算の残りの隣接ノードに対する伝搬値の計算を中止し(計算を枝刈りし)、結果として高速な関連度の計算を行う。 That is, at each node, in the process of calculating the propagation value to the adjacent node adjacent to the node using the set of edges, the propagation value to the other adjacent node calculated thereafter from the propagation value to a certain adjacent node is When it is found that the value is smaller than the pruning threshold value θ, the calculation of the propagation value for the remaining uncalculated adjacent nodes including the other adjacent nodes is stopped (pruning the calculation), and as a result, the relevance is high. Perform the calculation.
具体的には、削除部12bは、図10に示すように、計算された伝搬値が枝刈りの閾値θより小さければそのノードからの以下のエッジの重みを有する未計算の残りの隣接ノードに対する伝搬値の計算を枝刈りする(13〜15行目参照)。これは、エッジが重みの大きい順に並び替えられているため、その後に計算される予定の残りの隣接ノードへの伝搬値がθより大きく以上になることがないからである。この手法は伝搬値が既定の閾値より小さいエッジで接続されるノードへの伝搬値の計算を効率的に枝刈りできるため、高速な関連度の計算が可能である。
Specifically, as shown in FIG. 10, if the calculated propagation value is smaller than the pruning threshold θ, the
[関連度計算装置による関連度計算処理]
次に、図11を用いて、関連度計算装置10Aによる関連度計算処理の流れを説明する。図11は、実施例2に係る関連度計算装置による関連度計算処理の流れを示すフローチャートである。図11に示すように、関連度計算装置10Aの並び替え部12cは、関連度計算開始指示をユーザ端末20から受け付けると(ステップS201肯定)、まず関連度の分布sを問い合わせ分布dに初期化する(ステップS202)。
[Relevance calculation processing by relevance calculator]
Next, the flow of relevance calculation processing by the
続いて、並び替え部12cは、ノードuを一つずつノードの集合Vから選択し(ステップS203)、ノードの集合Cuをエッジの重みの降順でソートする(ステップS204)。そして、並び替え部12cは、Vから全てのノードを選択したか否かを判定し(ステップS205)、Vから全てのノードを選択していない場合には(ステップS205否定)、ステップS203に戻る。また、並び替え部12cがVから全てのノードを選択したと判定した場合には(ステップS205肯定)、関連度計算部12aは、計算回数tを「1」とする(ステップS206)。
Subsequently, the
続いて、関連度計算部12aは、ノードuを一つずつノードの集合Vから選択し(ステップS207)、ノードuの更新後の関連度s′[u]を0に初期化する(ステップS208)。そして、関連度計算部12aは、Vから全てのノードを選択したか否かを判定し(ステップS209)、Vから全てのノードを選択していない場合には(ステップS209否定)、ステップS207に戻る。また、関連度計算部12aは、Vから全てのノードを選択した場合には(ステップS209肯定)、ノードuを一つずつノードの集合V′から選択し(ステップS210)、ノードvを一つずつノードの集合Cuから選択する(ステップS211)。ここでは、ステップS203でソートされた順番に、ノードの集合Cuからノードvを一つずつ選択する。
Subsequently, the
そして、関連度計算部12aは、p=W[v,u]s[u]を計算し、計算したpを用いて、s′[v]=s′[v]+pを計算する(ステップS212)。そして、削除部12bは、計算された伝搬値pが枝刈りの閾値θ未満であるか否かを判定する(ステップS213)。この結果、削除部12bが計算された伝搬値pが枝刈りの閾値θ未満でない場合には(ステップS213否定)、関連度計算部12aは、Cuから全てのノードを選択したか否かを判定し(ステップS214)、Cuから全てのノードを選択していない場合には(ステップS214否定)、ステップS211に戻る。また、Cuから全てのノードを選択した場合には(ステップS214肯定)、ステップS215に進む。また、削除部12bが計算された伝搬値pが枝刈りの閾値θ未満である場合には(ステップS213肯定)、ステップS215に進む。
Then, the
ステップS215では、関連度計算部12aは、ノードの集合Vから全てのノードを選択したかを判定し、ノードの集合Vから全てのノードを選択していない場合には(ステップS215否定)、ステップS210に戻る。また、関連度計算部12aは、ノードの集合Vから全てのノードを選択したと判定した場合には(ステップS215肯定)、s′=(1-c)s′[v]+cdを計算し、関連度分布sを更新後の関連度s′とする(ステップS216)。
In step S215, the
そして、関連度計算部12aは、計算回数tに1を加算し(ステップS217)、計算回数tが繰り返し計算回数Tを超えたか否かを判定する(ステップS218)。
Then, the degree-of-
この結果、関連度計算部12aは、計算回数tが繰り返し計算回数Tを超えていないと判定した場合には(ステップS218否定)、ステップS207に戻って、関連度計算処理を行う。また、関連度計算部12aは、計算回数tが繰り返し計算回数Tを超えたと判定した場合には(ステップS218肯定)、関連度分布sをユーザ端末20に出力し(ステップS219)、関連度計算処理を終了する。
As a result, when it is determined that the calculation count t does not exceed the repeated calculation count T (No at Step S218), the
[関連度計算装置による関連度計算処理の実験結果]
次に、実施例2に係る関連度計算装置による関連度計算処理の実験結果について、図12を用いて説明する。なお、実験結果については、あくまで一例であり、これにより構成または処理が限定されるものではない。図12は、実施例2に係る関連度計算装置により関連度の計算を行った場合の結果の一例を示す図である。なお、図12に示す「エッジ枝刈り」とは、実施例2に係る関連度計算装置による関連度計算処理の実験結果を示し、「オリジナル」とは、従来のアルゴリズムに従って関連度計算した場合の実験結果を示す。
[Experimental result of relevance calculation processing by relevance calculator]
Next, the experiment result of the relevance calculation process performed by the relevance calculation apparatus according to the second embodiment will be described with reference to FIG. In addition, about an experimental result, it is an example to the last, and a structure or a process is not limited by this. FIG. 12 is a diagram illustrating an example of a result when the relevance calculation is performed by the relevance calculation apparatus according to the second embodiment. Note that “edge pruning” illustrated in FIG. 12 indicates an experimental result of the relevance calculation processing by the relevance calculation apparatus according to the second embodiment, and “original” indicates a relevance calculation according to a conventional algorithm. Experimental results are shown.
また、この実験においては、ノード数が265214、エッジ数が420045で実験を行った。また、この実験においてはc=0.15,T=100とし、ランダムウォークを開始するノードはランダムに1つ設定した。またエッジの枝刈りによる手法においては枝刈りの閾値θを10−3及び10−7にして実験を行った。 In this experiment, the number of nodes was 265214 and the number of edges was 420045. In this experiment, c = 0.15, T = 100, and one random starting node is set at random. In the method of edge pruning, experiments were performed with the pruning threshold θ set to 10 −3 and 10 −7 .
図12から本発明は従来の手法と比較して高速に関連度を計算できることがわかる。図12の例では、従来の計算時間が「1.01[s]」であるのに対して、本発明の手法では、閾値θが10−3である場合には、「0.93[s]」であり、閾値θが10−7である場合には、「0.96[s]」である。また、同時に枝刈りの閾値が大きいほうがより高速な関連度の計算が可能であることがわかる。これは閾値が大きい方がより多くのノードまたはエッジを枝刈りできるからである。 FIG. 12 shows that the present invention can calculate the relevance at a higher speed than the conventional method. In the example of FIG. 12, the conventional calculation time is “1.01 [s]”, whereas in the method of the present invention, when the threshold θ is 10 −3 , “0.93 [s] ] ”And the threshold θ is 10 −7 , it is“ 0.96 [s] ”. It can also be seen that the higher the pruning threshold, the faster the relevance can be calculated. This is because a larger threshold value allows more nodes or edges to be pruned.
また図12から本発明における関連度の誤差が非常に小さい値になることがわかる。図12に示すように、本発明の手法では、閾値θが10−3である場合には、平均誤差が従来の手法に比べて「3.54・10−8」であり、閾値θが10−7である場合には、「3.17・10−10」である。これは、本発明はノードまたはエッジを枝刈りするが、なるべく関連度の値に影響がないように閾値が設定されているからである。また図12から本発明は閾値が小さい方がより高い精度で関連度を計算できることがわかる。これは閾値が小さい方がより多くのノードまたはエッジが計算対象となるため、関連度の計算精度が向上するためである。これらの結果から本発明において高速な計算を行いたい場合は閾値を大きくし、高精度な計算を行いたい場合は閾値を小さくすればよいことがわかる。 It can also be seen from FIG. 12 that the relevance error in the present invention is a very small value. As shown in FIG. 12, in the method of the present invention, when the threshold θ is 10 −3 , the average error is “3.54 · 10 −8 ” compared to the conventional method, and the threshold θ is 10 In the case of −7 , it is “3.17 · 10 −10 ”. This is because the present invention prunes a node or an edge, but the threshold is set so that the relevance value is not affected as much as possible. Further, FIG. 12 shows that the present invention can calculate the degree of association with higher accuracy when the threshold value is smaller. This is because the calculation accuracy of the relevance is improved because more nodes or edges are to be calculated when the threshold value is smaller. From these results, it can be seen that in the present invention, the threshold value should be increased if high-speed calculation is desired, and the threshold value should be decreased if high-precision calculation is desired.
[実施例2の効果]
上述してきたように、実施例2に係る関連度計算装置10Aは、ノードごとに該ノードにつながれたエッジの重み値が設定され、該重み値が大きい順にエッジを並び替える。そして、関連度計算装置10Aは、並び替えられた順にエッジの伝搬値を計算し、計算されたエッジの伝搬値が閾値未満であるか否かを判定し、エッジの伝搬値が閾値未満である場合には、該エッジの重み値よりも小さい重み値のエッジの伝搬値の計算を中止し、該エッジで接続されるノードを、計算対象のノードから除外する。これにより、関連度の低いエッジを計算対象から除外していくことが出来る結果、関連度算出の計算量を抑制する技術を備えた関連度計算の仕組みを提供することが可能である。また、閾値を調整することにより関連度計算における計算速度の精度の調整が可能である。
[Effect of Example 2]
As described above, the
ところで、上記実施例1、2における関連度計算装置は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例3では、上記の関連度計算システムの他の実施例について説明する。 By the way, the relevance calculation apparatus in the said Example 1, 2 may be implemented with a various different form other than the Example mentioned above. Therefore, in a third embodiment, another embodiment of the above relevance calculation system will be described.
[繰り返し計算]
上記実施例1、2の関連度計算装置は、繰り返し計算の収束条件として、繰り返し計算回数を予め設定する場合を説明したが、本発明はこれに限定されるものではなく、収束の閾値を予め設定するようにしてもよい。例えば、関連度計算装置は、繰り返し行われる関連度の計算において、今回計算された関連度と前回計算された関連度との差分を計算し、該差分が予め設定された収束の閾値よりも小さい場合には、関連度の計算を終了し、大きい場合には、関連度の計算を繰り返すようにしてもよい。
[Repetition calculation]
The relevance calculation devices of the first and second embodiments have been described with respect to the case where the number of iterations is set in advance as the convergence condition for iterations. However, the present invention is not limited to this, and the convergence threshold is set in advance. You may make it set. For example, in the relevance calculation performed repeatedly, the relevance calculation device calculates a difference between the relevance calculated this time and the relevance calculated last time, and the difference is smaller than a preset convergence threshold. In such a case, the calculation of the degree of association may be terminated, and if it is large, the calculation of the degree of association may be repeated.
[システム構成]
また、本実施例において説明した各処理の内、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[System configuration]
Of the processes described in this embodiment, all or a part of the processes described as being automatically performed can be manually performed, or the processes described as being performed manually can be performed. All or a part can be automatically performed by a known method. In addition, the processing procedures, control procedures, specific names, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。 Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or a part of the distribution / integration may be functionally or physically distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.
[プログラム]
図13は、開示の技術に係る関連度計算プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。図13に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。コンピュータ1000の各部はバス1080によって接続される。
[program]
FIG. 13 is a diagram illustrating that the information processing by the relevance calculation program according to the disclosed technique is specifically realized using a computer. As illustrated in FIG. 13, the
メモリ1010は、図13に例示するように、ROM1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図13に例示するように、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、図13に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1041に挿入される。シリアルポートインタフェース1050は、図13に例示するように、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、図13に例示するように、例えばディスプレイ1061に接続される。
The
ここで、図13に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、開示の技術に係る関連度計算プログラムは、コンピュータによって実行される指令が記述されたプログラムモジュール1093として、例えばハードディスクドライブ1031に記憶される。具体的には、上記実施例で説明した制御部12の各部と同様の情報処理を実行する手順各々が記述されたプログラムモジュールが、ハードディスクドライブ1031に記憶される。
Here, as illustrated in FIG. 13, the hard disk drive 1031 stores, for example, an
また、関連度計算プログラムによる情報処理に用いられるデータは、プログラムデータ1094として、例えばハードディスクドライブ1031に記憶される。そして、CPU1020が、ハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種の手順を実行する。
Further, data used for information processing by the relevance calculation program is stored as
なお、関連度計算プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られない。例えば、プログラムモジュール1093やプログラムデータ1094は、着脱可能な記憶媒体に記憶されても良い。この場合、CPU1020は、ディスクドライブなどの着脱可能な記憶媒体を介してデータを読み出す。また、同様に、関連度計算プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されても良い。この場合、CPU1020は、ネットワークインタフェースを介して他のコンピュータにアクセスすることで各種データを読み出す。
Note that the
[その他]
なお、本実施例で説明した関連度計算プログラムは、インターネットなどのネットワークを介して配布することができる。また、制御プログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
[Others]
The relevance calculation program described in the present embodiment can be distributed via a network such as the Internet. The control program can also be executed by being recorded on a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM, an MO, and a DVD, and being read from the recording medium by the computer.
10、10A 関連度計算装置
11 通信制御部
12 制御部
12a 関連度計算部
12b 削除部
12c 並び替え部
20 ユーザ端末
1000 コンピュータ
1010 メモリ
1020 CPU
1030 ハードディスクドライブインタフェース
1040 ディスクドライブインタフェース
1050 シリアルポートインタフェース
1051 マウス
1052 キーボード
1060 ビデオアダプタ
1061 ディスプレイ
1070 ネットワークインタフェース
1080 バス
1091 OS
1092 アプリケーションプログラム
1093 プログラムモジュール
1094 プログラムデータ
DESCRIPTION OF
1030 Hard
1092
Claims (7)
前記関連度計算部によって前記ノードの関連度が計算されるたびに、前記ノードの関連度または前記エッジの伝搬値に基づいて、所定のノードを計算対象のノードから除外する削除部と、を備え、
前記関連度計算部は、前記所定のノードが除外された前記計算対象のノードの前記関連度を計算することを特徴とする関連度計算装置。 In graph structure data, which is a data model that expresses the relationship between data by the relationship between the node and the edge, the propagation value from the node to the adjacent node is calculated for each edge using the relevance of the node and the edge weight. A relevance calculator that repeatedly calculates the relevance of each node to a set of nodes using a propagation value;
A deletion unit that excludes a predetermined node from a calculation target node based on the association degree of the node or the propagation value of the edge each time the association degree of the node is calculated by the association degree calculation unit. ,
The relevance calculating unit calculates the relevance of the calculation target node from which the predetermined node is excluded.
前記関連度計算部は、前記並び替え部に並び替えられた順にエッジの伝搬値を計算し、
前記削除部は、前記関連度計算部によって計算されたエッジの伝搬値が所定の第2閾値未満であるか否かを判定し、前記エッジの伝搬値が前記第2閾値未満である場合には、該エッジの重み値よりも小さい重み値のエッジの伝搬値の計算を中止し、該エッジで接続されるノードを、前記所定のノードとして、前記計算対象のノードから除外することを特徴とする請求項1に記載の関連度計算装置。 A weighting value of an edge connected to the node is set for each node, and further includes a sorting unit that sorts the edges in descending order of the weighting value,
The relevance calculator calculates edge propagation values in the order rearranged by the rearranger,
The deletion unit determines whether or not the edge propagation value calculated by the relevance calculation unit is less than a predetermined second threshold, and when the edge propagation value is less than the second threshold The calculation of the propagation value of an edge having a weight value smaller than the weight value of the edge is stopped, and a node connected by the edge is excluded from the calculation target node as the predetermined node. The relevance calculation apparatus according to claim 1.
前記関連度計算部によって前記ノードの関連度が計算されるたびに、前記ノードの関連度または前記エッジの伝搬値に基づいて、所定のノードを計算対象のノードから除外する削除部と、を備え、
前記関連度計算部は、前記所定のノードが除外された前記計算対象のノードの前記関連度を計算することを特徴とする関連度計算システム。 In graph structure data, which is a data model that expresses the relationship between data by the relationship between the node and the edge, the propagation value from the node to the adjacent node is calculated for each edge using the relevance of the node and the edge weight. A relevance calculator that repeatedly calculates the relevance of each node to a set of nodes using a propagation value;
A deletion unit that excludes a predetermined node from a calculation target node based on the association degree of the node or the propagation value of the edge each time the association degree of the node is calculated by the association degree calculation unit. ,
The degree-of-association calculation unit calculates the degree of association of the calculation target node from which the predetermined node is excluded.
データ間の関係をノードとエッジの関係で表現するデータモデルであるグラフ構造データにおいて、ノードから隣接ノードに対する伝搬値をノードの関連度とエッジの重みを用いてエッジごとに計算し、該エッジの伝搬値を用いてノードの集合体に対する各ノードの関連度を繰り返し計算する関連度計算工程と、
前記関連度計算工程によって前記ノードの関連度が計算されるたびに、前記ノードの関連度または前記エッジの伝搬値に基づいて、所定のノードを計算対象のノードから除外する削除工程と、を含み、
前記関連度計算工程は、前記所定のノードが除外された前記計算対象のノードの前記関連度を計算することを特徴とする関連度計算方法。 A relevance calculation method executed by a relevance calculation device,
In graph structure data, which is a data model that expresses the relationship between data by the relationship between the node and the edge, the propagation value from the node to the adjacent node is calculated for each edge using the relevance of the node and the edge weight. A relevance calculation step of repeatedly calculating the relevance of each node to a collection of nodes using the propagation value;
A step of removing a predetermined node from the calculation target node based on the degree of association of the node or the propagation value of the edge each time the degree of association of the node is calculated by the degree of association calculation step. ,
The degree-of-association calculating step calculates the degree of association of the calculation target node from which the predetermined node is excluded.
前記関連度計算ステップによって前記ノードの関連度が計算されるたびに、前記ノードの関連度または前記エッジの伝搬値に基づいて、所定のノードを計算対象のノードから除外する削除ステップと、をコンピュータに実行させ、
前記関連度計算ステップは、前記所定のノードが除外された前記計算対象のノードの前記関連度を計算することを特徴とする関連度計算プログラム。 In graph structure data, which is a data model that expresses the relationship between data by the relationship between the node and the edge, the propagation value from the node to the adjacent node is calculated for each edge using the relevance of the node and the edge weight. A relevance calculation step for repeatedly calculating the relevance of each node to a collection of nodes using the propagation value;
A step of removing a predetermined node from a calculation target node based on the degree of association of the node or the propagation value of the edge each time the degree of association of the node is calculated by the degree of association calculation step; To run
The relevance calculation step calculates the relevance of the calculation target node from which the predetermined node is excluded.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013015911A JP5735019B2 (en) | 2013-01-30 | 2013-01-30 | Relevance degree calculation device, relevance degree calculation system, relevance degree calculation method, and relevance degree calculation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013015911A JP5735019B2 (en) | 2013-01-30 | 2013-01-30 | Relevance degree calculation device, relevance degree calculation system, relevance degree calculation method, and relevance degree calculation program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014146280A true JP2014146280A (en) | 2014-08-14 |
JP5735019B2 JP5735019B2 (en) | 2015-06-17 |
Family
ID=51426466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013015911A Active JP5735019B2 (en) | 2013-01-30 | 2013-01-30 | Relevance degree calculation device, relevance degree calculation system, relevance degree calculation method, and relevance degree calculation program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5735019B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017211846A (en) * | 2016-05-26 | 2017-11-30 | ヤフー株式会社 | Retrieval data management device, retrieval data management method, and retrieval data management program |
JP6293335B1 (en) * | 2017-05-19 | 2018-03-14 | ヤフー株式会社 | Generating device, generating method, and generating program |
JP2018195286A (en) * | 2017-12-22 | 2018-12-06 | ヤフー株式会社 | Generation device, generation method, and generation program |
JP2019194815A (en) * | 2018-05-02 | 2019-11-07 | ヤフー株式会社 | Information processing apparatus, information processing method, and information processing program |
WO2022254729A1 (en) * | 2021-06-04 | 2022-12-08 | 日本電信電話株式会社 | Analyzing device, analyzing method, and analyzing program |
-
2013
- 2013-01-30 JP JP2013015911A patent/JP5735019B2/en active Active
Non-Patent Citations (3)
Title |
---|
CSNB201100540001; Amy N. Langville・Carl D.Meyer 著/岩野和生・黒川利明・黒川 洋 訳: Google PageRankの数理 第1版, 20091010, p.39-60, 共立出版株式会社 * |
JPN6014052929; Sepandar Kamvar, Taher Haveliwala and Gene Golub: 'Adaptive methods for the computationof PageRank' Linear Algebra and its Applications Volume 385, 20040715, p.51-65, Elsevier Inc. * |
JPN6014052930; Amy N. Langville・Carl D.Meyer 著/岩野和生・黒川利明・黒川 洋 訳: Google PageRankの数理 第1版, 20091010, p.39-60, 共立出版株式会社 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017211846A (en) * | 2016-05-26 | 2017-11-30 | ヤフー株式会社 | Retrieval data management device, retrieval data management method, and retrieval data management program |
JP6293335B1 (en) * | 2017-05-19 | 2018-03-14 | ヤフー株式会社 | Generating device, generating method, and generating program |
JP2018195156A (en) * | 2017-05-19 | 2018-12-06 | ヤフー株式会社 | Generation device, generation method, and generation program |
JP2018195286A (en) * | 2017-12-22 | 2018-12-06 | ヤフー株式会社 | Generation device, generation method, and generation program |
JP2019194815A (en) * | 2018-05-02 | 2019-11-07 | ヤフー株式会社 | Information processing apparatus, information processing method, and information processing program |
WO2022254729A1 (en) * | 2021-06-04 | 2022-12-08 | 日本電信電話株式会社 | Analyzing device, analyzing method, and analyzing program |
Also Published As
Publication number | Publication date |
---|---|
JP5735019B2 (en) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6870071B2 (en) | Table incremental clustering maintenance | |
JP5735019B2 (en) | Relevance degree calculation device, relevance degree calculation system, relevance degree calculation method, and relevance degree calculation program | |
US20170109207A1 (en) | Data mining method and node | |
US8903824B2 (en) | Vertex-proximity query processing | |
US9383944B2 (en) | Data access analysis using entropy rate | |
US20160299947A1 (en) | Optimized exclusion filters for multistage filter processing in queries | |
EP3304350B1 (en) | Column ordering for input/output optimization in tabular data | |
De Vocht et al. | Discovering meaningful connections between resources in the web of data | |
CN111512283B (en) | Radix estimation in a database | |
Acar et al. | Adaptive inference on general graphical models | |
Liang et al. | Towards compact interpretable models: Shrinking of learned probabilistic sentential decision diagrams | |
WO2014020834A1 (en) | Word latent topic estimation device and word latent topic estimation method | |
US8392393B2 (en) | Graph searching | |
Jin et al. | Accelerating nonlinear dc circuit simulation with reinforcement learning | |
JP6841921B2 (en) | Systems and methods for propagating information across connected entity sets regardless of specific entity type | |
CN107679107B (en) | Graph database-based power grid equipment reachability query method and system | |
JP2014228975A (en) | Retrieval device, retrieval method and retrieval program | |
Garimella et al. | Scalable facility location for massive graphs on pregel-like systems | |
JP5962471B2 (en) | Extraction program, extraction apparatus, and extraction method | |
JP6005583B2 (en) | SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM | |
JP2020009122A (en) | Control program, control method and system | |
Seo et al. | DARK: Deep automatic Redis knobs tuning system depending on the persistence method | |
WO2011016281A2 (en) | Information processing device and program for learning bayesian network structure | |
JP6034240B2 (en) | Analysis method, analysis apparatus, and analysis program | |
JP2017167980A (en) | Feature selection device, feature selection method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141216 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150114 |
|
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: 20150414 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150415 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5735019 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |