KR20210089033A - Hierarchical clustering method and system for directivity graph data - Google Patents

Hierarchical clustering method and system for directivity graph data Download PDF

Info

Publication number
KR20210089033A
KR20210089033A KR1020200002249A KR20200002249A KR20210089033A KR 20210089033 A KR20210089033 A KR 20210089033A KR 1020200002249 A KR1020200002249 A KR 1020200002249A KR 20200002249 A KR20200002249 A KR 20200002249A KR 20210089033 A KR20210089033 A KR 20210089033A
Authority
KR
South Korea
Prior art keywords
node
relevance information
graph data
information cluster
weights
Prior art date
Application number
KR1020200002249A
Other languages
Korean (ko)
Other versions
KR102389881B1 (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 KR1020200002249A priority Critical patent/KR102389881B1/en
Publication of KR20210089033A publication Critical patent/KR20210089033A/en
Application granted granted Critical
Publication of KR102389881B1 publication Critical patent/KR102389881B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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/9027Trees
    • 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/906Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A hierarchical clustering method of directed graph data in accordance with the present invention comprises the steps of: obtaining directed graph data; creating a node relevance information cluster from node and link information constituting each graph; partitioning the node relevance information cluster by a max-flow min-cut theorem; and checking whether the divided structure of the node relevance information cluster reaches a desired tree structure. Here, in the step of creating the node relevance information cluster, in the case of a graph in which a weighting factor is given to a link or an edge connecting two nodes, the weighting factor is used as it is, and if no weighting factor is given to all links/edges, a weighting factor of the basic unit amount can be given to all links/edges. The present invention can cluster the directed graph data with a tree structure having high application versatility.

Description

방향 그래프 데이터의 위계적 군집화 방법 및 시스템{HIERARCHICAL CLUSTERING METHOD AND SYSTEM FOR DIRECTIVITY GRAPH DATA}HIERARCHICAL CLUSTERING METHOD AND SYSTEM FOR DIRECTIVITY GRAPH DATA

본 발명은 방향 그래프 데이터를 트리 구조로 클러스터링하는 위계적 군집화 방법 및 시스템에 관한 것이다.The present invention relates to a hierarchical clustering method and system for clustering directed graph data into a tree structure.

정보 추출(Information Extraction)은 컴퓨터 과학의 세부 분야로서, 비정형 데이터로부터 구조화된 정보를 추출하여 기계가 자동으로 지식을 습득하게 만드는 것을 목표로 한다. 2000년대 초반까지의 정보 추출 기술은 수작업으로 만든 추출 규칙 또는 학습 예시를 이용하여, 사전 정의된 관계에 해당하는 대량의 예시 또는 특정 질의에 대한 답을 추출하는 데 초점이 맞춰졌다. 예를 들어 웹 문서로부터 패턴을 통해(저자 또는 저서) 형태의 튜플을 대량으로 추출하거나, 특정 서적에 대해 각 사이트에서 자동으로 가격을 가져오는 등의 연구가 해당된다.Information Extraction is a subfield of computer science that aims to make machines acquire knowledge automatically by extracting structured information from unstructured data. Until the early 2000s, information extraction technology focused on extracting answers to specific queries or a large number of examples corresponding to predefined relationships using hand-crafted extraction rules or learning examples. For example, research such as extracting a large number of tuples of the form (author or author) from a web document through a pattern, or automatically fetching a price from each site for a specific book.

클러스터링(clustering)은 주어진 데이터를 서로 연관된 몇 개의 군집(cluster)으로 분류하는 데이터 처리 기술의 일종이며, 기계학습을 비롯한 수많은 데이터 분석에 널리 사용되는 전처리 과정의 일종이다. 대표적인 클러스터링 기법으로는 k-평균 클러스터링(k-means clustering)과 계층적 클러스터링 (hierarchical clustering), 스펙트럴 클러스터링(spectral clustering) 등이 있다.Clustering is a kind of data processing technology that classifies given data into several related clusters, and is a kind of preprocessing process widely used in numerous data analysis including machine learning. Representative clustering techniques include k-means clustering, hierarchical clustering, and spectral clustering.

대부분의 클러스터링 문제들은 단일 데이터를 클러스터링하는데 초점이 맞추어져 있으나, 서로 연관된 여러개의 데이터를 한꺼번에 클러스터링하는 문제도 중요한 문제이다.Most clustering problems focus on clustering single data, but clustering multiple related data at once is also an important issue.

데이터의 의미를 반영하기 위한 효과적인 데이터 표현 방식 중 하나로써, 지식 그래프는 지식 추출, 질의응답, 정보 검색과 같은 많은 응용에서 중요하게 활용되며 주목받고 있다. As one of the effective data expression methods to reflect the meaning of data, the knowledge graph is being used and attracting attention in many applications such as knowledge extraction, Q&A, and information retrieval.

일반적으로 지식 그래프는 팩트(사실, fact)이라 불리는 트리플 <h,r,t>의 집합으로 구성되며, 머리개체(h)와 꼬리개체(t)는 의미적 관계(r)로 연결되어 있다. 거대한 이종의 지식 통합과 상호 운용을 위해 DBpedia, WikiData, Freebase, WordNet, 그리고 Google Knowledge Graph와 같은 다양한 지식 그래프들이 개발되었다. In general, the knowledge graph is composed of a set of triples <h,r,t> called facts (facts), and the head entity (h) and the tail entity (t) are connected by a semantic relationship (r). Various knowledge graphs such as DBpedia, WikiData, Freebase, WordNet, and Google Knowledge Graph have been developed for massive heterogeneous knowledge integration and interoperability.

그래프(graph) 데이터를 분석하여 그래프를 구성하고 있는 노드(node)들을 군집화(clustering)하는 제안된 기술들은 다음과 같다. Proposed techniques for clustering nodes constituting a graph by analyzing graph data are as follows.

도 1은 단어연관그래프를 이용한 단어 의미의 자동 군집 기법으로서, 웹문서에서 추출한 단어 동시출현정보에 적용하여 의미적으로 유사한 연관단어의 군집을 생성할 수 있도록, 그래프 기반의 클러스터링 기법을 통하여 연관단어들의 의미 그룹으로 생성된다. 또한 상대적 군집평가인덱스를 정의하고, 이를 적용하여 생성된 군집의 적합도를 평가한다. 1 is an automatic clustering technique of word meaning using a word association graph, which is applied to word co-occurrence information extracted from a web document to generate a cluster of semantically similar related words through a graph-based clustering technique. They are created as a group of meanings. In addition, a relative cluster evaluation index is defined and the fitness of the generated cluster is evaluated by applying it.

도 2는 그래프 분류를 위한 빈발 부분그래프를 생성하는 구성으로서, 그래프 데이터베이스를 구성하는 그래프의 모든 빈발 부분그래프를 생성하는 대신 구조적 유사도에 기초하여 유사한 빈발 부분그래프를 유사 그룹으로 그룹화하고 각 유사 그룹에서 분류력이 가장 높은 빈발 부분그래프로 빈발 부분 그래프를 생성하는 구성을 제안한다.2 is a configuration for generating frequent subgraphs for graph classification. Instead of generating all frequent subgraphs of graphs constituting a graph database, similar frequent subgraphs are grouped into similar groups based on structural similarity, and in each similarity group We propose a configuration that generates a frequent subgraph with the highest classification power.

도 3은 온톨로지를 이용한 문서의 다단계 군집화 방법의 흐름도로서, 문서의 주제어들을 포함하는 온톨로지를 이용하여 문서를 클러스터링함으로써, 문서의 주제어에 따라 유사한 문서끼리 효과적으로 문서들을 군집화하는 방법을 제시한다.3 is a flowchart of a multi-step clustering method of documents using an ontology. By clustering documents using an ontology including the main words of the document, similar documents according to the subject words of the document are effectively grouped together.

도 4는 개체간 암묵적 관계 추론을 통한 정보 추출 증강 시스템으로서, OIE로부터 추출된 튜플 집합으로부터 개체간 암묵적 관계 추론을 통해 기존 문서 내에 명시적으로 기술되지 않은 새로운 정보 튜플을 생성하여 정보추출 결과를 증강시키는 시스템을 제시한다.4 is an information extraction augmentation system through implicit relationship inference between entities. From a set of tuples extracted from OIE, a new information tuple that is not explicitly described in an existing document is generated through implicit relationship inference between entities to enhance the information extraction result. We present a system that makes

도 5는 커뮤니티 검출 방법으로서, 다층 그래프에서 각 층별로 층별 중요도를 도출하는 단계, 도출된 상기 층별 중요도를 적용해서 상기 다층 그래프를 평탄화하는 단계, 그리고 평탄화된 상기 다층 그래프를 이용해서 커뮤니티를 검출하는 단계를 표현한다.Figure 5 is a community detection method, in a multilayer graph, deriving the importance of each layer for each layer, flattening the multilayer graph by applying the derived importance for each layer, and detecting a community using the flattened multilayer graph represent the steps.

도 6은 의존 정규화 랜덤 측도를 이용한 트리 기반의 점층적 클러스터링 장치로서, 여러 개의 연관된 데이터를 군집의 개수에 대한 사전 정보 없이 효율적으로 클러스터링하기 위해, 의존 정규화 랜덤 측도 혼합 모델을 이용하여 트리 기반의 여러 개의 연관된 데이터를 계층적이 아닌 점층적으로 클러스터링하는 장치를 제시한다.6 is a tree-based gradual clustering apparatus using a dependent normalized random measure. In order to efficiently cluster several related data without prior information on the number of clusters, a tree-based multiple We present a device for gradual clustering rather than hierarchically related data.

도 7은 커뮤니티 검출 프레임워크 장치로서, 공간 변환을 이용하여 커뮤니티 구조가 잘 드러나는 객체 관계도를 생성하고, 객체 관계도 또는 객체 유사도 정보 기반으로 커뮤니티를 검출할 수 있는 프레임워크를 제시한다.FIG. 7 is a community detection framework device, and presents a framework capable of generating an object relationship diagram showing a community structure well by using spatial transformation and detecting a community based on the object relationship diagram or object similarity information.

그러나, 상술한 종래 기술들에는 모두 다음과 같은 문제점들이 존재한다.However, all of the above-mentioned conventional techniques have the following problems.

온톨로지를 이용한 문서의 다단계 군집화 방법은 제안된 적이 있으나, 문서들을 위계적인 구조를 갖는 트리(tree) 구조로 군집화하는 방법은 아니다. 따라서, 종래에 제안된 이러한 방법은 트리(tree) 형태의 자료구조가 갖는 장점을 가지지 못한다.A multi-level clustering method of documents using ontology has been proposed, but it is not a method of clustering documents into a tree structure having a hierarchical structure. Therefore, this method proposed in the prior art does not have the advantage of a tree type data structure.

주어진 다층 그래프에서 층별 중요도를 도출하여 커뮤니티를 검출하는 방법이 제안되었으나, 이는 이미 위계적으로 구성이 된 다층 그래프가 주어진 상황에서의 커뮤니티 검출이므로 제한된 응용 분야만 존재한다.A method of detecting a community by deriving the importance of each layer from a given multi-layer graph has been proposed, but since this is community detection in a given situation in a multi-layer graph already structured hierarchically, only limited application fields exist.

또한, 트리 기반의 점층적 클러스터링 방법이 제안되었으나, 이 방법은 데이터를 구성하는 원소들을 점층적으로 트리 형태로 구성하는 알고리즘이며, 각각의 원소가 트리 구조의 노드를 형성하게 된다. 따라서, 데이터를 구성하는 원소들 사이에 위계적 질서가 없는 경우에도 인위적인 위계적 질서를 부여하여 트리를 구성하는 단점이 있다.In addition, a tree-based gradual clustering method has been proposed, but this method is an algorithm that gradually constructs data elements in a tree form, and each element forms a node of a tree structure. Therefore, even when there is no hierarchical order among elements constituting data, there is a disadvantage in constructing a tree by giving artificial hierarchical order.

결론적으로, 방향 그래프(directed graph) 데이터가 있을 때, 그래프를 구성하는 노드(node)들을 위계적으로 군집화(clustering)하여 트리(tree) 구조의 데이터를 생성해 내는 방법 및 알고리즘과 이를 구현하는 컴퓨터 시스템은 제시된 바 없다.In conclusion, when there is directed graph data, a method and algorithm for generating tree-structured data by hierarchically clustering nodes constituting the graph, and a computer implementing the same The system has not been presented.

대한민국 공개공보 10-2018-0093158호Republic of Korea Publication No. 10-2018-0093158

본 발명은 방향 그래프 데이터들을 응용 범용성이 높은 트리 구조로 클러스터링할 수 있는 방향 그래프 데이터의 위계적 군집화 방법 및/또는 시스템을 제공하고자 한다.An object of the present invention is to provide a hierarchical clustering method and/or system for directed graph data capable of clustering directed graph data into a tree structure with high application versatility.

보다 구체적으로, 본 발명은 임의의 방향 그래프(directed graph)가 주어졌을 때, 그래프를 구성하고 있는 노드(node)와 링크(link/edge)의 정보를 활용하여 관련성이 높은 노드들끼리 군집화하고, 이러한 군집을 계층적으로 생성함으로써, 각각의 노드가 속하는 군집을 계층적으로 형성하는 방향 그래프 데이터의 위계적 군집화 방법 및/또는 시스템을 제공하고자 한다.More specifically, in the present invention, when an arbitrary directed graph is given, by using information of nodes and links (link/edge) constituting the graph, nodes with high relevance are clustered, An object of the present invention is to provide a hierarchical clustering method and/or system of directed graph data that hierarchically forms a cluster to which each node belongs by hierarchically generating such clusters.

본 발명은 그래프를 구성하는 노드 사이에 위계 질서가 없는 경우에도 잘 적용할 수 있으며, 컴퓨터 시스템을 활용하여 자동적으로 대용량의 그래프 데이터로부터 위계적인 군집 트리를 생성할 수 있는 방향 그래프 데이터의 위계적 군집화 방법 및/또는 시스템을 제공하고자 한다.The present invention can be applied well even when there is no hierarchical order between nodes constituting the graph, and is a hierarchical clustering of directed graph data that can automatically generate a hierarchical cluster tree from a large amount of graph data using a computer system. It is intended to provide a method and/or system.

본 발명의 일 측면에 따른 방향 그래프 데이터의 위계적 군집화 방법은, 방향 그래프 데이터를 획득하는 단계; 각 그래프를 구성하는 노드와 링크 정보로부터 노드 관련성 정보 군집을 작성하는 단계; 최대 흐름 최소 절단으로 상기 노드 관련성 정보 군집을 분할하는 단계; 및 상기 노드 관련성 정보 군집의 분할된 구조가 요망하는 트리 구조에 도달하였는지 확인하는 단계를 포함할 수 있다.A hierarchical clustering method of directed graph data according to an aspect of the present invention includes: obtaining directed graph data; creating a node relevance information cluster from node and link information constituting each graph; partitioning the node relevance information cluster by maximum flow minimum truncation; and checking whether the divided structure of the node relevance information cluster reaches a desired tree structure.

여기서, 상기 노드 관련성 정보 군집을 작성하는 단계에서는, 두 노드를 연결하는 링크 혹은 엣지에 가중치가 부여된 그래프의 경우에는 가중치를 그대로 사용하고, 모든 링크/엣지에 가중치가 부여되어 있지 아니한 경우에는 모든 링크/엣지에 기본 단위량의 가중치를 부여할 수 있다.Here, in the step of creating the node relevance information cluster, in the case of a graph in which weights are given to links or edges connecting two nodes, the weights are used as they are, and when no weights are given to all links/edges, all Links/edges can be given a weight of the basic unit amount.

여기서, 상기 노드 관련성 정보 군집을 분할하는 단계는, 작성된 상기 노드 관련성 정보 군집에서 소스 노드와 싱크 노드를 선택하는 단계; 상기 소스 노드와 싱크 노드를 기준으로 상기 노드 관련성 정보 군집을 분할함에 있어 적용되는 최대 흐름과 최소 절단의 지침을 결정하는 단계; 및 상기 결정된 지침대로 노드 관련성 정보 군집을 분할하는 단계를 포함할 수 있다.Here, the step of dividing the node relevance information cluster may include: selecting a source node and a sink node from the created node relevance information cluster; determining guidelines of maximum flow and minimum truncation applied in dividing the node relevance information cluster based on the source node and the sink node; and dividing the node relevance information cluster according to the determined guideline.

여기서, 상기 소스 노드와 싱크 노드를 선택하는 단계에서는, 노드에서 나가는 엣지의 가중치 합이 가장 큰 노드와 노드로 들어오는 엣지의 가중치 합이 가장 큰 노드를 각각 소스 노드와 싱크 노드로 지정할 수 있다.Here, in the step of selecting the source node and the sink node, the node having the largest sum of weights of edges leaving the node and the node having the largest sum of weights of edges entering the node may be designated as the source node and the sink node, respectively.

여기서, 상기 노드 관련성 정보 군집을 분할하는 단계에서는, 최대 흐름 조건 또는 최소 절단 조건을 적용하여 분할시 예상되는 최대 흐름 정도 또는 최소 절단 정도가 소정의 각 기준에 도달하거나 넘는 경우에만 분할을 수행하고, 상기 요망하는 트리 구조에 도달하였는지 확인하는 단계에서는, 더 이상 분할 가능하지 않음을 확인할 수 있다.Here, in the step of dividing the node relevance information cluster, the maximum flow condition or the minimum cutting condition is applied to perform division only when the expected maximum flow degree or minimum cutting degree reaches or exceeds each predetermined criterion, In the step of checking whether the desired tree structure is reached, it can be confirmed that the partition is no longer possible.

본 발명의 다른 측면에 따른 방향 그래프 데이터의 위계적 군집화 시스템은, 방향 그래프 데이터를 획득하는 방향 그래프 데이터 획득부; 각 그래프를 구성하는 노드와 링크 정보로부터 노드 관련성 정보 군집을 작성하는 노드 관련성 정보 군집 작성부; 상기 작성된 노드 관련성 정보 군집에서 소스 노드와 싱크 노드를 선택하는 소스/싱크 노드 선택부; 상기 소스 노드와 싱크 노드를 기준으로 상기 노드 관련성 정보 군집을 분할함에 있어 적용되는 최대 흐름과 최소 절단의 지침을 결정하는 지침 결정부; 및 상기 결정된 지침대로 상기 노드 관련성 정보 군집을 분할하는 분할 및 트리 형성부를 포함할 수 있다.A hierarchical clustering system for directed graph data according to another aspect of the present invention includes: a directed graph data obtaining unit for obtaining directed graph data; a node relevance information cluster creation unit for creating a node relevance information cluster from the node and link information constituting each graph; a source/sink node selection unit for selecting a source node and a sink node from the created node relevance information cluster; a guideline determining unit for determining a maximum flow and minimum truncation guidelines applied in dividing the node relevance information cluster based on the source node and the sink node; and a partitioning and tree forming unit for partitioning the node relevance information cluster according to the determined guideline.

여기서, 상기 노드 관련성 정보 군집 작성부는, 두 노드를 연결하는 링크 혹은 엣지에 가중치가 부여된 그래프의 경우에는 가중치를 그대로 사용하고, 모든 링크/엣지에 가중치가 부여되어 있지 아니한 경우에는 모든 링크/엣지에 기본 단위량의 가중치를 부여할 수 있다.Here, the node relevance information cluster creation unit uses the weights as it is in the case of a graph in which weights are given to links or edges connecting two nodes, and when no weights are assigned to all links/edges, all links/edges can be given a weight of the basic unit amount.

여기서, 상기 소스/싱크 노드 선택부는, 노드에서 나가는 엣지의 가중치 합이 가장 큰 노드와 노드로 들어오는 엣지의 가중치 합이 가장 큰 노드를 각각 소스 노드와 싱크 노드로 지정할 수 있다.Here, the source/sink node selector may designate a node having the largest sum of weights of edges leaving the node and a node having the largest sum of weights of edges entering the node as a source node and a sink node, respectively.

여기서, 상기 분할 및 트리 형성부는, 최대 흐름 조건 또는 최소 절단 조건을 적용하여 분할시 예상되는 최대 흐름 정도 또는 최소 절단 정도가 소정의 각 기준에 도달하거나 넘는 경우에만 분할을 수행하고, 더 이상 분할 가능하지 않음을 확인하면 트리 구조를 확정할 수 있다.Here, the division and tree forming unit performs division only when the maximum flow or minimum cutting degree expected at the time of division by applying the maximum flow condition or the minimum cutting condition reaches or exceeds each predetermined criterion, and further division is possible By confirming that it does not, the tree structure can be confirmed.

상술한 구성의 본 발명의 방향 그래프 데이터의 위계적 군집화 방법 및/또는 시스템을 실시하면, 방향 그래프 데이터를 응용 범용성이 높은 트리 구조로 클러스터링할 수 있는 이점이 있다.If the hierarchical clustering method and/or system of the directed graph data of the present invention having the above configuration is implemented, there is an advantage in that the directed graph data can be clustered into a tree structure with high application versatility.

본 발명의 방향 그래프 데이터의 위계적 군집화 방법 및/또는 시스템은, 그래프를 구성하는 노드 사이에 위계 질서가 없는 경우에도 잘 적용할 수 있으며, 컴퓨터 시스템을 활용하여 자동적으로 대용량의 그래프 데이터로부터 위계적인 군집 트리를 생성할 수 있는 이점이 있다.The hierarchical clustering method and/or system of directed graph data of the present invention can be well applied even when there is no hierarchical order between nodes constituting the graph, and can be automatically hierarchical from large amounts of graph data using a computer system. It has the advantage of being able to create a cluster tree.

본 발명의 방향 그래프 데이터의 위계적 군집화 방법 및/또는 시스템은, 임의의 방향 그래프 데이터가 있을 때, 그래프를 구성하는 노드들의 상관 관계를 활용하여 자동적으로 노드들의 위계적 군집을 형성할 수 있으며, 이러한 위계적 군집은 트리 구조를 갖기 때문에, 빠르게 각 노드가 속한 군집들을 파악하여 활용할 수 있는 이점이 있다.The hierarchical clustering method and/or system of directed graph data of the present invention can automatically form a hierarchical cluster of nodes by utilizing the correlation of nodes constituting the graph when there is arbitrary directed graph data, Since such a hierarchical cluster has a tree structure, there is an advantage in quickly identifying and utilizing the clusters to which each node belongs.

예를 들어, 위키피디아를 구성하는 문서 데이터가 있을 때, 각각의 위키피디아 문서를 하나의 노드로 보고, 위키피디아 문서 사이의 하이퍼링크를 엣지로 두면, 자동적으로 많은 양의 개념 (위키피디아 문서/페이지)를 유사도/관련도에 따라 군집화하여 위계적인 분류 시스템을 만들 수 있다.For example, when there is document data constituting Wikipedia, each Wikipedia document is viewed as a node, and if hyperlinks between Wikipedia documents are placed as an edge, a large amount of concepts (Wikipedia documents/pages) are automatically combined with similarity. You can create a hierarchical classification system by clustering according to /relevance.

도 1은 단어연관그래프를 이용한 단어 의미의 자동 군집 기법을 도시한 개념도.
도 2는 그래프 분류를 위한 빈발 부분그래프를 생성하는 구성을 도시한 블록도.
도 3은 온톨로지를 이용한 문서의 다단계 군집화 방법의 흐름도.
도 4는 개체간 암묵적 관계 추론을 통한 정보 추출 증강 시스템을 도시한 블록도.
도 5는 평탄화된 다층 그래프를 이용해서 커뮤니티를 검출하는 방법을 도시한 개념도.
도 6은 의존 정규화 랜덤 측도를 이용한 트리 기반의 점층적 클러스터링 장치를 도시한 블록도.
도 7은 공간 변환을 이용하여 커뮤니티 구조가 잘 드러나는 객체 관계도를 생성하고, 객체 관계도 또는 객체 유사도 정보 기반으로 커뮤니티를 검출할 수 있는 프레임워크를 도시한 개념도.
도 8은 본 발명의 일 실시예에 따른 방향 그래프 데이터의 위계적 군집화 방법을 도시한 흐름도.
도 9는 임의의 주어진 그래프의 예를 시각적으로 나타낸 데이터 구성도.
도 10은 도 8의 노드 관련성 정보 군집을 분할하는 단계의 세부 구성을 도시한 흐름도.
도 11은 도 9의 노드 구성을 도 8의 위계적 군집화 방법으로 분할한 모습을 도시한 데이터 구성도.
도 12는 본 발명의 사상에 따른 방향 그래프 데이터의 위계적 군집화에 따른 계층적 트리 형성 과정을 도시한 개념도.
도 13은 상술한 본 발명의 사상에 따른 방향 그래프 데이터의 위계적 군집화 방법을 의사코드(pseudocode)로 구현한 알고리즘 표현.
도 14는 본 발명의 일 실시예에 따른 방향 그래프 데이터의 위계적 군집화 시스템을 도시한 블록도.
1 is a conceptual diagram illustrating an automatic clustering technique of word meanings using a word association graph.
2 is a block diagram showing a configuration for generating a frequent partial graph for graph classification.
3 is a flowchart of a multi-step clustering method of documents using an ontology.
4 is a block diagram illustrating an information extraction augmentation system through implicit relationship inference between entities.
5 is a conceptual diagram illustrating a method of detecting a community using a flattened multi-layer graph.
6 is a block diagram illustrating a tree-based gradual clustering device using a dependent normalized random measure.
7 is a conceptual diagram illustrating a framework capable of generating an object relationship diagram showing a community structure well by using spatial transformation and detecting a community based on object relationship diagram or object similarity information.
8 is a flowchart illustrating a hierarchical clustering method of directed graph data according to an embodiment of the present invention.
Fig. 9 is a data structure diagram visually illustrating an example of any given graph;
10 is a flowchart illustrating a detailed configuration of a step of dividing the node relevance information cluster of FIG. 8;
11 is a data configuration diagram illustrating a state in which the node configuration of FIG. 9 is divided by the hierarchical clustering method of FIG. 8;
12 is a conceptual diagram illustrating a hierarchical tree formation process according to hierarchical clustering of directed graph data according to the spirit of the present invention.
13 is an algorithm expression in which the hierarchical clustering method of directed graph data according to the spirit of the present invention described above is implemented with pseudocode.
14 is a block diagram illustrating a hierarchical clustering system of directed graph data according to an embodiment of the present invention.

본 발명을 설명함에 있어서 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되지 않을 수 있다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. In describing the present invention, terms such as first, second, etc. may be used to describe various components, but the components may not be limited by the terms. The terms are only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 연결되어 있다거나 접속되어 있다고 언급되는 경우는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해될 수 있다.When a component is referred to as being connected or connected to another component, it may be directly connected or connected to the other component, but it can be understood that other components may exist in between. .

본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. The terms used herein are used only to describe specific embodiments, and are not intended to limit the present invention. The singular expression may include the plural expression unless the context clearly dictates otherwise.

본 명세서에서, 포함하다 또는 구비하다 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것으로서, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해될 수 있다. In this specification, the terms include or include are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, and includes one or more other features or numbers, It may be understood that the existence or addition of steps, operations, components, parts or combinations thereof is not precluded in advance.

또한, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.In addition, shapes and sizes of elements in the drawings may be exaggerated for clearer description.

본 발명은 임의의 방향 그래프(directed graph)가 주어졌을 때, 그래프를 구성하고 있는 노드(node)와 링크(link/edge)의 정보를 활용하여 관련성이 높은 노드들끼리 군집화함으로써 각각의 노드가 속하는 군집을 계층적으로 형성하는 새로운 방법을 제안한다.When an arbitrary directed graph is given, the present invention clusters highly related nodes using information on nodes and links (link/edge) constituting the graph, so that each node belongs We propose a new method for hierarchically forming clusters.

도 8은 본 발명의 일 실시예에 따른 방향 그래프 데이터의 위계적 군집화 방법을 도시한 흐름도이다.8 is a flowchart illustrating a hierarchical clustering method of directed graph data according to an embodiment of the present invention.

도시한 방향 그래프 데이터의 위계적 군집화 방법은, 방향 그래프 데이터를 획득하는 단계(S100); 각 그래프를 구성하는 노드와 링크 정보로부터 노드 관련성 정보 군집을 작성하는 단계(S200); 최대 흐름 최소 절단으로 상기 노드 관련성 정보 군집을 분할하는 단계(S300); 및 상기 노드 관련성 정보 군집의 분할된 구조가 요망하는 트리 구조에 도달하였는지 확인하는 단계(S400)를 포함할 수 있다.The illustrated hierarchical clustering method of directed graph data includes: obtaining directed graph data (S100); creating a node relevance information cluster from node and link information constituting each graph (S200); dividing the node relevance information cluster by maximum flow minimum truncation (S300); and confirming whether the divided structure of the node relevance information cluster reaches a desired tree structure ( S400 ).

상기 방향 그래프 데이터는 많은 개수의 방향성 그래프들을 포함할 수 있으며, 각 그래프는 일반적인 그래프와 유사하게 트리플 데이터 세트를 가질 수 있다. 한편 방향성을 위해 각 그래프는 노드 정보와, 노드들을 연결하는 링크 혹은 엣지 정보를 가지되, 링크 혹은 엣지에 방향성을 가리키는 정보 및/또는 가중치가 부여될 수 있다.The directed graph data may include a large number of directed graphs, and each graph may have a triple data set similar to a general graph. Meanwhile, for directionality, each graph has node information and link or edge information connecting nodes, but information indicating direction and/or weight may be assigned to the link or edge.

다음, 개별적인 그래프 및 이들에 대한 노드 관련성 정보 군집 작성 과정(S200)을 구체적인 예를 들어 설명하겠다. 임의의 주어진 그래프의 예를 시각적으로 나타내면 도 9와 같다. 도 9에서 엣지 가중치는 생략되었다. Next, individual graphs and the process of creating a cluster of node relevance information for them ( S200 ) will be described with specific examples. A visual representation of an example of any given graph is shown in FIG. 9 . In FIG. 9, edge weights are omitted.

그래프의 노드들의 관련성은 노드들을 연결하는 링크 혹은 엣지로부터 정보를 얻어 판단한다. 만약, 두 노드를 연결하는 링크 혹은 엣지에 가중치가 부여된 그래프의 경우에는 가중치를 그대로 사용하고, 모든 링크/엣지에 가중치가 부여되어 있지 아니한 경우에는 모든 링크/엣지에 기본 단위량(예를 들어, 1)의 가중치를 부여한다. 두 노드를 연결하는 링크/엣지의 가중치가 높을수록 두 노드의 관련성이 높은 것으로 간주한다.The relevance of the nodes in the graph is determined by obtaining information from the links or edges connecting the nodes. In the case of a graph in which weights are given to links or edges connecting two nodes, the weights are used as they are, and if no weights are assigned to all links/edges, the basic unit amount (e.g., , 1) is weighted. The higher the weight of the link/edge connecting two nodes, the higher the relevance of the two nodes is considered.

도시한 노드 관련성 정보 군집은, 공지된 군집화 정보 저장 알고리즘에 따른 형태로 DB나 저장 장치등에 저장될 수 있다. The illustrated node relevance information cluster may be stored in a DB or a storage device in a form according to a known clustering information storage algorithm.

다음, 상기 노드 관련성 정보 군집을 분할하는 단계(S300)를 구체적인 예를 들어 설명하겠다.Next, the step of dividing the node relevance information cluster ( S300 ) will be described with a specific example.

잘 알려져 있는 그래프 절단(cut) 이론인 최대 흐름 최소 절단(max-flow min-cut theorem)을 반복적으로 적용하여 높은 단계의 커다란 군집부터 낮은 단계의 작은 군집까지 단계적인 트리 구조의 군집들을 형성한다. 그래프를 구성하는 기존의 노드들은 새롭게 형성되는 군집들의 트리 구조의 맨 마지막 단의 잎 노드(리프 노드, leaf node)를 구성한다.The well-known graph-cut theory, max-flow min-cut theorem, is iteratively applied to form clusters in a hierarchical tree structure from large clusters at high levels to small clusters at low levels. Existing nodes constituting the graph constitute the last leaf node (leaf node) of the tree structure of newly formed clusters.

최대 흐름 최소 절단 문제로 바꾸어서 그래프의 노드들을 서로 다른 군집으로 구분할 때, 그래프 링크/엣지의 가중치를 링크/엣지의 수용량(capacity)로 취급한다. 최대 흐름 최소 절단(max-flow min-cut theorem) 문제를 해결하는 알고리즘은 잘 알려진 선형 프로그래밍(linear programming) 최적화법(optimization) 방법을 사용할 수 있다.When dividing the nodes of the graph into different clusters by changing to the maximum flow minimum truncation problem, the weight of the graph link/edge is treated as the capacity of the link/edge. Algorithms to solve the max-flow min-cut theorem can use well-known linear programming optimization methods.

도 10은 도 8의 노드 관련성 정보 군집을 분할하는 단계의 세부 구성을 도시하고, 도 11은 도 9의 노드 구성을 도 8의 위계적 군집화 방법으로 분할한 모습을 도시한다.FIG. 10 shows a detailed configuration of the step of dividing the node relevance information cluster of FIG. 8 , and FIG. 11 shows a state in which the node configuration of FIG. 9 is divided by the hierarchical clustering method of FIG. 8 .

다음, 도 10에 도시한 흐름에 따른 노드 관련성 정보 군집을 분할하는 단계(S300)의 세부 과정들을 설명한다. Next, detailed processes of the step (S300) of dividing the node relevance information cluster according to the flow shown in FIG. 10 will be described.

상기 S200 단계에서 작성된 노드 관련성 정보 군집에서 소스 노드와 싱크 노드를 선택하는 단계(S310); 상기 소스 노드와 싱크 노드를 기준으로 상기 노드 관련성 정보 군집을 분할함에 있어 적용되는 최대 흐름과 최소 절단의 지침을 결정하는 단계(S320); 및 상기 결정된 지침대로 노드 관련성 정보 군집을 분할하는 단계(S330)를 포함할 수 있다. selecting a source node and a sink node from the node relevance information cluster created in step S200 (S310); determining guidelines of maximum flow and minimum truncation applied in dividing the node relevance information cluster based on the source node and the sink node (S320); and dividing the node relevance information cluster according to the determined guideline (S330).

하나의 최대 흐름 최소 절단 문제를 풀기 위해서는 주어진 그래프의 소스 노드(source node)와 싱크 노드(sink node)가 정해져야 한다(S310). 임의의 주어진 그래프에서 소스 노드와 싱크 노드를 선택하는 방법은 여러 가지가 존재할 수 있지만, 본 발명에서는 노드에서 나가는 엣지의 가중치 합이 가장 큰 노드와 노드로 들어오는 엣지의 가중치 합이 가장 큰 노드를 각각 소스 노드와 싱크 노드로 지정하는 방법을 제안한다.In order to solve one maximum flow minimum truncation problem, a source node and a sink node of a given graph should be determined (S310). There may be several methods for selecting a source node and a sink node in an arbitrary given graph, but in the present invention, the node having the largest sum of weights of edges leaving the node and the node having the largest sum of weights of edges entering the node are selected, respectively. We propose a method of designating a source node and a sink node.

소스 노드와 싱크 노드를 위에 제안한 방법으로 설정하고, 최대 흐름 (또는 최소 절단)을 찾으면 아래 그림과 같다. 아래 그림과 같이, 한 번의 최대 흐름 문제를 풀면 그래프의 노드들을 두 개의 서로 다른 군집으로 나눌 수 있다.Set the source node and sink node in the method suggested above, and find the maximum flow (or minimum truncation) as shown in the figure below. As shown in the figure below, by solving one maximum flow problem, the nodes of the graph can be divided into two different clusters.

한편, 최대 흐름 최소 절단 알고리즘에는 그 명칭에도 2개의 조건인 최대 흐름 조건과 최소 절단 조건이 존재한다. 상기 S300 단계의 그래프 군집 절단(분할)시 상기 2개의 조건 적용에 대한 지침에도 다양한 경우가 존재할 수 있으며, 도시한 S320 단계에서는 상기 다양한 경우들 중 하나를 선택하고, 도시한 S330 단계에서는 결정된 지침으로 최대 흐름 조건 및/또는 최소 절단 조건을 적용하여 그래프 군집을 분할한다.On the other hand, the maximum flow minimum cutting algorithm has two conditions, the maximum flow condition and the minimum cutting condition, even in the name. Various cases may exist in the guidelines for applying the two conditions when cutting (segmenting) the graph cluster in step S300. In the illustrated step S320, one of the various cases is selected, and in the illustrated step S330, the determined guidelines are used. Partition graph clusters by applying maximum flow conditions and/or minimum cut conditions.

예컨대, 최대 흐름 유지가 중요한 분야의 경우, 상기 S300 단계에서는, 최대 흐름 조건만을 적용하여 분할하거나, 우선적으로 최대 흐름 조건을 적용하여 분할하되, 분할시 예상되는 최대 흐름 정도가 기준에 미달된 경우 최소 절단 조건을 적용하여 분할할 수 있다. For example, in the case of a field in which maximum flow maintenance is important, in the step S300, only the maximum flow condition is applied to divide, or the maximum flow condition is preferentially divided to apply the division, but when the maximum flow rate expected at the time of division does not meet the standard, the minimum It can be divided by applying cutting conditions.

예컨대, 최소 절단 확보가 중요한 분야의 경우, 상기 S300 단계에서는, 최소 절단 조건만을 적용하여 분할하거나, 우선적으로 최소 절단 조건을 적용하여 분할하되, 분할시 예상되는 최소 절단 정도가 기준에 미달된 경우 최대 흐름 조건을 적용하여 분할할 수 있다. For example, in the case of a field in which it is important to ensure minimum cutting, in the step S300, only the minimum cutting condition is applied to divide, or preferentially apply the minimum cutting condition to divide, but when the expected minimum cutting degree does not meet the standard, the maximum It can be segmented by applying flow conditions.

예컨대, 상기 S300 단계에서, 첫번째 분할시에는 최대 흐름 조건을 적용하고, 다음번 분할시에는 최소 흐름 조건을 적용하는 등 2 조건을 교번하여 적용할 수 있다.For example, in the step S300, the two conditions may be alternately applied, such as applying the maximum flow condition in the first division and applying the minimum flow condition in the next division.

예컨대, 상기 S300 단계에서, 최대 흐름 조건 또는 최소 절단 조건을 적용하여 분할시 예상되는 최대 흐름 정도 또는 최소 절단 정도가 소정의 각 기준에 도달하거나 넘는 경우에만 분할을 수행할 수 있다.For example, in the step S300, the maximum flow condition or the minimum cutting condition may be applied to perform division only when the expected maximum flow level or minimum cutting level reaches or exceeds each predetermined criterion.

다음, 상기 요망하는 트리 구조에 도달하였는지 확인하는 단계(S400)를 구체적인 예를 들어 설명하겠다.Next, the step of checking whether the desired tree structure is reached ( S400 ) will be described with a specific example.

상술한 S300 단계의 수행 결과로 그래프의 노드들을 두 개의 서로 다른 군집으로 나누었고, 각각의 군집을 개별적인 그래프로 취급하여 반복적으로 군집을 더 작은 단위의 군집으로 나눌 수 있다. 이러한 과정을 반복하여 적당한 크기의 트리 구조를 갖는 군집들을 형성할 수 있다. 이와 같은 계층적 트리 형성 과정의 개념을 도시하면 도 12와 같다.As a result of performing the above-described step S300, the nodes of the graph are divided into two different clusters, and each cluster can be treated as an individual graph, and the cluster can be repeatedly divided into smaller unit clusters. By repeating this process, clusters having a tree structure of an appropriate size can be formed. The concept of such a hierarchical tree formation process is illustrated in FIG. 12 .

상기 S400 단계에서 요망하는 트리 구조의 도달 여부를 확인하는 기준들은 구현에 따라 다양하다. 예컨대, 도 12의 경우에는 최종 분할된 트리 가지 클러스터에 노드들이 3개 이하만 속하는 조건으로 트리를 형성한 것이다.Criteria for checking whether a desired tree structure is reached in step S400 may vary according to implementations. For example, in the case of FIG. 12 , the tree is formed under the condition that only three or less nodes belong to the finally divided tree branch cluster.

예컨대, 상기 S400 단계에서, 트리의 층 수를 소정 개수로 제한한 조건 도달 여부를 확인할 수 있다.For example, in step S400, it may be checked whether a condition for limiting the number of layers of the tree to a predetermined number is reached.

예컨대, 상기 S300 단계에서는 최대 흐름 조건 또는 최소 절단 조건을 적용하여 분할시 예상되는 최대 흐름 정도 또는 최소 절단 정도가 소정의 각 기준에 도달하거나 넘는 경우에만 분할을 수행하는 경우, 상기 S400 단계에서는 단순히 더 이상 분할 가능하지 않음을 확인하는 것으로 수행될 수 있다.For example, in the step S300, if the maximum flow condition or the minimum cutting condition is applied and the division is performed only when the expected maximum flow or minimum cutting degree reaches or exceeds each predetermined criterion, in the S400 step, the It may be performed by confirming that the division is not possible.

상술한 알고리즘에서 재귀(recursion)방식으로 함수를 작성하여 높은 단계의 군집부터 낮은 단계의 군집까지 단계적으로 트리 구조의 군집(혹은 카테고리)를 생성할 수 있다.In the above-described algorithm, a tree-structured cluster (or category) can be created step by step from a high-level cluster to a low-level cluster by writing a function in a recursion method.

예컨대, 상기 S400 단계에서는, 상술한 알고리즘의 재귀 호출 멈춤 조건(stopping criterion)을 응용 분야에 맞게 설정하여, 무한 반복적으로 재귀함수 호출하는 경우를 방지한다. 멈춤 조건으로서, 주어진 그래프의 노드 개수가 미리 설정한 기준점보다 적거나, 이와 유사한 다른 기준을 설정할 수 있다.For example, in the step S400, the stopping criterion of the recursive call of the above-described algorithm is set according to the application field, thereby preventing the case of infinitely repeatedly calling the recursive function. As the stopping condition, the number of nodes in the given graph is less than a preset reference point, or other similar criteria may be set.

도 13은 상술한 본 발명의 사상에 따른 방향 그래프 데이터의 위계적 군집화 방법을 의사코드(pseudocode)로 구현한 하나의 알고리즘을 표현한 것이다. 여기에서 V는 그래프의 노드들의 집합, E는 엣지/링크들의 집합을 의미한다. 13 shows an algorithm in which the hierarchical clustering method of directed graph data according to the spirit of the present invention described above is implemented with pseudocode. Here, V denotes a set of nodes in the graph, and E denotes a set of edges/links.

도 14는 본 발명의 일 실시예에 따른 방향 그래프 데이터의 위계적 군집화 시스템을 도시한 블록도이다.14 is a block diagram illustrating a hierarchical clustering system of directed graph data according to an embodiment of the present invention.

도시한 방향 그래프 데이터의 위계적 군집화 시스템(100)은, 방향 그래프 데이터(정보)를 획득하는 방향 그래프 데이터 획득부(110); 각 그래프를 구성하는 노드와 링크 정보로부터 노드 관련성 정보 군집을 작성하는 노드 관련성 정보 군집 작성부(120); 상기 작성된 노드 관련성 정보 군집에서 소스 노드와 싱크 노드를 선택하는 소스/싱크 노드 선택부(131); 상기 소스 노드와 싱크 노드를 기준으로 상기 노드 관련성 정보 군집을 분할함에 있어 적용되는 최대 흐름과 최소 절단의 지침을 결정하는 지침 결정부(132); 및 상기 결정된 지침대로 상기 노드 관련성 정보 군집을 분할하는 분할 및 트리 형성부(133)를 포함할 수 있다. The illustrated hierarchical clustering system 100 of directed graph data includes: a directed graph data obtaining unit 110 for obtaining directed graph data (information); a node relevance information cluster creation unit 120 for creating a node relevance information cluster from the node and link information constituting each graph; a source/sink node selection unit 131 for selecting a source node and a sink node from the created node relevance information cluster; a guideline determining unit 132 for determining a guideline for maximum flow and minimum truncation applied in dividing the node relevance information cluster based on the source node and the sink node; and a partitioning and tree forming unit 133 for partitioning the node relevance information cluster according to the determined guideline.

상기 방향 그래프 데이터는 많은 개수의 방향성 그래프들을 포함할 수 있으며, 각 그래프는 일반적인 그래프와 유사하게 트리플 데이터 세트를 가질 수 있다. 한편 방향성을 위해 각 그래프는 노드 정보와, 노드들을 연결하는 링크 혹은 엣지 정보를 가지되, 링크 혹은 엣지에 방향성을 가리키는 정보 및/또는 가중치가 부여될 수 있다. The directed graph data may include a large number of directed graphs, and each graph may have a triple data set similar to a general graph. Meanwhile, for directionality, each graph has node information and link or edge information connecting nodes, but information indicating direction and/or weight may be assigned to the link or edge.

상기 방향 그래프 데이터 획득부(110)는 외부의 방향 그래프 정보 수집 DB 등으로부터 유/무선 데이터 통신을 이용하여 방향 그래프 데이터를 전송받는 방식으로 상술한 도 8의 S100 단계를 수행할 수 있다. 구현에 따라, 상기 방향 그래프 데이터 획득부(110)는 전송받은 방향 그래프 데이터를 도시한 방향 그래프 데이터의 위계적 군집화 시스템(100) 내에 형성된 저장부(160)에 저장할 수 있다.The direction graph data acquisition unit 110 may perform step S100 of FIG. 8 described above in such a way that the direction graph data is transmitted from an external directed graph information collection DB or the like using wired/wireless data communication. Depending on the implementation, the directed graph data obtaining unit 110 may store the received directed graph data in the storage unit 160 formed in the hierarchical clustering system 100 of directed graph data.

상기 노드 관련성 정보 군집 작성부(120)는 상술한 도 8의 S200 단계를 수행하여 도 9와 같은 구성의 노드 관련성 정보 군집을 작성하여, 도시한 저장부(160)에 저장할 수 있다. The node relevance information cluster creation unit 120 may perform the above-described step S200 of FIG. 8 to create a node relevance information cluster configured as shown in FIG. 9 and store it in the illustrated storage unit 160 .

상기 소스/싱크 노드 선택부(131)는 도시한 저장부(160)에 저장된 상기 노드 관련성 정보 군집을 독출하여, 여기서 이후 분할 작업의 기준이 되는 소스 노드와 싱크 노드를 결정하는 방식으로 도 10의 S310 단계를 수행할 수 있다.The source/sink node selection unit 131 reads out the node relevance information cluster stored in the illustrated storage unit 160, and determines a source node and a sink node, which are the basis for a subsequent division operation, as shown in FIG. Step S310 may be performed.

상기 지침 결정부(132)는 상술한 S320 단계를 수행함에 있어 적용될 수 있는 다양한 경우의 최대 흐름 조건과 최소 절단 조건에 대한 지침을 결정하는데, 원 방향 그래프 데이터의 종류에 따라 결정하거나, 미리 사용자가 지정하여 기록한 지침을 독출하는 방식으로 수행할 수 있다.The guide determination unit 132 determines guidelines for maximum flow conditions and minimum cutting conditions in various cases that can be applied in performing the above-described step S320, determined according to the type of circular graph data, or by a user in advance. It can be performed by reading the specified and recorded instructions.

상기 분할 및 트리 형성부(133)는 상술한 S330 단계 및 S400 단계를 수행한다. 상기 분할 및 트리 형성부(133)는, 상기 S330 단계의 수행결과 분할된 군집 클러스터를 도시한 저장부(160)에 임시 저장하고, 상기 S400 단계에서 확정된 트리 구조 및 이에 따라 분할된 군집 클러스터를 도시한 저장부(160)에 최종적으로 저장할 수 있다.The division and tree forming unit 133 performs steps S330 and S400 described above. The division and tree forming unit 133 temporarily stores in the storage unit 160 showing the cluster cluster divided as a result of the execution of step S330, and stores the tree structure determined in step S400 and the cluster cluster divided accordingly. It may be finally stored in the illustrated storage unit 160 .

예컨대, 상기 분할 및 트리 형성부(133)는, 최대 흐름 조건 또는 최소 절단 조건을 적용하여 분할시 예상되는 최대 흐름 정도 또는 최소 절단 정도가 소정의 각 기준에 도달하거나 넘는 경우에만 분할을 수행하고, 더 이상 분할 가능하지 않음을 확인하면 트리 구조를 최종적으로 확정할 수 있다.For example, the division and tree forming unit 133 performs division only when the maximum flow or minimum cutting degree expected at the time of division by applying the maximum flow condition or the minimum cutting condition reaches or exceeds each predetermined criterion, By confirming that it is no longer splittable, the tree structure can be finally confirmed.

본 발명이 속하는 기술 분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Those skilled in the art to which the present invention pertains should understand that the present invention may be embodied in other specific forms without changing the technical spirit or essential characteristics thereof, so the embodiments described above are illustrative in all respects and not restrictive. only do The scope of the present invention is indicated by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. .

예컨대, 도 1 내지 도 7에 표현된 상기 선행기술들에 제시된 각 하드웨어 구성에 본 발명의 사상에 따른 군집 알고리즘이 적용될 수 있으며, 이 또한 본 발명의 권리범위에 속함은 물론이다.For example, a clustering algorithm according to the spirit of the present invention may be applied to each hardware configuration presented in the prior art shown in FIGS. 1 to 7 , which also falls within the scope of the present invention.

100 : 방향 그래프 데이터의 위계적 군집화 시스템
110 : 방향 그래프 데이터 획득부
120 : 노드 관련성 정보 군집 작성부
131 : 소스/싱크 노드 선택부
132 : 지침 결정부
133 : 분할 및 트리 형성부
160 : 저장부
100: hierarchical clustering system of directed graph data
110: direction graph data acquisition unit
120: node relevance information cluster creation unit
131: source/sink node selection unit
132: guide decision unit
133: segmentation and tree forming part
160: storage

Claims (9)

방향 그래프 데이터를 획득하는 단계;
각 그래프를 구성하는 노드와 링크 정보로부터 노드 관련성 정보 군집을 작성하는 단계;
최대 흐름 최소 절단으로 상기 노드 관련성 정보 군집을 분할하는 단계; 및
상기 노드 관련성 정보 군집의 분할된 구조가 요망하는 트리 구조에 도달하였는지 확인하는 단계
를 포함하는 방향 그래프 데이터의 위계적 군집화 방법.
obtaining directed graph data;
creating a node relevance information cluster from node and link information constituting each graph;
partitioning the node relevance information cluster by maximum flow minimum truncation; and
Checking whether the divided structure of the node relevance information cluster reaches a desired tree structure
A hierarchical clustering method of directed graph data comprising
제1항에 있어서,
상기 노드 관련성 정보 군집을 작성하는 단계에서는,
두 노드를 연결하는 링크 혹은 엣지에 가중치가 부여된 그래프의 경우에는 가중치를 그대로 사용하고, 모든 링크/엣지에 가중치가 부여되어 있지 아니한 경우에는 모든 링크/엣지에 기본 단위량의 가중치를 부여하는 방향 그래프 데이터의 위계적 군집화 방법.
According to claim 1,
In the step of creating the node relevance information cluster,
In the case of a graph in which weights are given to links or edges connecting two nodes, the weights are used as they are, and when no weights are assigned to all links/edges, the weight of the basic unit amount is given to all links/edges. A hierarchical clustering method of graph data.
제1항에 있어서,
상기 노드 관련성 정보 군집을 분할하는 단계는,
작성된 상기 노드 관련성 정보 군집에서 소스 노드와 싱크 노드를 선택하는 단계;
상기 소스 노드와 싱크 노드를 기준으로 상기 노드 관련성 정보 군집을 분할함에 있어 적용되는 최대 흐름과 최소 절단의 지침을 결정하는 단계; 및
상기 결정된 지침대로 노드 관련성 정보 군집을 분할하는 단계
를 포함하는 방향 그래프 데이터의 위계적 군집화 방법.
According to claim 1,
The step of dividing the node relevance information cluster comprises:
selecting a source node and a sink node from the created node relevance information cluster;
determining guidelines of maximum flow and minimum truncation applied in dividing the node relevance information cluster based on the source node and the sink node; and
Segmenting the node relevance information cluster according to the determined guideline
A hierarchical clustering method of directed graph data comprising
제3항에 있어서,
상기 소스 노드와 싱크 노드를 선택하는 단계에서는, 노드에서 나가는 엣지의 가중치 합이 가장 큰 노드와 노드로 들어오는 엣지의 가중치 합이 가장 큰 노드를 각각 소스 노드와 싱크 노드로 지정하는 방향 그래프 데이터의 위계적 군집화 방법.
4. The method of claim 3,
In the step of selecting the source node and the sink node, the node having the largest sum of weights of the edges leaving the node and the node having the largest sum of the weights of the edges entering the node are designated as the source node and the sink node, respectively. hierarchical clustering method.
제3항에 있어서,
상기 노드 관련성 정보 군집을 분할하는 단계에서는, 최대 흐름 조건 또는 최소 절단 조건을 적용하여 분할시 예상되는 최대 흐름 정도 또는 최소 절단 정도가 소정의 각 기준에 도달하거나 넘는 경우에만 분할을 수행하고,
상기 요망하는 트리 구조에 도달하였는지 확인하는 단계에서는, 더 이상 분할 가능하지 않음을 확인하는 방향 그래프 데이터의 위계적 군집화 방법.
4. The method of claim 3,
In the step of dividing the node relevance information cluster, the division is performed only when the maximum flow degree or the minimum cutting degree expected at the time of division by applying the maximum flow condition or the minimum cutting condition reaches or exceeds each predetermined criterion,
In the step of checking whether the desired tree structure is reached, a hierarchical clustering method of directed graph data to confirm that it is no longer divisible.
방향 그래프 데이터를 획득하는 방향 그래프 데이터 획득부;
각 그래프를 구성하는 노드와 링크 정보로부터 노드 관련성 정보 군집을 작성하는 노드 관련성 정보 군집 작성부;
상기 작성된 노드 관련성 정보 군집에서 소스 노드와 싱크 노드를 선택하는 소스/싱크 노드 선택부;
상기 소스 노드와 싱크 노드를 기준으로 상기 노드 관련성 정보 군집을 분할함에 있어 적용되는 최대 흐름과 최소 절단의 지침을 결정하는 지침 결정부; 및
상기 결정된 지침대로 상기 노드 관련성 정보 군집을 분할하는 분할 및 트리 형성부
를 포함하는 방향 그래프 데이터의 위계적 군집화 시스템.
a directed graph data obtaining unit for obtaining directed graph data;
a node relevance information cluster creation unit for creating a node relevance information cluster from the node and link information constituting each graph;
a source/sink node selection unit for selecting a source node and a sink node from the created node relevance information cluster;
a guideline determining unit for determining a maximum flow and minimum truncation guidelines applied in dividing the node relevance information cluster based on the source node and the sink node; and
A partitioning and tree forming unit that divides the node relevance information cluster according to the determined guideline.
A hierarchical clustering system of directed graph data comprising a.
제6항에 있어서,
상기 노드 관련성 정보 군집 작성부는,
두 노드를 연결하는 링크 혹은 엣지에 가중치가 부여된 그래프의 경우에는 가중치를 그대로 사용하고, 모든 링크/엣지에 가중치가 부여되어 있지 아니한 경우에는 모든 링크/엣지에 기본 단위량의 가중치를 부여하는 방향 그래프 데이터의 위계적 군집화 시스템.
7. The method of claim 6,
The node relevance information cluster creation unit,
In the case of a graph in which weights are given to links or edges connecting two nodes, the weights are used as they are, and when no weights are assigned to all links/edges, the weight of the basic unit amount is given to all links/edges. A hierarchical clustering system for graph data.
제6항에 있어서,
상기 소스/싱크 노드 선택부는,
노드에서 나가는 엣지의 가중치 합이 가장 큰 노드와 노드로 들어오는 엣지의 가중치 합이 가장 큰 노드를 각각 소스 노드와 싱크 노드로 지정하는 방향 그래프 데이터의 위계적 군집화 시스템.
7. The method of claim 6,
The source/sink node selection unit,
A hierarchical clustering system for directed graph data that designates the node with the largest sum of weights of outgoing edges and the node with the largest sum of weights of incoming edges as source and sink nodes, respectively.
제6항에 있어서,
상기 분할 및 트리 형성부는,
최대 흐름 조건 또는 최소 절단 조건을 적용하여 분할시 예상되는 최대 흐름 정도 또는 최소 절단 정도가 소정의 각 기준에 도달하거나 넘는 경우에만 분할을 수행하고,
더 이상 분할 가능하지 않음을 확인하면 트리 구조를 확정하는 방향 그래프 데이터의 위계적 군집화 시스템.


7. The method of claim 6,
The division and tree forming unit,
By applying the maximum flow condition or the minimum cutting condition, the division is performed only when the expected maximum flow degree or the minimum cutting degree reaches or exceeds each predetermined criterion at the time of division,
A hierarchical clustering system of directed graph data that establishes a tree structure upon confirmation that it is no longer divisible.


KR1020200002249A 2020-01-07 2020-01-07 Hierarchical clustering method and system for directivity graph data KR102389881B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200002249A KR102389881B1 (en) 2020-01-07 2020-01-07 Hierarchical clustering method and system for directivity graph data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200002249A KR102389881B1 (en) 2020-01-07 2020-01-07 Hierarchical clustering method and system for directivity graph data

Publications (2)

Publication Number Publication Date
KR20210089033A true KR20210089033A (en) 2021-07-15
KR102389881B1 KR102389881B1 (en) 2022-04-25

Family

ID=76889476

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200002249A KR102389881B1 (en) 2020-01-07 2020-01-07 Hierarchical clustering method and system for directivity graph data

Country Status (1)

Country Link
KR (1) KR102389881B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656431A (en) * 2021-08-13 2021-11-16 辽宁华盾安全技术有限责任公司 Graph display method based on big data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180093158A (en) 2017-02-09 2018-08-21 서울대학교산학협력단 Method of shortest path discovery based on graph reachability

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180093158A (en) 2017-02-09 2018-08-21 서울대학교산학협력단 Method of shortest path discovery based on graph reachability

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Eddie Fuller et al., "Optimal Clustering Selection on Hierarchical System Network"(2013.02.04.)* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656431A (en) * 2021-08-13 2021-11-16 辽宁华盾安全技术有限责任公司 Graph display method based on big data

Also Published As

Publication number Publication date
KR102389881B1 (en) 2022-04-25

Similar Documents

Publication Publication Date Title
Yang et al. Global model interpretation via recursive partitioning
Ghosh et al. A tutorial review on Text Mining Algorithms
Nocaj et al. Untangling the hairballs of multi-centered, small-world online social media networks
US20090327259A1 (en) Automatic concept clustering
CN110059181B (en) Short text label method, system and device for large-scale classification system
US20170116203A1 (en) Method of automated discovery of topic relatedness
Effendy et al. Classification of intrusion detection system (IDS) based on computer network
US8972557B2 (en) Topic-based community index generation apparatus and method and topic-based community searching apparatus and method
EP1109111A1 (en) Method and apparatus for searching, browsing and summarizing moving image data using similarity measure in a tree-structured moving image hierarchy
EP1903479B1 (en) Method and system for data classification using a self-organizing map
Mittal et al. Validation of k-means and threshold based clustering method
CN111191466A (en) Homonymous author disambiguation method based on network characterization and semantic characterization
CN113190670A (en) Information display method and system based on big data platform
JP2015049574A (en) Index generation device and retrieval device
Idahl et al. Finding interpretable concept spaces in node embeddings using knowledge bases
Wilkins et al. Comparison of five clustering algorithms to classify phytoplankton from flow cytometry data
KR102389881B1 (en) Hierarchical clustering method and system for directivity graph data
Kushwaha et al. A review on enhancement to standard k-means clustering
CN113821657A (en) Artificial intelligence-based image processing model training method and image processing method
Scherger et al. A systematic overview of the prediction of business failure
Elhebir et al. A novel ensemble approach to enhance the performance of web server logs classification
Helal et al. Leader‐based community detection algorithm for social networks
Srinivasan et al. Scalable Clustering of High‐Dimensional Data Technique Using SPCM with Ant Colony Optimization Intelligence
Wedashwara et al. Evolutionary rule based clustering for making fuzzy object oriented database models
García et al. Subgroup Discovery with Evolutionary Fuzzy Systems in R: The SDEFSR Package.

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