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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix 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
Description
본 명세서에서 개시되는 실시예들은 간선에 정점들 간 관계를 나타내는 라벨이 부여된 그래프에 있어서, 라벨을 반영하여 정점들 간 관련도를 측정하는 방법 및 장치에 관한 것이다.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,
즉, 서퍼(1)는 한 번 이동할 때마다 바로 이웃한 정점으로 이동(랜덤 워크)하거나, 시작 정점으로 이동(재시작)한다. 이때, 서퍼(1)가 재시작을 수행할 확률을 c라고 하면, 랜덤 워크를 수행할 확률은 (1-c)가 된다.That is, each time the
정점들 각각에 서퍼(1)가 도달할 확률을 RWR 점수라고 하고, 정점들 각각에 대한 RWR 점수로 구성되는 열벡터(column vector) r을 RWR 점수 벡터라고 한다. 또한, 그래프를 나타내는 인접 행렬(adjacency matrix)을 A라고 하면, RWR 점수 벡터 r은 다음과 같은 수식으로 나타낼 수 있다.The probability that the
이때, q는 시작 정점에 대응되는 원소의 값이 1이고, 나머지 원소들은 모두 0인 열벡터이다. 또한, 는 각 행의 원소의 합이 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, Is an adjacency matrix normalized so that the sum of the elements in each row is 1. From
따라서, 를 H라고 한다면, RWR 점수 벡터 r은 다음의 수학식 3과 같은 선형 시스템의 해로 구할 수 있다.therefore, If H is H, the RWR score vector r can be obtained by solving the linear system as in
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
이때, i는 계산을 반복 수행한 횟수를 의미한다. 초기값인 r(0)로부터 시작하여, 다음의 수학식 5를 만족할 때까지 수학식 4를 반복 적용할 수 있다. 물론, 수학식 5는 수렴 조건의 한 예로서, 수렴 조건을 다르게 설정하는 것도 가능하다. 이때, 는 허용 오차 (error tolerance) 또는 수렴 문턱값이라 한다.At this time, i means the number of times the calculation is repeatedly performed. Starting from the initial value r (0) ,
이번에는 전처리 기법에 대해서 설명한다. 전처리 기법은 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
이하에서 설명되는 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
통신부(110)는 인터넷 등의 네트워크와 통신을 수행하기 위한 구성으로서 이더넷 통신 및 무선 LAN 통신 등을 지원하는 통신 칩셋으로 구성될 수 있다. 관련도 측정 장치(100)는 통신부(110)를 통해 외부로부터 관련도 측정의 대상이 되는 그래프에 대한 정보를 수신할 수 있다.The
제어부(120)는 CPU 등과 같은 적어도 하나의 프로세서를 포함하는 구성으로서, 관련도 측정 장치(100)의 전반적인 동작을 제어한다. 특히, 제어부(120)는 저장부(130)에 저장된 프로그램을 실행함으로써, LRWR 기법을 적용하여 그래프의 정점들 간 관련도를 측정한다. 제어부(120)가 그래프의 정점들 간 관련도를 측정하는 구체적인 방법은 아래에서 도 3 내지 도 8을 참조하여 설명한다.The
저장부(130)에는 다양항 종류의 프로그램 및 데이터가 저장될 수 있다. 특히, 저장부(130)에는 LRWR 기법을 적용하여 그래프의 정점들 간 관련도를 측정하기 위한 프로그램이 저장되어 제어부(120)에 의해 실행될 수 있다.Various types of programs and data may be stored in the
이하에서는, 도 3 내지 도 8을 참조하여, 관련도 측정 장치(100)가 간선에 라벨이 부여된 그래프로부터 정점들 간 관련도를 측정하는 과정에 대해서 자세히 설명한다.Hereinafter, with reference to FIGS. 3 to 8, a process in which the
도 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
302 단계에서 제어부(120)는 그래프의 인접 행렬을 각각의 라벨에 대해서 정규화한다. 302 단계를 수행하는 자세한 과정은 아래에서 도 7을 참조하여 설명한다.In
303 단계에서 제어부(120)는 301 단계의 학습 결과와 302 단계에서 정규화된 인접 행렬을 이용하고, 반복적 기법을 통해 점수 행렬을 산출한다. 303 단계를 수행하는 자세한 과정은 아래에서 도 8을 참조하여 설명한다.In
먼저, 301 단계에서 제어부(120)가 서퍼의 라벨이 변경되는 규칙을 학습하는 과정에 대해서 도 4 내지 도 6을 참조하여 자세히 설명한다.First, in
도 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
또한, 서퍼는 정점 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
따라서, 시작 정점 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)을 도출할 수 있다. 이때, 이라는 라벨 전이 관찰은 라벨 를 갖는 서퍼가 라벨 의 간선을 따라 이동하면 서퍼의 라벨이 로 변경됨을 의미한다.From the label transition triangle shown in Fig. 5A, the label transition observation shown in Fig. 5C can be derived. At this time, The label metastasis observation is labeled Surfer having a label As you move along the trunk of the Means change to
라벨 전이 삼각형으로부터 라벨 전이 관찰을 도출하는 구체적인 과정을 설명하면 다음과 같다.The specific process of deriving the label transition observation from the label transition triangle is as follows.
도 5의 (b)에서 확인할 수 있는 바와 같이 라벨이 없는 서퍼가 정점 x로부터 라벨 를 갖는 간선을 따라 정점 y로 이동하면 서퍼는 라벨 를 갖게되고, 이와 유사하게 서퍼가 정점 x로부터 라벨 를 갖는 간선을 따라 정점 z로 이동하면 서퍼는 라벨 를 갖게된다. 따라서, 라벨 를 갖는 서퍼가 라벨 를 갖는 간선을 따라 이동하면 서퍼의 라벨이 로 변경된다는 라벨 전이 관찰을 도 5의 (a)에 도시된 라벨 전이 삼각형으로부터 도출할 수 있다.As can be seen in Fig. 5(b), a surfer without a label is labeled from vertex x. When you move to vertex y along the edge with the surfer labels And similarly the surfer labels from vertex x When you move to vertex z along the edge with the surfer labels Will have Therefore, the label Surfer having a label As you move along the trunk with the label of the surfer 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) 에 기반하여 최대 가중 우도 추정(Maximum Weighted Likelihood Estimation, 이하 MWLE)을 적용하여 라벨 전이 확률 행렬(label transition probability matrix) 를 산출할 수 있다. Label transfer observation and label weight Label transition probability matrix by applying maximum weighted likelihood estimation (MWLE) based on Can be calculated.
는 라벨 에 대한 라벨 전이 확률 행렬이며, 의 번째 원소인 의 값은 이다. 이때, 는 라벨 전이 확률(label transition probability)로서 라벨 를 갖는 서퍼가 라벨 의 간선을 따라 이동할 경우 서퍼의 라벨이 로 변경될 확률을 의미한다. 따라서, 다음의 수학식 7과 같은 관계가 성립된다. Label Is the label transition probability matrix for of The second element The value of to be. At this time, Is the label transition probability Surfer having a label When moving along the trunk of the Means the probability of change to. Therefore, the relationship as shown in the following equation (7) is established.
라벨 전이 관찰들을 만드는 우도 함수(likelihood function)를 최대화하는 라벨 전이 확률 를 학습하기 위해 다음과 같은 과정을 거친다.Label transition probability to maximize likelihood function making label transition observations In order to learn, it goes through the following process.
먼저, 다음의 수학식 8과 같이 표현되는 라벨 전이 관찰들의 세트가 주어진다고 가정한다.First, the label transition observations expressed by
이때, 는 에 포함된 라벨 전이 관찰들의 개수이고, 는 라벨 전이 관찰 을 의미한다. 또한, 는 시작 정점에서의 서퍼의 라벨이고, 는 목표 정점에서의 서퍼의 라벨이다. 즉, 는 서퍼가 시작 정점에서 목표 정점까지 이동했을 때 레벨 를 갖게 되는 라벨 전이 관찰을 의미한다.At this time, The The number of label metastasis observations included in Observe label metastasis Means In addition, Is the surfer's label at the starting vertex, Is the surfer's label at the target vertex. In other words, Level when the surfer moves from the starting vertex to the target vertex It means to observe the label metastasis that will have.
한편, 는 파라미터 와 관련된 의 확률이라고 하면, 로그-우도 함수(log-likelihood function) 는 다음의 수학식 9와 같이 표현된다.Meanwhile, Is the parameter Related to Speaking of probability, log-likelihood function Is expressed by the following equation (9).
그런데, 지식 그래프와 같은 많은 네트워크에 있어서 노이즈나 이상점(outlier)에 민감하게 되므로 의 값을 최대화하는 것은 만족스럽지 않은 결과를 가져올 수 있다.However, in many networks, such as knowledge graphs, it becomes sensitive to noise and outliers. Maximizing the value of can lead to unsatisfactory results.
이러한 문제를 해결하기 위해, 최대 가중 우도 추정(Maximum Weighted Likelihood Estimation, 이하 MWLE) 기법을 이용하여 각각의 레벨 전이 관찰에 대해서 의 중요도를 변경하도록 가중치를 부여할 수 있다. 라벨 가중치(label weight) 는 에 따라서 의 중요도를 부여하는 값이다.To solve this problem, for each level transition observation using the maximum weighted likelihood estimation (MWLE) technique Weight can be assigned to change the importance of. Label weight The according to This value gives the importance of.
가중 로그-우도 함수(weighted log-likelihood function) 는 다음의 수학식 10과 같이 정의된다.Weighted log-likelihood function Is defined as
다음의 수학식 11로 정의되는 는 의 값을 최대화한다.Defined by the following equation (11) The Maximize the value of
이때, 는 인 라벨 전이 관찰의 수를 의미하며, 다음의 수학식 12로 나타낼 수 있다.At this time, The It means the number of in-label metastasis observations and can be expressed by the following equation (12).
이때, 은 괄호 안의 조건이 맞다면 1의 값을 갖고, 그렇지 않다면 0의 값을 갖는 함수이다.At this time, Is a function that has a value of 1 if the condition in parentheses is met, and a value of 0 otherwise.
이와 같이, 는 및 에 의해 결정됨을 알 수 있다.like this, The And It can be seen that is determined by.
만약, 모든 의 값을 1로 놓으면, 는 단지 주어진 레벨 전이 관찰들에 의해서만 결정된다. 또한, 만약 의 값을 높게 설정한다면, 서퍼의 라벨이 로 변경될 확률이 높아진다. 따라서, 최적의 성능을 낼 수 있도록 하는 적절한 의 값을 설정할 필요가 있다.If, all If you set the value of to 1, Is only determined by the given level transition observations. Also, if If you set the value of, the surfer's label The probability of being changed increases. Therefore, it is appropriate to achieve optimal performance. 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
601 단계에서 제어부(120)는 그래프의 간선에 부여된 라벨을 반영한 인접 행렬 및 라벨 가중치 를 입력받는다. 이때, 인접 행렬 는 그래프의 간선에 부여된 라벨이 반영된 인접 행렬로서 라벨드 인접 행렬(labeled adjacency matrix)라고도 한다.In
그래프로부터 라벨드 인접 행렬 를 추출하는 과정을 설명하면 다음과 같다.Labeled adjacency matrix from graph The process of extracting is as follows.
간선에 라벨이 부여된 그래프를 라고 하고, 가 세트의 정점들과 세트의 간선들로 이루어진다고 하면, 은 간선 라벨들의 세트를 의미한다. 예를 들어 은 으로 표현되고, 이때 는 k번째 라벨이고, 는 간선 라벨들의 개수이다.A graph labeled on the edge And end Set vertices Speaking of set edges, Means a set of edge labels. For example silver Is expressed as Is the k-th label, Is the number of edge labels.
및 가 각각 에 포함되는 정점이고, 가 에서 로 연결되는 간선이라고 하면, 의 라벨은 이다. (, , ) And Each Is included in the vertex, end in Speaking of the trunk leading to, The label of to be. ( , , )
이때, 의 라벨드 인접 행렬 는, 로부터 로 연결되는 간선이 있다면 원소 의 값이 이고, 로부터 로 연결되는 간선이 없다면 원소 의 값이 0이 되는 희소 행렬(sparse matrix)이다.At this time, Labeled adjacency matrix of Is, from If there is an edge leading to the element The value of ego, from Elements without edges leading to It is a sparse matrix where the value of is 0.
602 단계에서 제어부(120)는 삼각형 열거 알고리즘(triangle enumeration algorithm)을 이용하여, 601 단계에서 입력된 인접 행렬 에 대응되는 그래프로부터 모든 라벨 전이 삼각형(label transitive triangle)을 추출하여 열거한다.In
603 단계에서 제어부(120)는 추출된 라벨 전이 삼각형과 라벨 가중치 를 기반으로 MWLE를 적용하여 각각의 간선 라벨 에 대한 라벨 전이 확률 를 산출한다.In
한편, LRWR 기법을 이용하여 점수 행렬을 구하기 위해서는 각각의 간선 라벨 에 대한 인접 행렬 를 구한 뒤 정규화하는 과정이 필요하다. 이하에서는 도 7을 참조하여 인접 행렬을 정규화하는 과정에 대해서 설명한다.Meanwhile, in order to obtain a score matrix using the LRWR technique, each edge label Adjacency matrix for 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)는 그래프의 간선에 부여된 라벨을 반영한 인접 행렬 를 입력받는다. 라벨드 인접 행렬 를 구하는 방법은 앞서 도 6의 601 단계에서 설명한 바와 같다.Referring to FIG. 7, in
702 단계에서 제어부(120)는 각각의 라벨 에 대해서 준-인접 행렬(labeled semi-adjacency matrix) 를 산출한다. 이때 준-인접 행렬 는, 간선 의 라벨이 이면 원소 의 값이 1이고, 그 외의 경우에는 의 값이 0인 행렬이다. (는 행렬 의 (u, v)번째 원소)In
703 단계에서 제어부(120)는 라벨드 인접 행렬 로부터 연결 차수 행렬(out-degree diagonal matrix) 를 산출한다. 이때 연결 차수 행렬 는, 원소 의 값이 정점 로부터 나가는 간선의 개수, 즉 정점 u의 연결 차수(out-degree)인 행렬이다. 연결 차수 행렬 는 다음의 수학식 13 및 수학식 14를 통해 구할 수 있다.In
704 단계에서 제어부(120)는 연결 차수 행렬 를 이용하여, 각 간선 라벨 에 대한 준-행-정규화 행렬(labeled semi-row-normalized matrix) 를 산출한다. 제어부(120)는 다음의 수학식 15에 연결 차수 행렬 및 준-인접 행렬 를 대입함으로써 를 구할 수 있다.In
이상에서 설명한 과정들에 따라서 각 간선 라벨 에 대한 정규화된 인접 행렬(준-행-정규화 행렬)인 와, 라벨 전이 확률 행렬 가 산출되었다면, 반복적 기법을 이용함으로써 점수 행렬 을 구할 수 있다.Label each edge according to the procedures described above. Normalized adjacency matrix for (quasi-row-normalization matrix) Wow, label transition probability matrix If is calculated, score matrix by using iterative technique Can be obtained.
이하에서는 도 8을 참조하여 반복적 기법을 통해 점수 행렬 을 산출하는 과정에 대해서 설명한다.Hereinafter, a score matrix through an iterative technique will be described with reference to FIG. 8. The process of calculating is explained.
도 8을 참조하면, 801 단계에서 제어부(120)는 각 간선 라벨 에 대해서 정규화된 인접 행렬 및 라벨 전이 확률 행렬 , 시작 정점 , 재시작 확률 , 및 수렴 문턱값 를 입력받는다.Referring to FIG. 8, in
802 단계에서 제어부(120)는 입력된 시작 정점 를 반영하여 시작 행렬 를 생성하고, 와 같이 점수 행렬을 시작 행렬로 초기화한다. 시작 행렬 는 번째 원소만 1이고, 나머지 원소는 모두 0인 행렬이다. 이때, 는 시작 정점에 대응되는 인덱스 값이고, 는 더미 라벨(dummy label) 를 가리키는 인덱스 값이다.In
803 단계에서 제어부(120)는 정규화된 인접 행렬 , 라벨 전이 확률 행렬 및 시작 행렬 를 다음의 수학식 16에 대입하고 반복 계산을 수행한다.In
이때, t는 반복 계산을 수행한 횟수를 의미한다. 또한, 의 원소 는 t번 계산 반복시 라벨 에 대한 시작 정점 와 정점 사이의 점수이며, 다르게 설명하면 랜덤 워크를 t번 반복했을 때 시작 정점 를 출발한 서퍼가 정점 에 도달하여 라벨 를 가질 확률이다.At this time, t denotes the number of times iterative calculation is performed. In addition, Element of Is the label when repeating t calculations Start vertex for And vertex This is the score between, and in other words, the starting vertex when the random walk is repeated t times. The surfer who departed has peaked Label by reaching Is the probability of having
804 단계에서 제어부(120)는 반복 계산을 통해 점수 행렬이 수렴하는지 여부를 판단한다. 다시 말해, 제어부(120)는 와 간 차이의 크기가 수렴 문턱값 보다 작아질 때까지 반복 계산을 수행하고, 차이가 보다 작아지면 점수 행렬이 수렴한 것으로 판단하고 805 단계로 진행하여 수렴된 점수 행렬을 출력한다.In
이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 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.
상기 서퍼의 라벨이 변경되는 규칙을 학습하는 단계는,
상기 그래프의 간선에 부여된 라벨을 반영한 인접 행렬 및 라벨 가중치를 입력받는 단계;
상기 그래프로부터 모든 라벨 전이 삼각형들을 추출하여 열거하는 단계; 및
상기 라벨 전이 삼각형과 상기 라벨 가중치를 기반으로 최대 가중 우도 추정을 적용하여 각각의 간선 라벨에 대한 라벨 전이 확률 행렬을 산출하는 단계를 포함하는 것을 특징으로 하는 방법.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.
상기 정규화하는 단계는,
상기 그래프의 간선에 부여된 라벨을 반영한 인접 행렬을 입력받는 단계;
각각의 간선 라벨에 대해서 준-인접 행렬을 산출하는 단계;
상기 인접 행렬로부터 연결 차수 행렬을 산출하는 단계; 및
상기 연결 차수 행렬을 이용하여 각각의 간선 라벨에 대한 준-행-정규화 행렬을 산출하는 단계를 포함하는 것을 특징으로 하는 방법.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.
상기 반복적 기법을 통해 점수 행렬을 산출하는 단계는,
상기 각각의 간선 라벨에 대한 준-행-정규화 행렬 및 라벨 전이 확률 행렬, 시작 정점, 재시작 확률 및 수렴 문턱값을 입력받는 단계;
상기 시작 정점에 따라서 시작 행렬을 생성하고, 상기 점수 행렬을 상기 시작 행렬로 초기화하는 단계;
상기 준-행-정규화 행렬, 상기 라벨 전이 확률 행렬 및 상기 시작 행렬을 이용하여 점수 행렬 계산을 반복적으로 수행하는 단계;
상기 수렴 문턱값을 기준으로 상기 점수 행렬이 수렴하는지 여부를 판단하는 단계; 및
상기 점수 행렬이 수렴한다면, 수렴된 점수 행렬을 출력하는 단계를 포함하는 것을 특징으로 하는 방법.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.
관련도 측정의 대상이 되는 그래프에 대한 정보를 수신하기 위한 통신부;
상기 그래프의 정점들 간 관련도를 측정하기 위한 프로그램이 저장되는 저장부; 및
상기 프로그램을 실행함으로써 그래프의 정점들 간 관련도를 측정하는 제어부를 포함하며,
상기 제어부는, 상기 그래프에 포함되는 정점들 사이를 서퍼(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.
상기 제어부는,
상기 그래프의 간선에 부여된 라벨을 반영한 인접 행렬 및 라벨 가중치를 입력받으면, 상기 그래프로부터 모든 라벨 전이 삼각형들을 추출하여 열거하고, 상기 라벨 전이 삼각형과 상기 라벨 가중치를 기반으로 최대 가중 우도 추정을 적용하여 각각의 간선 라벨에 대한 라벨 전이 확률 행렬을 산출하는 것을 특징으로 하는 장치.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.
상기 제어부는,
상기 그래프의 간선에 부여된 라벨을 반영한 인접 행렬을 입력받으면, 각각의 간선 라벨에 대해서 준-인접 행렬을 산출한 후, 상기 인접 행렬로부터 연결 차수 행렬을 산출하고, 상기 연결 차수 행렬을 이용하여 각각의 간선 라벨에 대한 준-행-정규화 행렬을 산출하는 것을 특징으로 하는 장치.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.
상기 제어부는,
상기 각각의 간선 라벨에 대한 준-행-정규화 행렬 및 라벨 전이 확률 행렬, 시작 정점, 재시작 확률 및 수렴 문턱값을 입력받으면, 상기 시작 정점에 따라서 시작 행렬을 생성하고, 상기 점수 행렬을 상기 시작 행렬로 초기화한 후, 상기 준-행-정규화 행렬, 상기 라벨 전이 확률 행렬 및 상기 시작 행렬을 이용하여 점수 행렬 계산을 반복적으로 수행하여, 상기 수렴 문턱값을 기준으로 상기 점수 행렬이 수렴한다면 수렴된 점수 행렬을 출력하는 것을 특징으로 하는 장치.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.
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)
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)
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 |
-
2018
- 2018-11-28 KR KR1020180150180A patent/KR102177940B1/en active IP Right Grant
Patent Citations (4)
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)
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 |