WO2019074151A1 - 대용량 그래프를 위한 효율적 노드간 유사도 계산 방법 및 장치 - Google Patents
대용량 그래프를 위한 효율적 노드간 유사도 계산 방법 및 장치 Download PDFInfo
- Publication number
- WO2019074151A1 WO2019074151A1 PCT/KR2017/012962 KR2017012962W WO2019074151A1 WO 2019074151 A1 WO2019074151 A1 WO 2019074151A1 KR 2017012962 W KR2017012962 W KR 2017012962W WO 2019074151 A1 WO2019074151 A1 WO 2019074151A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- section
- score vector
- calculating
- score
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Definitions
- the present invention relates to a method and apparatus for efficiently calculating inter-node similarity for a large-capacity graph, and more particularly, to a method and apparatus for calculating similarity between nodes quickly and accurately using the Random Walk with Restart (RWR) .
- RWR Random Walk with Restart
- Data mining means extracting useful information from large amounts of data. Applying such data mining to a graph is called graph mining. In particular, the technique of determining the priority of nodes included in a graph is called graph ranking.
- Korean Patent Laid-Open Publication No. 2011-0131094 is a document that suggests a method of performing graph ranking.
- this document there is described a method of collecting one or more nodes and edges from an information network, performing a random walk on the collected nodes, storing the obtained sequences in a database, mining the database, .
- the background art described above is technical information acquired by the inventor for the derivation of the present invention or obtained in the derivation process of the present invention, and can not necessarily be a known technology disclosed to the general public before the application of the present invention .
- An object of the present invention is to provide an efficient method and apparatus for calculating similarity between nodes for a large capacity graph.
- An object of the present invention is to provide a similarity calculation method and apparatus for predicting a score vector without calculating a total number of iterations in order to calculate a score vector for calculating inter-node similarity.
- An object of the present invention is to provide a similarity calculation method and apparatus for calculating the similarity between nodes using CPI (Cumulative Power Iteration), which is a form of a repetitive matrix vector product.
- CPI Cumulative Power Iteration
- an apparatus for calculating a degree of similarity between nodes in a large-capacity graph comprising: And an operation performing unit for calculating a score vector by performing an operation corresponding to each section in each of the divided sections.
- a similarity calculation method is characterized in that a similarity calculation apparatus calculates a similarity degree between nodes in a large-capacity graph, the method comprising: calculating a score vector having a score for each of at least one node constituting the graph; Dividing the total number of repetitions of the operation for calculating the score into at least one section and calculating a score vector by performing an operation corresponding to each section in each of the divided sections.
- a computer program for performing a similarity calculation method comprising: a total repetition of an operation for calculating a score vector having a score for each of at least one node constituting the graph; Dividing the number of times into at least one interval, and calculating a score vector by performing an operation corresponding to each interval in each of the divided intervals.
- a computer-readable recording medium on which a program for performing a similarity calculation method is recorded, wherein the similarity calculation method includes: calculating a score vector having a score for each of at least one node constituting the graph; Dividing the total number of iterations of the computation operation into at least one interval, and calculating a score vector by performing an operation corresponding to each interval in each of the divided intervals.
- an embodiment of the present invention can provide a method and apparatus for calculating the similarity between nodes.
- a similarity calculation method of dividing the total number of iterations of an operation for calculating a score vector for calculating the similarity between nodes and reducing the amount of calculation by predicting a score vector for each interval, Device can be presented.
- a method and apparatus for calculating similarities between nodes using CPI Cumulative Power Iteration capable of calculating a repetitive matrix vector product
- FIG. 1 is a diagram illustrating an apparatus for calculating the degree of similarity between nodes according to an embodiment of the present invention.
- FIG. 2 is a flowchart illustrating a method of calculating inter-node similarity according to an embodiment of the present invention.
- 'PageRank' is an algorithm used to measure the importance of a node in a graph. If the number of edges entering the node is large, the page rank score is predicted as a significant node. If the number of edges entering the node is low, And the page rank score is low.
- the page rank score p for all nodes is defined by the following equation.
- the node importance in the macro perspective provided by such page rank does not reflect the preference of each node.
- RWR Random Walk with Restart
- PageRank 1 is the role of the seed vector and is the difference from the RWR. That is, in a page rank, a random walk can be restarted with the same probability at any node in the graph, while in RWR, a random walk can only be restarted at a predetermined seed node.
- CPI 'Cumulative Power Iteration'
- the score is propagated to the neighbor nodes connected to the entry trunk, and the spread score / RTI >
- CPI is the median score vector Which is the final result of laminating the score vector Is the following equation.
- the apparatus 100 for measuring similarity may include an interval dividing unit 110 and an operation performing unit 120.
- the section dividing unit 110 may divide the total number of iterations of the operation for calculating a score vector having at least one node as a score for each of the at least one node constituting the graph into at least one section.
- the first interval score vector Represents the propagation of the score from the seed node to the adjacent node in the repetition interval from 0 to S-1 in the CPI operation.
- the second interval score vector Represents the propagation of the score along the neighbors part
- the third section score vector Represents the point spread from T to the end.
- the interval dividing unit 110 can set S and T to divide the iterative process of the CPI, which is an operation for calculating the score vector, into three intervals as shown in Equation (4).
- the correct RWR score vector is obtained by directly dividing the first section score vector And the predicted second interval score vector And the third section score vector Lt; / RTI >
- the operation performing unit 120 can divide the operation of the score vector corresponding to each section into the divided sections and perform the division.
- the operation performing unit 120 uses the page rank based on the observation that the distribution of scores is more influenced by the trunk line that is distributed than the position of the seed node, A stranger approximation phase may be performed.
- the arithmetic operation unit 120 calculates a first interval score vector Based on the block unit structure of the graph realizing the real world, the second section score vector A neighbor approximation phase may be performed.
- the operation performing unit 120 calculates the first interval score vector And the predicted second interval score vector And the third section score vector Based on the RWR score vector Can be calculated.
- the operation performing unit 120 calculates the second interval score vector And the third section score vector Will be discussed in detail.
- the operation performing unit 120 may predict the third section score vector using the page rank in the stranger prediction step.
- Page rank score vector I the following equation.
- the operation performing unit 120 calculates a second interval score vector Can be predicted.
- the operation performing unit 120 calculates the first interval score vector Can be calculated, and the scaled first section point vector The second interval score vector Can be predicted.
- the first section score vector and the second section score vector are as follows.
- the operation performing unit 120 calculates the first interval score vector And the predicted second interval score vector And the third section score vector Based on the RWR score vector Can be calculated.
- FIG. 2 is a flowchart illustrating a method of calculating a degree of similarity according to an embodiment of the present invention.
- the similarity calculation method according to the embodiment shown in FIG. 2 includes steps that are processed in a time-series manner in the similarity calculation apparatus 100 shown in FIG. Therefore, even if omitted from the following description, the above description of the similarity calculation apparatus 100 shown in FIG. 2 may be applied to the similarity calculation method according to the embodiment shown in FIG.
- the similarity calculation apparatus 100 may divide the total number of iterations of operations for calculating a score vector having an element as a score for each of at least one node constituting the graph into at least one interval (S2001).
- the similarity calculation apparatus 100 may divide the total number of iterations into the first to third intervals based on the number of times the CIP operation for calculating the score vector of the graph is repeated.
- the similarity calculation apparatus 100 may set a reference order for dividing a section.
- the similarity calculation apparatus 100 can acquire from the user a reference order S, which is the number of times the first section and the second section are divided, and a reference order T, which divides the second section and the third section. Based on T, the interval can be divided.
- the similarity calculation apparatus 100 may calculate a score vector by performing an operation corresponding to each section in each divided section.
- the similarity calculation apparatus 100 can calculate the third section score vector by predicting the third section score vector based on the importance of the node determined according to the number of trunks advancing from each node (S2002).
- the similarity calculation apparatus 100 may calculate the page rank score vector from the T order to the last using the page rank, and use the calculated page rank score vector as the predicted third section score vector.
- the similarity calculation apparatus 100 can calculate the first interval score vector (S2003), and can calculate the second interval score vector by scaling the calculated first interval score vector (S2004).
- the similarity calculation apparatus 100 can calculate the RWR score vector from the 0th order to the S-1 in the first period, scales the calculated first interval score vector based on the value by the restart probability c, A two-point score vector can be predicted.
- the similarity calculation apparatus 100 calculates a score vector of the large capacity graph based on the calculated first interval score vector, the predicted second interval score vector, and the third interval score vector (S2005).
- " part " used in the present embodiment means a hardware component such as software or a field programmable gate array (FPGA) or an ASIC, and 'part' performs certain roles.
- 'part' is not meant to be limited to software or hardware.
- &Quot; to " may be configured to reside on an addressable storage medium and may be configured to play one or more processors.
- 'parts' may refer to components such as software components, object-oriented software components, class components and task components, and processes, functions, , Subroutines, segments of program patent code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
- components and components may be implemented to play back one or more CPUs in a device or a secure multimedia card.
- the similarity calculation method according to an embodiment of the present invention may be implemented as a computer program (or a computer program product) including instructions executable by a computer.
- a computer program includes programmable machine instructions that are processed by a processor and can be implemented in a high-level programming language, an object-oriented programming language, an assembly language, or a machine language .
- the computer program may also be recorded on a computer readable recording medium of a type (e.g., memory, hard disk, magnetic / optical medium or solid-state drive).
- the computing device may include a processor, a memory, a storage device, a high-speed interface connected to the memory and a high-speed expansion port, and a low-speed interface connected to the low-speed bus and the storage device.
- a processor may include a processor, a memory, a storage device, a high-speed interface connected to the memory and a high-speed expansion port, and a low-speed interface connected to the low-speed bus and the storage device.
- Each of these components is connected to each other using a variety of buses and can be mounted on a common motherboard or mounted in any other suitable manner.
- processor may process instructions within the computing device, such as to display graphical information to provide a graphical user interface (GUI) on an external input, output device, such as a display connected to a high speed interface And commands stored in memory or storage devices.
- GUI graphical user interface
- multiple processors and / or multiple busses may be used with multiple memory and memory types as appropriate.
- the processor may also be implemented as a chipset comprised of chips comprising multiple independent analog and / or digital processors.
- the memory also stores information within the computing device.
- the memory may comprise volatile memory units or a collection thereof.
- the memory may be comprised of non-volatile memory units or a collection thereof.
- the memory may also be another type of computer readable medium such as, for example, a magnetic or optical disk.
- the storage device can provide a large amount of storage space to the computing device.
- the storage device may be a computer readable medium or a configuration including such a medium and may include, for example, devices in a SAN (Storage Area Network) or other configurations, and may be a floppy disk device, a hard disk device, Or a tape device, flash memory, or other similar semiconductor memory device or device array.
- SAN Storage Area Network
- the present invention relates to a method of calculating the similarity between nodes in a large graph, and more particularly, to a method of computing similarity between nodes in a large graph, and more particularly, There is a possibility of industrial applicability to a method and an apparatus for calculating a degree of similarity that reduces the amount of calculation of a score vector by predicting a score vector for the score vector.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 대용량 그래프에서 노드간 유사도 계산 방법 및 장치에 관한 것이다. 본 발명의 제1 측면에 따르면, 유사도계산장치는, 본 발명의 제 1 측면에 따르면, 대용량 그래프에서 노드간의 유사도를 계산하는 장치에 있어서, 상기 그래프를 구성하는 적어도 하나의 노드 각각에 대한 점수를 원소로 갖는 점수 벡터를 계산하는 연산의 전체 반복횟수를 적어도 하나의 구간으로 분할하는 구간분할부 및 분할된 구간별로 각 구간에 대응되는 연산을 수행하여 점수벡터를 계산하는 연산수행부를 포함할 수 있다.
Description
본 발명은 대용량 그래프를 위한 효율적 노드간 유사도 계산 방법 및 장치에 관한 것으로, 보다 구체적으로는 대용량 그래프에서 RWR (Random Walk with Restart) 기법을 이용한 노드간 유사도를 빠르고 정확하게 계산하는 유사도 계산 방법 및 장치에 관한 것이다.
데이터 마이닝(data mining)이란 많은 양의 데이터로부터 유용한 정보를 추출하는 것을 의미한다. 그리고, 이러한 데이터 마이닝을 그래프에 적용하는 것을 그래프 마이닝이라고 하며, 특히 그래프에 포함된 노드들의 우선순위를 결정하는 기술을 그래프 랭킹(graph ranking)이라고 한다.
최근 SNS 이용률이 증가하고, 인터넷상에 저장되는 웹 문서의 양이 증가하면서, SNS 이용자간의 연결 관계 또는 웹 문서들간의 연결 관계를 나타내는 그래프에서 노드들의 유사도를 파악하는 것이 중요해지고 있다.
그래프 랭킹 수행 방법을 제시하는 문헌으로서, 한국공개특허 제2011-0131094호가 있다. 본 문헌에는 정보 네트워크로부터 하나 이상의 노드들 및 간선들을 수집하고, 수집된 노드들에 랜덤 워크를 수행하여 얻은 시퀀스들을 데이터 베이스에 저장하고, 데이터 베이스를 마이닝하여 정보 네트워크에 존재하는 패턴을 파악하는 내용이 개시되었다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일 실시예는 대용량 그래프를 위한 효율적 노드간 유사도 계산 방법 및 장치를 제공하는 데에 그 목적이 있다.
본 발명의 일 실시예는 노드간 유사도 계산을 위해 점수벡터를 계산하기 위해 전체 반복횟수만큼의 연산을 수행하지 않고도 점수벡터를 예측하는 유사도 계산 방법 및 장치를 제공하는 데에 그 목적이 있다.
본 발명의 일 실시예는 반복 행렬 벡터 곱 형태인 CPI(Cumulative Power Iteration)를 이용하여 노드간의 유사도를 계산하는 유사도 계산 방법 및 장치를 제공하는 데에 그 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따르면, 대용량 그래프에서 노드간의 유사도를 계산하는 장치에 있어서, 상기 그래프를 구성하는 적어도 하나의 노드 각각에 대한 점수를 원소로 갖는 점수 벡터를 계산하는 연산의 전체 반복횟수를 적어도 하나의 구간으로 분할하는 구간분할부 및 분할된 구간별로 각 구간에 대응되는 연산을 수행하여 점수벡터를 계산하는 연산수행부를 포함할 수 있다.
본 발명의 제2 측면에 따르면, 유사도계산방법은, 유사도계산장치가 대용량 그래프에서 노드간의 유사도를 계산하는 방법에 있어서, 상기 그래프를 구성하는 적어도 하나의 노드 각각에 대한 점수를 원소로 갖는 점수 벡터를 계산하는 연산의 전체 반복횟수를 적어도 하나의 구간으로 분할하는 단계 및 분할된 구간별로 각 구간에 대응되는 연산을 수행하여 점수벡터를 계산하는 단계를 포함할 수 있다.
본 발명의 제3 측면에 따르면, 유사도계산방법을 수행하기 위한 컴퓨터 프로그램으로서, 유사도계산방법은 상기 그래프를 구성하는 적어도 하나의 노드 각각에 대한 점수를 원소로 갖는 점수 벡터를 계산하는 연산의 전체 반복횟수를 적어도 하나의 구간으로 분할하는 단계 및 분할된 구간별로 각 구간에 대응되는 연산을 수행하여 점수벡터를 계산하는 단계를 포함할 수 있다.
본 발명의 제 4 측면에 따르면, 유사도계산방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체로서, 유사도계산방법은 상기 그래프를 구성하는 적어도 하나의 노드 각각에 대한 점수를 원소로 갖는 점수 벡터를 계산하는 연산의 전체 반복횟수를 적어도 하나의 구간으로 분할하는 단계 및 분할된 구간별로 각 구간에 대응되는 연산을 수행하여 점수벡터를 계산하는 단계를 포함할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명의 일 실시예는 노드간 유사도 계산 방법 및 장치를 제시할 수 있다.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 노드간 유사도 계산을 위해 점수벡터를 계산하기 위한 연산의 전체 반복횟수를 분할하여 각 구간에 대한 점수벡터를 예측함으로써 계산량을 줄이는 유사도 계산 방법 및 장치를 제시할 수 있다.
그리고 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 반복 행렬 벡터 곱을 계산할 수 있는 CPI(Cumulative Power Iteration)를 이용하여 노드간 유사도 계산 방법 및 장치를 제시할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1 은 본 발명의 일 실시예에 따른 노드간 유사도계산장치를 도시한 도면이다.
도 2 는 본 발명의 일 실시예에 따른 노드간 유사도계산방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
본 발명의 실시예들을 자세히 설명하기에 앞서, 우선 대용량 그래프에서 노드간의 유사도서 이용되는 예측값을 계산하는 페이지랭크(Page Rank)에 대한 설명을 한다.
‘페이지랭크’는 그래프에서 노드의 중요도를 측정하는데 사용되는 알고리즘으로 노드로 진입하는 간선의 수가 많으면 중요 노드로 예측되어 페이지랭크 점수가 높고, 노드로 진입하는 간선의 수가 적으면 중요도가 낮은 노드로 예측되어 페이지랭크 점수가 낮다.
모든 노드에 대한 페이지랭크 점수인 p 는 아래와 같은 수식으로 정의된다.
[수학식 1]
이러한 페이지랭크에 의해 제공되는 거시적 관점에서의 노드 중요성은 각 노드의 선호도를 반영하지 못한다.
반면, ‘RWR(Random Walk with Restart)’은 그래프에서 주어진 시드노드 s에 대한 각 노드의 관련성을 측정할 수 있다. 그래프에서 간선을 따라 이동하고, 노드 s에서 때때로 재시작을 하는 랜덤서퍼를 가정하면, 각 단계에서 랜덤서퍼는 1-c의 확률로 간선을 이동하거나 또는 c의 확률로 시드노드로 점프한다.
여기서 RWR 점수 벡터 r에 대한 반복 수식은 아래와 같다.
[수학식2]
q: 시드노드 s 의 인덱스를 1 로 하고 나머지를 0으로 한 시드벡터
페이지랭크에서 1 은 시드벡터의 역할로 RWR과의 차이점이다. 즉, 페이지랭크에서 랜덤워크는 그래프상의 어느 노드에서 동일한 확률로 재시작할 수 있는 반면, RWR에서 랜덤워크는 기 설정된 시드노드에서만 재시작할 수 있다.
그리고 ‘CPI(Cumulative Power Iteration)’는 RWR의 문제점을 반복 행렬- 벡터 곱 형태(iterative matrix-vector multiplication form)에서 그래프 전체로의 점수 전파로 설명한다.
점수 은 초기 시작 시 시드노드로부터 생성된다. 각 단계에서 점수는 현재 노드의 진출 간선(out-edges)의 개수에 따라 균등하게 나뉘어 ‘1-c’ 만큼 감소되어 전파된다. 예를 들어, 진출간선의 수가 인 노드 v의 점수 는 이웃 노드 v로 만큼 전파된다.
[수학식 3]
이하에서는 상술된 페이지랭킹과 CPI 를 이용하여 대용량 그래프에서 노드간의 유사도를 측정하는 유사도측정장치(100)에 대해 도면을 참조하여 설명한다.
도 1 은 본 발명의 일 실시예에 따른 유사도측정장치(100)의 구성을 나타내는 블록도이다. 도 1 을 참조하면, 본 발명의 일 실시예에 따른 유사도측정장치(100)는 구간분할부(110)와 연산수행부(120)를 포함할 수 있다.
우선, 구간분할부(110)는 그래프를 구성하는 적어도 하나의 노드 각각에 대한 점수를 원소로 갖는 점수 벡터를 계산하는 연산의 전체 반복횟수를 적어도 하나의 구간으로 분할할 수 있다.
[수학식 4]
즉, 구간분할부(110)는 점수 벡터를 계산하는 연산인 CPI의 반복과정을 수학식 4 와 같이 3개의 구간으로 분할하기 위해 S와 T를 설정할 수 있다.
이때 S와 T는 정확도와 계산시간을 고려하여 설정될 수 있다. 그리고 이러한 분할을 통해 정확한 RWR점수벡터는 직접 계산되는 제 1 구간 점수벡터와 예측되는 제 2 구간 점수벡터 및 제 3 구간 점수벡터를 통해 계산될 수 있다.
한편, 연산수행부(120)는 분할된 구간별로 각 구간에 대응되는 점수벡터의 연산을 나누어 수행할 수 있다.
우선, 연산수행부(120)는 점수의 분배가 시드노드의 위치보다 분배되는 간선에 영향을 더 많이 받는 관측을 근거로 페이지랭크를 이용하여 제 3 구간 점수벡터를 예측하는 스트레인저예측단계(stranger approximation phase)를 수행할 수 있다.
그리고 연산수행부(120)는 정확하게 계산되는 제 1 구간 점수벡터를 기초로 실제 세상을 구현한 그래프의 블록 단위 구조의 이점을 이용하여 제 2 구간 점수벡터를 예측하는 네이버예측단계(neighbor approximation phase)를 수행할 수 있다.
우선, 연산수행부(120)는 스트레인저예측단계에서 페이지랭크를 이용하여 제 3 구간 점수벡터를 예측할 수 있다.
[수학식 5]
[수학식 6]
[수학식 7]
[수학식 8]
[수학식 9]
[수학식 10]
[수학식 11]
[수학식 12]
즉, 연산수행부(120)는 할당된 시드노드를 기준으로 제 1 구간 점수벡터를 계산할 수 있고, 아래와 같이 스케일링된 제 1 구간 점수벡터에 의해 제 2 구간 점수벡터를 예측할 수 있다.
[수학식 13]
c: 재시작확률
이를 증명하면, 제 1 구간 점수벡터 와 제 2 구간 점수벡터 는 아래의 수식과 같다.
[수학식 14]
[수학식 15]
[수학식 16]
이하에서는 상술한 바와 같은 유사도계산장치(100)를 이용한 유사도계산방법을 설명한다. 도 2 는 본 발명의 일 실시예에 따른 유사도계산방법을 설명하기 위한 순서도이다.
도 2 에 도시된 실시예에 따른 유사도계산방법은 도 2 에 도시된 유사도계산장치(100)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 2 에 도시된 유사도계산장치(100)에 관하여 이상에서 기술한 내용은 도 2 에 도시된 실시예에 따른 유사도계산방법에 적용될 수도 있다.
우선, 유사도계산장치(100)는 그래프를 구성하는 적어도 하나의 노드 각각에 대한 점수를 원소로 갖는 점수 벡터를 계산하는 연산의 전체 반복횟수를 적어도 하나의 구간으로 분할할 수 있다(S2001).
예를 들어, 유사도계산장치(100)는 그래프의 점수벡터를 계산하기 위한 CIP 연산이 반복되는 횟수를 기준으로 전체 반복횟수를 제 1 구간 내지 제 3 구간으로 나눌 수 있다.
이를 위해 유사도계산장치(100)는 구간을 나누는 기준차수를 설정할 수 있다. 예를 들어, 유사도계산장치(100)는 제 1 구간과 제 2 구간을 나누는 회수인 기준차수인 S와 제 2 구간과 제 3 구간을 나누는 기준차수인 T를 사용자로부터 획득할 수 있고, 획득된 S와 T에 기초하여 구간을 나눌 수 있다.
이때, S의 값이 커질수록 계산시간은 증가하나 정확도가 높아지는 반면, T가 작아질수록 에러율이 증가한다.
이후, 유사도계산장치(100)는 분할된 구간별로 각 구간에 대응되는 연산을 수행하여 점수벡터를 계산할 수 있다.
우선, 유사도계산장치(100)는 각 노드에서 진출하는 간선의 수에 따라 결정되는 노드의 중요도에 기초하여 제 3 구간 점수벡터를 예측하여 제 3 구간 점수벡터를 계산할 수 있다(S2002).
예를 들어, 유사도계산장치(100)는 페이지랭크를 이용하여 T차수부터 마지막 까지 페이지랭크 점수벡터를 계산할 수 있고, 계산된 페이지랭크 점수벡터를 예측된 제 3 구간 점수벡터로 이용할 수 있다.
이후, 유사도계산장치(100)는 제 1 구간 점수벡터를 계산할 수 있고(S2003), 계산된 제 1 구간 점수벡터를 스케일링하여 제 2 구간 점수벡터를 예측할 수 있다(S2004).
예를 들어, 유사도계산장치(100)는 제 1 구간인 0차수부터 S-1 까지 RWR 점수벡터를 계산할 수 있고, 계산된 제 1 구간 점수벡터를 재시작확률 c에 의한 값에 기초하여 스케일링함으로써 제 2 구간 점수벡터를 예측할 수 있다.
그리고 유사도계산장치(100)는 계산된 제 1 구간 점수벡터와 예측된 제 2 구간 점수벡터 및 제 3 구간 점수벡터에 기초하여 대용량 그래프의 점수벡터를 계산할 수 있다(S2005).
본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.
또한 본 발명의 일실시예에 따르는 유사도계산방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 상품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 본 발명의 일실시예에 따르는 유사도계산방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
2017년 과제번호 및 사사표기
1-1. 과제번호 : 1711055475
1-2. 사사 국문표기: "본 연구는 미래창조과학부 및 정보통신기술연구진흥센터의 정보통신방송 연구개발사업의 일환으로 수행하였음" [2013-0-00179, (엑소브레인-3세부)컨텍스트 인지형 Deep-Symbolic 하이브리드 지능 원천 기술 개발 및 언어 지식자원 구축].
1-3. 사사 영문표기: "This work was supported by ICT R&D program of MSIP/IITP" [2013-0-00179, Development of Core Technology for Context-aware Deep-Symbolic Hybrid Learning and Construction of Language Resources].
2-1. 과제번호 : 1711056733
2-2. 사사 국문표기 : "이 연구는 2015년도 정부(과학기술정보통신부)의 재원으로 정보통신기술진흥센터의 지원을 받아 수행하였음" (No.R0190-15-2012, 빅데이터 처리 고도화 핵심기술개발 사업 총괄 및 고성능 컴퓨팅 기술을 활용한 성능 가속화 기술 개발).
2-3. 사사 영문표기 : "This work was supported by Institute for Information & communications Technology Promotion(IITP) grant funded by the Korea government(MSIT)" (No.R0190-15-2012, High Performance Big Data Analytics Platform Performance Acceleration Technologies Development).
본 발명은 대량 그래프에서 노드간의 유사도를 계산하는 방법에 관한 것으로보다 상세하게는 그래프를 구성하는 각 노드의 점수인 점수벡터를 계산하기 위한 반복적인 방법에서 연산을 반복하여 계산하지 않고도 일부 반복구간에 대한 점수벡터를 예측함으로써 점수벡터의 계산량을 줄이는 유사도 계산 방법 및 장치에 대해 산업상 이용가능성이 있다.
Claims (12)
- 대용량 그래프에서 노드간의 유사도를 계산하는 장치에 있어서,상기 그래프를 구성하는 적어도 하나의 노드 각각에 대한 점수를 원소로 갖는 점수 벡터를 계산하는 연산의 전체 반복횟수를 적어도 하나의 구간으로 분할하는 구간분할부; 및분할된 구간별로 각 구간에 대응되는 연산을 수행하여 점수벡터를 계산하는 연산수행부를 포함하는, 유사도계산장치.
- 제 1 항에 있어서,상기 구간분할부는,상기 전체 반복횟수를 상기 적어도 하나의 구간으로 분할하는 기준 차수를 설정하는, 유사도계산장치.
- 제 2 항에 있어서,상기 연산수행부는,상기 기준 차수에 기초하여 분할된 적어도 하나의 구간 중 제 1 구간에 대해 기 설정된 시드노드를 기초로 제 1 구간 점수벡터를 계산하는, 유사도계산장치.
- 제 3 항에 있어서,상기 연산수행부는,상기 제 1 구간 점수벡터를 스케일링하고, 스케일링된 제 1 구간 점수벡터를 기초로 제 2 구간 점수벡터를 예측하는, 유사도계산장치.
- 제 2 항에 있어서,상기 연산수행부는,각 노드에서 진출하는 간선의 수에 따라 결정되는 노드의 중요도에 기초하여 제 3 구간 점수벡터를 예측하는, 유사도계산장치.
- 유사도계산장치가 대용량 그래프에서 노드간의 유사도를 계산하는 방법에 있어서,상기 그래프를 구성하는 적어도 하나의 노드 각각에 대한 점수를 원소로 갖는 점수 벡터를 계산하는 연산의 전체 반복횟수를 적어도 하나의 구간으로 분할하는 단계; 및분할된 구간별로 각 구간에 대응되는 연산을 수행하여 점수벡터를 계산하는 단계를 포함하는, 유사도계산방법.
- 제 6 항에 있어서,상기 적어도 하나의 구간으로 분할하는 단계는,상기 전체 반복횟수를 상기 적어도 하나의 구간으로 분할하는 기준 차수를 설정하는 단계를 포함하는, 유사도계산방법.
- 제 6 항에 있어서,상기 점수벡터를 계산하는 단계는,분할된 적어도 하나의 구간 중 제 1 구간에 대해 기 설정된 시드노드를 기초로 제 1 구간 점수벡터를 계산하는 단계를 포함하는, 유사도계산방법.
- 제 8 항에 있어서,상기 점수벡터를 계산하는 단계는,상기 제 1 구간 점수벡터를 스케일링하여 제 2 구간 점수벡터를 예측하는 단계를 포함하는, 유사도계산방법.
- 제 6 항에 있어서,상기 점수벡터를 계산하는 단계는,각 노드에서 진출하는 간선의 수에 따라 결정되는 노드의 중요도에 기초하여 제 3 구간 점수벡터를 예측하는 단계를 포함하는, 유사도계산방법.
- 유사도계산장치에 의해 수행되며, 제6 항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램.
- 제 6 항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20170131551 | 2017-10-11 | ||
| KR10-2017-0131551 | 2017-10-11 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019074151A1 true WO2019074151A1 (ko) | 2019-04-18 |
Family
ID=66100740
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2017/012962 Ceased WO2019074151A1 (ko) | 2017-10-11 | 2017-11-18 | 대용량 그래프를 위한 효율적 노드간 유사도 계산 방법 및 장치 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2019074151A1 (ko) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111723105A (zh) * | 2020-06-15 | 2020-09-29 | 腾讯科技(深圳)有限公司 | 计算数据相似性的方法和装置 |
| CN113627664A (zh) * | 2021-08-04 | 2021-11-09 | 北京理工大学 | Gaia系统中的面向图迭代作业的运行时间预测系统及方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110173189A1 (en) * | 2006-02-27 | 2011-07-14 | The Regents Of The University Of California | Graph querying, graph motif mining and the discovery of clusters |
| JP2012160015A (ja) * | 2011-01-31 | 2012-08-23 | Nippon Telegr & Teleph Corp <Ntt> | 類似ノード検索装置及び方法及びプログラム |
| US20130124488A1 (en) * | 2011-11-11 | 2013-05-16 | International Business Machines Corporation | Method and system for managing and querying large graphs |
-
2017
- 2017-11-18 WO PCT/KR2017/012962 patent/WO2019074151A1/ko not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110173189A1 (en) * | 2006-02-27 | 2011-07-14 | The Regents Of The University Of California | Graph querying, graph motif mining and the discovery of clusters |
| JP2012160015A (ja) * | 2011-01-31 | 2012-08-23 | Nippon Telegr & Teleph Corp <Ntt> | 類似ノード検索装置及び方法及びプログラム |
| US20130124488A1 (en) * | 2011-11-11 | 2013-05-16 | International Business Machines Corporation | Method and system for managing and querying large graphs |
Non-Patent Citations (3)
| Title |
|---|
| JUNG, JINHONG ET AL.: "BePI: Fast and Memory-Efficient Method for Billion-Scale Random Walk with Restart", PROCEEDINGS OF THE 2017 ACM INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA , SIGMOD '17, 14 May 2017 (2017-05-14), Chicago, Illinois, USA, pages 789 - 804, XP055593315 * |
| JUNG, JINHONG ET AL.: "Random Walk with Restart on Large Graphs Using Block Elimination", ACM TRANSACTIONS ON DATABASE SYSTEMS, vol. 41, no. 2, May 2016 (2016-05-01), XP058259250, DOI: doi:10.1145/2901736 * |
| YOON, MINJI ET AL.: "TPA: Two Phase Approximation for Random Walk with Restart", 2018 IEEE 34TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE), 3 December 2017 (2017-12-03), pages 1132 - 1143, XP055593319, ISBN: 978-1-5386-5520-7, Retrieved from the Internet <URL:https://arxiv.org/abs/1708.02574> DOI: 10.1109/ICDE.2018.00105 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111723105A (zh) * | 2020-06-15 | 2020-09-29 | 腾讯科技(深圳)有限公司 | 计算数据相似性的方法和装置 |
| CN113627664A (zh) * | 2021-08-04 | 2021-11-09 | 北京理工大学 | Gaia系统中的面向图迭代作业的运行时间预测系统及方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20110176737A1 (en) | Personalized tag ranking | |
| WO2022197136A1 (en) | System and method for enhancing machine learning model for audio/video understanding using gated multi-level attention and temporal adversarial training | |
| WO2014069764A1 (ko) | 염기 서열 정렬 시스템 및 방법 | |
| EP3821378A1 (en) | Apparatus for deep representation learning and method thereof | |
| WO2019074151A1 (ko) | 대용량 그래프를 위한 효율적 노드간 유사도 계산 방법 및 장치 | |
| WO2023090806A1 (en) | Probabilistic procedure planning for instructional videos | |
| WO2023287239A1 (ko) | 함수 최적화 방법 및 장치 | |
| Xu et al. | An efficient algorithm for DNA fragment assembly in MapReduce | |
| WO2019107900A1 (ko) | 컨볼루션 신경망 내 필터 프루닝 장치 및 방법 | |
| WO2014069767A1 (ko) | 염기 서열 정렬 시스템 및 방법 | |
| WO2021137470A1 (ko) | 화합물과 단백질의 상호작용 예측 방법, 장치 및 컴퓨터 프로그램 | |
| WO2023277480A1 (ko) | Nisq 컴퓨터 상에서 실현 가능한 데이터 분류 방법 및 그 장치 | |
| WO2023090627A1 (ko) | 화합물 최적화를 위한 장치 및 방법 | |
| WO2013187587A1 (ko) | 데이터 샘플링 방법 및 장치 | |
| JP5507620B2 (ja) | 同義語推定装置、同義語推定方法および同義語推定プログラム | |
| WO2018191889A1 (zh) | 照片处理方法、装置及计算机设备 | |
| WO2018199444A1 (en) | Apparatus and method for performing operation being secure against side channel attack | |
| WO2022108206A1 (ko) | 설명 가능한 지식그래프 완성 방법 및 장치 | |
| WO2023022321A1 (ko) | 분산 학습용 서버 및 분산 학습 방법 | |
| WO2019074185A1 (en) | ELECTRONIC APPARATUS AND CONTROL METHOD THEREOF | |
| WO2025135540A1 (ko) | Npu 기반 배치 추론 최적화를 위한 데이터 처리 방법 및 컴퓨팅 장치 | |
| EP4508515A1 (en) | Split screen application matching method of terminal, apparatus, electronic device and storage medium | |
| Feng et al. | An extrapolation iteration and its lumped type iteration for computing PageRank | |
| Spiteri et al. | Asynchronous Schwarz alternating methods with flexible communication for the obstacle problem | |
| WO2022191379A1 (ko) | 텍스트 기반 관계 추출 방법 및 장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 17928727 Country of ref document: EP Kind code of ref document: A1 |












