KR20200063904A - Method and apparatus for measuring relevance between nodes of edge-labeled multigraph - Google Patents

Method and apparatus for measuring relevance between nodes of edge-labeled multigraph Download PDF

Info

Publication number
KR20200063904A
KR20200063904A KR1020180150180A KR20180150180A KR20200063904A KR 20200063904 A KR20200063904 A KR 20200063904A KR 1020180150180 A KR1020180150180 A KR 1020180150180A KR 20180150180 A KR20180150180 A KR 20180150180A KR 20200063904 A KR20200063904 A KR 20200063904A
Authority
KR
South Korea
Prior art keywords
matrix
label
graph
edge
vertices
Prior art date
Application number
KR1020180150180A
Other languages
Korean (ko)
Other versions
KR102177940B1 (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 서울대학교산학협력단
Priority to KR1020180150180A priority Critical patent/KR102177940B1/en
Publication of KR20200063904A publication Critical patent/KR20200063904A/en
Application granted granted Critical
Publication of KR102177940B1 publication Critical patent/KR102177940B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A method for measuring relevance between nodes in a graph having edges with labels representing relations between nodes comprises the steps of: learning a rule in which a label of a surfer changes as the surfer moves between nodes included in the graph; normalizing an adjacency matrix of the graph for each edge label; and using a result of learning the rule and the normalized adjacency matrix to calculate a score matrix through a repetitive technique.

Description

다중 간선 라벨 그래프의 정점들 간 관련도를 측정하는 방법 및 장치 {METHOD AND APPARATUS FOR MEASURING RELEVANCE BETWEEN NODES OF EDGE-LABELED MULTIGRAPH}Method and apparatus for measuring relevance between vertices in a multi-edge label graph {METHOD AND APPARATUS FOR MEASURING RELEVANCE BETWEEN NODES OF EDGE-LABELED MULTIGRAPH}

본 명세서에서 개시되는 실시예들은 간선에 정점들 간 관계를 나타내는 라벨이 부여된 그래프에 있어서, 라벨을 반영하여 정점들 간 관련도를 측정하는 방법 및 장치에 관한 것이다.Embodiments disclosed herein relates to a method and apparatus for measuring a relevance between vertices by reflecting a label in a graph in which a trunk is labeled with a relationship between vertices.

최근 온라인 네트워크 상에서의 링크 예측, 추천 시스템, 이상 탐지 및 커뮤니티 탐지 등을 위해 그래프에 포함된 정점들 간 관련도(relevance)를 측정하는 기술의 중요성이 높아지고 있다.Recently, the importance of a technique for measuring relevance between vertices included in a graph for link prediction, recommendation system, anomaly detection, and community detection on an online network is increasing.

정점과 간선으로 이루어진 그래프에서 정점들 간 관련도를 측정하기 위한 방법으로서 RWR (Random Walk with Restart) 기법이 널리 활용되고 있는데, 이 기법은 그래프의 구조에 기초하여 정점들 간 관련도를 측정한다.The RWR (Random Walk with Restart) technique is widely used as a method for measuring the relevance between vertices in a graph consisting of vertices and edges, which measures the relevance between vertices based on the structure of the graph.

실제로 사용되는 많은 그래프들은 간선에 정점들 간 관계를 나타내는 라벨(label)이 부여되는데, RWR 기법에 따를 경우 그래프의 구조만을 고려하기 때문에 정점들 간 관련도 측정시 라벨이 반영되지 않는 문제점이 있다.Many of the graphs actually used are given a label indicating the relationship between the vertices on the edge, and according to the RWR technique, only the structure of the graph is considered, so that the label is not reflected when measuring the relevance between vertices.

즉, 기존의 RWR 기법에 따를 경우 두 정점이 서로 관련이 있다는 점만 알아낼 수 있을 뿐, 구체적으로 어떠한 관계를 가지는지 파악할 수 없는 한계가 있다.That is, according to the existing RWR technique, it is possible to find out only that the two vertices are related to each other, and there is a limitation that it is not possible to grasp the specific relationship.

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

본 명세서에서 개시되는 실시예들은, 간선에 정점들 간 관계를 나타내는 라벨이 부여된 그래프에서 정점들 간 관련도를 측정함에 있어서, 간선에 부여된 라벨을 반영함으로써 정점들이 어떠한 관계를 갖는지 파악할 수 있도록 하는 방법 및 장치를 제공하고자 한다.In the embodiments disclosed in the present specification, in measuring a relevance between vertices in a graph in which a label indicating the relationship between vertices is applied to the trunk, by reflecting the label assigned to the trunk, it is possible to grasp the relationship between the vertices It is intended to provide a method and apparatus.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시예에 따르면, 간선에 정점들 간 관계를 나타내는 라벨이 부여된 그래프에서, 정점들 간 관련도를 측정하는 방법은, 상기 그래프에 포함되는 정점들 사이를 서퍼(surfer)가 이동함에 따라 서퍼의 라벨이 변경되는 규칙을 학습하는 단계, 상기 그래프의 인접 행렬을 각각의 간선 라벨에 대해서 정규화하는 단계 및 상기 규칙을 학습한 결과와 상기 정규화된 인접 행렬을 이용하고, 반복적 기법을 통해 점수 행렬을 산출하는 단계를 포함할 수 있다.As a technical means for achieving the above-described technical problem, according to an embodiment, in a graph where a trunk is labeled with a relationship between vertices, a method of measuring the degree of relevance between vertices is a vertex included in the graph Learning a rule in which the label of the surfer changes as the surfer moves between the fields, normalizing the adjacency matrix of the graph for each edge label, and learning the rule and the normalized adjacency. It may include using a matrix and calculating a score matrix through an iterative technique.

다른 실시예에 따르면, 간선에 정점들 간 관계를 나타내는 라벨이 부여된 그래프에서, 정점들 간 관련도를 측정하는 방법을 수행하기 위한 컴퓨터 프로그램으로서, 관련도를 측정하는 방법은, 상기 그래프에 포함되는 정점들 사이를 서퍼(surfer)가 이동함에 따라 서퍼의 라벨이 변경되는 규칙을 학습하는 단계, 상기 그래프의 인접 행렬을 각각의 간선 라벨에 대해서 정규화하는 단계 및 상기 규칙을 학습한 결과와 상기 정규화된 인접 행렬을 이용하고, 반복적 기법을 통해 점수 행렬을 산출하는 단계를 포함할 수 있다.According to another embodiment, a computer program for performing a method of measuring a degree of relevance between vertices in a graph on which a trunk is labeled with a relationship between vertices, the method of measuring relevance included in the graph Learning a rule in which the label of the surfer changes as the surfer moves between the vertices to be generated, normalizing the adjacency matrix of the graph for each edge label, and learning the rule and normalizing the result. And calculating a score matrix through an iterative technique.

또 다른 실시예에 따르면, 간선에 정점들 간 관계를 나타내는 라벨이 부여된 그래프에서, 정점들 간 관련도를 측정하는 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체로서, 관련도를 측정하는 방법은, 상기 그래프에 포함되는 정점들 사이를 서퍼(surfer)가 이동함에 따라 서퍼의 라벨이 변경되는 규칙을 학습하는 단계, 상기 그래프의 인접 행렬을 각각의 간선 라벨에 대해서 정규화하는 단계 및 상기 규칙을 학습한 결과와 상기 정규화된 인접 행렬을 이용하고, 반복적 기법을 통해 점수 행렬을 산출하는 단계를 포함할 수 있다.According to another embodiment, in a graph labeled trunks showing relationships between vertices, a computer readable recording medium in which a program for performing a method of measuring relevance between vertices is recorded. The method includes learning a rule in which a surfer's label changes as the surfer moves between vertices included in the graph, normalizing the adjacency matrix of the graph for each edge label, and the rule It may include using the result of learning and the normalized neighbor matrix, and calculating a score matrix through an iterative technique.

또 다른 실시예에 따르면, 간선에 정점들 간 관계를 나타내는 라벨이 부여된 그래프에서, 정점들 간 관련도를 측정하기 위한 장치는, 관련도 측정의 대상이 되는 그래프에 대한 정보를 수신하기 위한 통신부, 상기 그래프의 정점들 간 관련도를 측정하기 위한 프로그램이 저장되는 저장부 및 상기 프로그램을 실행함으로써 그래프의 정점들 간 관련도를 측정하는 제어부를 포함하며, 상기 제어부는, 상기 그래프에 포함되는 정점들 사이를 서퍼(surfer)가 이동함에 따라 서퍼의 라벨이 변경되는 규칙을 학습하고, 상기 그래프의 인접 행렬을 각각의 간선 라벨에 대해서 정규화하고, 상기 규칙을 학습한 결과와 상기 정규화된 인접 행렬을 이용하고 반복적 기법을 통해 점수 행렬을 산출할 수 있다.According to another embodiment, in a graph in which a trunk is labeled with a relationship between vertices, an apparatus for measuring the degree of relevance between vertices is a communication unit for receiving information about a graph that is a target of relevance measurement , A storage unit for storing a program for measuring the degree of relevance between vertices of the graph, and a control unit for measuring the degree of relevance between vertices in the graph by executing the program, wherein the control unit includes vertices included in the graph As the surfer moves between them, learn the rules for changing the label of the surfer, normalize the adjacency matrix of the graph for each edge label, and learn the result of learning the rule and the normalized adjacency matrix. The score matrix can be computed using and iterative techniques.

전술한 과제 해결 수단 중 어느 하나에 의하면, 그래프의 정점들 간 관련도 측정 시 각 간선을 통해 연결되는 두 정점들 간 관계를 나타내는 라벨을 반영하므로, 관련도 측정의 대상이 되는 두 정점들 간에 어떠한 관계가 있는지도 파악할 수 있는 효과를 기대할 수 있다.According to any one of the above-described problem solving means, when measuring the relevance between vertices of a graph, a label indicating the relationship between the two vertices connected through each edge is reflected, so that the You can expect the effect of figuring out whether there is a relationship.

개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtained in the disclosed embodiments are not limited to the above-mentioned effects, and other effects not mentioned are obvious to those skilled in the art to which the embodiments disclosed from the following description belong. Can be understood.

도 1은 그래프에 RWR 기법을 적용하여 정점들 간 관련도를 산출하는 예를 도시한 도면이다.
도 2는 일 실시예에 따른 그래프의 정점들 간 관련도를 측정하는 장치를 도시한 도면이다.
도 3은 일 실시예에 따른 그래프의 정점들 간 관련도를 측정하는 방법을 설명하기 위한 순서도이다.
도 4 및 도 5는 일 실시예에 따라 간선에 라벨이 부여된 그래프에서 서퍼가 이동함에 따라 서퍼의 라벨이 변경되는 규칙을 학습하는 과정을 설명하기 위한 도면들이다.
도 6은 일 실시예에 따라 간선에 라벨이 부여된 그래프에서 서퍼가 이동함에 따라 서퍼의 라벨이 변경되는 규칙을 학습하는 과정을 설명하기 위한 순서도이다.
도 7은 일 실시예에 따라 그래프의 라벨이 반영된 인접 행렬을 정규화하는 과정을 설명하기 위한 순서도이다.
도 8은 일 실시예에 따라 반복적 기법을 통해 점수 행렬을 산출하는 과정을 설명하기 위한 순서도이다.
1 is a view showing an example of calculating the relevance between vertices by applying an RWR technique to a graph.
2 is a diagram illustrating an apparatus for measuring a degree of relevance between vertices of a graph according to an embodiment.
3 is a flow chart for explaining a method for measuring a relationship between vertices of a graph according to an embodiment.
4 and 5 are diagrams for explaining a process of learning a rule in which a label of a surfer changes as a surfer moves in a graph labeled with a trunk according to an embodiment.
6 is a flowchart illustrating a process of learning a rule in which a label of a surfer changes as a surfer moves in a graph labeled with a trunk according to an embodiment.
7 is a flowchart illustrating a process of normalizing an adjacent matrix in which a label of a graph is reflected according to an embodiment.
8 is a flowchart illustrating a process of calculating a score matrix through an iterative technique according to an embodiment.

아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, various embodiments will be described in detail with reference to the accompanying drawings. The embodiments described below may be embodied in various different forms. In order to more clearly describe the features of the embodiments, detailed descriptions of the items well known to those of ordinary skill in the art to which the following embodiments pertain are omitted. In the drawings, parts irrelevant to the description of the embodiments are omitted, and like reference numerals are assigned to similar parts throughout the specification.

명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐 아니라, '그 중간에 다른 구성을 사이에 두고 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.Throughout the specification, when a component is "connected" to another component, this includes not only a case of'directly connecting', but also a case of'connecting other components in between'. In addition, when a configuration is said to "include" a configuration, this means that, unless specifically stated otherwise, it may mean that other configurations may be included as well.

이하 첨부된 도면을 참고하여 실시예들을 상세히 설명하기로 한다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings.

본 명세서에서는 간선에 정점들 간 관계를 나타내는 라벨(label)이 부여된 그래프에 있어서, 라벨을 반영하여 정점들 간 관련도(relevance)를 측정하기 위한 LRWR(Labeled Random Walk with Restart) 기법을 소개하며, LRWR 기법이 활용되는 실시예들에 대해서 설명한다. LRWR 기법을 이용할 경우 그래프의 정보를 활용하여 임의의 두 정점들 간 관례를 추론할 수 있다.In the present specification, in a graph in which a label indicating a relationship between vertices is assigned to an edge line, a labeled random walk with restart (LRWR) technique for measuring relevance between vertices by reflecting a label is introduced. , Embodiments in which the LRWR technique is utilized will be described. When using the LRWR technique, it is possible to infer the custom between any two vertices by using the information in the graph.

LRWR 기법은 대표적인 정점들 간 관련도 측정 기법인 RWR(Random Walk with Restart) 기법을 기반으로 하므로, 이하에서는 먼저 RWR 기법에 대해서 설명한다.Since the LRWR technique is based on the RWR (Random Walk with Restart) technique, which is a method of measuring relevance between representative vertices, the RWR technique will be described first.

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

도 1은 그래프에 RWR 기법을 적용하여 정점들 간 관련도를 산출하는 예를 도시한 도면이다. 도 1에는 12개의 정점들 및 정점들을 연결하는 간선들로 구성된 그래프가 도시되었다. 각각의 정점에는 정점 번호가 1부터 12까지 할당되어 있다. RWR 기법이란 그래프에 포함된 복수의 정점들 중에서 어느 하나의 정점을 시작 정점(또는 시드 정점 - seed node)로 정하고, 시작 정점으로부터 출발하여 이동하는 가상의 인물인 랜덤 서퍼(random surfer)(1)(이하, 서퍼)가 다른 정점들에 도달할 확률을 점수로 계산하는 기법이다. RWR 기법에 의해 산출된 점수(RWR 점수)는 시작 정점과 다른 정점 간 관련도의 정도를 나타내며, 점수가 높을수록 두 정점들 간 관련도가 높음을 의미한다.1 is a view showing an example of calculating the relevance between vertices by applying an RWR technique to a graph. 1 is a graph consisting of twelve vertices and trunks connecting the vertices. Each vertex is assigned a vertex number from 1 to 12. The RWR technique is a random surfer (1), which is a virtual person moving from one starting vertex to one starting vertex (or seed node) among a plurality of vertices included in the graph. (Hereafter, a surfer) is a technique to calculate the probability of reaching other vertices as a score. The score (RWR score) calculated by the RWR technique indicates the degree of relevance between the starting and other vertices, and the higher the score, the higher the relevance between the two vertices.

도 1에서는 4번 정점을 시작 정점으로 선택하였다. 서퍼(1)는 시작 정점인 4번 정점에서 출발하여 랜덤 워크 또는 재시작 중 어느 하나의 행동을 수행한다. 예를 들어, 서퍼(1)는 1번, 3번 또는 5번 정점 중 어느 하나의 정점으로 이동하는 행동(랜덤 워크)을 수행하거나, 4번 정점으로 돌아가는 행동(재시작)을 수행할 수 있다. 또한, 서퍼(1)가 몇 번의 이동을 거쳐서 9번 정점에 도달했다면, 다음 동작으로서 8번 또는 10번 정점 중 어느 하나의 정점으로 이동하는 행동(랜덤 워크)을 수행하거나, 4번 정점으로 돌아가는 행동(재시작)을 수행할 수 있다.In FIG. 1, vertex 4 was selected as the starting vertex. The surfer 1 starts at the starting vertex 4 and performs either random walk or restart action. For example, the surfer 1 may perform an action (random walk) that moves to any one of vertices 1, 3, or 5, or may perform an action (restart) to return to vertex 4. In addition, if the surfer 1 has reached the vertex 9 after several movements, the next action is to perform an action (random walk) to move to one of the vertices 8 or 10, or return to the vertex 4 You can perform an action (restart).

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

정점들 각각에 서퍼(1)가 도달할 확률을 RWR 점수라고 하고, 정점들 각각에 대한 RWR 점수로 구성되는 열벡터(column vector) r을 RWR 점수 벡터라고 한다. 또한, 그래프를 나타내는 인접 행렬(adjacency matrix)을 A라고 하면, RWR 점수 벡터 r은 다음과 같은 수식으로 나타낼 수 있다.The probability that the surfer 1 reaches each vertex is called an RWR score, and a column vector r consisting of an RWR score for each vertex is called an RWR score vector. Also, if the adjacency matrix representing the graph is A, the RWR score vector r can be expressed by the following equation.

Figure pat00001
Figure pat00001

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

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

Figure pat00003
Figure pat00003

따라서,

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

Figure pat00005
Figure pat00005

RWR 점수 벡터 r를 구하는 방법은 반복적 기법(iterative approach)과 전처리 기법(preprocessing approach)이 있다. 이하에서는 각 기법에 대해서 설명한다.There are two methods for obtaining RWR score vector r: iterative approach and preprocessing approach. Each technique will be described below.

우선, 반복적 기법은 r에 대한 임의의 초기값에 대해서 수학식 1을 반복적으로 적용하여 r의 값이 일정 범위 내로 수렴하도록 하는 방식이다. 따라서, 반복적 기법은 다음의 수학식 4로 표현된다.First, the iterative technique is a method in which Equation 1 is repeatedly applied to an arbitrary initial value for r so that the value of r converges within a certain range. Therefore, the iterative technique is expressed by the following equation (4).

Figure pat00006
Figure pat00006

이때, i는 계산을 반복 수행한 횟수를 의미한다. 초기값인 r(0)로부터 시작하여, 다음의 수학식 5를 만족할 때까지 수학식 4를 반복 적용할 수 있다. 물론, 수학식 5는 수렴 조건의 한 예로서, 수렴 조건을 다르게 설정하는 것도 가능하다. 이때,

Figure pat00007
는 허용 오차 (error tolerance) 또는 수렴 문턱값이라 한다.At this time, i means the number of times the calculation is repeatedly performed. Starting from the initial value r (0) , Equation 4 can be repeatedly applied until Equation 5 below is satisfied. Of course, Equation 5 is an example of a convergence condition, and it is also possible to set the convergence condition differently. At this time,
Figure pat00007
Is called error tolerance or convergence threshold.

Figure pat00008
Figure pat00008

이번에는 전처리 기법에 대해서 설명한다. 전처리 기법은 RWR 점수를 구하기 위한 대부분의 계산을 미리 수행해놓고, 시작 정점이 선택되면 미리 준비된 전처리 결과에 선택된 시작 정점을 대입하는 방식이다. 구체적으로, 수학식 3으로부터 다음의 수학식 6을 얻을 수 있고, 따라서 H의 역행렬을 구한다면 시작 정점이 변경되더라도 RWR 점수 벡터 r을 빠르게 구할 수 있다.This time, the pretreatment technique will be described. In the pre-processing technique, most calculations for obtaining the RWR score are performed in advance, and when the starting vertex is selected, the selected starting vertex is substituted into the pre-prepared result. Specifically, the following Equation 6 can be obtained from Equation 3, and thus, if the inverse matrix of H is obtained, the RWR score vector r can be quickly obtained even if the starting vertex is changed.

Figure pat00009
Figure pat00009

이하에서 설명되는 LRWR 기법은 앞서 설명된 RWR 기법의 반복적 기법을 기반으로 한다.The LRWR technique described below is based on the iterative technique of the RWR technique described above.

LRWR 기법은 정점과 간선으로 이루어진 그래프에서 간선에 정점들 간 관계를 나타내는 라벨이 있을 때, 두 정점들 간 관계를 효과적으로 파악할 수 있는 방법을 제시한다. 즉, LRWR 기법의 목적은 정점들 간 관련도 점수(relevance score)에 간선의 라벨을 반영하는 것이다.The LRWR technique presents a method for effectively grasping the relationship between two vertices when there is a label in the graph consisting of the vertices and the edge showing the relationship between the vertices. That is, the purpose of the LRWR technique is to reflect the label of the trunk in the relevance score between vertices.

이를 위해 LRWR 기법은, 1) 서퍼가 시작 정점과 현재 방문하는 정점 간 관계를 나타내는 라벨을 갖도록 하고, 2) 서퍼가 랜덤 워크를 수행하면서 이동하는 경로에 포함된 간선의 라벨에 따라서 서퍼의 라벨이 변경되도록 함으로써 다중-홉 관계 추론(multi-hop relational reasoning)을 가능하게 하며, 3) 올바른 추론을 하기 위해 서퍼가 이동함에 따라 서퍼의 라벨이 어떻게 변경되는지를 그래프로부터 학습한다.To this end, the LRWR technique requires that 1) the surfer has a label indicating the relationship between the starting vertex and the currently visited vertex, and 2) that the surfer's label is in accordance with the label of the trunk included in the path the surfer travels while performing a random walk. By making changes, multi-hop relational reasoning is enabled, and 3) learn from the graph how the surfer's label changes as the surfer moves to make correct inferences.

도 2는 일 실시예에 따른 그래프의 정점들 간 관련도를 측정하는 장치를 도시한 도면이다. 일 실시예에 따른 관련도 측정 장치(100)는 통신부(110), 제어부(120) 및 저장부(130)를 포함할 수 있다.2 is a diagram illustrating an apparatus for measuring a degree of relevance between vertices of a graph according to an embodiment. The apparatus 100 for measuring relevance according to an embodiment may include a communication unit 110, a control unit 120, and a storage unit 130.

통신부(110)는 인터넷 등의 네트워크와 통신을 수행하기 위한 구성으로서 이더넷 통신 및 무선 LAN 통신 등을 지원하는 통신 칩셋으로 구성될 수 있다. 관련도 측정 장치(100)는 통신부(110)를 통해 외부로부터 관련도 측정의 대상이 되는 그래프에 대한 정보를 수신할 수 있다.The communication unit 110 is a configuration for performing communication with a network such as the Internet, and may be configured with a communication chipset supporting Ethernet communication and wireless LAN communication. The relevance measurement apparatus 100 may receive information on a graph that is a target of relevance measurement from the outside through the communication unit 110.

제어부(120)는 CPU 등과 같은 적어도 하나의 프로세서를 포함하는 구성으로서, 관련도 측정 장치(100)의 전반적인 동작을 제어한다. 특히, 제어부(120)는 저장부(130)에 저장된 프로그램을 실행함으로써, LRWR 기법을 적용하여 그래프의 정점들 간 관련도를 측정한다. 제어부(120)가 그래프의 정점들 간 관련도를 측정하는 구체적인 방법은 아래에서 도 3 내지 도 8을 참조하여 설명한다.The control unit 120 is a configuration including at least one processor such as a CPU, and controls overall operation of the relevance measurement device 100. In particular, the control unit 120 measures the relevance between vertices of the graph by applying the LRWR technique by executing the program stored in the storage unit 130. A detailed method for the controller 120 to measure the relevance between vertices of the graph will be described with reference to FIGS. 3 to 8 below.

저장부(130)에는 다양항 종류의 프로그램 및 데이터가 저장될 수 있다. 특히, 저장부(130)에는 LRWR 기법을 적용하여 그래프의 정점들 간 관련도를 측정하기 위한 프로그램이 저장되어 제어부(120)에 의해 실행될 수 있다.Various types of programs and data may be stored in the storage unit 130. In particular, a program for measuring the degree of relevance between vertices of a graph by applying an LRWR technique may be stored in the storage unit 130 and executed by the control unit 120.

이하에서는, 도 3 내지 도 8을 참조하여, 관련도 측정 장치(100)가 간선에 라벨이 부여된 그래프로부터 정점들 간 관련도를 측정하는 과정에 대해서 자세히 설명한다.Hereinafter, with reference to FIGS. 3 to 8, a process in which the relevance measuring apparatus 100 measures the relevance between vertices from the graph labeled with the trunk will be described in detail.

도 3은 일 실시예에 따른 그래프의 정점들 간 관련도를 측정하는 방법을 설명하기 위한 순서도이다.3 is a flow chart for explaining a method for measuring a relationship between vertices of a graph according to an embodiment.

도 3을 참조하면, 관련도 측정 장치(100)의 제어부(120)는 301 단계에서 그래프에 포함되는 정점들 사이를 서퍼가 이동함에 따라 서퍼의 라벨이 변경되는 규칙을 학습한다. 301 단계를 수행하는 자세한 과정은 아래에서 도 4 내지 도 6을 참조하여 설명한다.Referring to FIG. 3, the controller 120 of the relevance measuring apparatus 100 learns a rule in which the label of the surfer changes as the surfer moves between vertices included in the graph in step 301. A detailed process of performing step 301 will be described below with reference to FIGS. 4 to 6.

302 단계에서 제어부(120)는 그래프의 인접 행렬을 각각의 라벨에 대해서 정규화한다. 302 단계를 수행하는 자세한 과정은 아래에서 도 7을 참조하여 설명한다.In step 302, the controller 120 normalizes the adjacency matrix of the graph for each label. A detailed process of performing step 302 will be described below with reference to FIG. 7.

303 단계에서 제어부(120)는 301 단계의 학습 결과와 302 단계에서 정규화된 인접 행렬을 이용하고, 반복적 기법을 통해 점수 행렬을 산출한다. 303 단계를 수행하는 자세한 과정은 아래에서 도 8을 참조하여 설명한다.In step 303, the controller 120 uses the learning result of step 301 and the normalized adjacency matrix in step 302, and calculates a score matrix through an iterative technique. A detailed process of performing step 303 will be described below with reference to FIG. 8.

먼저, 301 단계에서 제어부(120)가 서퍼의 라벨이 변경되는 규칙을 학습하는 과정에 대해서 도 4 내지 도 6을 참조하여 자세히 설명한다.First, in step 301, a process in which the controller 120 learns a rule in which the label of the surfer is changed will be described in detail with reference to FIGS. 4 to 6.

도 4 및 도 5는 일 실시예에 따라 간선에 라벨이 부여된 그래프에서 서퍼가 이동함에 따라 서퍼의 라벨이 변경되는 규칙을 학습하는 과정을 설명하기 위한 도면들이다.4 and 5 are diagrams for explaining a process of learning a rule in which a label of a surfer changes as a surfer moves in a graph labeled with a trunk according to an embodiment.

도 4에 도시된 그래프에는 간선들에 “childOf”, “grandchildOf” 및 “spouseOf”의 라벨 중 어느 하나가 부여되었다. 서퍼는 시작 정점 s에서는 라벨을 갖지 않지만, 간선을 따라 다른 정점으로 이동하면서 라벨을 갖게 되고, 서퍼의 라벨은 서퍼가 이동함에 따라 변경될 수 있다.The graph shown in FIG. 4 is assigned to any one of the labels “childOf”, “grandchildOf” and “spouseOf” to the edges. The surfer does not have a label at the starting vertex s, but has a label while moving to another vertex along the edge, and the surfer's label can change as the surfer moves.

도 4에 도시된 그래프에서는 다음과 같은 2가지 규칙이 있다고 가정한다.In the graph shown in FIG. 4, it is assumed that there are two rules as follows.

규칙 1: “childOf”의 라벨을 갖는 서퍼가 “childOf”의 라벨을 갖는 간선을 따라 이동하면 서퍼의 라벨이 “grandchildOf”로 변경됨.Rule 1: When a surfer with the label of “childOf” moves along the edge with the label of “childOf”, the label of the surfer is changed to “grandchildOf”.

규칙 2: “grandchildOf”의 라벨을 갖는 서퍼가 “spouseOf”의 라벨을 갖는 간선을 따라 이동하면 서퍼의 라벨은 변경되지 않음.Rule 2: When a surfer with the label “grandchildOf” moves along the edge labeled “spouseOf”, the surfer's label does not change.

도 4의 (a)에서 서퍼가 시작 정점(source node, s)으로부터 목표 정점(target node, t)까지 이동하는 경로를 살펴보면, 서퍼는 시작 정점 s에서는 라벨을 갖지 않고, “childOf” 라벨을 갖는 간선을 따라 정점 u로 이동하면 “childOf” 라벨을 갖게된다.Looking at a path in FIG. 4(a) where the surfer moves from the starting vertex (source node, s) to the target vertex (target node, t), the surfer does not have a label at the starting vertex s, but a “childOf” label. If you move to vertex u along the edge, you will have the label "childOf".

또한, 서퍼는 정점 u에서 정점 v로 이동하면 규칙 1에 따라서 “grandchildOf”의 라벨을 갖게된다.Also, if the surfer moves from vertex u to vertex v, he has the label “grandchildOf” according to rule 1.

또한, 서퍼는 정점 v에서 목표 정점 t로 이동하면 규칙 2에 따라서 “grandchildOf”의 라벨을 그대로 유지한다.In addition, when the surfer moves from vertex v to target vertex t, the label of “grandchildOf” is maintained according to rule 2.

따라서, 시작 정점 s와 목표 정점 t 간에는 “grandchildOf”의 관계가 있음을 알 수 있다.Therefore, it can be seen that there is a relationship of “grandchildOf” between the starting vertex s and the target vertex t.

이와 같이 정해진 규칙에 따라서 다중-홉 관계 추론(multi-hop relational reasoning)을 통해 이동한 서퍼의 라벨을 결정할 수 있고, 따라서 서퍼의 라벨이 변경되는 규칙을 학습한다면 서퍼의 이동 경로에 간선의 라벨을 반영할 수 있다.The label of the surfer who has moved through multi-hop relational reasoning can be determined according to the determined rule. Therefore, if learning the rule in which the label of the surfer is changed, the label of the trunk is placed on the path of the surfer. Can reflect.

한편, 위에서 가정한 2가지 규칙은 도면 4의 (b) 및 (c)에 도시된 바와 같이 라벨 전이 삼각형(label transitive triangle)으로부터 도출될 수 있다.Meanwhile, the two rules assumed above may be derived from a label transitive triangle as shown in (b) and (c) of FIG. 4.

위와 같은 다중-홉 관계 추론을 위한 규칙을 알아내기 위해 주어진 그래프로부터 라벨 전이 삼각형을 추출하여 그래프에 포함된 지식을 추출해낼 수 있는 자료 주도적 접근(data-driven approach)을 이용하는 방법을 설명하면 다음과 같다.To find out the rules for multi-hop relationship inference as described above, explaining how to use the data-driven approach to extract the knowledge contained in the graph by extracting the label transition triangle from the given graph is as follows. same.

도 5의 (a)에 도시된 라벨 전이 삼각형으로부터, 도 5의 (c)에 도시된 라벨 전이 관찰(label transition observation)을 도출할 수 있다. 이때,

Figure pat00010
이라는 라벨 전이 관찰은 라벨
Figure pat00011
를 갖는 서퍼가 라벨
Figure pat00012
의 간선을 따라 이동하면 서퍼의 라벨이
Figure pat00013
로 변경됨을 의미한다.From the label transition triangle shown in Fig. 5A, the label transition observation shown in Fig. 5C can be derived. At this time,
Figure pat00010
The label metastasis observation is labeled
Figure pat00011
Surfer having a label
Figure pat00012
As you move along the trunk of the
Figure pat00013
Means change to

라벨 전이 삼각형으로부터 라벨 전이 관찰을 도출하는 구체적인 과정을 설명하면 다음과 같다.The specific process of deriving the label transition observation from the label transition triangle is as follows.

도 5의 (b)에서 확인할 수 있는 바와 같이 라벨이 없는 서퍼가 정점 x로부터 라벨

Figure pat00014
를 갖는 간선을 따라 정점 y로 이동하면 서퍼는 라벨
Figure pat00015
를 갖게되고, 이와 유사하게 서퍼가 정점 x로부터 라벨
Figure pat00016
를 갖는 간선을 따라 정점 z로 이동하면 서퍼는 라벨
Figure pat00017
를 갖게된다. 따라서, 라벨
Figure pat00018
를 갖는 서퍼가 라벨
Figure pat00019
를 갖는 간선을 따라 이동하면 서퍼의 라벨이
Figure pat00020
로 변경된다는 라벨 전이 관찰을 도 5의 (a)에 도시된 라벨 전이 삼각형으로부터 도출할 수 있다.As can be seen in Fig. 5(b), a surfer without a label is labeled from vertex x.
Figure pat00014
When you move to vertex y along the edge with the surfer labels
Figure pat00015
And similarly the surfer labels from vertex x
Figure pat00016
When you move to vertex z along the edge with the surfer labels
Figure pat00017
Will have Therefore, the label
Figure pat00018
Surfer having a label
Figure pat00019
As you move along the trunk with the label of the surfer
Figure pat00020
The label transition observation that is changed to can be derived from the label transition triangle shown in Fig. 5A.

한편, 라벨 전이 관찰로부터 서퍼의 라벨이 변경되는 규칙을 얻을 수 있는데, 그 과정을 자세히 설명하면 다음과 같다.On the other hand, it is possible to obtain a rule in which the label of the surfer is changed from the observation of the label transition, and the process is as follows.

먼저, 삼각형 열거 알고리즘(triangle enumeration algorithm)을 이용하여 그래프로부터 모든 라벨 전이 삼각형을 추출하고, 추출된 라벨 전이 삼각형들로부터 라벨 전이 관찰을 도출한다.First, all label transition triangles are extracted from the graph using a triangle enumeration algorithm, and label transition observations are derived from the extracted label transition triangles.

라벨 전이 관찰과 라벨 가중치(label weight)

Figure pat00021
에 기반하여 최대 가중 우도 추정(Maximum Weighted Likelihood Estimation, 이하 MWLE)을 적용하여 라벨 전이 확률 행렬(label transition probability matrix)
Figure pat00022
를 산출할 수 있다. Label transfer observation and label weight
Figure pat00021
Label transition probability matrix by applying maximum weighted likelihood estimation (MWLE) based on
Figure pat00022
Can be calculated.

Figure pat00023
는 라벨
Figure pat00024
에 대한 라벨 전이 확률 행렬이며,
Figure pat00025
Figure pat00026
번째 원소인
Figure pat00027
의 값은
Figure pat00028
이다. 이때,
Figure pat00029
는 라벨 전이 확률(label transition probability)로서 라벨
Figure pat00030
를 갖는 서퍼가 라벨
Figure pat00031
의 간선을 따라 이동할 경우 서퍼의 라벨이
Figure pat00032
로 변경될 확률을 의미한다. 따라서, 다음의 수학식 7과 같은 관계가 성립된다.
Figure pat00023
Label
Figure pat00024
Is the label transition probability matrix for
Figure pat00025
of
Figure pat00026
The second element
Figure pat00027
The value of
Figure pat00028
to be. At this time,
Figure pat00029
Is the label transition probability
Figure pat00030
Surfer having a label
Figure pat00031
When moving along the trunk of the
Figure pat00032
Means the probability of change to. Therefore, the relationship as shown in the following equation (7) is established.

Figure pat00033
Figure pat00033

라벨 전이 관찰들을 만드는 우도 함수(likelihood function)를 최대화하는 라벨 전이 확률

Figure pat00034
를 학습하기 위해 다음과 같은 과정을 거친다.Label transition probability to maximize likelihood function making label transition observations
Figure pat00034
In order to learn, it goes through the following process.

먼저, 다음의 수학식 8과 같이 표현되는 라벨 전이 관찰들의

Figure pat00035
세트가 주어진다고 가정한다.First, the label transition observations expressed by Equation 8 below
Figure pat00035
Assume that a set is given.

Figure pat00036
Figure pat00036

이때,

Figure pat00037
Figure pat00038
에 포함된 라벨 전이 관찰들의 개수이고,
Figure pat00039
는 라벨 전이 관찰
Figure pat00040
을 의미한다. 또한,
Figure pat00041
는 시작 정점에서의 서퍼의 라벨이고,
Figure pat00042
는 목표 정점에서의 서퍼의 라벨이다. 즉,
Figure pat00043
는 서퍼가 시작 정점에서 목표 정점까지 이동했을 때 레벨
Figure pat00044
를 갖게 되는 라벨 전이 관찰을 의미한다.At this time,
Figure pat00037
The
Figure pat00038
The number of label metastasis observations included in
Figure pat00039
Observe label metastasis
Figure pat00040
Means In addition,
Figure pat00041
Is the surfer's label at the starting vertex,
Figure pat00042
Is the surfer's label at the target vertex. In other words,
Figure pat00043
Level when the surfer moves from the starting vertex to the target vertex
Figure pat00044
It means to observe the label metastasis that will have.

한편,

Figure pat00045
는 파라미터
Figure pat00046
와 관련된
Figure pat00047
의 확률이라고 하면, 로그-우도 함수(log-likelihood function)
Figure pat00048
는 다음의 수학식 9와 같이 표현된다.Meanwhile,
Figure pat00045
Is the parameter
Figure pat00046
Related to
Figure pat00047
Speaking of probability, log-likelihood function
Figure pat00048
Is expressed by the following equation (9).

Figure pat00049
Figure pat00049

그런데, 지식 그래프와 같은 많은 네트워크에 있어서 노이즈나 이상점(outlier)에 민감하게 되므로

Figure pat00050
의 값을 최대화하는 것은 만족스럽지 않은 결과를 가져올 수 있다.However, in many networks, such as knowledge graphs, it becomes sensitive to noise and outliers.
Figure pat00050
Maximizing the value of can lead to unsatisfactory results.

이러한 문제를 해결하기 위해, 최대 가중 우도 추정(Maximum Weighted Likelihood Estimation, 이하 MWLE) 기법을 이용하여 각각의 레벨 전이 관찰에 대해서

Figure pat00051
의 중요도를 변경하도록 가중치를 부여할 수 있다. 라벨 가중치(label weight)
Figure pat00052
Figure pat00053
에 따라서
Figure pat00054
의 중요도를 부여하는 값이다.To solve this problem, for each level transition observation using the maximum weighted likelihood estimation (MWLE) technique
Figure pat00051
Weight can be assigned to change the importance of. Label weight
Figure pat00052
The
Figure pat00053
according to
Figure pat00054
This value gives the importance of.

가중 로그-우도 함수(weighted log-likelihood function)

Figure pat00055
는 다음의 수학식 10과 같이 정의된다.Weighted log-likelihood function
Figure pat00055
Is defined as Equation 10 below.

Figure pat00056
Figure pat00056

다음의 수학식 11로 정의되는

Figure pat00057
Figure pat00058
의 값을 최대화한다.Defined by the following equation (11)
Figure pat00057
The
Figure pat00058
Maximize the value of

Figure pat00059
Figure pat00059

이때,

Figure pat00060
Figure pat00061
인 라벨 전이 관찰의 수를 의미하며, 다음의 수학식 12로 나타낼 수 있다.At this time,
Figure pat00060
The
Figure pat00061
It means the number of in-label metastasis observations and can be expressed by the following equation (12).

Figure pat00062
Figure pat00062

이때,

Figure pat00063
은 괄호 안의 조건이 맞다면 1의 값을 갖고, 그렇지 않다면 0의 값을 갖는 함수이다.At this time,
Figure pat00063
Is a function that has a value of 1 if the condition in parentheses is met, and a value of 0 otherwise.

이와 같이,

Figure pat00064
Figure pat00065
Figure pat00066
에 의해 결정됨을 알 수 있다.like this,
Figure pat00064
The
Figure pat00065
And
Figure pat00066
It can be seen that is determined by.

만약, 모든

Figure pat00067
의 값을 1로 놓으면,
Figure pat00068
는 단지 주어진 레벨 전이 관찰들에 의해서만 결정된다. 또한, 만약
Figure pat00069
의 값을 높게 설정한다면, 서퍼의 라벨이
Figure pat00070
로 변경될 확률이 높아진다. 따라서, 최적의 성능을 낼 수 있도록 하는 적절한
Figure pat00071
의 값을 설정할 필요가 있다.If, all
Figure pat00067
If you set the value of to 1,
Figure pat00068
Is only determined by the given level transition observations. Also, if
Figure pat00069
If you set the value of, the surfer's label
Figure pat00070
The probability of being changed increases. Therefore, it is appropriate to achieve optimal performance.
Figure pat00071
It is necessary to set the value of.

이하에서는 도 6을 참조하여 서퍼의 라벨이 변경되는 규칙을 학습하는 과정, 즉 라벨 전이 확률 행렬을 산출하는 과정을 순서에 따라 설명한다.Hereinafter, with reference to FIG. 6, a process of learning a rule for changing a label of a surfer, that is, a process of calculating a label transition probability matrix will be described in order.

도 6은 일 실시예에 따라 간선에 라벨이 부여된 그래프에서 서퍼가 이동함에 따라 서퍼의 라벨이 변경되는 규칙을 학습하는 과정을 설명하기 위한 순서도이며, 도 3의 301 단계의 구체적인 단계들을 포함한다.6 is a flowchart for explaining a process of learning a rule in which a label of a surfer is changed as a surfer moves in a graph labeled with a trunk according to an embodiment, and includes specific steps of step 301 of FIG. 3. .

601 단계에서 제어부(120)는 그래프의 간선에 부여된 라벨을 반영한 인접 행렬

Figure pat00072
및 라벨 가중치
Figure pat00073
를 입력받는다. 이때, 인접 행렬
Figure pat00074
는 그래프의 간선에 부여된 라벨이 반영된 인접 행렬로서 라벨드 인접 행렬(labeled adjacency matrix)라고도 한다.In step 601, the controller 120 neighbors the matrix reflecting the label assigned to the edge of the graph.
Figure pat00072
And label weights
Figure pat00073
Input. At this time, the adjacency matrix
Figure pat00074
Is an adjacency matrix that reflects the label assigned to the edge of the graph and is also called a labeled adjacency matrix.

그래프로부터 라벨드 인접 행렬

Figure pat00075
를 추출하는 과정을 설명하면 다음과 같다.Labeled adjacency matrix from graph
Figure pat00075
The process of extracting is as follows.

간선에 라벨이 부여된 그래프를

Figure pat00076
라고 하고,
Figure pat00077
Figure pat00078
세트의 정점들과
Figure pat00079
세트의 간선들로 이루어진다고 하면,
Figure pat00080
은 간선 라벨들의 세트를 의미한다. 예를 들어
Figure pat00081
Figure pat00082
으로 표현되고, 이때
Figure pat00083
는 k번째 라벨이고,
Figure pat00084
는 간선 라벨들의 개수이다.A graph labeled on the edge
Figure pat00076
And
Figure pat00077
end
Figure pat00078
Set vertices
Figure pat00079
Speaking of set edges,
Figure pat00080
Means a set of edge labels. For example
Figure pat00081
silver
Figure pat00082
Is expressed as
Figure pat00083
Is the k-th label,
Figure pat00084
Is the number of edge labels.

Figure pat00085
Figure pat00086
가 각각
Figure pat00087
에 포함되는 정점이고,
Figure pat00088
Figure pat00089
에서
Figure pat00090
로 연결되는 간선이라고 하면,
Figure pat00091
의 라벨은
Figure pat00092
이다. (
Figure pat00093
,
Figure pat00094
,
Figure pat00095
)
Figure pat00085
And
Figure pat00086
Each
Figure pat00087
Is included in the vertex,
Figure pat00088
end
Figure pat00089
in
Figure pat00090
Speaking of the trunk leading to,
Figure pat00091
The label of
Figure pat00092
to be. (
Figure pat00093
,
Figure pat00094
,
Figure pat00095
)

이때,

Figure pat00096
의 라벨드 인접 행렬
Figure pat00097
는,
Figure pat00098
로부터
Figure pat00099
로 연결되는 간선이 있다면 원소
Figure pat00100
의 값이
Figure pat00101
이고,
Figure pat00102
로부터
Figure pat00103
로 연결되는 간선이 없다면 원소
Figure pat00104
의 값이 0이 되는 희소 행렬(sparse matrix)이다.At this time,
Figure pat00096
Labeled adjacency matrix of
Figure pat00097
Is,
Figure pat00098
from
Figure pat00099
If there is an edge leading to the element
Figure pat00100
The value of
Figure pat00101
ego,
Figure pat00102
from
Figure pat00103
Elements without edges leading to
Figure pat00104
It is a sparse matrix where the value of is 0.

602 단계에서 제어부(120)는 삼각형 열거 알고리즘(triangle enumeration algorithm)을 이용하여, 601 단계에서 입력된 인접 행렬

Figure pat00105
에 대응되는 그래프로부터 모든 라벨 전이 삼각형(label transitive triangle)을 추출하여 열거한다.In step 602, the controller 120 uses a triangle enumeration algorithm, and the adjacency matrix input in step 601.
Figure pat00105
Extract all label transitive triangles from the graph corresponding to and list them.

603 단계에서 제어부(120)는 추출된 라벨 전이 삼각형과 라벨 가중치

Figure pat00106
를 기반으로 MWLE를 적용하여 각각의 간선 라벨
Figure pat00107
에 대한 라벨 전이 확률
Figure pat00108
를 산출한다.In step 603, the controller 120 extracts the extracted label transition triangle and label weight
Figure pat00106
Each edge label by applying MWLE based on
Figure pat00107
Probability of label transition for
Figure pat00108
Calculate

한편, LRWR 기법을 이용하여 점수 행렬을 구하기 위해서는 각각의 간선 라벨

Figure pat00109
에 대한 인접 행렬
Figure pat00110
를 구한 뒤 정규화하는 과정이 필요하다. 이하에서는 도 7을 참조하여 인접 행렬을 정규화하는 과정에 대해서 설명한다.Meanwhile, in order to obtain a score matrix using the LRWR technique, each edge label
Figure pat00109
Adjacency matrix for
Figure pat00110
The process of obtaining and normalizing is necessary. Hereinafter, a process of normalizing an adjacency matrix will be described with reference to FIG. 7.

도 7은 일 실시예에 따라 그래프의 라벨이 반영된 인접 행렬을 정규화하는 과정을 설명하기 위한 순서도이다.7 is a flowchart illustrating a process of normalizing an adjacent matrix in which a label of a graph is reflected according to an embodiment.

도 7을 참조하면, 701 단계에서 제어부(120)는 그래프의 간선에 부여된 라벨을 반영한 인접 행렬

Figure pat00111
를 입력받는다. 라벨드 인접 행렬 를 구하는 방법은 앞서 도 6의 601 단계에서 설명한 바와 같다.Referring to FIG. 7, in step 701, the controller 120 neighbors the matrix reflecting the label assigned to the edge of the graph.
Figure pat00111
Input. The method of obtaining the labeled adjacency matrix is as described in step 601 of FIG. 6 above.

702 단계에서 제어부(120)는 각각의 라벨

Figure pat00112
에 대해서 준-인접 행렬(labeled semi-adjacency matrix)
Figure pat00113
를 산출한다. 이때 준-인접 행렬
Figure pat00114
는, 간선
Figure pat00115
의 라벨이
Figure pat00116
이면 원소
Figure pat00117
의 값이 1이고, 그 외의 경우에는
Figure pat00118
의 값이 0인 행렬이다. (
Figure pat00119
는 행렬
Figure pat00120
의 (u, v)번째 원소)In step 702, the control unit 120 labels each
Figure pat00112
For labeled semi-adjacency matrix
Figure pat00113
Calculate The quasi-adjacent matrix
Figure pat00114
The trunk
Figure pat00115
The label of
Figure pat00116
Back side element
Figure pat00117
The value of is 1, otherwise
Figure pat00118
Is a matrix whose value is 0. (
Figure pat00119
The matrix
Figure pat00120
Of (u, v)th element)

703 단계에서 제어부(120)는 라벨드 인접 행렬 로부터 연결 차수 행렬(out-degree diagonal matrix)

Figure pat00121
를 산출한다. 이때 연결 차수 행렬
Figure pat00122
는, 원소
Figure pat00123
의 값이 정점
Figure pat00124
로부터 나가는 간선의 개수, 즉 정점 u의 연결 차수(out-degree)인 행렬이다. 연결 차수 행렬
Figure pat00125
는 다음의 수학식 13 및 수학식 14를 통해 구할 수 있다.In step 703, the controller 120 connects an out-degree diagonal matrix from the labeled adjacency matrix.
Figure pat00121
Calculate Here, the connection order matrix
Figure pat00122
Silver, element
Figure pat00123
The value of vertex
Figure pat00124
It is a matrix that is the number of edges going out from, that is, the out-degree of the vertex u. Connection order matrix
Figure pat00125
Can be obtained through Equation 13 and Equation 14 below.

Figure pat00126
Figure pat00126

Figure pat00127
Figure pat00127

704 단계에서 제어부(120)는 연결 차수 행렬

Figure pat00128
를 이용하여, 각 간선 라벨
Figure pat00129
에 대한 준-행-정규화 행렬(labeled semi-row-normalized matrix)
Figure pat00130
를 산출한다. 제어부(120)는 다음의 수학식 15에 연결 차수 행렬
Figure pat00131
및 준-인접 행렬
Figure pat00132
를 대입함으로써
Figure pat00133
를 구할 수 있다.In step 704, the controller 120 connects the connection order matrix.
Figure pat00128
Using, each trunk label
Figure pat00129
Labeled semi-row-normalized matrix for
Figure pat00130
Calculate The control unit 120 is connected to the following equation (15) order matrix
Figure pat00131
And quasi-adjacent matrix
Figure pat00132
By substituting
Figure pat00133
Can be obtained.

Figure pat00134
Figure pat00134

이상에서 설명한 과정들에 따라서 각 간선 라벨

Figure pat00135
에 대한 정규화된 인접 행렬(준-행-정규화 행렬)인
Figure pat00136
와, 라벨 전이 확률 행렬
Figure pat00137
가 산출되었다면, 반복적 기법을 이용함으로써 점수 행렬
Figure pat00138
을 구할 수 있다.Label each edge according to the procedures described above.
Figure pat00135
Normalized adjacency matrix for (quasi-row-normalization matrix)
Figure pat00136
Wow, label transition probability matrix
Figure pat00137
If is calculated, score matrix by using iterative technique
Figure pat00138
Can be obtained.

이하에서는 도 8을 참조하여 반복적 기법을 통해 점수 행렬

Figure pat00139
을 산출하는 과정에 대해서 설명한다.Hereinafter, a score matrix through an iterative technique will be described with reference to FIG. 8.
Figure pat00139
The process of calculating is explained.

도 8을 참조하면, 801 단계에서 제어부(120)는 각 간선 라벨

Figure pat00140
에 대해서 정규화된 인접 행렬
Figure pat00141
및 라벨 전이 확률 행렬
Figure pat00142
, 시작 정점
Figure pat00143
, 재시작 확률
Figure pat00144
, 및 수렴 문턱값
Figure pat00145
를 입력받는다.Referring to FIG. 8, in step 801, the controller 120 labels each trunk.
Figure pat00140
Adjacency matrix normalized to
Figure pat00141
And label transition probability matrix
Figure pat00142
Start vertex
Figure pat00143
, Restart probability
Figure pat00144
, And convergence threshold
Figure pat00145
Input.

802 단계에서 제어부(120)는 입력된 시작 정점

Figure pat00146
를 반영하여 시작 행렬
Figure pat00147
를 생성하고,
Figure pat00148
와 같이 점수 행렬을 시작 행렬로 초기화한다. 시작 행렬
Figure pat00149
Figure pat00150
번째 원소만 1이고, 나머지 원소는 모두 0인 행렬이다. 이때,
Figure pat00151
는 시작 정점에 대응되는 인덱스 값이고,
Figure pat00152
는 더미 라벨(dummy label)
Figure pat00153
를 가리키는 인덱스 값이다.In step 802, the control unit 120 inputs the starting vertex
Figure pat00146
Reflecting the starting matrix
Figure pat00147
Create
Figure pat00148
Initialize the score matrix as Starting matrix
Figure pat00149
The
Figure pat00150
The first element is 1, and the rest of the elements are all zero. At this time,
Figure pat00151
Is the index value corresponding to the starting vertex,
Figure pat00152
Is a dummy label
Figure pat00153
Is an index value.

803 단계에서 제어부(120)는 정규화된 인접 행렬

Figure pat00154
, 라벨 전이 확률 행렬
Figure pat00155
및 시작 행렬
Figure pat00156
를 다음의 수학식 16에 대입하고 반복 계산을 수행한다.In step 803, the controller 120 normalizes the adjacency matrix.
Figure pat00154
, Label transition probability matrix
Figure pat00155
And starting matrix
Figure pat00156
Is substituted into the following equation (16) and iterative calculation is performed.

Figure pat00157
Figure pat00157

이때, t는 반복 계산을 수행한 횟수를 의미한다. 또한,

Figure pat00158
의 원소
Figure pat00159
는 t번 계산 반복시 라벨
Figure pat00160
에 대한 시작 정점
Figure pat00161
와 정점
Figure pat00162
사이의 점수이며, 다르게 설명하면 랜덤 워크를 t번 반복했을 때 시작 정점
Figure pat00163
를 출발한 서퍼가 정점
Figure pat00164
에 도달하여 라벨
Figure pat00165
를 가질 확률이다.At this time, t denotes the number of times iterative calculation is performed. In addition,
Figure pat00158
Element of
Figure pat00159
Is the label when repeating t calculations
Figure pat00160
Start vertex for
Figure pat00161
And vertex
Figure pat00162
This is the score between, and in other words, the starting vertex when the random walk is repeated t times.
Figure pat00163
The surfer who departed has peaked
Figure pat00164
Label by reaching
Figure pat00165
Is the probability of having

804 단계에서 제어부(120)는 반복 계산을 통해 점수 행렬이 수렴하는지 여부를 판단한다. 다시 말해, 제어부(120)는

Figure pat00166
Figure pat00167
간 차이의 크기가 수렴 문턱값
Figure pat00168
보다 작아질 때까지 반복 계산을 수행하고, 차이가
Figure pat00169
보다 작아지면 점수 행렬이 수렴한 것으로 판단하고 805 단계로 진행하여 수렴된 점수 행렬을 출력한다.In step 804, the controller 120 determines whether the score matrix converges through iterative calculation. In other words, the control unit 120
Figure pat00166
Wow
Figure pat00167
The magnitude of the difference between them is the convergence threshold
Figure pat00168
Iterative calculations are performed until smaller, and the difference is
Figure pat00169
If it becomes smaller, it is determined that the score matrix has converged, and the process proceeds to step 805 to output the converged score matrix.

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

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

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

도 3 내지 도 8를 통해 설명된 실시예에 따른 다중 간선 라벨 그래프의 정점들 간 관련도를 측정하는 방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다.The method of measuring the relevance between vertices of the multi-trunk label graph according to the embodiment described with reference to FIGS. 3 to 8 is also implemented in the form of a computer-readable medium that stores instructions and data executable by a computer. Can be. At this time, instructions and data may be stored in the form of program code, and when executed by a processor, a predetermined program module may be generated to perform a predetermined operation. In addition, the computer-readable medium can be any available medium that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may be a computer recording medium, which is volatile and non-volatile implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Volatile, removable and non-removable media. For example, the computer recording medium may be a magnetic storage medium such as HDD and SSD, an optical recording medium such as CD, DVD and Blu-ray disk, or a memory included in a server accessible through a network.

또한 도 3 내지 도 8를 통해 설명된 실시예에 따른 다중 간선 라벨 그래프의 정점들 간 관련도를 측정하는 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다. Also, a method of measuring the relevance between vertices of a multi-trunk label graph according to the embodiment described with reference to FIGS. 3 to 8 may be implemented as a computer program (or computer program product) including instructions executable by a computer. have. The computer program includes programmable machine instructions processed by a processor and may be implemented in a high-level programming language, object-oriented programming language, assembly language, or machine language. . In addition, the computer program may be recorded on a tangible computer-readable recording medium (eg, memory, hard disk, magnetic/optical medium, or solid-state drive (SSD)).

따라서 도 3 내지 도 8를 통해 설명된 실시예에 따른 다중 간선 라벨 그래프의 정점들 간 관련도를 측정하는 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.Accordingly, a method of measuring the relevance between vertices of the multi-trunk label graph according to the embodiments described with reference to FIGS. 3 to 8 may be implemented by executing a computer program as described above by a 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 is connected to each other using various buses, and can be mounted on a common motherboard or mounted in other suitable ways.

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

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

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

상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above-described embodiments are for illustration only, and those having ordinary knowledge in the technical field to which the above-described embodiments belong can easily be modified into other specific forms without changing the technical idea or essential features of the above-described embodiments. You will understand. Therefore, it should be understood that the above-described embodiments are illustrative 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 to be protected through the present specification is indicated by the claims, which will be described later, rather than the detailed description, and should be interpreted to include all modified or modified forms derived from the meaning and scope of the claims and equivalent concepts thereof. .

100: 관련도 측정 장치 110: 통신부
120: 제어부 130: 저장부
100: relevance measuring device 110: communication unit
120: control unit 130: storage unit

Claims (10)

간선에 정점들 간 관계를 나타내는 라벨이 부여된 그래프에서, 정점들 간 관련도를 측정하는 방법에 있어서,
상기 그래프에 포함되는 정점들 사이를 서퍼(surfer)가 이동함에 따라 서퍼의 라벨이 변경되는 규칙을 학습하는 단계;
상기 그래프의 인접 행렬을 각각의 간선 라벨에 대해서 정규화하는 단계; 및
상기 규칙을 학습한 결과와 상기 정규화된 인접 행렬을 이용하고, 반복적 기법을 통해 점수 행렬을 산출하는 단계를 포함하는, 방법.
In the graph labeled the relationship between vertices on the edge, in the method of measuring the relevance between vertices,
Learning a rule in which a label of a surfer changes as a surfer moves between vertices included in the graph;
Normalizing the adjacency matrix of the graph for each edge label; And
And using the result of learning the rule and the normalized adjacency matrix, and calculating a score matrix through an iterative technique.
제1항에 있어서,
상기 서퍼의 라벨이 변경되는 규칙을 학습하는 단계는,
상기 그래프의 간선에 부여된 라벨을 반영한 인접 행렬 및 라벨 가중치를 입력받는 단계;
상기 그래프로부터 모든 라벨 전이 삼각형들을 추출하여 열거하는 단계; 및
상기 라벨 전이 삼각형과 상기 라벨 가중치를 기반으로 최대 가중 우도 추정을 적용하여 각각의 간선 라벨에 대한 라벨 전이 확률 행렬을 산출하는 단계를 포함하는 것을 특징으로 하는 방법.
According to claim 1,
Learning the rules for changing the label of the surfer,
Receiving an adjacent matrix and a label weight reflecting the label assigned to the edge of the graph;
Extracting and enumerating all label transition triangles from the graph; And
And calculating a label transition probability matrix for each edge label by applying a maximum weighted likelihood estimation based on the label transition triangle and the label weight.
제2항에 있어서,
상기 정규화하는 단계는,
상기 그래프의 간선에 부여된 라벨을 반영한 인접 행렬을 입력받는 단계;
각각의 간선 라벨에 대해서 준-인접 행렬을 산출하는 단계;
상기 인접 행렬로부터 연결 차수 행렬을 산출하는 단계; 및
상기 연결 차수 행렬을 이용하여 각각의 간선 라벨에 대한 준-행-정규화 행렬을 산출하는 단계를 포함하는 것을 특징으로 하는 방법.
According to claim 2,
The normalizing step,
Receiving an adjacent matrix reflecting a label assigned to the edge of the graph;
Calculating a quasi-adjacent matrix for each edge label;
Calculating a concatenation matrix from the adjacency matrix; And
And calculating a quasi-row-normalized matrix for each edge label using the concatenation order matrix.
제3항에 있어서,
상기 반복적 기법을 통해 점수 행렬을 산출하는 단계는,
상기 각각의 간선 라벨에 대한 준-행-정규화 행렬 및 라벨 전이 확률 행렬, 시작 정점, 재시작 확률 및 수렴 문턱값을 입력받는 단계;
상기 시작 정점에 따라서 시작 행렬을 생성하고, 상기 점수 행렬을 상기 시작 행렬로 초기화하는 단계;
상기 준-행-정규화 행렬, 상기 라벨 전이 확률 행렬 및 상기 시작 행렬을 이용하여 점수 행렬 계산을 반복적으로 수행하는 단계;
상기 수렴 문턱값을 기준으로 상기 점수 행렬이 수렴하는지 여부를 판단하는 단계; 및
상기 점수 행렬이 수렴한다면, 수렴된 점수 행렬을 출력하는 단계를 포함하는 것을 특징으로 하는 방법.
According to claim 3,
The step of calculating a score matrix through the iterative technique,
Receiving a quasi-row-normalization matrix and a label transition probability matrix, a starting vertex, a restart probability and a convergence threshold for each edge label;
Generating a starting matrix according to the starting vertex, and initializing the score matrix with the starting matrix;
Repeatedly performing a score matrix calculation using the quasi-row-normalized matrix, the label transition probability matrix, and the starting matrix;
Determining whether the score matrix converges based on the convergence threshold value; And
And if the score matrix converges, outputting a converged score matrix.
제1항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium on which a program for performing the method according to claim 1 is recorded. 관련도 측정 장치에 의해 수행되며, 제1항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램.A computer program stored in a medium for performing the method according to claim 1, performed by a relevance measurement device. 간선에 정점들 간 관계를 나타내는 라벨이 부여된 그래프에서, 정점들 간 관련도를 측정하기 위한 장치에 있어서,
관련도 측정의 대상이 되는 그래프에 대한 정보를 수신하기 위한 통신부;
상기 그래프의 정점들 간 관련도를 측정하기 위한 프로그램이 저장되는 저장부; 및
상기 프로그램을 실행함으로써 그래프의 정점들 간 관련도를 측정하는 제어부를 포함하며,
상기 제어부는, 상기 그래프에 포함되는 정점들 사이를 서퍼(surfer)가 이동함에 따라 서퍼의 라벨이 변경되는 규칙을 학습하고, 상기 그래프의 인접 행렬을 각각의 간선 라벨에 대해서 정규화하고, 상기 규칙을 학습한 결과와 상기 정규화된 인접 행렬을 이용하고 반복적 기법을 통해 점수 행렬을 산출하는, 장치.
In the graph labeled the relationship between the vertices on the edge, in the apparatus for measuring the relevance between vertices,
A communication unit for receiving information on a graph that is a target of relevance measurement;
A storage unit for storing a program for measuring the degree of relevance between vertices of the graph; And
It includes a control unit for measuring the relationship between the vertices of the graph by executing the program,
The control unit learns a rule in which the label of a surfer changes as a surfer moves between vertices included in the graph, normalizes the adjacency matrix of the graph for each edge label, and adjusts the rule. An apparatus using the learned result and the normalized adjacency matrix and calculating a score matrix through an iterative technique.
제7항에 있어서,
상기 제어부는,
상기 그래프의 간선에 부여된 라벨을 반영한 인접 행렬 및 라벨 가중치를 입력받으면, 상기 그래프로부터 모든 라벨 전이 삼각형들을 추출하여 열거하고, 상기 라벨 전이 삼각형과 상기 라벨 가중치를 기반으로 최대 가중 우도 추정을 적용하여 각각의 간선 라벨에 대한 라벨 전이 확률 행렬을 산출하는 것을 특징으로 하는 장치.
The method of claim 7,
The control unit,
When the adjacency matrix and label weight reflecting the label assigned to the edge of the graph are received, all the label transition triangles are extracted and enumerated, and the maximum weighted likelihood estimation is applied based on the label transition triangle and the label weight. And a label transition probability matrix for each edge label.
제8항에 있어서,
상기 제어부는,
상기 그래프의 간선에 부여된 라벨을 반영한 인접 행렬을 입력받으면, 각각의 간선 라벨에 대해서 준-인접 행렬을 산출한 후, 상기 인접 행렬로부터 연결 차수 행렬을 산출하고, 상기 연결 차수 행렬을 이용하여 각각의 간선 라벨에 대한 준-행-정규화 행렬을 산출하는 것을 특징으로 하는 장치.
The method of claim 8,
The control unit,
When an adjacency matrix reflecting the label assigned to the edge of the graph is received, a quasi-adjacent matrix is calculated for each edge label, and then a concatenation order matrix is calculated from the adjacency matrix, respectively using the concatenation order matrix. And calculating a quasi-row-normalized matrix for the edge labels of the.
제9항에 있어서,
상기 제어부는,
상기 각각의 간선 라벨에 대한 준-행-정규화 행렬 및 라벨 전이 확률 행렬, 시작 정점, 재시작 확률 및 수렴 문턱값을 입력받으면, 상기 시작 정점에 따라서 시작 행렬을 생성하고, 상기 점수 행렬을 상기 시작 행렬로 초기화한 후, 상기 준-행-정규화 행렬, 상기 라벨 전이 확률 행렬 및 상기 시작 행렬을 이용하여 점수 행렬 계산을 반복적으로 수행하여, 상기 수렴 문턱값을 기준으로 상기 점수 행렬이 수렴한다면 수렴된 점수 행렬을 출력하는 것을 특징으로 하는 장치.
The method of claim 9,
The control unit,
When inputting a quasi-row-normalization matrix and a label transition probability matrix, a starting vertex, a restart probability and a convergence threshold for each edge label, a starting matrix is generated according to the starting vertex, and the score matrix is the starting matrix. After initializing to, the score matrix calculation is repeatedly performed using the quasi-row-normalization matrix, the label transition probability matrix, and the starting matrix to converge the score if the score matrix converges based on the convergence threshold. Device for outputting a matrix.
KR1020180150180A 2018-11-28 2018-11-28 Method and apparatus for measuring relevance between nodes of edge-labeled multigraph KR102177940B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180150180A KR102177940B1 (en) 2018-11-28 2018-11-28 Method and apparatus for measuring relevance between nodes of edge-labeled multigraph

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180150180A KR102177940B1 (en) 2018-11-28 2018-11-28 Method and apparatus for measuring relevance between nodes of edge-labeled multigraph

Publications (2)

Publication Number Publication Date
KR20200063904A true KR20200063904A (en) 2020-06-05
KR102177940B1 KR102177940B1 (en) 2020-11-12

Family

ID=71089164

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180150180A KR102177940B1 (en) 2018-11-28 2018-11-28 Method and apparatus for measuring relevance between nodes of edge-labeled multigraph

Country Status (1)

Country Link
KR (1) KR102177940B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113052083A (en) * 2021-03-26 2021-06-29 陕西大步实业有限公司 Action behavior segmentation method for multi-neighbor graph constraint matrix decomposition

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017097698A (en) * 2015-11-26 2017-06-01 富士通株式会社 Graph processing program graph processing method, and information processing device
KR101866866B1 (en) * 2017-01-12 2018-06-14 서울대학교산학협력단 Method for personalized ranking in signed networks, recording medium and device for performing the method
JP2018106216A (en) * 2016-12-22 2018-07-05 日本電信電話株式会社 Learning data generating device, development data generating apparatus, model learning apparatus, method thereof, and program
KR20180078712A (en) * 2016-12-30 2018-07-10 서울대학교산학협력단 Method and apparatus for performing graph ranking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017097698A (en) * 2015-11-26 2017-06-01 富士通株式会社 Graph processing program graph processing method, and information processing device
JP2018106216A (en) * 2016-12-22 2018-07-05 日本電信電話株式会社 Learning data generating device, development data generating apparatus, model learning apparatus, method thereof, and program
KR20180078712A (en) * 2016-12-30 2018-07-10 서울대학교산학협력단 Method and apparatus for performing graph ranking
KR101866866B1 (en) * 2017-01-12 2018-06-14 서울대학교산학협력단 Method for personalized ranking in signed networks, recording medium and device for performing the method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113052083A (en) * 2021-03-26 2021-06-29 陕西大步实业有限公司 Action behavior segmentation method for multi-neighbor graph constraint matrix decomposition
CN113052083B (en) * 2021-03-26 2024-06-11 陕西大步实业有限公司 Action behavior segmentation method for constraint matrix decomposition of multi-neighbor graph

Also Published As

Publication number Publication date
KR102177940B1 (en) 2020-11-12

Similar Documents

Publication Publication Date Title
US20210342699A1 (en) Cooperative execution of a genetic algorithm with an efficient training algorithm for data-driven model creation
US20210034980A1 (en) Real-time visualization of machine learning models
JP6969637B2 (en) Causality analysis methods and electronic devices
WO2022121289A1 (en) Methods and systems for mining minority-class data samples for training neural network
US11556778B2 (en) Automated generation of machine learning models
US20190080240A1 (en) Execution of a genetic algorithm with variable evolutionary weights of topological parameters for neural network generation and training
CN104809134B (en) The method and apparatus for detecting the abnormal subsequence in data sequence
KR20210032140A (en) Method and apparatus for performing pruning of neural network
US11494689B2 (en) Method and device for improved classification
US20160104070A1 (en) Inference engine for efficient machine learning
US20200265307A1 (en) Apparatus and method with multi-task neural network
JP2023535227A (en) Method, Apparatus, and Computing Device for Updating AI Models, and Storage Medium
US11410030B2 (en) Active imitation learning in high dimensional continuous environments
US20220170751A1 (en) Method for defining a path
US11816185B1 (en) Multi-view image analysis using neural networks
US20200167660A1 (en) Automated heuristic deep learning-based modelling
CN118451423A (en) Optimal knowledge distillation scheme
WO2022265573A2 (en) Automatically and efficiently generating search spaces for neural network
CN114399025A (en) Graph neural network interpretation method, system, terminal and storage medium
US11989656B2 (en) Search space exploration for deep learning
US20220121924A1 (en) Configuring a neural network using smoothing splines
KR102177940B1 (en) Method and apparatus for measuring relevance between nodes of edge-labeled multigraph
WO2016174725A1 (en) Computer, and calculation method using neural network
CN112513935A (en) Image processing method and image processing apparatus
JP2023518789A (en) Methods for selecting datasets for updating artificial intelligence modules

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right