KR102048442B1 - Method and apparatus for providing supervised and extended restart in random walks for ranking and link prediction in networks - Google Patents

Method and apparatus for providing supervised and extended restart in random walks for ranking and link prediction in networks Download PDF

Info

Publication number
KR102048442B1
KR102048442B1 KR1020170149941A KR20170149941A KR102048442B1 KR 102048442 B1 KR102048442 B1 KR 102048442B1 KR 1020170149941 A KR1020170149941 A KR 1020170149941A KR 20170149941 A KR20170149941 A KR 20170149941A KR 102048442 B1 KR102048442 B1 KR 102048442B1
Authority
KR
South Korea
Prior art keywords
node
score
restart
probability
restart probability
Prior art date
Application number
KR1020170149941A
Other languages
Korean (ko)
Other versions
KR20190040863A (en
Inventor
강유
진우정
정진홍
Original Assignee
서울대학교산학협력단
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 서울대학교산학협력단 filed Critical 서울대학교산학협력단
Publication of KR20190040863A publication Critical patent/KR20190040863A/en
Application granted granted Critical
Publication of KR102048442B1 publication Critical patent/KR102048442B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

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 측면에 따르면, 확장 랜덤 워크 제공 장치는 그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화하는 정규화부 및 상기 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산하는 점수계산부를 포함할 수 있다. The present invention relates to a method and apparatus for providing an extended extended random walk. According to a first aspect of the present invention, an apparatus for providing an extended random walk includes a normalization unit for normalizing an adjacent matrix representing a connection relationship of at least one node constituting a graph and the at least one node based on a restart probability set for each of the at least one node. It may include a score calculator for calculating the score of each node.

Description

네트워크에서의 랭킹 및 연결 예측을 위한 지도식 확장 랜덤 워크를 제공하는 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING SUPERVISED AND EXTENDED RESTART IN RANDOM WALKS FOR RANKING AND LINK PREDICTION IN NETWORKS}METHOD AND APPARATUS FOR PROVIDING SUPERVISED AND EXTENDED RESTART IN RANDOM WALKS FOR RANKING AND LINK PREDICTION IN NETWORKS}

본 발명은 네트워크에서의 랭킹 및 연결 예측을 위한 지도식 확장 랜덤 워크를 제공하는 방법 및 장치에 관한 것으로, 보다 구체적으로는 대용량 그래프에서 각 노드별 재시작 확률을 달리 하여 확장된 RWR (Random Walk with Restart)인 RWER(Random Walk Extend with Restart)기법을 이용하여 메모리를 적게 사용하면서도 계산 속도를 높일 수 있는 지도식 확장 랜덤 워크를 제공하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for providing a mapped extended random walk for ranking and connection prediction in a network. More specifically, the RWR (Random Walk with Restart) is extended by changing restart probability of each node in a large graph. The present invention relates to a method and an apparatus for providing a mapped extended random walk that can increase computation speed while using less memory by using a random walk extend with restart (RWER) technique.

데이터 마이닝(data mining)이란 많은 양의 데이터로부터 유용한 정보를 추출하는 것을 의미한다. 그리고, 이러한 데이터 마이닝을 그래프에 적용하는 것을 그래프 마이닝이라고 하며, 특히 그래프에 포함된 노드들의 우선순위를 결정하는 기술을 그래프 랭킹(graph ranking)이라고 한다.Data mining means extracting useful information from large amounts of data. Application of such data mining to a graph is called graph mining, and in particular, a technique for determining the priority of nodes included in the graph is called graph ranking.

최근 SNS 이용률이 증가하고, 인터넷상에 저장되는 웹 문서의 양이 증가하면서, SNS 이용자간의 연결 관계 또는 웹 문서들간의 연결 관계를 나타내는 그래프에서 노드들의 중요도를 파악하기 위한 그래프 랭킹 기술의 중요도가 높아지고 있다.Recently, as the usage rate of SNS increases and the amount of web documents stored on the Internet increases, the importance of graph ranking technology for grasping the importance of nodes in the graphs showing the connection relations between SNS users or the web documents is increasing. have.

그래프 랭킹 수행 방법을 제시하는 문헌으로서, 한국공개특허 제2011-0131094호가 있다. 본 문헌에는 정보 네트워크로부터 하나 이상의 노드들 및 간선들을 수집하고, 수집된 노드들에 랜덤 워크를 수행하여 얻은 시퀀스들을 데이터 베이스에 저장하고, 데이터 베이스를 마이닝하여 정보 네트워크에 존재하는 패턴을 파악하는 내용이 개시되었다.As a document that proposes a method for performing graph rankings, there is Korean Patent Publication No. 2011-0131094. This document collects one or more nodes and edges from an information network, stores sequences obtained by performing random walks on the collected nodes in a database, and mines the database to identify patterns present in the information network. This has been disclosed.

한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.On the other hand, the background art described above is technical information that the inventors possess for the derivation of the present invention or acquired in the derivation process of the present invention, and is not necessarily a publicly known technique disclosed to the general public before the application of the present invention. .

본 발명의 일 실시예는 지도식 확장 랜덤 워크 제공 방법 및 장치를 제공하는 데에 그 목적이 있다.One embodiment of the present invention is to provide a method and apparatus for providing an extended extended random walk.

본 발명의 일 실시예는 효율적인 학습 알고리즘을 이용하여 각 노드의 최적화된 재시작 확률을 결정하는 지도식 확장 랜덤 워크 제공 방법 및 장치를 제공하는 데에 그 목적이 있다.One embodiment of the present invention is to provide a method and apparatus for providing an extended extended random walk for determining an optimized restart probability of each node using an efficient learning algorithm.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따르면, 확장 랜덤 워크 제공 장치는 그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화하는 정규화부 및 상기 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산하는 점수계산부를 포함할 수 있다. As a technical means for achieving the above technical problem, according to the first aspect of the present invention, the apparatus for providing an extended random walk includes: a normalization unit for normalizing an adjacent matrix representing a connection relationship of at least one node constituting the graph; It may include a score calculator for calculating the score of each of the at least one node based on the restart probability set for each node.

본 발명의 제 2 측면에 따르면, 확장랜덤워크제공장치가 확장 랜덤 워크를 제공하는 방법에 있어서, 그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화하는 단계 및 상기 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산하는 단계를 포함할 수 있다.According to a second aspect of the present invention, in a method for providing an extended random walk by an apparatus for providing an extended random walk, normalizing an adjacent matrix representing a connection relationship between at least one node constituting a graph and the at least one node Computing the score of each of the at least one node based on the restart probability set for each.

본 발명의 제 3 측면에 따르면, 확장랜덤워크제공방법을 수행하기 위한 컴퓨터 프로그램으로서, 그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화하는 단계 및 상기 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산하는 단계를 포함할 수 있다.According to a third aspect of the present invention, there is provided a computer program for performing an extended random walk providing method, comprising: normalizing an adjacent matrix representing a connection relationship of at least one node constituting a graph and restarting configured for each of the at least one node; Calculating a score of each of the at least one node based on a probability.

본 발명의 제 4 측면에 따르면, 확장랜덤워크제공방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체로서, 그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화하는 단계 및 상기 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산하는 단계를 포함할 수 있다.According to a fourth aspect of the present invention, there is provided a computer-readable recording medium on which a program for performing an extended random walk providing method is recorded, comprising: normalizing an adjacent matrix representing a connection relationship of at least one node constituting a graph; The method may include calculating a score of each of the at least one node based on a restart probability set for each node.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명의 일 실시예는 지도식 확장 랜덤 워크 제공 방법 및 장치를 제시할 수 있다.According to any one of the problem solving means of the present invention described above, an embodiment of the present invention can propose a method and apparatus for providing a mapped extended random walk.

또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 각 노드의 최적화된 재시작 확률을 자동으로 결정할 수 있는 지도식 확장 랜덤 워크 제공 방법 및 장치를 제시할 수 있다.In addition, according to any one of the problem solving means of the present invention, it is possible to provide a method and apparatus for providing an extended extended random walk that can automatically determine the optimized restart probability of each node.

또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면 최적화된 재시작 확률을 이용하여 노드 점수 계산에 정확도를 현저하게 높일 수 있는 지도식 확장 랜덤 워크 제공 방법 및 장치를 제시할 수 있다.In addition, according to any one of the problem solving means of the present invention can provide a method and apparatus for providing a map extended random walk that can significantly increase the accuracy in calculating the node score using the optimized restart probability.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present invention are not limited to the above-mentioned effects, and other effects not mentioned above may be clearly understood by those skilled in the art from the following description. will be.

도 1 는 RWR을 설명하기 위한 그래프를 도시한 예시도이다.
도 2 는 RWER을 설명하기 위한 그래프를 도시한 예시도이다.
도 3 은 본 발명의 일 실시예에 따른 확장랜덤워크제공장치를 도시한 도면이다.
도 4 내지 도 5 는 본 발명의 일 실시예에 따른 확장랜덤워크제공방법을 설명하기 위한 순서도이다.
1 is an exemplary diagram illustrating a graph for explaining RWR.
2 is an exemplary diagram illustrating a graph for explaining the RWER.
3 is a diagram illustrating an extended random walk providing apparatus according to an embodiment of the present invention.
4 to 5 are flowcharts for explaining an extended random walk providing method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. . In addition, when a part is said to "include" a certain component, which means that it may further include other components, except to exclude other components unless otherwise stated.

이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 실시예들을 자세히 설명하기에 앞서, 우선 그래프 마이닝(graph mining), 그래프 랭킹 기법, 그리고 그래프 랭킹 기법의 일 예인 RWR (Random Walk with Restart) 기법에 대해서 설명한다.Before describing embodiments of the present invention in detail, a graph mining, graph ranking technique, and a random walk with restart (RRW) technique, which is an example of the graph ranking technique, will be described.

그래프 마이닝이란 그래프 속에서 유용한 정보를 발견하는 작업을 의미한다. 그리고, 그래프 랭킹 기법이란 그래프 마이닝을 수행하기 위한 기법 중 하나로서, 노드(node)와 간선(edge)으로 이루어진 그래프에서 노드들의 중요도를 구하거나 노드들간의 근접도를 구할 수 있는 기법이다. 그래프 랭킹 기법으로서 랜덤 워크에 기반한 RWR 기법이 많이 사용되는데, 기존 RWR 기법에 대해서는 도 1을 참조하여 자세히 설명한다.Graph mining is about finding useful information in graphs. In addition, the graph ranking technique is one of techniques for performing graph mining, and is a technique for obtaining importance of nodes or proximity between nodes in a graph composed of nodes and edges. As a graph ranking technique, an RWR technique based on a random walk is frequently used. An existing RWR technique will be described in detail with reference to FIG. 1.

도 1은 그래프에 RWR 기법을 적용하여 RWR 점수를 산출하는 예를 도시한 도면이다. 도 1에는 12개의 노드들 및 노드들을 연결하는 간선들로 구성된 그래프가 도시되었다. 각각의 노드에는 노드 번호가 1부터 12까지 할당되어 있다. RWR 기법이란 그래프에 포함된 복수의 노드들 중에서 어느 하나의 노드를 시작 노드(또는 시드 노드 : seed node)로 정하고, 시작 노드로부터 출발하여 이동하는 가상의 인물인 랜덤 서퍼(random surfer)(1)가 다른 노드들에 도달할 확률을 점수로 계산하는 기법이다.1 is a diagram illustrating an example of calculating an RWR score by applying an RWR technique to a graph. 1 shows a graph composed of twelve nodes and edges connecting the nodes. Each node is assigned a node number from 1 to 12. The RWR technique refers to a random surfer (1), a virtual person who moves from a start node to a node among a plurality of nodes included in the graph as a start node (or seed node). This is a technique for calculating the probability of reaching other nodes as a score.

도 1 에서는 4번 노드를 시작 노드로 선택하였다. 랜덤 서퍼(1)는 시작 노드인 4번 노드에서 출발하여 랜덤 워크 또는 재시작 중 어느 하나의 행동을 수행한다. 예를 들어, 랜덤 서퍼(1)는 1번, 3번 또는 5번 노드 중 어느 하나의 노드로 이동하는 행동(랜덤 워크)을 수행하거나, 4번 노드로 돌아가는 행동(재시작)을 수행할 수 있다. 또한, 랜덤 서퍼(1)가 몇 번의 이동을 거쳐서 9번 노드에 도달했다면, 다음 동작으로서 8번 또는 10번 노드 중 어느 하나의 노드로 이동하는 행동(랜덤 워크)을 수행하거나, 4번 노드로 돌아가는 행동(재시작)을 수행할 수 있다.In FIG. 1, node 4 is selected as a start node. The random surfer 1 starts from node 4, which is the starting node, and performs either the random walk or the restart. For example, the random surfer 1 may perform an action (random walk) of moving to one of nodes 1, 3, or 5, or perform an action (restart) of returning to node 4. . In addition, if the random surfer 1 reaches node 9 through several movements, it performs the action of moving to either node 8 or node 10 (random walk) as the next operation, or to node 4. You can perform a rolling action (restart).

즉, 랜덤 서퍼(1)는 한 번 이동할 때마다 바로 이웃한 노드로 이동(랜덤 워크)하거나, 시작 노드로 이동(재시작)한다. 이때, 랜덤 서퍼(1)가 재시작을 수행할 확률을 c라고 하면, 랜덤 워크를 수행할 확률은 (1-c)가 된다.That is, the random surfer 1 immediately moves to a neighboring node (random walk) or moves to a start node (restart) every time it moves. In this case, if the probability that the random surfer 1 performs restart is c, the probability of performing the random walk becomes (1-c).

본 명세서에 기재된 일 실시예에 따른 노드들 각각에 랜덤 서퍼(1)가 도달할 확률을 RWR 점수라고 하고, 노드들 각각에 대한 RWR 점수로 구성되는 열벡터(column vector) r을 RWR 점수 벡터라고 한다. 또한, 그래프를 나타내는 인접 행렬(adjacency matrix)을 A라고 하면, RWR 점수 벡터 r은 다음과 같은 수식으로 나타낼 수 있다.The probability that the random surfer 1 reaches each of the nodes according to one embodiment described herein is called an RWR score, and a column vector r consisting of the RWR scores for each of the nodes is called an RWR score vector. do. In addition, if the adjacency matrix representing the graph is A, the RWR score vector r can be expressed by the following equation.

[수학식 1][Equation 1]

Figure 112017111980709-pat00001
Figure 112017111980709-pat00001

이때, q는 시작 노드에 대응되는 원소의 값이 1이고, 나머지 원소들은 모두 0인 열벡터이다. 또한,

Figure 112017111980709-pat00002
는 각 행의 원소의 합이 1이 되도록 정규화된 인접 행렬이다. 수학식 1로부터 다음의 수학식 2를 얻을 수 있다.In this case, q is a column vector in which the value of the element corresponding to the start node is 1 and the remaining elements are all zero. In addition,
Figure 112017111980709-pat00002
Is an adjacent matrix normalized such that the sum of the elements in each row is one. From Equation 1, the following Equation 2 can be obtained.

[수학식 2][Equation 2]

Figure 112017111980709-pat00003
Figure 112017111980709-pat00003

따라서,

Figure 112017111980709-pat00004
를 H라고 한다면, RWR 점수 벡터 r은 다음의 수학식 3과 같은 선형 시스템의 해로 구할 수 있다.therefore,
Figure 112017111980709-pat00004
If H is H, the RWR score vector r can be obtained as a solution of a linear system as shown in Equation 3 below.

[수학식 3][Equation 3]

Figure 112017111980709-pat00005
Figure 112017111980709-pat00005

RWR 점수 벡터 r를 구하는 방법은 반복적 기법(iterative approach)과 전처리 기법(preprocessing approach)이 있다. There are two methods of obtaining the RWR score vector r: an iterative approach and a preprocessing approach.

이 중 반복적 기법은 r에 대한 임의의 초기값에 대해서 수학식 1을 반복적으로 적용하여 r의 값이 일정 범위 내로 수렴하도록 하는 방식으로 다음의 수학식 4로 표현된다.The iterative technique is expressed by Equation 4 in such a manner that the value of r converges within a predetermined range by repeatedly applying Equation 1 to any initial value of r.

[수학식 4][Equation 4]

Figure 112017111980709-pat00006
Figure 112017111980709-pat00006

이때, i는 계산을 반복 수행한 횟수를 의미한다. 초기값인

Figure 112017111980709-pat00007
로부터 시작하여, 다음의 수학식 5를 만족할 때까지 수학식 4를 반복 적용할 수 있다. 물론, 수학식 5는 수렴 조건의 한 예로서, 수렴 조건을 다르게 설정하는 것도 가능하다. 이때,
Figure 112017111980709-pat00008
는 허용 오차 (error tolerance)이다.In this case, i means the number of times the calculation is repeated. The initial value
Figure 112017111980709-pat00007
From Equation 4, Equation 4 may be repeatedly applied until the following Equation 5 is satisfied. Of course, Equation 5 is an example of the convergence condition, and it is also possible to set the convergence condition differently. At this time,
Figure 112017111980709-pat00008
Is the error tolerance.

[수학식 5][Equation 5]

Figure 112017111980709-pat00009
Figure 112017111980709-pat00009

이와 같이 기존 RWR의 경우 각 노드의 선호도 반영이 되지 않아 랜덤 서퍼(1)가 고정된 재시작확률인 c에 따라 랜덤 서퍼(1)의 위치와 무관하게 재시작한다. 따라서 랜덤 서퍼(1)는 현재 노드의 선호도를 고려하지 않는다. 반면, 본 명세서에 기재된 일 실시예에 따른 확장랜덤워크(Random Walk with Extended Restart 이하, RWER)는 그래프에 포함된 각 노드의 상대적인 점수에 기초한 선호도를 반영하여 노드별로 재시작확률을 달리 설정함으로써 랜덤 워크의 성능을 높일 수 있다. As described above, in the case of the existing RWR, since the preference of each node is not reflected, the random surfer 1 restarts regardless of the position of the random surfer 1 according to the fixed restart probability c. Therefore, the random surfer 1 does not consider the preference of the current node. On the other hand, the random walk (Random Walk with Extended Restart, RWER) according to an embodiment described herein reflects the preference based on the relative score of each node included in the graph randomly by setting the restart probability for each node Can increase the performance.

도 2 는 각 노드별로 재시작확률이 결정된 그래프를 도시한 예시도이다. 도 2 를 참조하면, RWER에서 t시간에 노드 i, j, k 에서 t+1시간에 U 노드로 이동할 확률을 구하기 위한 수식은 아래와 같다.2 is an exemplary diagram illustrating a graph in which restart probabilities are determined for each node. Referring to FIG. 2, the equation for calculating the probability of moving from the nodes i, j, and k to the U node at time t + 1 at time t in RWER is as follows.

[수학식 6][Equation 6]

Figure 112017111980709-pat00010
Figure 112017111980709-pat00010

Figure 112017111980709-pat00011
: i 노드에서 간선을 따라 이동할 확률
Figure 112017111980709-pat00011
: probability of moving along edge at i-node

수학식 6 에 따라 랜덤 서퍼가 재시작을 할 확률을 반영하면 아래의 수식과 같다.Reflecting the probability that the random surfer restarts according to Equation 6, it is as follows.

[수학식 7][Equation 7]

Figure 112017111980709-pat00012
Figure 112017111980709-pat00012

여기서

Figure 112017111980709-pat00013
는 u가 시드 노드 s 이면 1 아니면 0이다. here
Figure 112017111980709-pat00013
Is 1 if u is the seed node s or 0.

이와 같은 예를 기초로 RWER 모델을 재귀적 수식으로 정의하면 아래와 같다. Based on this example, the RWER model is defined as a recursive equation as follows.

[수학식 8][Equation 8]

Figure 112017111980709-pat00014
Figure 112017111980709-pat00014

여기서

Figure 112017111980709-pat00015
는 i 노드로 들어오는 간선이고,
Figure 112017111980709-pat00016
은 i 노드에서 나가는 간선이다. here
Figure 112017111980709-pat00015
Is the edge coming into the i-node,
Figure 112017111980709-pat00016
Is the edge leaving the i node.

수학식 8 을 행렬 형태로 표현하면 아래와 같다. Equation 8 is expressed as a matrix as follows.

[수학식 9][Equation 9]

Figure 112017111980709-pat00017
Figure 112017111980709-pat00017

여기서

Figure 112017111980709-pat00018
열을 기준으로 정규화된 인접행렬이고, c 는 i번째 재시작확률인
Figure 112017111980709-pat00019
가 원소인 재시작확률 벡터이다.
Figure 112017111980709-pat00020
Figure 112017111980709-pat00021
이고 다른 원소는 0인 행렬이고, q는 s 번째 원소는 1 이고 나머지 원소는 0 인 행렬이다. 여기서 c가 같은 값이면, 수학식 4 와 같은 RWR과 같다. here
Figure 112017111980709-pat00018
Adjacent matrix normalized by column, and c is the i th restart probability
Figure 112017111980709-pat00019
Restart probability vector whose element is.
Figure 112017111980709-pat00020
Is
Figure 112017111980709-pat00021
And the other element is a matrix of 0, q is a matrix whose sth element is 1 and the remaining elements are 0. If c is the same value, it is equal to RWR as in Equation 4.

이하에서는 RWER이 각 노드의 재시작확률을 각 노드의 선호도뿐만 아니라 노드간의 관계를 반영하여 자동으로 최적 결정할 수 있도록 메모리를 적게 사용하면서도 RWER 점수 계산과 재시작확률의 계산을 빠르게 수행할 수 있는 방법을 제시한다. 자세한 내용은 아래에서 도면들을 참조하여 설명한다.In the following, RWER uses a small amount of memory so that RWER can automatically determine the restart probability of each node by reflecting not only the preference of each node but also the relationship between nodes. However, RWER can quickly calculate the RWER score calculation and restart probability. do. Details will be described below with reference to the drawings.

도 3 은 본 발명의 일 실시예에 따른 확장랜덤워크제공장치(100)의 구성을 나타내는 블록도이다. 도 3 을 참조하면, 본 발명의 일 실시예에 따른 확장랜덤워크제공장치(100)는 정규화부(110), 점수계산부(120) 및 재시작확률계산부(130)를 포함할 수 있다.3 is a block diagram showing the configuration of an extended random walk providing apparatus 100 according to an embodiment of the present invention. Referring to FIG. 3, the apparatus for providing an extended random walk according to an embodiment of the present invention 100 may include a normalization unit 110, a score calculator 120, and a restart probability calculator 130.

정규화부(110)는 그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화할 수 있다. The normalization unit 110 may normalize an adjacent matrix representing a connection relationship of at least one node constituting the graph.

즉, 정규화부(110)는 인접행렬에 기초하여 각 노드 별로 타 노드로의 방향성을 갖는 간선의 수를 원소로 갖는 차수행렬 D를 계산할 수 있다. That is, the normalization unit 110 may calculate an order matrix D having, as elements, the number of edges having a direction to other nodes for each node based on the adjacent matrix.

이때 D는

Figure 112017111980709-pat00022
이다. Where D is
Figure 112017111980709-pat00022
to be.

그리고 재정렬부(110)는 계산된 차수행렬 D 을 기초하여 열을 기준으로 인접행렬을 정규화할 수 있으며, 이를 수식으로 나타내면 아래와 같다. The reordering unit 110 may normalize the neighboring matrix based on the column based on the calculated order matrix D, which is expressed as follows.

[수학식 10] [Equation 10]

Figure 112017111980709-pat00023
Figure 112017111980709-pat00023

그리고 점수계산부(120)는 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산할 수 있다. The score calculator 120 may calculate a score of each of the at least one node based on the restart probability set for each of the at least one node.

이를 위해, 점수계산부(120)는 시드노드의 인덱스가 1 이고 다른 인덱스는 0 인 길이가 n 인 시작벡터 q 를 설정할 수 있다. To this end, the score calculator 120 may set a start vector q having a length n of which an index of the seed node is 1 and another index is 0.

그리고 점수계산부(120)는 노드의 점수 및 노드의 재시작확률을 기초로 상술된 수학식 9 를 반복적으로 계산할 수 있다. The score calculator 120 may repeatedly calculate the above-described equation (9) based on the score of the node and the restart probability of the node.

즉, 그래프를 순회하는 랜덤 서퍼가 위치한 노드의 제 1 점수와 수학식 9 를 통해 계산된 제 2 점수 간의 차이인 에러값을 계산할 수 있으며 이를 수식으로 나타내면 아래와 같다. That is, an error value that is a difference between the first score of the node where the random surfer traversing the graph is located and the second score calculated through Equation 9 may be calculated.

[수학식 11][Equation 11]

Figure 112017111980709-pat00024
Figure 112017111980709-pat00024

그리고 점수계산부(120)는 제 1 점수를 제 2 점수로 갱신할 수 있으며, 이후, 계산된 에러값이 기 설정된 허용오차 이하이면, 수학식 9 의 반복 계산을 중단할 수 있다. The score calculator 120 may update the first score to the second score, and then, if the calculated error value is less than or equal to a preset tolerance, may stop the iterative calculation of Equation 9.

한편, 재시작확률계산부(130)는 그래프를 순회하는 랜덤 서퍼가 일 노드에서 순회를 재시작하는 확률인 재시작확률을 상기 적어도 하나의 노드 별로 계산할 수 있다. Meanwhile, the restart probability calculator 130 may calculate a restart probability, which is a probability that the random surfer traversing the graph restarts the traversal at one node, for each of the at least one node.

이를 위해 재시작확률계산부(130)는 그래프를 순회하는 랜덤 서퍼가 일 노드에서 순회를 재시작하는 확률인 재시작확률을 적어도 하나의 노드 별로 최적화시키기 위한 학습을 수행할 수 있다. To this end, the restart probability calculator 130 may perform learning for optimizing the restart probability, which is a probability that the random surfer traversing the graph restarts the traversal at one node, for each of the at least one node.

즉, 재시작확률계산부(130)는 재시작확률을 기 설정된 기준벡터로 초기화하고, 노드의 점수와 재시작확률이 입력되는 손실함수의 값을 최소화하는 재시작확률을 계산할 수 있다. That is, the restart probability calculator 130 may initialize the restart probability to a preset reference vector and calculate a restart probability that minimizes the loss function in which the node score and the restart probability are input.

그리고 재시작확률계산부(130)는 손실함수의 값에 기초하여 재시작확률을 갱신하고, 갱신된 재시작확률이 특정 값으로 수렴하면 재시작확률의 학습을 종료하여 재시작확률을 반환하여 각 노드별로 최적의 재시작확률을 설정할 수 있다. The restart probability calculating unit 130 updates the restart probability based on the value of the loss function, and when the updated restart probability converges to a specific value, ends the learning of the restart probability and returns the restart probability to optimally restart each node. You can set the probability.

이러한 과정을 수식으로 표현하면 아래와 같다.This process is expressed as a formula below.

[수학식 12][Equation 12]

Figure 112017111980709-pat00025
Figure 112017111980709-pat00025

여기서 o는 기 설정된 기준 벡터 이고, P는 노드의 점수를 기준으로 랭킹이 높은 노드 집합이고, N은 P 에 속하는 노드에 비해 상대적으로 점수가 낮은 노드 집합이다.

Figure 112017111980709-pat00026
,
Figure 112017111980709-pat00027
각각은 노드 x, y 각각의 점수이다. Where o is a predetermined reference vector, P is a node set having a high ranking based on the score of the node, and N is a node set having a lower score than a node belonging to P.
Figure 112017111980709-pat00026
,
Figure 112017111980709-pat00027
Each is a score of each of nodes x and y.

이때, 기준 벡터o는 재시작확률 벡터 c가 너무 작아지거나 과도하게 오버피팅되는 것을 방지하고, 정확도를 높일 수 있다. In this case, the reference vector o may prevent the restart probability vector c from becoming too small or excessively overfitting and increase the accuracy.

하지만 수학식 12 을 완벽하게 만족하는 재시작확률 c를 계산하는 것이 어렵기에 아래의 수식과 같이 제약조건을 완화할 수 있다.  However, since it is difficult to calculate the restart probability c that satisfies Equation 12, the constraint can be relaxed as shown in the following equation.

[수학식 13] [Equation 13]

Figure 112017111980709-pat00028
Figure 112017111980709-pat00028

Figure 112017111980709-pat00029
: 정규화 파라미터(regularization parameter), h(·) : 손실함수
Figure 112017111980709-pat00029
: Normalization parameter, h (·): loss function

이때 손실함수는 어떤 손실함수도 이용될 수 있다. 이하에서는 WMW(Wilcoxon-Mann-Whitney) 손실함수를 이용하는 것으로 한다. The loss function can be any loss function. Hereinafter, the WMW (Wilcoxon-Mann-Whitney) loss function is used.

폭(width)이 b 인 WMW손실함수는 아래와 같다. The WMW loss function with width b is

[수학식 14][Equation 14]

Figure 112017111980709-pat00030
Figure 112017111980709-pat00030

여기서 수학식 13 을 재시작확률 c에 대해 미분하면 아래의 수식과 같다. Differentiating Equation 13 with respect to restart probability c is as follows.

[수학식 15][Equation 15]

Figure 112017111980709-pat00031
Figure 112017111980709-pat00031

여기서

Figure 112017111980709-pat00032
Figure 112017111980709-pat00033
이고, WMW 손실함수의 도함수
Figure 112017111980709-pat00034
Figure 112017111980709-pat00035
이다. here
Figure 112017111980709-pat00032
Is
Figure 112017111980709-pat00033
Derivative of the WMW loss function
Figure 112017111980709-pat00034
Is
Figure 112017111980709-pat00035
to be.

재시작확률 c에 대해 관련된 점수

Figure 112017111980709-pat00036
의 도함수
Figure 112017111980709-pat00037
를 획득하기 위해서는 재시작확률 벡터 C 의 i번째 원소인
Figure 112017111980709-pat00038
에 대해 관련된 점수
Figure 112017111980709-pat00039
의 도함수를 계산해야 한다. Related score for restart probability c
Figure 112017111980709-pat00036
Derivative of
Figure 112017111980709-pat00037
In order to obtain, the i th element of restart probability vector C
Figure 112017111980709-pat00038
Related scores for
Figure 112017111980709-pat00039
We need to calculate the derivative of.

여기서 M 을

Figure 112017111980709-pat00040
이라 하면,
Figure 112017111980709-pat00041
,
Figure 112017111980709-pat00042
,
Figure 112017111980709-pat00043
이다. Where M
Figure 112017111980709-pat00040
Speaking of
Figure 112017111980709-pat00041
,
Figure 112017111980709-pat00042
,
Figure 112017111980709-pat00043
to be.

M은

Figure 112017111980709-pat00044
의 역(inverse)이기 때문에
Figure 112017111980709-pat00045
는 아래의 수식과 같다.M is
Figure 112017111980709-pat00044
Because it's the inverse of
Figure 112017111980709-pat00045
Is shown in the following formula.

[수학식 16] [Equation 16]

Figure 112017111980709-pat00046
Figure 112017111980709-pat00046

Figure 112017111980709-pat00047
:(i, j)번째 원소는 1 이고 나머지는 0 인 단일원소(single-entry) 행렬
Figure 112017111980709-pat00047
: Single-entry matrix with (i, j) th element of 1 and the remainder 0

수학식 16 에 기초하여

Figure 112017111980709-pat00048
는 아래의 수식과 같이 표현될 수 있다.Based on Equation 16
Figure 112017111980709-pat00048
May be expressed as in the following equation.

[수학식 17][Equation 17]

Figure 112017111980709-pat00049
Figure 112017111980709-pat00049

Figure 112017111980709-pat00050
: s번째 원소가 1 인 길이가 n 인 단위벡터(unit vector)
Figure 112017111980709-pat00050
: a unit vector of length n with the sth element equal to 1

이때

Figure 112017111980709-pat00051
Figure 112017111980709-pat00052
에서 계산되어야 한다. 그러면
Figure 112017111980709-pat00053
는 아래와 같은 수식으로 기재될 수 있다. At this time
Figure 112017111980709-pat00051
Is
Figure 112017111980709-pat00052
Should be calculated from then
Figure 112017111980709-pat00053
May be described by the following formula.

[수학식 18]Equation 18

Figure 112017111980709-pat00054
Figure 112017111980709-pat00054

Figure 112017111980709-pat00055
:하다마드(Hadamard) 곱, 1: 길이가 n 이고 모든 원소가1 인 벡터
Figure 112017111980709-pat00055
Hadamard product, 1: vector of length n with all elements 1

이와 유사하게

Figure 112017111980709-pat00056
역시 아래와 같이 계산될 수 있다. Similarly
Figure 112017111980709-pat00056
Can also be calculated as

[수학식 19][Equation 19]

Figure 112017111980709-pat00057
Figure 112017111980709-pat00057

수학식 18, 19 를 이용하면, 수학식 15 에서

Figure 112017111980709-pat00058
는 아래와 같이 표현될 수 있다. Using Equations 18 and 19, Equation 15
Figure 112017111980709-pat00058
Can be expressed as follows.

[수학식 20][Equation 20]

Figure 112017111980709-pat00059
Figure 112017111980709-pat00059

수학식 20 에서

Figure 112017111980709-pat00060
의 복잡도는
Figure 112017111980709-pat00061
로 전체 수식의 복잡도를 결정한다. In Equation 20
Figure 112017111980709-pat00060
The complexity of
Figure 112017111980709-pat00061
To determine the complexity of the entire equation.

이때,

Figure 112017111980709-pat00062
Figure 112017111980709-pat00063
를 포지티브 노드와 네거티브 노드의 개수로 나타내면,
Figure 112017111980709-pat00064
는 P의 초기화 시간을 포함하여 복잡도를
Figure 112017111980709-pat00065
까지 낮출 수 있다. At this time,
Figure 112017111980709-pat00062
Wow
Figure 112017111980709-pat00063
If is expressed as the number of positive and negative nodes,
Figure 112017111980709-pat00064
Complexity including the initialization time of P
Figure 112017111980709-pat00065
Can be lowered.

그리고 수학식 19, 20 에서의 M 은

Figure 112017111980709-pat00066
의 역(inverse)이기 때문에 수학식 19 , 20 각각에서의 M(:,s)를 직접 계산하여 M을 획득하는 것이 아닌 점수계산부(120)에서 노드의 점수를 계산하는 반복적인 방법을 이용하여 M(:,s)를 계산할 수 있다. And M in equations 19 and 20
Figure 112017111980709-pat00066
Since it is an inverse of, instead of directly calculating M (:, s) in each of Equations 19 and 20, M is obtained by using an iterative method of calculating the score of the node in the score calculator 120. M (:, s) can be calculated.

또한, 수학식 19, 20 에는 M의 행 즉, M(x,:)에 대한 계산도 수행해야 하지만, 점수계산부(120)에서 노드의 점수를 계산하는 반복적인 방법은 주어진 시드노드에서 M의 열에 대해서만 계산을 수행하는 문제점이 있다. In addition, the equations 19 and 20 should also perform calculations on the rows of M, that is, M (x, :), but the iterative method of calculating the score of the node in the score calculator 120 may be based on The problem is that the calculation is performed only on the columns.

이에 M의 x 번째 열을 아래와 같은 반복적인 방법으로 계산할 수 있다. The x-th column of M can be calculated by the iterative method as follows.

Figure 112017111980709-pat00067
Figure 112017111980709-pat00068
라 하면,
Figure 112017111980709-pat00069
는 수렴
Figure 112017111980709-pat00070
할 때까지 아래의 업데이트 규칙에 따라 반복하여 계산할 수 있다.
Figure 112017111980709-pat00067
of
Figure 112017111980709-pat00068
Say,
Figure 112017111980709-pat00069
Converge
Figure 112017111980709-pat00070
Can be calculated repeatedly according to the update rule below.

[수학식 21][Equation 21]

Figure 112017111980709-pat00071
Figure 112017111980709-pat00071

P : x번째 원소가 1 이고 나머지 원소는 0 인

Figure 112017111980709-pat00072
벡터P: The xth element is 1 and the remaining elements are 0
Figure 112017111980709-pat00072
vector

재시작확률계산부(130)는 손실함수를 포함하는 수학식 15 를 상술된 반복적 방법을 이용하여 아래의 수식에 따라 재시작확률을 갱신할 수 있다.The restart probability calculator 130 may update the restart probability according to Equation 15 below using the iterative method described above with Equation 15 including a loss function.

[수학식 22] [Equation 22]

Figure 112017111980709-pat00073
Figure 112017111980709-pat00074
:학습률
Figure 112017111980709-pat00073
Figure 112017111980709-pat00074
Learning rate

이때, 재시작확률계산부(130)는 계산된 재시작확률이 수렴될 때까지 그래디언트-베이스(gradient-based) 방법에 따라 재시작 확률 c 를 갱신할 수 있다. In this case, the restart probability calculator 130 may update the restart probability c according to a gradient-based method until the calculated restart probability converges.

한편, 도 4 내지 도 5 는 확장랜덤워크제공장치(100)가 확장랜덤워크를 제공하는 방법에 관한 것을 설명하는 순서도이다. Meanwhile, FIGS. 4 to 5 are flowcharts illustrating a method of providing the extended random walk apparatus 100 to provide the extended random walk.

도 4 내지 도 5 에 도시된 실시예에 따른 확장랜덤워크제공방법은 도 3 에 도시된 확장랜덤워크제공장치(100)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 3 에 도시된 확장랜덤워크제공장치(100)에 관하여 이상에서 기술한 내용은 도 4 내지 도 5 에 도시된 실시예에 따른 재화거래관리방법에도 이용될 수 있다.The extended random walk providing method according to the embodiment shown in FIGS. 4 to 5 includes the steps processed in time series in the extended random walk providing apparatus 100 shown in FIG. 3. Therefore, even if omitted below, the above description of the extended random walk providing apparatus 100 shown in FIG. 3 may also be used in the goods transaction management method according to the embodiments shown in FIGS. 4 to 5. have.

도 4 는 확장랜덤워크제공장치(100)가 그래프를 구성하는 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 각 노드의 점수를 계산하는 과정을 도시한 순서도이다. 4 is a flowchart illustrating a process of the extended random walk providing apparatus 100 calculating a score of each node based on a restart probability set for each at least one node constituting the graph.

도 4 를 참조하면, 확장랜덤워크제공장치(100)는 그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화할 수 있다(S4001).Referring to FIG. 4, the extended random walk providing apparatus 100 may normalize an adjacent matrix indicating a connection relationship between at least one node constituting the graph (S4001).

즉, 확장랜덤워크제공장치(100)는 랜덤서퍼가 순회할 그래프의 인접행렬 A 의 간선 차수를 나타내는 차수행렬 D 를 계산할 수 있다. That is, the extended random walk providing apparatus 100 may calculate the order matrix D indicating the edge order of the adjacent matrix A of the graph to be randomized by the surfer.

그리고 확장랜덤워크제공장치(100)는 차수행렬 D 의 역행렬과 인접행렬 A를 곱하여 정규화된 행렬

Figure 112017111980709-pat00075
를 계산할 수 있다. And the extended random walk providing apparatus 100 is a matrix normalized by multiplying the inverse of the order matrix D and the adjacent matrix A
Figure 112017111980709-pat00075
Can be calculated.

이후, 확장랜덤워크제공장치(100)는 상기 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산할 수 있다(S4002). Thereafter, the extended random walk providing apparatus 100 may calculate a score of each of the at least one node based on the restart probability set for each of the at least one node (S4002).

우선 확장랜덤워크제공장치(100)는 시드 노드 s 로부터 시작 벡터 q를 설정할 수 있다. First, the extended random walk providing apparatus 100 may set a start vector q from the seed node s.

그리고 확장랜덤워크제공장치(100)는 노드의 점수를 수학식 9에 따라 계산할 수 있고, 계산된 점수로 노드의 점수를 갱신할 수 있다.The extended random walk providing apparatus 100 may calculate the score of the node according to Equation 9, and may update the score of the node with the calculated score.

그리고 확장랜덤워크제공장치(100)는 점수를 계산하는 제 2 노드에 진입하는 간선에 연결된 제 1 노드의 점수와 제 1 노드의 재시작확률에 기초하여 제 2 노드의 점수를 계산할 수 있고, 계산된 점수로 제 2 노드의 점수를 갱신할 수 있다. The extended random walk providing apparatus 100 may calculate the score of the second node based on the score of the first node connected to the trunk line entering the second node that calculates the score and the restart probability of the first node. The score of the second node may be updated with the score.

이를 위해, 확장랜덤워크제공장치(100)는 제 2 노드의 점수 계산에 필요한 제 1 노드의 재시작확률을 계산할 수 있다.To this end, the extended random walk providing apparatus 100 may calculate the restart probability of the first node necessary for calculating the score of the second node.

제 1 노드의 재시작확률을 계산하는 방법에 대해서 도 5 를 참조하여 설명한다. A method of calculating the restart probability of the first node will be described with reference to FIG. 5.

도 5 는 확장랜덤워크제공장치(100)가 그래프를 구성하는 각 노드 별로 재시작확률을 학습하여 최적의 재시작확률을 계산하는 방법을 도시한 순서도이다. FIG. 5 is a flowchart illustrating a method in which the extended random walk providing apparatus 100 calculates an optimal restart probability by learning restart probabilities for each node constituting a graph.

도 5 를 참조하면, 확장랜덤워크제공장치(100)는 노드의 재시작확률을 기준 벡터 o로 초기화할 수 있다(S5001). Referring to FIG. 5, the extended random walk providing apparatus 100 may initialize the restart probability of the node to the reference vector o (S5001).

그리고 확장랜덤워크제공장치(100)는 그래프를 순회하는 랜덤 서퍼가 일 노드에서 순회를 재시작하는 확률인 재시작확률을 적어도 하나의 노드 별로 최적화시키기 위한 학습을 수행할 수 있다.The extended random walk providing apparatus 100 may perform learning for optimizing a restart probability, which is a probability that a random surfer traversing the graph restarts the traversal at one node for at least one node.

이를 위해, 확장랜덤워크제공장치(100)는 노드의 점수와 재시작확률이 입력되는 손실함수의 값을 최소화하는 재시작확률을 계산할 수 있다(S5002). To this end, the extended random walk providing apparatus 100 may calculate a restart probability for minimizing the value of the loss function in which the score of the node and the restart probability are input (S5002).

즉, 확장랜덤워크제공장치(10)는 수학식 16 내지 21을 통해 반복적 방법을 이용하여 수학식 15 에서

Figure 112017111980709-pat00076
를 계산할 수 있다. That is, the extended random walk providing apparatus 10 is expressed by Equation 15 using an iterative method through Equations 16 to 21.
Figure 112017111980709-pat00076
Can be calculated.

그리고 확장랜덤워크제공장치(10)는 계산된

Figure 112017111980709-pat00077
값을 이용하여 수학식 15 인
Figure 112017111980709-pat00078
를 계산할 수 있다. And the extended random walk providing device 10 is calculated
Figure 112017111980709-pat00077
Using the value in equation (15)
Figure 112017111980709-pat00078
Can be calculated.

이후, 확장랜덤워크제공장치(10)는 재시작확률을 수학식 22 에 따라 갱신할 수 있으며(S5003), 재시작확률이 수렴하는지를 판단할 수 있다(S5004). Thereafter, the extended random walk providing apparatus 10 may update the restart probability according to Equation 22 (S5003), and determine whether the restart probability converges (S5004).

그리고 재시작확률이 수렴하면, 확장랜덤워크제공장치(10)는 재시작확률의 갱신을 중단하고 노드에 대한 재시작확률을 반환할 수 있다(S5005).When the restart probability converges, the extended random walk providing apparatus 10 may stop updating the restart probability and return a restart probability for the node (S5005).

다시 도 4 로 돌아와서, 상술된 바와 같이 제 2 노드의 점수가 갱신되면, 확장랜덤워크제공장치(100)는 제 2 노드의 갱신된 점수와 갱신 전 점수간의 차이인 에러를 계산할 수 있고(S4003), 갱신된 에러값이 기 설정된 허용오차 이하여부를 판단할 수 있다(S4004). 4, when the score of the second node is updated as described above, the extended random walk providing apparatus 100 may calculate an error that is a difference between the updated score of the second node and the score before the update (S4003). In operation S4004, the updated error value may determine whether the updated error value is less than or equal to the preset tolerance.

갱신된 에러값이 기 설정된 허용오차 이하이면, 확장랜덤워크제공장치(10)는 갱신된 점수를 제 2 노드의 점수로 반환할 수 있다(S4005). If the updated error value is less than or equal to the preset tolerance, the extended random walk providing apparatus 10 may return the updated score as the score of the second node (S4005).

본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.The term '~ part' used in the present embodiment refers to software or a hardware component such as a field programmable gate array (FPGA) or an ASIC, and the '~ part' performs certain roles. However, '~' is not meant to be limited to software or hardware. '~ Portion' may be configured to be in an addressable storage medium or may be configured to play one or more processors. Thus, as an example, '~' means components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, procedures, and the like. Subroutines, segments of program patent code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.

구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.The functionality provided within the components and 'parts' may be combined into a smaller number of components and 'parts' or separated from additional components and 'parts'.

뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.In addition, the components and '~' may be implemented to play one or more CPUs in the device or secure multimedia card.

또한 본 발명의 일실시예에 따르는 확장랜덤워크제공방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 상품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다. In addition, the extended random walk providing method according to an embodiment of the present invention may be implemented as a computer program (or computer program product) containing instructions executable by a computer. The computer program includes programmable machine instructions processed by the processor and may 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 tangible computer readable media (eg, memory, hard disks, magnetic / optical media or solid-state drives, etc.).

따라서 본 발명의 일실시예에 따르는 확장랜덤워크제공방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다. Therefore, the extended random walk providing method according to an embodiment of the present invention can be implemented by executing the computer program as described above by the computing device. The computing device may include at least some of 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 are connected to each other using a variety of buses and may be mounted on a common motherboard or otherwise mounted in a suitable manner.

여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다. Here, the processor may process instructions within the computing device, such as to display graphical information for providing a graphical user interface (GUI) on an external input, output device, such as a display connected to a high speed interface. Instructions stored in memory or storage. In other embodiments, multiple processors and / or multiple buses may be used with appropriately multiple memories and memory types. The processor may also be implemented as a chipset consisting of chips comprising a plurality of independent analog and / or digital processors.

또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다. The memory also stores information within the computing device. In one example, the memory may consist of a volatile memory unit or a collection thereof. As another example, the memory may consist of a nonvolatile memory unit or a collection thereof. The memory may also be other forms of computer readable media, such as, for example, magnetic or optical disks.

그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다. In addition, 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 storage area network (SAN) or other configuration, and may include a floppy disk device, hard disk device, optical disk device, Or a tape device, flash memory, or similar other semiconductor memory device or device array.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is shown by the following claims rather than the above description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

100: 확장랜덤워크제공장치
110: 정규화부 120: 점수계산부
130: 재시작확률계산부
100: extended random walk providing device
110: normalization unit 120: score calculation unit
130: restart probability calculator

Claims (16)

확장 랜덤 워크 제공 장치에 있어서,
그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화하는 정규화부;
상기 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산하는 점수계산부; 및
기 설정된 기준벡터로 재시작확률을 초기화하고, 상기 그래프를 구성하는 노드들의 점수를 이용하는 손실함수에 기초하여 상기 그래프를 순회하는 랜덤 서퍼가 일 노드에서 순회를 재시작하는 확률인 재시작확률을 상기 적어도 하나의 노드 별로 계산하는 재시작확률계산부를 포함하는 확장랜덤워크제공장치.
In the extended random walk providing device,
A normalization unit for normalizing adjacent matrices representing connection relationships of at least one node constituting the graph;
A score calculator configured to calculate a score of each of the at least one node based on a restart probability set for each of the at least one node; And
The restart probability is initialized with a preset reference vector, and based on a loss function using the scores of the nodes constituting the graph, the restart probability is a probability that a random surfer traversing the graph restarts at one node. Extended random walk providing apparatus comprising a restart probability calculation unit for each node.
제 1 항에 있어서,
상기 정규화부는,
상기 인접행렬에 기초하여 각 노드 별로 타 노드의 방향성을 갖는 간선의 수를 원소로 갖는 차수행렬을 계산하고, 계산된 차수행렬에 기초하여 열을 기준으로 상기 인접행렬을 정규화하는, 확장랜덤워크제공장치.
The method of claim 1,
The normalization unit,
An extended random walk is provided which calculates an order matrix having elements as the number of edges having directionality of other nodes for each node based on the adjacent matrix, and normalizes the adjacent matrix based on columns based on the calculated order matrix. Device.
제 1 항에 있어서,
상기 점수계산부는,
제 2 노드로 진입하는 간선에 연결된 제 1 노드의 점수 및 제 1 노드의 재시작확률에 기초하여 제 2 노드의 점수를 계산하는, 확장랜덤워크제공장치.
The method of claim 1,
The score calculation unit,
And calculating a score of the second node based on the score of the first node connected to the trunk line entering the second node and the restart probability of the first node.
제 3 항에 있어서,
상기 점수계산부는,
상기 제 2 노드의 제 1 점수를 계산된 제 2 점수로 갱신하고, 제 2 점수와 제 1 점수 간의 차이인 에러값을 계산하고, 상기 에러값이 기 설정된 허용오차 이하이면 상기 제 2 노드의 점수의 갱신을 종료하는, 확장랜덤워크제공장치.
The method of claim 3, wherein
The score calculation unit,
Update the first score of the second node with the calculated second score, calculate an error value that is a difference between the second score and the first score, and score the second node if the error value is less than or equal to a preset tolerance; Extended random walk providing device to terminate the update.
삭제delete 삭제delete 제 1 항에 있어서,
상기 재시작확률계산부는,
상기 손실함수의 값을 상기 재시작확률에 반영하여 상기 재시작확률을 갱신하고, 갱신된 재시작확률이 특정 값으로 수렴하면 상기 재시작확률을 반환하는, 확장랜덤워크제공장치.
The method of claim 1,
The restart probability calculation unit,
And updating the restart probability by reflecting the value of the loss function to the restart probability, and returning the restart probability when the updated restart probability converges to a specific value.
확장랜덤워크제공장치가 확장 랜덤 워크를 제공하는 방법에 있어서,
그래프를 구성하는 적어도 하나의 노드의 연결관계를 나타내는 인접행렬을 정규화하는 단계; 및
상기 적어도 하나의 노드 별로 설정된 재시작확률에 기초하여 상기 적어도 하나의 노드 각각의 점수를 계산하는 단계를 포함하고,
상기 확장랜덤워크제공방법은,
상기 그래프를 순회하는 랜덤 서퍼가 일 노드에서 순회를 재시작하는 확률인 재시작확률을 상기 적어도 하나의 노드 별로 설정하는 단계를 더 포함하고,
상기 재시작확률을 상기 적어도 하나의 노드 별로 설정하는 단계는,
기 설정된 기준벡터로 재시작확률을 초기화하는 단계; 및
상기 그래프를 구성하는 노드들의 점수를 이용하는 손실함수에 기초하여 상기 재시작확률을 계산하는 단계를 포함하는, 확장랜덤워크제공방법.
In the extended random walk providing apparatus provides an extended random walk,
Normalizing an adjacent matrix representing a connection relationship between at least one node constituting the graph; And
Calculating a score of each of the at least one node based on a restart probability set for each of the at least one node,
The extended random walk method,
Setting a restart probability for each of the at least one node by a random surfer traversing the graph, the probability of restarting the traversal at one node;
The setting of the restart probability for each of the at least one node may include:
Initializing a restart probability with a preset reference vector; And
And calculating the restart probability based on a loss function using the scores of the nodes constituting the graph.
제 8 항에 있어서,
상기 인접행렬을 정규화하는 단계는,
상기 인접행렬에 기초하여 각 노드 별로 타 노드의 방향성을 갖는 간선의 수를 원소로 갖는 차수행렬을 계산하는 단계; 및
계산된 차수행렬에 기초하여 열을 기준으로 상기 인접행렬을 정규화하는 단계를 포함하는, 확장랜덤워크제공방법.
The method of claim 8,
Normalizing the adjacent matrix,
Calculating an order matrix having, as elements, the number of edges having directionality of other nodes for each node based on the adjacent matrix; And
And normalizing the adjacent matrix based on the column based on the calculated order matrix.
제 8 항에 있어서,
상기 적어도 하나의 노드 각각의 점수를 계산하는 단계는,
제 2 노드로 진입하는 간선에 연결된 제 1 노드의 점수 및 제 1 노드의 재시작확률에 기초하여 제 2 노드의 점수를 계산하는 단계를 포함하는, 확장랜덤워크제공방법.
The method of claim 8,
Computing the score of each of the at least one node,
And calculating a score of the second node based on the score of the first node connected to the edge entering the second node and the restart probability of the first node.
제 10 항에 있어서,
상기 제 2 노드의 점수를 계산하는 단계는,
상기 제 2 노드의 제 1 점수를 계산된 제 2 점수로 갱신하고, 제 2 점수와 제 1 점수 간의 차이인 에러값을 계산하는 단계; 및
상기 에러값이 기 설정된 허용오차 이하이면, 상기 제 2 노드의 점수 갱신을 종료하는 단계를 포함하는, 확장랜덤워크제공방법.
The method of claim 10,
Computing the score of the second node,
Updating the first score of the second node with the calculated second score and calculating an error value that is a difference between the second score and the first score; And
If the error value is less than or equal to a preset tolerance, ending updating of the score of the second node.
삭제delete 삭제delete 제 8 항에 있어서,
상기 확장랜덤워크제공방법은,
상기 손실함수의 값을 상기 재시작확률에 반영하여 상기 재시작확률을 갱신하는 단계; 및
갱신된 재시작확률이 특정 값으로 수렴하면 상기 재시작확률을 반환하는 단계를 더 포함하는, 확장랜덤워크제공방법.
The method of claim 8,
The extended random walk method,
Updating the restart probability by applying the value of the loss function to the restart probability; And
And returning the restart probability if the updated restart probability converges to a specific value.
확장랜덤워크제공장치에 의해 수행되며, 제 8 항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램.A computer program executed by an extended random walk providing apparatus and stored in a medium for performing the method of claim 8. 제 8 항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체.
A computer-readable recording medium having recorded thereon a program for performing the method of claim 8.
KR1020170149941A 2017-10-11 2017-11-10 Method and apparatus for providing supervised and extended restart in random walks for ranking and link prediction in networks KR102048442B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170131543 2017-10-11
KR1020170131543 2017-10-11

Publications (2)

Publication Number Publication Date
KR20190040863A KR20190040863A (en) 2019-04-19
KR102048442B1 true KR102048442B1 (en) 2019-11-25

Family

ID=66283338

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170149941A KR102048442B1 (en) 2017-10-11 2017-11-10 Method and apparatus for providing supervised and extended restart in random walks for ranking and link prediction in networks

Country Status (1)

Country Link
KR (1) KR102048442B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704725B (en) * 2019-06-27 2023-03-21 重庆大学 School-enterprise cooperation recommendation algorithm based on patents
CN112364295B (en) * 2020-11-13 2024-04-19 中国科学院数学与系统科学研究院 Method, device, electronic equipment and medium for determining importance of network node

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014228975A (en) * 2013-05-20 2014-12-08 日本電信電話株式会社 Retrieval device, retrieval method and retrieval program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8396855B2 (en) * 2010-05-28 2013-03-12 International Business Machines Corporation Identifying communities in an information network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014228975A (en) * 2013-05-20 2014-12-08 日本電信電話株式会社 Retrieval device, retrieval method and retrieval program

Also Published As

Publication number Publication date
KR20190040863A (en) 2019-04-19

Similar Documents

Publication Publication Date Title
US11853882B2 (en) Methods, apparatus, and storage medium for classifying graph nodes
Blundell et al. Model-free episodic control
US20190340533A1 (en) Systems and methods for preparing data for use by machine learning algorithms
WO2018227800A1 (en) Neural network training method and device
WO2018095049A1 (en) Method and apparatus for generating recommended results
US11226741B2 (en) I/O behavior prediction based on long-term pattern recognition
JP6791780B2 (en) Sentence writing device
CN109313720A (en) The strength neural network of external memory with sparse access
WO2015127065A1 (en) Disease prediction system using open source data
US11461694B2 (en) Machine learning implementation in processing systems
KR102048442B1 (en) Method and apparatus for providing supervised and extended restart in random walks for ranking and link prediction in networks
US20180039823A1 (en) Clustering large database of images using multilevel clustering approach for optimized face recognition process
CN110135681A (en) Risk subscribers recognition methods, device, readable storage medium storing program for executing and terminal device
CN110807529A (en) Training method, device, equipment and storage medium of machine learning model
US11822544B1 (en) Retrieval of frequency asked questions using attentive matching
CN118451423A (en) Optimal knowledge distillation scheme
JP7543933B2 (en) MODEL GENERATION DEVICE, ESTIMATION DEVICE, MODEL GENERATION METHOD, AND MODEL GENERATION PROGRAM
US20220292315A1 (en) Accelerated k-fold cross-validation
US9524481B2 (en) Time series technique for analyzing performance in an online professional network
WO2021253938A1 (en) Neural network training method and apparatus, and video recognition method and apparatus
CN114556364B (en) Computer-implemented method for performing neural network architecture searches
CN115936802A (en) Personalized marketing method, device, equipment and storage medium based on user portrait and sequence modeling
US10685253B2 (en) Advanced cloud detection using neural networks and optimization techniques
KR101946692B1 (en) Method and apparatus for performing graph ranking
US20240020320A1 (en) Automated database operation classification using artificial intelligence techniques

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant