KR102462649B1 - 커뮤니티 탐색을 위한 그래프 재구성 전략 - Google Patents

커뮤니티 탐색을 위한 그래프 재구성 전략 Download PDF

Info

Publication number
KR102462649B1
KR102462649B1 KR1020200116093A KR20200116093A KR102462649B1 KR 102462649 B1 KR102462649 B1 KR 102462649B1 KR 1020200116093 A KR1020200116093 A KR 1020200116093A KR 20200116093 A KR20200116093 A KR 20200116093A KR 102462649 B1 KR102462649 B1 KR 102462649B1
Authority
KR
South Korea
Prior art keywords
graph
nodes
node
similarity
edges
Prior art date
Application number
KR1020200116093A
Other languages
English (en)
Other versions
KR20220033798A (ko
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 KR1020200116093A priority Critical patent/KR102462649B1/ko
Publication of KR20220033798A publication Critical patent/KR20220033798A/ko
Application granted granted Critical
Publication of KR102462649B1 publication Critical patent/KR102462649B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

일 실시예에 따른 그래프 재구성 시스템에 의해 수행되는 그래프 재구성 방법은, 엣지가 제거된 원본 그래프로부터 커뮤니티 탐색을 위한 노드 쌍 간 구조적 유사도를 측정하는 단계; 및 상기 측정된 노드 쌍 간 구조적 유사도에 기초하여 각 노드에 대해 복수 개의 엣지를 연결하는 근접 이웃 그래프를 생성하는 단계를 포함할 수 있다.

Description

커뮤니티 탐색을 위한 그래프 재구성 전략{GRAPH REFORMULATION FOR EFFECTIVE COMMUNITY DETECTION}
아래의 설명은 커뮤니티 탐색을 위한 그래프를 재구성하는 기술에 관한 것이다.
커뮤니티 탐색 측면에서 원본 그래프의 잘못된 정보로 인해 기존 커뮤니티 탐색 알고리즘이 찾아낸 커뮤니티 구조가 적합하지 않을 수 있다. 실세계의(Real-world) 그래프를 구성하는 각 노드는 현실 세계의 현상을 반영하여 다른 노드와의 엣지를 연결한다. 이때, 각 노드는 커뮤니티 소속을 직접적으로 고려하지는 않기 때문에 커뮤니티 탐색 측면에서 같은 커뮤니티에 속하는 다른 노드에 대해 엣지를 연결하지 않거나(intra-community edge들의 부재), 다른 커뮤니티에 속하는 노드에 대해 엣지를 만드는 일이 발생(inter-community edge들의 존재)할 수 있다. 이와 같은 경우는 커뮤니티 탐색의 측면에서는 커뮤니티 탐색 알고리즘이 커뮤니티 구조를 발견하는 데에 있어서 허위 정보(misleading information)라 할 수 있다. 허위 정보가 많이 존재하는 그래프에서는 커뮤니티 구조를 발견하는 것이 어려울 수 있다. 그런 그래프에서는 좋은 커뮤니티 탐색 알고리즘을 적용하더라도 찾아낸 커뮤니티 구조의 퀄리티 혹은 정확도가 높게 나타나기 어렵다.
정확한 커뮤니티 탐색에 적합한 방식으로 주어진 원본 그래프를 새로운 그래프로 재구성하는 방법 및 시스템을 제공할 수 있다.
각 노드에 대해 각 노드와 동일한 커뮤니티에 속할 가능성이 가장 높은 복수 개의 다른 노드들에 대해 엣지를 연결하는 근접 이웃 그래프를 재구성하여 커뮤니티 탐색을 수행하는 방법 및 시스템을 제공할 수 있다.
그래프 재구성 시스템에 의해 수행되는 그래프 재구성 방법은, 엣지가 제거된 원본 그래프로부터 커뮤니티 탐색을 위한 노드 쌍 간 구조적 유사도를 측정하는 단계; 및 상기 측정된 노드 쌍 간 구조적 유사도에 기초하여 각 노드에 대해 복수 개의 엣지를 연결하는 근접 이웃 그래프를 생성하는 단계를 포함할 수 있다.
상기 유사도를 측정하는 단계는, 복수 개의 노드와 복수 개의 엣지로 구성된 원본 그래프로부터 상기 복수 개의 엣지를 제거하고, 동일한 커뮤니티에 속할 노드를 탐색하기 위한 구조적 유사도 측정 방법을 이용하여 노드 쌍 간 구조적 유사도를 측정하는 단계를 포함할 수 있다.
상기 유사도를 측정하는 단계는, 상기 노드 쌍과 직접적으로 연결된 다른 노드들의 수에 따라 구조적 유사도를 판단하는 제1 유사도 측정 방법을 이용하여 노드 쌍 간 구조적 유사도를 측정하는 단계를 포함할 수 있다.
상기 유사도를 측정하는 단계는, 상기 노드 쌍과 직접적으로 및 간접적으로 연결된 다른 노드들을 고려하여 상기 노드 쌍과 상기 노드 쌍과 연결된 다른 노드들의 수와 거리에 따라 구조적 유사도를 판단하는 제2 유사도 측정 방법을 이용하여 노드 쌍 간 구조적 유사도를 측정하는 단계를 포함할 수 있다.
상기 유사도를 측정하는 단계는, 상기 노드 쌍이 임베디드 공간에서 갖는 유클리드 거리를 이용하여 상기 노드 쌍을 직접적으로 또는 간접적으로 동시에 연결되는 다른 노드들의 수와 거리에 따라 유사도를 판단하는 제3 유사도 측정 방법을 이용하여 노드 쌍 간 구조적 유사도를 측정할 수 있다.
상기 근접 이웃 그래프를 생성하는 단계는, 상기 측정된 노드 쌍 간 구조적 유사도에 따라 각 노드에 대해 각 노드와 동일한 커뮤니티에 속할 가능성이 있는 복수 개의 다른 노드들을 탐색하는 단계를 포함할 수 있다.
상기 근접 이웃 그래프를 생성하는 단계는, 상기 측정된 노드 쌍 간 구조적 유사도에 따라 탐색된 복수 개의 다른 노드들 중 동일한 커뮤니티에 속할 가능성이 기 설정된 기준 이상인 다른 노드들에 대해 엣지를 연결하는 근접 이웃 그래프를 생성하는 단계를 포함할 수 있다.
그래프 재구성 시스템은, 엣지가 제거된 원본 그래프로부터 커뮤니티 탐색을 위한 노드 쌍 간 구조적 유사도를 측정하는 유사도 측정부; 및 상기 측정된 노드 쌍 간 구조적 유사도에 기초하여 각 노드에 대해 복수 개의 엣지를 연결하는 근접 이웃 그래프를 생성하는 그래프 재구성부를 포함할 수 있다.
원본 그래프의 각 노드들이 자신과 같은 커뮤니티에 속할 가능성이 가장 높은 복수 개의 노드들에 대해 엣지를 연결할 기회를 부여하여 근접 이웃 그래프를 구성함으로써 원본 그래프에 비해 커뮤니티 탐색 관점에서의 허위 정보가 적은 그래프로 재구성할 수 있다.
재구성된 그래프를 이용하여 커뮤니티 탐색 알고리즘을 수행할 경우, 원본 그래프에서보다 더 정확한 커뮤니티 구조를 찾아낼 수 있다.
도 1은 일 실시예에 따른 그래프 재구성 시스템에서 그래프를 재구성하는 동작을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 그래프 재구성 시스템의 구성을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 그래프 재구성 시스템에서 그래프를 재구성하는 방법을 설명하기 위한 흐름도이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
도 1은 일 실시예에 따른 그래프 재구성 시스템에서 그래프를 재구성하는 동작을 설명하기 위한 도면이다.
실시예에서는 원본 그래프로부터 그래프를 구성하고 있는 각 노드에 연결된 엣지를 모두 제거한 다음, 보다 정확한 커뮤니티 탐색을 가능하도록 하기 위하여 새로운 엣지를 생성하는 방법을 설명하기로 한다. 이때, 새롭게 생성되는 엣지는 원본 그래프에서처럼 각 노드 쌍이 커뮤니티 멤버십(membership)을 직접적으로 반영하지 않고 단순히 현실 세계의 현상을 반영하여 엣지를 연결하는 대신, 각 노드 쌍이 동일한 커뮤니티에 속할 가능성을 고려하여 연결할 수 있다.
그래프 재구성 시스템은 원본 그래프의 구조적 특징을 분석하여 각 노드 쌍이 동일한 커뮤니티에 속할 가능성을 파악하고, 각 노드에 대해 각 노드와 동일한 커뮤니티에 속할 가능성이 가장 높은 복수 개(예를 들면, k(k는 자연수))의 다른 노드들에 대해 엣지를 연결하는 근접 이웃 그래프(k-Nearest Neighbor graph)를 구성하여 더 나은 커뮤니티 탐색을 위한 그래프를 재구성할 수 있다.
근접 이웃 그래프는 모든 노드에게 동일하게 복수 개(예를 들면, k개)의 엣지를 연결할 기회가 부여됨으로써 그래프가 생성될 수 있다. 이러한 특성은 커뮤니티 탐색에 도움이 될 수 있다. 예를 들면, 원본 그래프에서 높은 등급(degree)을 지닌 노드들은 인터-커뮤니티(inter-community) 엣지를 지닐 가능성이 상대적으로 높다. 인터-커뮤니티 엣지는 서로 다른 커뮤니티 사이에 연결되는 엣지를 의미할 수 있다. kNNg에서는 이러한 노드가 가지는 엣지 연결의 기회가 k개로 제한됨으로써 해당 노드와 동일한 커뮤니티에 속할 가능성이 낮은 노드와의 엣지들이 분리(disconnect)될 수 있다. 이에 따라 재구성된 그래프에서는 원본 그래프에 비해 인터-커뮤니티 엣지들의 비중이 줄어들 것이다. 반대로, 원본 그래프에서 낮은 등급을 지닌 노드들은 소수의 인트라-커뮤니티(intra-community) 엣지만을 가지고 있을 가능성이 크다. 인트라-커뮤니티 엣지는 하나의 커뮤니티 내의 노드끼리 연결되는 엣지를 의미할 수 있다. 이런 노드들에 k개 만큼의 엣지를 연결할 기회가 부여되므로, 동일한 커뮤니티에 속할 가능성이 큰 노드들과의 엣지가 더 많이 연결될 수 있다. 이에 따라 재구성된 그래프에서는 원본 그래프에 비해 인트라-커뮤니티 엣지들의 비중이 늘어날 것이다.
도 1을 참고하면, 동일한 커뮤니티에 속할 확률에 기반한 근접 이웃 그래프(k-Nearest Neighbor graph)의 이점을 나타낸 것이다. 도 1(a)와 도 1(b)는 각각 원본 그래프에서와 근접 이웃 그래프(예를 들면, 5-Nearest Neighbor graph)로 재구성된 그래프에서의 높은 등급 노드 p와 그 주변의 서브 그래프(subgraph)를 나타낸 것이다. 도 1(a)에서 p는 높은 등급을 가지고 있는데, 이 중 다수의 인터-커뮤니티 엣지가 존재한다. 도 1(b)에서는 인터-커뮤니티 엣지들이 대부분 제거된 것을 확인할 수 있다. 도 1(b)에서 k=5임에도 불구하고 p가 5보다 더 큰 등급을 지니는 이유는 p의 5-근접 이웃(5-Nearest Neighbors)에 속하지 않지만 p를 자신의 5-근접 이웃에 포함하는 다른 노드에 의해 연결된 추가적인 엣지가 존재하기 때문이다.
도 1(c)와 도1(d)는 각각 원본 그래프에서와 5-근접 이웃 그래프로 재구성된 그래프에서의 낮은 등급의 노드 q와 그 주변의 서브 그래프를 나타낸 것이다. 도 1(c)에서 q는 단 2개의 인트라 커뮤니티 엣지만을 가지지만, 도 1(d)에서는 7개의 인트라-커뮤니티 엣지들을 가진다. 이와 같이 k개의 근접 이웃 그래프를 이용하면 원본 그래프를 커뮤니티 탐색에 더 유리한 그래프로 재구축할 수 있다.
우선, 동일한 커뮤니티에 속할 가능성이 높은 노드 쌍이란 어떤 것인지 정의될 수 있다. 각 노드의 근접 이웃을 찾아내기 위해 각 노드와 다른 노드들이 동일한 커뮤니티에 속할 가능성의 정도를 평가할 방법이 결정될 수 있다. 그래프 재구성 시스템은 주어진 그래프 구조 안에서의 토폴로지를 고려하여 어떤 두 노드가 그래프 안에서 얼마나 가까운지를 측정하는 구조적 유사도 측정(structural similarity measure) 방법들을 이용할 수 있다.
구조적 유사도 측정 방법들은 커뮤니티 탐색과 링크 예측(link prediction)을 포함하는 다양한 그래프 분석 응용에서 사용된다. 구조적 유사도 측정 방법들은 주어진 노드 쌍의 가까운지를 각 노드들과 인접한 노드(immediate vicinity)의 구조를 고려하여 판단하거나(예를 들어, Jaccard index, Adamic/Adar index, cosine similarity 등), 더 넓은 범위의 구조를 고려하여 판단하거나(예를 들어, Simrank와 Random Walk with Restart 등), 혹은 그래프의 d-차원의 임베딩(d-dimensional embedding)(예를 들어, Deepwalk와 Node2Vec 등)에서의 유클리드 거리(Euclidean distance)를 이용하여 노드 쌍의 유사도를 판단할 수 있다.
구체적으로, 단일 홉 이웃 기반의 측정 방법은(1-hop-neighbor based measures)은 주어진 노드 쌍과 그 노드 쌍과 인접한(immediate vicinity) 노드의 그래프 구조를 고려하는 것이다. 어떤 노드 쌍의 유사도는 노드 쌍과 동시에 직접 연결된 다른 노드들의 숫자가 많을수록 높게 나타난다. 또한, 멀티 홉 이웃 기반의 측정 방법(Multi-hop-neighbor based measures)은 주어진 노드 쌍과, 노드 쌍 주변의 더 넓은 범위의 그래프 구조를 고려하는 것이다. 멀티 홉 이웃 기반의 측정 방법은 주어진 노드 쌍과 직접적으로 연결된 노드들 및 간접적으로 연결하는 노드들을 고려한다. 노드 쌍과 동시에 연결된 노드들이 더 가까이에, 많이 있을수록 높은 유사도를 가지는 것으로 판단될 수 있다. 또한, 그래프 임베딩 기반의 측정 방법(Graph-embedding based measures)은 주어진 그래프의 각 노드들의 d-차원의 벡터 표현(d-dimensional vector representation)을 알아내는 것이다. 그래프 임베딩 기반의 유사도(Graph-embedding based similarity)들은 주어진 노드 쌍이 임베딩된 공간(embedded space)에서 갖는 유클리드 거리(Euclidean distance)를 이용한다. 주어진 노드 쌍을 직/간접적으로 동시에 연결하는 다른 노드들이 더 가까이에, 많이 있을수록 노드 쌍이 임베딩된 공간에서 갖는 거리가 가깝게 나타난다.
표 1은 각 카테고리에 속하는 대표적인 구조적 유사도 측정 방법들을 나타낸 것이다.
Figure 112020096105513-pat00001
그래프 재구성 시스템은 구조적 유사도 측정 방법을 이용하여 원본 그래프로부터 각 노드와 인접한 이웃 노드를 탐색할 수 있다. 그래프 재구성 시스템은 탐색된 이웃 노드를 연결하는 엣지로 구성된 근접 이웃 그래프를 생성할 수 있다. 이때, 근접 이웃 그래프를 생성하기 위하여 k값이 결정될 수 있다. 예를 들면, 각 원본 그래프가 갖는 평균 등급(Davg)의 배수들이 이용될 수 있다(Davg, 2Davg, 3Davg, 4Davg, 5Davg). 그래프 재구성 시스템은 근접 이웃 그래프를 생성함에 있어서, k-Nearest Neighbor graph(kNNG) 또는 Mutual k-Nearest Neighbor graph(MkNNG)를 생성할 수 있다. k-Nearest Neighbor graph(kNNG) 두 노드들 중 어느 한 쪽만이라도 다른 한 쪽의 인접 이웃에 포함된다면 엣지를 연결하는 것이다. Mutual k-Nearest Neighbor graph는 두 노드가 동시에 서로를 서로의 인접 이웃에 포함하고 있을 때에만 엣지를 연결하는 것이다.
일 실시예에 따르면, 원본 그래프의 각 노드들이 자신과 같은 커뮤니티에 속할 가능성이 가장 높은 k개의 노드들에 대해 엣지를 연결할 기회를 부여하여 k-Nearest Neighbor 그래프를 구성함으로써 원본 그래프에 비해 커뮤니티 탐색 관점에서의 허위 정보가 적은 그래프를 재구성할 수 있다. 재구성된 그래프를 이용하여 커뮤니티 탐색 알고리즘을 수행하면 원본 그래프에서보다 더 정확한 커뮤니티 구조를 찾아낼 수 있다.
일례로, 원본 그래프가 주어졌을 때, 원본 그래프에서 커뮤니티 탐색 알고리즘을 수행하여 찾아낸 커뮤니티 구조와 원본 그래프에 실시예에서 설명한 동작을 통하여 재구성된 그래프에서 커뮤니티 탐색 알고리즘을 수행하여 찾아낸 커뮤니티 구조를 비교하는 실험이 수행될 수 있다. 예를 들면, Jaccard index, Adamic/Adar index, Simrank, Node2Vec을 사용하여 구조적 유사도가 측정될 수 있다. 이 중 Adamic/Adar index는 주어진 두 노드 자신들을 서로의 이웃으로 카운트(count)하도록 한다. 커뮤니티 탐색은 다음과 같은 잘 알려진 SCAN, Shirnk, Louvain, Infomap, BlackHole 등의 기존 기법들로 수행될 수 있다.
실험을 위한 데이터로 정답 커뮤니티가 알려진 복수 개(예를 들면, 6개)의 실세계의 데이터 셋들과 추가적인 benchmark dataset들을 이용할 수 있다. 실세계의 데이터 셋들으로 football, polbooks, karate, email, cora, PubMed 데이터가 이용될 수 있다.
Benchmark datasets에서 그래프의 전체 엣지들 중 인터-커뮤니티 엣지들의 비율은 그래프가 허위 정보를 얼마나 많이 포함하고 있는 지 관련이 있다. 실제 데이터들보다 인터-커뮤니티 엣지 비율이 더 높은 데이터들에 대해서도 실시예에서 제안된 재구성된 그래프가 효과적인지 확인하기 위해 커뮤니티 탐색을 위해 사용되는 잘 알려진 LFR-benchmark dataset들 역시 사용한다. LFR-benchmark는 전체 엣지 중 인터-커뮤니티 엣지의 비율을 믹싱 파라미터(mixing parameter) mu에 가깝도록 가상 데이터를 생성할 수 있는 알고리즘이다. 아주 높은 mu를 갖는 LFR-benchmark 데이터 셋(mu=0.6, 0.7, 0.8, 0.9; 노드 수 |V|=5000)을 생성하여 이용한다.
커뮤니티 탐색 알고리즘의 수행 결과 발견된 커뮤니티 구조의 정확도 평가를 위해서는 커뮤니티 탐색 연구에서 널리 쓰이는 NMI가 이용될 수 있다. 각 커뮤니티 탐색 알고리즘이 가지는 파라미터들에 대해서는 다양한 값들로 커뮤니티 탐색 실험을 수행한 후 가장 높은 NMI를 보이는 파라미터를 이용할 수 있다. 또한, 커뮤니티 탐색 기법들 중 일부는 매 시행마다 다른 결과를 도출할 수 있는 무작위성(randomness)을 내포하고 있어 이러한 기법들은 공정한 평가를 위해 복수 회(예를 들면, 5회) 실험 수행 후 mean NMI 값이 도출될 수 있다.
우선 실시예에서 제안된 재구성된 그래프가 실제로 허위 정보가 잘 제거되는지를 확인될 수 있다. 표 4는 각 데이터 별로 재구성 전후의 그래프가 갖는 inter-community 엣지의 비율들(|E_o,inter|/|E_o| 그리고 |E_r,inter|/|E_r|), 그리고 각 그래프가 정답 커뮤니티 구조에 대해 갖는 modularity들(Q_o와 Q_r)을 정리한 것이다. 이때, E_o와 E_r은 각각 원본 그래프와 재구성된 그래프의 엣지 집합을 의미하며, E_o,inter와 E_r,inter는 각각 원본 그래프와 재구성된 그래프의 인터-커뮤니티 엣지 집합을 의미한다. 표 2에서 실시예에서 제안된 재구성된 그래프 내의 전체 엣지들 중 인터-커뮤니티 엣지들의 비율을 성공적으로 감소시키며, 그 결과, 그래프가 정답 커뮤니티 구조에 대해 더 높은 모듈성(modularity)을 갖도록 만든 것을 확인할 수 있다.
Figure 112020096105513-pat00002
실시예에서 제안된 재구성된 그래프가 커뮤니티 탐색의 정확도에 미치는 영향을 확인할 수 있다. 표 3은 각 실세계의 데이터 셋에 대해 커뮤니티 탐색 알고리즘들의 정확도를 정리한 것이다. NMIo와 NMIr은 각각 원본 그래프에서와 재구성된 그래프에서 커뮤니티 탐색을 수행한 NMI이다. 굵은 글자는 각 데이터 셋에서 가장 높은 NMI를 보인 결과를 의미한다. 모든 데이터 셋에 대해, 실시예에서 제안된 재구성된 그래프에서 원본 그래프에서보다 정확도가 더 높은 것을 확인할 수 있다. 특히, 재구성된 그래프를 이용한 Karate 데이터 셋에서의 Infomap의 정확도는 원본에 비해 40.6% 개선되었음을 확인할 수 있다.
Figure 112020096105513-pat00003
표 4에는 각 LFR-benchmark 데이터 셋에 대한 정확도를 정리한 것이다. 모든 데이터 셋과 커뮤니티 탐색 알고리즘 쌍에 대해 재구성된 그래프에서의 정확도가 더 높게 나타난 것을 확인할 수 있다. 또한, 원본 그래프의 mu가 높아짐에 따라 커뮤니티 탐색 알고리즘의 정확도가 크게 감소하지만, 실시예에서 재구성된 그래프에서는 정확도가 훨씬 더 적게 감소하는 것을 확인할 수 있다.
도 2는 일 실시예에 따른 그래프 재구성 시스템의 구성을 설명하기 위한 블록도이고, 도 3은 일 실시예에 따른 그래프 재구성 시스템에서 그래프를 재구성하는 방법을 설명하기 위한 흐름도이다.
그래프 재구성 시스템(100)의 프로세서는 유사도 측정부(210) 및 그래프 재구성부(220)를 포함할 수 있다. 이러한 프로세서의 구성요소들은 그래프 재구성 시스템에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서 및 프로세서의 구성요소들은 도 3의 그래프 재구성 방법이 포함하는 단계들(310 내지 320)을 수행하도록 그래프 재구성 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
프로세서는 그래프 재구성 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 그래프 재구성 시스템에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 그래프 재구성 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서가 포함하는 유사도 측정부(210) 및 그래프 재구성부(220) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(310 내지 320)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다.
단계(310)에서 유사도 측정부(210)는 엣지가 제거된 원본 그래프로부터 커뮤니티 탐색을 위한 노드 쌍 간 구조적 유사도를 측정할 수 있다. 유사도 측정부(210)는 복수 개의 노드와 복수 개의 엣지로 구성된 원본 그래프로부터 복수 개의 엣지를 제거하고, 동일한 커뮤니티에 속할 노드를 탐색하기 위한 구조적 유사도 측정 방법을 이용하여 노드 쌍 간 구조적 유사도를 측정할 수 있다. 유사도 측정부(210)는 노드 쌍과 직접적으로 연결된 다른 노드들의 수에 따라 구조적 유사도를 판단하는 제1 유사도 측정 방법을 이용하여 노드 쌍 간 구조적 유사도를 측정할 수 있다. 유사도 측정부(210)는 노드 쌍과 직접적으로 연결된 다른 노드들의 수가 많을수록 구조적 유사도가 높은 것으로 판단할 수 있다. 이때, 유사도 측정부(210)는 노드 쌍과 직접적으로 및 간접적으로 연결된 다른 노드들을 고려하여 노드 쌍과 노드 쌍과 연결된 다른 노드들의 수와 거리에 따라 구조적 유사도를 판단하는 제2 유사도 측정 방법을 이용하여 노드 쌍 간 구조적 유사도를 측정할 수 있다. 이때, 유사도 측정부(210)는 노드 쌍과 직접적으로 또는 간접적으로 연결된 노드들의 수가 많고, 노드 쌍이 노드 쌍과 직접적으로 또는 간접적으로 연결된 노드들과의 거리가 가까울수록 구조적 유사도가 높은 것으로 판단할 수 있다. 유사도 측정부(210)는 노드 쌍이 임베디드 공간에서 갖는 유클리드 거리를 이용하여 노드 쌍을 직접적으로 또는 간접적으로 동시에 연결되는 다른 노드들의 수와 거리에 따라 유사도를 판단하는 제3 유사도 측정 방법을 이용하여 노드 쌍 간 구조적 유사도를 측정할 수 있다. 이때, 유사도 측정부(210)는 노드 쌍이 노드 쌍과 직접적으로 또는 간접적으로 연결된 노드들과의 거리가 가까울수록 구조적 유사도가 높은 것으로 판단할 수 있다.
단계(320)에서 그래프 재구성부(220)는 측정된 노드 쌍 간 구조적 유사도에 기초하여 각 노드에 대해 복수 개의 엣지를 연결하는 근접 이웃 그래프를 생성할 수 있다. 그래프 재구성부(220)는 측정된 노드 쌍 간 구조적 유사도에 따라 각 노드에 대해 각 노드와 동일한 커뮤니티에 속할 가능성이 있는 복수 개의 다른 노드들을 탐색할 수 있다. 그래프 재구성부(220)는 측정된 노드 쌍 간 구조적 유사도에 따라 탐색된 복수 개의 다른 노드들 중 동일한 커뮤니티에 속할 가능성이 기 설정된 기준 이상인 다른 노드들에 대해 엣지를 연결하는 근접 이웃 그래프를 생성할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (8)

  1. 그래프 재구성 시스템에 의해 수행되는 그래프 재구성 방법에 있어서,
    엣지가 제거된 원본 그래프로부터 커뮤니티 탐색을 위한 노드 쌍 간 구조적 유사도를 측정하는 단계; 및
    상기 측정된 노드 쌍 간 구조적 유사도에 기초하여 각 노드에 대해 각 노드와 동일한 커뮤니티에 속할 가능성이 있는 복수 개의 다른 노드들에게 엣지를 연결하는 근접 이웃 그래프를 생성하는 단계
    를 포함하고,
    상기 유사도를 측정하는 단계는,
    복수 개의 노드와 복수 개의 엣지로 구성된 원본 그래프로부터 상기 복수 개의 엣지를 제거하고, 상기 노드 쌍과 직접적으로 및 간접적으로 연결된 다른 노드들의 정보를 이용하여 동일한 커뮤니티에 속할 노드를 탐색하기 위한 구조적 유사도 측정 방법을 통해 노드 쌍 간 구조적 유사도를 측정하는 단계
    를 포함하는 그래프 재구성 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 유사도를 측정하는 단계는,
    상기 노드 쌍과 직접적으로 연결된 다른 노드들의 수에 따라 구조적 유사도를 판단하는 제1 유사도 측정 방법을 이용하여 노드 쌍 간 구조적 유사도를 측정하는 단계
    를 포함하는 그래프 재구성 방법.
  4. 제1항에 있어서,
    상기 유사도를 측정하는 단계는,
    상기 노드 쌍과 직접적으로 및 간접적으로 연결된 다른 노드들을 고려하여 상기 노드 쌍과 상기 노드 쌍과 연결된 다른 노드들의 수와 거리에 따라 구조적 유사도를 판단하는 제2 유사도 측정 방법을 이용하여 노드 쌍 간 구조적 유사도를 측정하는 단계
    를 포함하는 그래프 재구성 방법.
  5. 제1항에 있어서,
    상기 유사도를 측정하는 단계는,
    상기 노드 쌍이 임베디드 공간에서 갖는 유클리드 거리를 이용하여 상기 노드 쌍을 직접적으로 또는 간접적으로 동시에 연결되는 다른 노드들의 수와 거리에 따라 유사도를 판단하는 제3 유사도 측정 방법을 이용하여 노드 쌍 간 구조적 유사도를 측정하는 단계
    를 포함하는 그래프 재구성 방법.
  6. 제1항에 있어서,
    상기 근접 이웃 그래프를 생성하는 단계는,
    상기 측정된 노드 쌍 간 구조적 유사도에 따라 각 노드에 대해 각 노드와 동일한 커뮤니티에 속할 가능성이 있는 복수 개의 다른 노드들을 탐색하는 단계
    를 포함하는 그래프 재구성 방법.
  7. 제6항에 있어서,
    상기 근접 이웃 그래프를 생성하는 단계는,
    상기 측정된 노드 쌍 간 구조적 유사도에 따라 탐색된 복수 개의 다른 노드들 중 동일한 커뮤니티에 속할 가능성이 기 설정된 기준 이상인 다른 노드들에 대해 엣지를 연결하는 근접 이웃 그래프를 생성하는 단계
    를 포함하는 그래프 재구성 방법.
  8. 그래프 재구성 시스템에 있어서,
    엣지가 제거된 원본 그래프로부터 커뮤니티 탐색을 위한 노드 쌍 간 구조적 유사도를 측정하는 유사도 측정부; 및
    상기 측정된 노드 쌍 간 구조적 유사도에 기초하여 각 노드에 대해 각 노드와 동일한 커뮤니티에 속할 가능성이 있는 복수 개의 다른 노드들에게 엣지를 연결하는 근접 이웃 그래프를 생성하는 그래프 재구성부
    를 포함하고,
    상기 유사도 측정부는,
    복수 개의 노드와 복수 개의 엣지로 구성된 원본 그래프로부터 상기 복수 개의 엣지를 제거하고, 상기 노드 쌍과 직접적으로 및 간접적으로 연결된 다른 노드들의 정보를 이용하여 동일한 커뮤니티에 속할 노드를 탐색하기 위한 구조적 유사도 측정 방법을 통해 노드 쌍 간 구조적 유사도를 측정하는
    그래프 재구성 시스템.
KR1020200116093A 2020-09-10 2020-09-10 커뮤니티 탐색을 위한 그래프 재구성 전략 KR102462649B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200116093A KR102462649B1 (ko) 2020-09-10 2020-09-10 커뮤니티 탐색을 위한 그래프 재구성 전략

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200116093A KR102462649B1 (ko) 2020-09-10 2020-09-10 커뮤니티 탐색을 위한 그래프 재구성 전략

Publications (2)

Publication Number Publication Date
KR20220033798A KR20220033798A (ko) 2022-03-17
KR102462649B1 true KR102462649B1 (ko) 2022-11-03

Family

ID=80936125

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200116093A KR102462649B1 (ko) 2020-09-10 2020-09-10 커뮤니티 탐색을 위한 그래프 재구성 전략

Country Status (1)

Country Link
KR (1) KR102462649B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110074786A1 (en) * 2009-09-29 2011-03-31 International Business Machines Corporation Dimensional Reduction Mechanisms for Representing Massive Communication Network Graphs for Structural Queries
US20180081986A1 (en) * 2016-09-22 2018-03-22 Intel Corporation Technologies for node-degree based clustering of data sets

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101977231B1 (ko) * 2017-06-15 2019-05-13 한양대학교 산학협력단 커뮤니티 검출 방법 및 커뮤니티 검출 프레임워크 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110074786A1 (en) * 2009-09-29 2011-03-31 International Business Machines Corporation Dimensional Reduction Mechanisms for Representing Massive Communication Network Graphs for Structural Queries
US20180081986A1 (en) * 2016-09-22 2018-03-22 Intel Corporation Technologies for node-degree based clustering of data sets

Also Published As

Publication number Publication date
KR20220033798A (ko) 2022-03-17

Similar Documents

Publication Publication Date Title
CN108475287B (zh) 用于流数据的离群值检测
EP0878769A2 (en) Method for verification of combinational circuits using a filtering oriented approach
Mayr et al. Advanced automata minimization
US20050149837A1 (en) Directed falsification of a circuit
Fineman Nearly work-efficient parallel algorithm for digraph reachability
CN107251021B (zh) 过滤数据沿袭图
US20120072988A1 (en) Detection of global metamorphic malware variants using control and data flow analysis
CN106682514B (zh) 基于子图挖掘的系统调用序列特征模式集生成方法
KR102490369B1 (ko) 그래프 임베딩과 인간참여 방식을 통한 악성코드 제작그룹 식별 방법
WO2015180340A1 (zh) 一种数据挖掘方法及装置
US20180293330A1 (en) Malware label inference and visualization in a large multigraph
US20100042964A1 (en) Reuse of circuit labels in subcircuit recognition
CN116560984A (zh) 一种基于调用依赖图的测试用例聚类分组方法
CN115982053A (zh) 一种检测软件源代码缺陷的方法、装置及应用
KR102039244B1 (ko) 반딧불 알고리즘을 이용한 데이터 클러스터링 방법 및 시스템
KR102189811B1 (ko) 멀티 홉 이웃을 이용한 컨볼루션 학습 기반의 지식 그래프 완성 방법 및 장치
Addanki et al. Non-adaptive edge counting and sampling via bipartite independent set queries
US20230315786A1 (en) Sub-graph matching policy determination method, sub-graph matching method, sub-graph counting method and calculation device
KR102462649B1 (ko) 커뮤니티 탐색을 위한 그래프 재구성 전략
JP5964781B2 (ja) 検索装置、検索方法および検索プログラム
Sanchez et al. A comparison of BDD-based parity game solvers
KR102394210B1 (ko) 커뮤니티 검출 장치 및 방법
Angluin et al. Learning a circuit by injecting values
Bian et al. Practical algorithms for branch-decompositions of planar graphs
Wijitrisnanto et al. Efficient machine learning model for hardware Trojan detection on register transfer level

Legal Events

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