KR20180137387A - Apparatus and method for detecting overlapping community - Google Patents

Apparatus and method for detecting overlapping community Download PDF

Info

Publication number
KR20180137387A
KR20180137387A KR1020170120670A KR20170120670A KR20180137387A KR 20180137387 A KR20180137387 A KR 20180137387A KR 1020170120670 A KR1020170120670 A KR 1020170120670A KR 20170120670 A KR20170120670 A KR 20170120670A KR 20180137387 A KR20180137387 A KR 20180137387A
Authority
KR
South Korea
Prior art keywords
node
nodes
community
core
edge
Prior art date
Application number
KR1020170120670A
Other languages
Korean (ko)
Other versions
KR102007896B1 (en
Inventor
김상욱
홍지원
이유진
Original Assignee
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Publication of KR20180137387A publication Critical patent/KR20180137387A/en
Application granted granted Critical
Publication of KR102007896B1 publication Critical patent/KR102007896B1/en

Links

Images

Classifications

    • G06F17/30958
    • 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
    • G06F17/30321

Abstract

The present invention relates to an apparatus and method for detecting an overlapping community. The apparatus comprises: a core node extraction unit extracting a predetermined number of nodes as core nodes based on degree of connection in a node relation diagram composed of a plurality of nodes and a plurality of edges connecting the nodes; an edge relationship diagram generation unit generating an edge relation diagram in which the edges in the node relation diagram are transformed into nodes; a community extraction unit extracting a community for each core node set corresponding to each core node in the edge relation diagram; and a transformation unit transforming the communities extracted in the edge relation diagram into communities constituted by the nodes of the node relation diagram.

Description

중첩 커뮤니티 검출 장치 및 방법{APPARATUS AND METHOD FOR DETECTING OVERLAPPING COMMUNITY}[0001] APPARATUS AND METHOD FOR DETECTING OVERLAPPING COMMUNITY [0002]

본 발명은 중첩 커뮤니티 검출 장치 및 방법에 관한 것으로, 보다 구체적으로는 노드 간 관계를 나타내는 에지가 노드의 형태로 변환된 에지 관계도에서 각 핵심노드 집합의 커뮤니티를 각각 추출하고, 에지 관계도에서 추출된 커뮤니티들을 노드 관계도의 노드로 구성된 커뮤니티들로 변환하여, 각 노드가 속하는 다수의 커뮤니티를 검출할 수 있는 중첩 커뮤니티 검출 장치 및 방법에 관한 것이다. More particularly, the present invention relates to an apparatus and method for detecting overlapping communities, and more particularly, to a method and apparatus for detecting overlapping communities by extracting communities of each core node set in an edge relation diagram where edges representing node- And more particularly, to an apparatus and method for detecting an overlapping community capable of detecting a plurality of communities to which each node belongs.

네트워크(network)는 노드(node)와 에지(edge)로 구성되고, 네트워크에서 커뮤니티란 내부적으로는 노드들 간의 에지 밀도가 높고 커뮤니티 외부에 존재하는 노드와 연결된 에지는 적은 노드들의 집합을 의미한다. 한편, 다양한 종류의 네트워크 형태의 A network is composed of nodes and edges. In a network, a community is a set of nodes having a high edge density between nodes internally and an edge connected to a node existing outside the community. On the other hand,

데이터가 존재할 때, 해당 네트워크에 존재하는 커뮤니티들을 찾는 것은 중요하다. 이에, 네트워크를 대상으로 각 노드들이 속한 커뮤니티를 찾으려는 많은 시도들이 있었다. 그러나 종래에는 각 노드들이 여러 커뮤니티에 동시에 속하는 것을 허용하지 않았다. 하지만 실제 네트워크에서 각 노드들은 여러 관계를 맺거나 여러 특성 및 기능을 가질 수 있다. 예를 들어, 노드가 사람인 경우 동시에 여러 커뮤니티에 속할 수 있으며, 아이템인 경우 동시에 여러 카테고리에 속하거나 특성을 가질 수 있기 때문이다. 즉, 대부분의 노드가 한 개 이상의 커뮤니티에 동시에 속할 수 있다.When data exists, it is important to find communities that exist in the network. Therefore, there have been many attempts to find the community to which each node belongs to the network. Conventionally, however, each node was not allowed to belong to multiple communities at the same time. However, in a real network, each node can have multiple relationships or have different characteristics and functions. For example, if a node is a person, you can belong to multiple communities at the same time, and if it is an item, you can belong to multiple categories or have characteristics at the same time. That is, most nodes can belong to more than one community at the same time.

이에, 최근에는 각 노드들이 동시에 여러 커뮤니티에 속하는 것을 허용하면서 각 노드가 속한 커뮤니티들을 찾는 중첩 커뮤니티 검출에 대한 연구가 진행되고 있다. 중첩 커뮤니티 검출 연구에는 각 개인을 대변하는 노드를 대상으로 커뮤니티를 추출하는 연구, 노드만 동시에 여러 커뮤니티에 속하고 에지는 한 커뮤니티에만 속할 수 있다고 간주한 후 에지를 대상으로 커뮤니티를 추출하는 연구 등이 있다. 그러나, 실제 네트워크에서 에지가 나타내는 노드 간 관계들은 하나 이상의 커뮤니티에 속할 수 있고, 커뮤니티는 관계들이 모여 이루어진다는 점을 간과한 것이다. Recently, research on detection of overlapping communities in which each node belongs to several communities at the same time while finding the communities to which each node belongs is under study. In the study of overlapping community detection, the research that extracts the community from the nodes representing each individual, and the research that extracts the community from the edge after considering that the node belongs to several communities at the same time and the edge belongs only to one community have. However, in an actual network, edge - to - node relationships represented by edges can belong to more than one community, and the community overlooks the fact that relationships are gathered together.

한편, 실제 세계에서 커뮤니티들은 사람과 사람의 관계들이 모여서 구성되고 네트워크에서 커뮤니티들은 노드와 노드를 잇는 에지들이 모여 구성된다. 또한 사람과 사람 사이의 관계들은 하나 이상의 커뮤니티에 동시에 속할 수 있다. 예를 들어, 중학교 동창 커뮤니티를 이루는 중학교 동창 관계들의 일부는 고등학교 동창 커뮤니티를 이루는 고등학교 동창 관계이기도 하기 때문이다. 그러므로 관계를 대상으로 각 관계들이 동시에 여러 커뮤니티에 속할 수 있도록 중첩 커뮤니티를 검출할 필요가 있다. 즉, 노드와 노드를 잇는 최소 단위의 관계인 에지들이 모여 커뮤니티가 되는 것이므로, 에지를 대상으로 커뮤니티를 추출해야 한다. On the other hand, communities in the real world are made up of people-human relationships, and in the network, communities are organized by gathering nodes and nodes. Also, relationships between people and people can belong to more than one community at the same time. For example, some of the middle school alumni relationships that make up the middle school alumni community are high school alumni associations that make up the high school alumni community. Therefore, it is necessary to detect overlapping communities so that each relationship belongs to several communities at the same time. In other words, since the edges that are the minimum units connecting the node and the node are gathered and become a community, the community should be extracted for the edge.

그러나, 종래의 중첩 커뮤니티 검출 연구들은 에지를 대상으로 커뮤니티를 추출하긴 하나, 하나의 에지가 동시에 두 개 이상의 커뮤니티에 속하는 것을 허용하지 않았다. 이는 노드 간 관계를 나타내는 에지가 여러 커뮤니티에 속할 수 있는 실제 네트워크를 반영하지 않아 적절하지 않다.Conventional overlapping community detection studies, however, did not allow an edge to belong to more than one community at the same time, although extracting communities to edges. This is not appropriate because the edges representing the inter-node relationships do not reflect the actual network that can belong to multiple communities.

따라서, 노드 간 관계로 나타내는 에지를 대상으로 각 노드가 속한 커뮤니티를 검출하는 기술개발이 요구되고 있다. Therefore, it is required to develop a technique for detecting a community to which each node belongs to an edge represented by a relationship between nodes.

관련 선행기술로는 대한민국 공개특허공보 제10-2016-0083017호(발명의 명칭: 소셜 데이터 네트워크에서 인플루언서들 및 그들의 커뮤니티를 식별하기 위한 시스템 및 방법, 공개일자: 2016년 7월 11일)가 있다.Related Prior Art Korean Patent Publication No. 10-2016-0083017 entitled " System and Method for Identifying Influencers and Their Communities in a Social Data Network, Public Date: July 11, 2016) .

본 발명은 하나의 에지가 동시에 두 개 이상의 커뮤니티에 속하는 것을 허용하고, 에지를 대상으로 네트워크에 존재하는 중첩 커뮤니티들을 검출하는 장치 및 방법을 제공하는데 그 목적이 있다. It is an object of the present invention to provide an apparatus and method for allowing an edge to belong to two or more communities at the same time and detecting overlapping communities existing in the network with respect to edges.

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problem (s), and another problem (s) not mentioned can be clearly understood by those skilled in the art from the following description.

본 발명에서 제공하는 중첩 커뮤니티 검출 장치는 복수의 노드 및 상기 복수의 노드를 연결하는 복수의 에지로 구성된 노드 관계도에서 연결정도(degree)에 기초하여 일정 개수의 노드를 핵심노드로 추출하는 핵심노드 추출부, 상기 노드 관계도 내의 복수의 에지가 각각 노드의 형태로 변환된 에지 관계도를 생성하는 에지 관계도 생성부, 상기 에지 관계도에서, 상기 각 핵심노드에 대응되는 각 핵심노드 집합에 대해 커뮤니티(community)를 각각 추출하는 커뮤니티 추출부, 상기 에지 관계도에서 추출된 커뮤니티들을 상기 노드 관계도의 노드로 구성된 커뮤니티들로 변환하는 변환부를 포함한다. The overlapping community detection apparatus provided in the present invention includes a core node extracting a certain number of nodes into a core node based on degree of connection in a node relation diagram composed of a plurality of nodes and a plurality of edges connecting the plurality of nodes, An edge relation diagram generation unit for generating an edge relation diagram in which a plurality of edges in the node relation diagram are respectively converted into node shapes, and in the edge relation diagram, for each core node set corresponding to each of the core nodes, A community extracting unit for extracting a community, and a converting unit for converting the communities extracted in the edge relation diagram into communities constituted by nodes of the node relation degree.

바람직하게는, 상기 핵심노드 추출부는 상기 복수의 노드 각각에 대한 연결정도를 산출하고, 상기 산출된 연결정도가 높은 노드 순으로 일정 개수의 노드를 핵심노드로 추출할 수 있다. Preferably, the core node extracting unit may calculate a connection degree of each of the plurality of nodes, and may extract a predetermined number of nodes as a core node in order of the calculated connection degree.

바람직하게는, 상기 핵심노드 추출부는 상기 핵심노드가 추출될 때마다, 커뮤니티의 특성과 개수에 따라 추출된 핵심노드와 한 단계 인접한 노드들 또는 두 단계까지 인접한 노드들을 다음 핵심노드 추출을 위한 핵심노드 후보군에서 제외할 수 있다. Preferably, each time the core node is extracted, the core node extractor extracts a core node extracted from the extracted core node and a neighboring node that is one level adjacent to the extracted core node, It can be excluded from candidates.

바람직하게는, 상기 에지 관계도 생성부는 상기 노드 관계도 내의 에지들을 각각 노드로 변환하고, 상기 노드 관계도에서 인접한 에지 정보를 근거로 상기 변환된 노드들을 연결하여, 에지 관계도를 생성할 수 있다. Advantageously, said edge relationship generator is operable to convert edges into said nodes, respectively, and to connect said transformed nodes based on adjacent edge information in said node relationship diagram to generate an edge relationship diagram .

바람직하게는, 상기 에지 관계도 생성부는 상기 노드 관계도의 각 핵심노드에 연결된 에지들에 대응되는 상기 노드 관계도의 노드들을 핵심노드 집합으로 각각 추출할 수 있다. Preferably, the edge relation generator may extract the nodes of the node relation diagram corresponding to the edges connected to the respective key nodes of the node relation diagram as key node sets.

바람직하게는, 상기 커뮤니티 추출부는 상기 에지 관계도에서 PPR(Personalized PageRank)을 실행하여 각 핵심노드 집합을 기준으로 모든 노드들의 PPR 점수를 각각 산출하고, 상기 산출된 PPR 점수가 높은 노드 순으로 해당 핵심노드 집합의 커뮤니티에 추가할 수 있다. Preferably, the community extractor executes PPR (Personalized PageRank) in the edge relation diagram to calculate PPR scores of all the nodes based on the set of core nodes, It can be added to the community of node sets.

바람직하게는, 상기 커뮤니티 추출부는 상기 핵심노드 집합의 커뮤니티에 노드를 추가할 때마다, 상기 커뮤니티의 외부로 연결되는 에지의 비율을 나타내는 컨덕턴스(conductance)를 산출하고, 상기 산출된 컨덕턴스에 기초하여 상기 커뮤니티의 구성을 종료할 수 있다. Preferably, the community extractor calculates a conductance indicating a ratio of an edge connected to the outside of the community each time a node is added to the community of the core node set, and based on the calculated conductance, The configuration of the community can be terminated.

또한, 본 발명에서 제공하는 중첩 커뮤니티 검출 방법은 복수의 노드 및 상기 복수의 노드를 연결하는 복수의 에지로 구성된 노드 관계도에서 연결정도(degree)에 기초하여 일정 개수의 노드를 핵심노드로 추출하는 단계, 상기 노드 관계도 내의 복수의 에지가 각각 노드의 형태로 변환된 에지 관계도를 생성하는 단계, 상기 에지 관계도에서, 상기 각 핵심노드에 대응되는 각 핵심노드 집합에 대해 커뮤니티(community)를 각각 추출하는 단계, 상기 에지 관계도에서 추출된 커뮤니티들을 상기 노드 관계도의 노드로 구성된 커뮤니티들로 변환하는 단계를 포함한다. In addition, the overlapping community detection method provided by the present invention extracts a certain number of nodes into core nodes based on degree of connection in a node relation diagram composed of a plurality of nodes and a plurality of edges connecting the plurality of nodes Generating an edge relation diagram in which a plurality of edges in the node relation diagram are transformed into respective node types, and in the edge relation diagram, determining a community for each key node set corresponding to each of the core nodes, Extracting each of the communities extracted from the edge relation diagrams into communities composed of the nodes of the node relation diagrams.

바람직하게는, 상기 핵심노드로 추출하는 단계는 상기 복수의 노드 각각에 대한 연결정도를 산출하고, 상기 산출된 연결정도가 높은 노드 순으로 일정 개수의 노드를 핵심노드로 추출할 수 있다. Preferably, the step of extracting to the core node calculates the degree of connection for each of the plurality of nodes, and extracts a certain number of nodes to the core node in order of the node having the calculated degree of connection.

바람직하게는, 상기 핵심노드가 추출될 때마다, 커뮤니티의 특성과 개수에 따라 추출된 핵심노드와 한 단계 인접한 노드들 또는 두 단계까지 인접한 노드들을 다음 핵심노드 추출을 위한 핵심노드 후보군에서 제외할 수 있다. Preferably, each time the core node is extracted, it is possible to exclude the core node extracted in accordance with the characteristics and the number of the community from the node candidate adjacent to the next node, have.

바람직하게는, 상기 에지 관계도를 생성하는 단계는, 상기 노드 관계도 내의 에지들을 각각 노드로 변환하는 단계, 상기 노드 관계도에서 인접한 에지 정보를 근거로 상기 변환된 노드들을 연결하는 단계를 포함할 수 있다. Advantageously, the step of generating the edge relationship diagram further comprises the steps of converting edges into the respective nodes in the node relationship diagram, and connecting the transformed nodes based on adjacent edge information in the node relation diagram .

바람직하게는, 상기 에지 관계도를 생성하는 단계에서 상기 노드 관계도의 각 핵심노드에 연결된 에지들에 대응되는 상기 노드 관계도의 노드들을 핵심노드 집합으로 각각 추출할 수 있다. Preferably, in the step of generating the edge relation diagram, nodes of the node relation diagram corresponding to edges connected to each key node of the node relation diagram may be extracted as a core node set.

바람직하게는, 상기 커뮤니티를 각각 추출하는 단계는 상기 에지 관계도에서 PPR(Personalized PageRank)을 실행하는 단계, 각 핵심노드 집합을 기준으로 모든 노드들의 PPR 점수를 각각 산출하는 단계, 상기 산출된 PPR 점수가 높은 노드 순으로 해당 핵심노드 집합의 커뮤니티에 추가하는 단계를 포함할 수 있다. Preferably, the step of extracting each of the communities includes executing a PPR (Personalized PageRank) in the edge relation diagram, calculating PPR scores of all nodes based on each core node set, calculating the PPR score To the community of the core node set in ascending order of node.

바람직하게는, 상기 핵심노드 집합의 커뮤니티에 노드를 추가할 때마다, 상기 커뮤니티의 외부로 연결되는 에지의 비율을 나타내는 컨덕턴스(conductance)를 산출하는 단계, 상기 산출된 컨덕턴스가 이전 값보다 큰 경우, 상기 커뮤니티의 구성을 종료하는 단계를 더 포함할 수 있다. Preferably, each time a node is added to the community of the core node set, calculating a conductance indicating a ratio of an edge connected to the outside of the community, if the calculated conductance is larger than the previous value, And terminating the configuration of the community.

한편, 이상에 살핀 상기 '중첩 커뮤니티 검출 방법'은, 프로그램의 형태로 구현된 뒤에 전자 장치에서 판독 가능한 기록 매체에 기록되거나, 프로그램 다운로드 관리 장치(서버 등)를 통해 배포될 수 있다. Meanwhile, the 'overlapping community detection method' described above can be recorded in a recording medium readable by an electronic device after being implemented in the form of a program, or distributed through a program download management device (a server or the like).

본 발명은 노드 간 관계를 나타내는 에지가 노드의 형태로 변환된 에지 관계도에서 각 핵심노드 집합의 커뮤니티를 각각 추출하고, 에지 관계도에서 추출된 커뮤니티들을 노드 관계도의 노드로 구성된 커뮤니티들로 변환함으로써, 각 노드가 속하는 다수의 커뮤니티를 검출할 수 있다. The present invention extracts the communities of each core node set in the edge relation diagram where the edge representing the relationship between the nodes is transformed into the form of the node, transforms the communities extracted in the edge relation diagram into communities composed of nodes of the degree of node relation , It is possible to detect a plurality of communities to which each node belongs.

또한, 하나의 에지가 동시에 두 개 이상의 커뮤니티에 속하는 것을 허용하면서, 에지를 대상으로 네트워크에 존재하는 겹쳐진 커뮤니티들을 검출할 수 있으므로, 각 노드가 속하는 다수의 커뮤니티를 확인할 수 있다. In addition, it is possible to detect overlapping communities existing on the network with respect to the edge, while allowing one edge to belong to more than two communities at the same time, thereby identifying a plurality of communities to which each node belongs.

한편, 본 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 효과들이 포함될 수 있다.The effects of the present invention are not limited to the above-mentioned effects, and various effects can be included within the scope of what is well known to a person skilled in the art from the following description.

도 1은 본 발명의 일 실시예에 따른 중첩 커뮤니티 검출 장치의 구성을 개략적으로 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 핵심노드 추출 방법을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 중첩 커뮤니티 검출 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 중첩 커뮤니티 검출 방법을 설명하기 위한 예시도이다.
도 5는 본 발명의 일 실시예에 따른 핵심노드 집합으로부터 커뮤니티를 추출하는 방법을 설명하기 위한 흐름도이다.
FIG. 1 is a block diagram schematically showing a configuration of an overlapping community detection apparatus according to an embodiment of the present invention.
FIG. 2 is a diagram for explaining a core node extracting method according to an embodiment of the present invention. Referring to FIG.
FIG. 3 is a flowchart for explaining an overlapping community detection method according to an embodiment of the present invention.
4 is an exemplary diagram for explaining an overlapping community detection method according to an embodiment of the present invention.
5 is a flowchart illustrating a method of extracting a community from a set of core nodes according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

또한, 명세서에 기재된 "~부", "~유닛", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Also, the terms "to "," unit ", "module ", and the like described in the specification mean units for processing at least one function or operation and may be implemented by hardware or software or a combination of hardware and software .

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하, 본 발명에 따른 바람직한 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 중첩 커뮤니티 검출 장치의 구성을 개략적으로 나타낸 블록도, 도 2는 본 발명의 일 실시예에 따른 핵심노드 추출 방법을 설명하기 위한 도면이다. FIG. 1 is a block diagram schematically showing a configuration of an overlapping community detection apparatus according to an embodiment of the present invention. FIG. 2 is a diagram for explaining a method of extracting a key node according to an embodiment of the present invention.

도 1을 참조하면, 중첩 커뮤니티 검출 장치(100)는 핵심노드(seed) 추출부(110), 에지 관계도 생성부(120), 커뮤니티 추출부(130), 변환부(140)를 포함한다.Referring to FIG. 1, the overlapping community detection apparatus 100 includes a core extracting unit 110, an edge relation generating unit 120, a community extracting unit 130, and a converting unit 140.

핵심노드 추출부(110)은 복수의 노드 및 복수의 노드를 연결하는 복수의 에지로 구성된 노드 관계도에서 연결정도(degree)에 기초하여 일정 개수의 노드를 핵심노드로 추출한다. 여기서, 노드 관계도는 복수의 노드와 그 노드들을 연결하는 에지로 구성된 그래프 형태일 수 있고, 연결정도(degree)는 한 노드에 연결된 에지(또는 노드)의 개수일 수 있다. 핵심노드는 커뮤니티의 핵심(중심)이 되는 노드일 수 있으며, 커뮤니티는 내부적으로 강한 연결을 가지면서 외부와는 약한 연결을 가지는 노드와 노드 간 에지들의 집합일 수 있다. 따라서, 핵심노드 추출부(110)는 커뮤니티가 내부적으로는 노드들이 서로 강하게 연결되고, 외부 커뮤니티와는 약하게 연결되는 특성을 가질 수 있도록 하는 노드를 핵심노드를 추출해야 한다. The core node extracting unit 110 extracts a certain number of nodes as core nodes based on degree of connection in a node relation diagram composed of a plurality of nodes and a plurality of edges connecting the plurality of nodes. Here, the degree of node relation may be a graph composed of a plurality of nodes and edges connecting the nodes, and the degree of connection may be the number of edges (or nodes) connected to one node. A core node may be a node that is the core of a community, and a community may be a set of nodes and inter-node edges that have weak connections internally with strong connections internally. Accordingly, the core node extracting unit 110 should extract a core node that allows the community to have a strong connection to the nodes internally and a weak connection with the external community.

한편, 노드 관계도에서 연결정도(degree)가 높은 노드들은 다른 노드들과 연결이 많기 때문에 커뮤니티의 핵심(중심)이 될 확률이 높다. On the other hand, nodes with a high degree of connection in the node relation diagram are likely to become the core (center) of the community because there are many connections with other nodes.

따라서, 핵심노드 추출부(110)는 복수의 노드 각각에 대한 연결정도(degree)를 산출하고, 산출된 연결정도가 높은 노드 순으로 일정 개수의 노드를 핵심노드로 추출할 수 있다. 이때, 핵심노드 추출부(110)는 Graclus centers 방식, Spread hubs 방식 등을 이용하여 핵심노드를 추출할 수 있다. Graclus centers 방식은 NEO k-means를 통해 k개의 클러스터들을 찾고, 각 클러스터의 centroid와 가장 가까운 노드들을 선택하는 방법이고, Spread hubs 방식은 degree가 높은 노드 순서대로 k개의 핵심노드를 추출하는 방식일 수 있다. Spread hubs 방식은 다른 노드들과 많은 연결을 가진 노드를 선택하는 것이므로, 그래프에서 핵심노드 집합을 기준으로 커뮤니티를 탐색했을 때 높은 커버리지를 가질 수 있고, 커뮤니티를 이루는 중요한 핵심이 될 확률이 높을 수 있다. 따라서, 본 발명에서는 Spread hubs 방식을 이용하여 핵심노드를 추출하나, 이에 한정하는 것은 아니다.Accordingly, the core node extracting unit 110 may calculate the degree of connection for each of the plurality of nodes, and may extract a predetermined number of nodes to the core node in order of the node having the calculated degree of connection. At this time, the core node extracting unit 110 may extract a core node using a gravity centers method, a spread hubs method, or the like. The Graclus centers method finds k clusters through the NEO k-means, selects the closest nodes to the centroid of each cluster, and the Spread hubs method extracts k key nodes in order of degree. have. Spread hubs scheme selects nodes that have many connections with other nodes, so it can have high coverage when searching for a community based on a set of key nodes in the graph, and it is likely to be an important core of the community . Therefore, in the present invention, the key nodes are extracted using the spread hubs method, but the present invention is not limited thereto.

이하, 핵심노드 추출부(110)가 Spread hubs 방식을 이용하여 핵심노드를 추출하는 방법에 대해 설명하기로 한다. Hereinafter, a method of extracting a core node by using the spread node method will be described.

Spread hubs 방식을 이용할 경우, 핵심노드 추출부(110)는 커뮤니티의 특성과 개수에 따라 다른 방법으로 핵심노드를 추출할 수 있다. 예컨대, 핵심노드 추출부(110)는 커뮤니티의 특성과 개수에 따라 한 단계 인접 노드 제거 방법, 두 단계 인접 노드 제거 방법 등으로 핵심노드를 추출할 수 있다.In the case of using the spread hubs scheme, the core node extracting unit 110 can extract a core node in a different manner according to the characteristics and the number of communities. For example, the core node extracting unit 110 may extract a core node by one-step neighboring node removal method and two-step neighboring node removal method according to the characteristics and the number of the community.

한 단계 인접 노드 제거 방법은 노드 관계도에서 degree가 높은 노드 순으로 노드 하나를 핵심노드로 추출할 때마다, 추출한 핵심노드와 직접 연결된 노드들을 이후에 추출할 핵심노드 후보군에서 제외하는 방법이다. 이 방법은 찾아야 하는 커뮤니티의 개수가 많고, 커뮤니티 내 연결과 커뮤니티 간 연결이 비교적 약할 때 적합할 수 있다. One-step neighbor node removal method is a method to exclude nodes extracted directly from the core node candidates to be extracted later whenever one node is extracted to the core node in descending order of degree in node relation diagram. This method may be appropriate when there are a large number of communities to look for and connections within the community and between the community are relatively weak.

한 단계 인접 노드 제거 방법에 대해 도 2의 (a)를 참조하여 상세히 설명하기로 한다. 노드 관계도에서 degree가 가장 높은 노드 'I'가 첫 번째 핵심노드로 추출되면, 핵심노드 추출부(110)는 'I'와 한 단계 인접한 노드들(실선 X들(D, E, F,G, H,J, K, L)을 핵심노드 후보군에서 제외시킨 후, 두 번째 핵심노드를 추출한다. 핵심노드 후보군에서 degree가 가장 높은 두 번째 핵심노드 'B'가 추출되면, 핵심노드 추출부(110)는 'B'와 한 단계 인접한 노드들(점선 X(A, C))을 핵심노드 후보군에서 제외시킨 후, 다음 핵심노드를 추출할 수 있다. 이처럼 한 단계 인접 노드 제거 방법은 노드 관계도에서 degree가 높은 노드 순으로 핵심노드를 추출할 때마다 핵심노드로 추출된 노드와 직접 연결된 노드들을 이후에 추출할 핵심노드 후보군에서 제외시키는 방법일 수 있다. A single-step neighboring node removal method will be described in detail with reference to FIG. 2 (a). When the node 'I' having the highest degree is extracted as the first key node in the node relation diagram, the key node extracting unit 110 extracts the node I (the solid lines X, D, E, F, G , H, J, K, L) are extracted from the core node candidate group, and then the second key node is extracted. When the second key node 'B' having the highest degree is extracted from the core node candidate group, 110) can extract the next key node after excluding the node (X, A, C) adjacent to the node 'B' from the key node candidate group. As described above, the one- In this paper, we propose a method for extracting core nodes from the extracted node nodes.

두 단계 인접 노드 제거 방법은 degree가 높은 노드 순으로 노드 하나를 핵심노드로 추출할때마다, 추출한 핵심노드와 두 단계 인접한 노드까지 이후에 추출할 핵심노드 후보군에서 제외하는 방법이다. 이 방법은 찾아야 하는 커뮤니티의 개수가 적고, 커뮤니티 내 연결과 커뮤니티 간 연결이 강할 때 적합할 수 있다.The two-step neighbor node removal method is to exclude the extracted key node and two adjacent nodes from the candidate node to be extracted later, whenever one node is extracted as the key node in descending order of degrees. This method requires a small number of communities to be found, a strong link between the community and the community Can be suitable.

두 단계 인접 노드 제거 방법에 대해 도 2의 (b)를 참조하여 상세히 설명하기로 한다. 노드 관계도에서 degree가 가장 높은 노드 'I'가 첫 번째 핵심노드로 추출되면, 핵심노드 추출부(110)는 'I'와 두 단계까지 인접한 노드들(실선 X들(A, B, C, D, E, F,G, H,J, K, L, M 노드))을 핵심노드 후보군에서 제외시킨 후, 두 번째 핵심노드를 추출한다. 핵심노드 후보군에서 degree가 가장 높은 두 번째 핵심노드 'O'가 추출되면, 핵심노드 추출부(110)는 'O'와 두 단계까지 인접한 노드들(점선 X(P, R))을 핵심노드 후보군에서 제외시킨 후, 다음 핵심노드를 추출할 수 있다. 이처럼 두 단계 인접 노드 제거 방법은 degree가 높은 노드 순으로 핵심노드를 추출할 때마다 핵심노드로 추출된 노드와 두 단계 인접한 노드까지 이후에 추출할 핵심노드 후보군에서 제외시키는 방법일 수 있다. The two-step neighboring node removal method will be described in detail with reference to FIG. 2 (b). If the node I having the highest degree is extracted as the first key node, the core node extracting unit 110 extracts the neighboring nodes (the solid lines X, A, B, C, The node N is excluded from the candidate node group, and the second node is extracted. When the second node 'O' having the highest degree is extracted from the core node candidate group, the core node extracting unit 110 extracts 'O' and adjacent nodes (dotted line X (P, R) And then the next key node can be extracted. In this way, the two-step neighbor node removal method can be a method of excluding a node extracted as a core node and a node adjacent to two adjacent nodes from a candidate node to be extracted later, whenever a node having a higher degree is extracted.

상술한 방법으로 핵심노드 추출부(110)는 커뮤니티의 개수만큼 핵심노드를 추출할 수 있다. In the above-described method, the core node extracting unit 110 can extract the core nodes as many as the number of communities.

한편, 커뮤니티는 유사한 특성들을 가진 관계들이 모여 이루어지고, 커뮤니티를 구성하는 최소 단위는 에지이므로, 에지들을 대상으로 커뮤니티를 탐색하여 노드들이 속한 커뮤니티들을 찾아야 한다. 그러나, 노드 관계도의 핵심노드는 에지가 아니므로, 노드 관계도의 에지가 노드로 되도록 변환할 필요가 있다.On the other hand, a community is a group of relationships with similar characteristics, and since the minimum unit that constitutes a community is an edge, it is necessary to search the community for the edges and search for the communities to which the nodes belong. However, since the key node of the node relation diagram is not an edge, it is necessary to convert the edge of the node relation diagram to be a node.

이에, 에지 관계도 생성부(120)는 노드 관계도 내의 복수의 에지가 각각 노드의 형태로 변환된 에지 관계도를 생성한다. 즉, 에지 관계도 생성부(120)는 노드 관계도의 에지들을 에지 관계도의 노드들로 변환하고, 노드 관계도에서 인접한 에지 정보에 기초하여 에지 관계도의 노드들을 연결하여, 에지 관계도를 생성할 수 있다. 이때, 에지 관계도 생성부(120)는 노드 관계도의 각 핵심노드에 연결된 에지들에 대응되는 에지 관계도의 노드들을 핵심노드 집합으로 각각 추출할 수 있다. 즉, 노드 관계도에서 각 핵심노드와 연결된 에지들은 에지 관계도에서 하나의 핵심노드 집합이 될 수 있다.Accordingly, the edge relation diagram generation unit 120 generates an edge relation diagram in which a plurality of edges in the node relation diagram are respectively converted into node shapes. That is, the edge relation diagram generation unit 120 converts the edges of the node relation diagrams into the nodes of the edge relation diagram, connects the nodes of the edge relation diagram based on the adjacent edge information in the node relation diagram, Can be generated. At this time, the edge relation diagram generation unit 120 may extract the nodes of the edge relation diagram corresponding to the edges connected to the respective key nodes of the node relation diagram as core node sets. In other words, the edge connected to each core node in the node relation diagram can be one core node set in the edge relation diagram.

에지 관계도 생성부(120)는 에지(관계)를 대상으로 커뮤니티를 검출할 수 있도록, 노드 관계도를 에지 관계도로 변환하고, 노드 관계도에서 추출된 핵심노드 속한 에지(관계)들을 에지 관계도 내 핵심노드 집합으로 할 수 있다. The edge relation diagram generation unit 120 transforms the node relation diagram to an edge relation so that the community can be detected with respect to the edge (relation), and the edge relation (relationships) belonging to the core node extracted from the node relation diagram is referred to as an edge relation You can do this with your core set of nodes.

이처럼 노드 관계도를 에지 관계도로 변환하면, 노드 관계도에서의 에지는 에지 관계도에서 노드로 나타나므로, 에지 관계도에서 각 핵심노드 집합을 중심으로 커뮤니티를 추출할 수 있다.When the node relation is transformed into the edge relation, the edge in the node relation diagram is represented as a node in the edge relation diagram. Therefore, the community can be extracted from each core node set in the edge relation diagram.

커뮤니티 추출부(130)는 에지 관계도에서 각 핵심노드 집합에 대해 커뮤니티(community)를 각각 추출한다. The community extracting unit 130 extracts a community for each key node set in the edge relation diagram.

커뮤니티 추출부(130)는 각 커뮤니티에서 중심이 되는 노드로 구성된 핵심노드 집합으로부터 커뮤니티의 특성을 가지는 커뮤니티가 구성될 때까지 커뮤니티의 범위를 확장해 나가면서, 각 핵심노드 집합을 포함하는 커뮤니티를 각각 구성할 수 있다. 이때, 커뮤니티 추출부(130)는 PPR(Personalized PageRank)을 실행하여, 각 핵심노드 집합을 기준으로 커뮤니티를 확장시킬 수 있다. The community extractor 130 extends the community from the core node set composed of the central nodes of each community to the community having the characteristics of the community, Can be configured. At this time, the community extracting unit 130 may execute the PPR (Personalized PageRank) to extend the community based on each core node set.

즉, 커뮤니티 추출부(130)는 에지 관계도에서 PPR(Personalized PageRank)을 실행하여 각 핵심노드 집합을 기준으로 모든 노드들의 PPR 점수를 각각 산출하고, 산출된 PPR 점수가 높은 노드 순으로 해당 핵심노드 집합의 커뮤니티에 추가한다. 이때, 커뮤니티 추출부(130)는 핵심노드 집합의 커뮤니티에 노드를 추가할 때마다, 해당 커뮤니티의 외부로 연결되는 에지의 비율을 나타내는 컨덕턴스(conductance)를 기준으로 커뮤니티의 구성을 종료할 수 있다. That is, the community extracting unit 130 executes the PPR (Personalized PageRank) in the edge relation diagram to calculate the PPR scores of all the nodes based on the set of the core nodes, Add to the community of the set. At this time, each time the community extractor 130 adds a node to a community of the core node set, the community extractor 130 may terminate the community structure based on conductance indicating the ratio of edges connected to the outside of the community.

이 방법은 핵심노드로부터 가까운 노드일수록 더 자주 방문하기 때문에 가까운 사람과 더 자주 커뮤니케이션하게 되는 실제를 반영한다고 볼 수 있다.This approach reflects the fact that the closer the node from the core node is to the node, the more frequently it communicates with the nearer one.

이하, 커뮤니티 추출부(130)가 PPR을 실행하여 커뮤니티를 추출하는 방법에 대해 상세히 설명하기로 한다. Hereinafter, a method of extracting a community by executing the PPR will be described in detail.

먼저, 커뮤니티 추출부(130)는 에지 관계도에서 PPR을 실행하여 각 핵심노드 집합을 기준으로 모든 노드들의 PPR 점수를 한다. 이때, 커뮤니티 추출부(130)는 아래 개시된 수학식 1을 이용하여 각 노드들의 PPR 점수를 산출할 수 있다. 즉, 커뮤니티 추출부(130)는

Figure pat00001
가 수렴할 때까지 수학식 1을 반복 계산하여, 수렴된 확률 분포
Figure pat00002
를 구하고, 수렴된 확률 분포
Figure pat00003
의 각 요소를 각 노드의 PPR 점수로 산출할 수 있다. First, the community extractor 130 executes the PPR in the edge relation diagram, and calculates the PPR score of all the nodes based on the set of the core nodes. At this time, the community extracting unit 130 can calculate the PPR score of each node using Equation (1) described below. That is, the community extracting unit 130 extracts
Figure pat00001
(1) is repeated until the convergence probability distribution
Figure pat00002
And the converged probability distribution
Figure pat00003
Can be calculated by the PPR score of each node.

Figure pat00004
Figure pat00004

여기서,

Figure pat00005
은 n*1 랭킹 결과 벡터, c는 리스타트 확률, W은 n*n 정규화된 인접 행렬,
Figure pat00006
은 n*1 리스타트 벡터를 의미할 수 있다.
Figure pat00007
의 값은 각 노드에서 리스타트 할 확률을 의미하며, 핵심노드가 집합(다수 존재)이기 때문에 PPR 수행 시에
Figure pat00008
의 값은 핵심노드 집합내(에지 관계도)의 전체 노드 수가 n개일 때,
Figure pat00009
의 각 인자는 '1/n'의 균일한 값일 수 있고, 나머지는 '0' 값을 갖게 될 수 있다. here,
Figure pat00005
N is a ranking result vector, c is a restart probability, W is n * n normalized adjacent matrix,
Figure pat00006
May refer to an n * 1 restart vector.
Figure pat00007
Means the probability of restarting at each node, and since the core node is a set (many exist), the value of
Figure pat00008
Is the number of nodes in the core node set (edge relation diagram) n,
Figure pat00009
May be a uniform value of '1 / n', and the rest may have a value of '0'.

수학식 1을 통해 노드들의 PPR 점수가 산출되면, 커뮤니티 추출부(130)는 PPR 점수가 높은 노드 순으로 해당 핵심노드 집합의 커뮤니티와 연관성이 높다고 간주하여 해당 커뮤니티에 노드를 추가하면서 커뮤니티를 확장시킨다. 이때, 커뮤니티 추출부(130)는 커뮤니티 내 노드들 간의 연결은 강하고 커뮤니티 외부 노드와의 연결은 약하다는 커뮤니티의 특성을 저하시키지 않을 때까지 노드를 추가할 수 있고, 커뮤니티의 특성은 컨덕턴스(conductance)를 사용하여 측정할 수 있다. 여기서, 컨덕턴스는 커뮤니티 내 모든 노드와 연결되어 있는 에지 대비 커뮤니티 외부로 향하는 에지의 비율을 의미할 수 있다. When the PPR score of the nodes is calculated through Equation 1, the community extractor 130 considers that the association with the community of the corresponding core node set is high in order of nodes having a high PPR score, and expands the community by adding nodes to the corresponding community . At this time, the community extracting unit 130 may add the node until the nodes in the community are strong and the connection with the outside nodes is weak, and the characteristics of the community are conductance, . ≪ / RTI > Here, conductance may refer to the ratio of the edge directed to the outside of the community versus the edge connected to all the nodes in the community.

즉, 커뮤니티 추출부(130)는 핵심노드 집합의 커뮤니티에 노드를 추가할 때마다, 컨덕턴스를 산출하고, 산출된 컨덕턴스를 기준으로 커뮤니티의 구성을 종료한다. 이때, 커뮤니티 추출부(130)는 아래 개시된 수학식 2를 이용하여 컨덕턴스(Φ(S))를 산출할 수 있다. That is, each time the community extractor 130 adds a node to the community of the core node set, the community extractor 130 calculates the conductance and ends the community structure based on the calculated conductance. At this time, the community extracting unit 130 may calculate the conductance? (S) using Equation 2 described below.

Figure pat00010
Figure pat00010

여기서, u와 v는 노드를 의미하고

Figure pat00011
는 커뮤니티 S안에 한 노드만 속해 있는 에지들의 수를 의미하며, Vol(V|S)는 커뮤니티 S안의 노드들을 제외한 모든 노드들의 집합을 의미한다. Vol(S)는 커뮤니티 S안에 속해 있는 노드들의 degree를 의미하는 것으로 수학식 3과 같다.Where u and v are nodes,
Figure pat00011
(V | S) denotes a set of all nodes except the nodes in the community S, and V (S) denotes the number of edges belonging to only one node in the community S. Vol (S) denotes the degree of nodes belonging to the community S, and is expressed by Equation (3).

Figure pat00012
Figure pat00012

여기서, d(u)는 노드 u의 degree를 의미한다.Here, d (u) denotes the degree of the node u.

컨덕턴스(Conductance)는 커뮤니티 하나에 대해서 산출되는 값으로, 어떤 커뮤니티 S 내에 있는 모든 노드들이 가지는 모든 에지들 중 커뮤니티 S 내부와 외부를 연결하는 에지의 비율을 의미할 수 있다.Conductance is a value calculated for a community. It can mean the ratio of the edges connecting the inside and outside of the community S among all the edges of all the nodes in a certain community S.

커뮤니티 추출부(130)는 PPR 점수가 가장 높은 노드 순으로 해당 핵심노드 집합의 커뮤니티에 하나씩 추가하면서, 컨덕턴스를 산출하고, 산출된 컨덕턴스가 커지기 시작하면, 해당 핵심노드 집합의 커뮤니티의 구성을 종료하게 된다. The community extracting unit 130 calculates the conductance by adding one to the community of the corresponding core node set in order of the node having the highest PPR score, and when the calculated conductance starts to increase, the community of the corresponding core node set is terminated do.

구체적으로, 커뮤니티 추출부(130)는 핵심노드 집합만이 포함된 커뮤니티 S에 대해 컨덕턴스를 산출하고, 커뮤니티 S에 노드가 추가될 때마다 컨덕턴스를 산출한다. 그런 후, 커뮤니티 추출부(140)는 산출된 컨덕턴스를 이전에 산출된 컨덕턴스와 비교하여, 그 값이 증가하기 시작하면, 커뮤니티 S에 노드를 추가하는 것을 멈추고, 커뮤니티 S의 구성을 종료하게 된다. 컨덕턴스(Conductance)는 새로 추가되는 노드가 가지는 커뮤니티 S 내부의 에지들 때문에, PPR 점수가 높은 노드들을 추가하는 동안에는 감소할 수 있다. 즉, 컨덕턴스(Conductance)는 커뮤니티 내부와 잘 연결된 노드들을 추가하는 동안에는 감소할 수 있고, 내부와 잘 연결된 노드들이 더 이상 없어 커뮤니티 외부와 더 잘 연결된 노드들을 추가하기 시작하면 증가할 수 있다. 따라서, 커뮤니티 추출부(130)는 컨덕턴스(conductance)가 증가하기 시작하면, 해당 핵심노드의 커뮤니티에 노드를 추가하는 것을 멈추고, 그 커뮤니티의 구성을 종료하게 된다. Specifically, the community extractor 130 calculates the conductance for the community S including only the core node set, and calculates the conductance whenever the node S is added to the community S. Then, the community extracting unit 140 compares the calculated conductance with the previously calculated conductance, and when the value starts to increase, the community extracting unit 140 stops adding the node to the community S and finishes the configuration of the community S. [ Conductance can be reduced while adding nodes with high PPR scores due to the edges in the community S of the newly added node. In other words, the conductance may decrease while adding well connected nodes to the community, and may increase if you begin to add more connected nodes to the outside of the community because there are no more well connected nodes inside. Accordingly, when the conductance starts to increase, the community extractor 130 stops adding the node to the community of the corresponding core node, and terminates the configuration of the community.

다른 실시예에서는, 커뮤니티 추출부(130)는 컨덕턴스(conductance)가 '0'보다 큰 값이 되면, 해당 핵심노드의 커뮤니티에 노드를 추가하는 것을 멈추고, 그 커뮤니티의 구성을 종료할 수도 있다. In another embodiment, when the conductance becomes greater than '0', the community extractor 130 may stop adding the node to the community of the corresponding core node and terminate the configuration of the community.

전술한 바와 같이, 커뮤니티 추출부(130)는 각 커뮤니티에서 중심이 되는 노드로 구성된 핵심노드 집합으로부터 커뮤니티의 특성을 최대로 갖출 때까지 커뮤니티를 확장시켜 나가고, 커뮤니티의 특성이 줄기 시작하면 커뮤니티의 구성을 멈출 수 있다. As described above, the community extractor 130 extends the community from the core node set composed of the central nodes in each community until the characteristics of the community are maximized, and when the characteristics of the community start to grow, Can be stopped.

결론적으로, 커뮤니티 추출부(130)는 에지 관계도에서 PPR을 실행하여, 각 핵심노드 집합을 기준으로 커뮤니티를 확장시키고, 그 결과로 하나의 핵심노드 집합은 하나의 커뮤니티를 구성할 수 있다. 즉, 핵심노드 집합 하나당 하나의 커뮤니티가 구성될 수 있다.As a result, the community extractor 130 executes the PPR in the edge relation diagram to extend the community based on each core node set, and as a result, one core node set can constitute one community. That is, one community per core node set can be constructed.

변환부(140)는 에지 관계도에서 추출된 커뮤니티들을 노드 관계도의 노드로 구성된 커뮤니티들로 변환한다. 에지 관계도에서 추출된 커뮤니티들은 에지에 대한 커뮤니티이므로, 이들을 노드 관계도의 커뮤니티 형태로 변환해야 한다. 그러면, 최종적으로 각 노드가 속한 커뮤니티가 도출되고, 도출된 커뮤니티를 통해 중첩 커뮤니티를 검출할 수 있다.The conversion unit 140 converts the communities extracted in the edge relation diagram into the communities constituted by the nodes having the degree of node relation. Since the communities extracted from the edge relation are the community for the edges, they must be transformed into the community form of the node relation. Then, finally, the community to which each node belongs is derived, and the overlapping community can be detected through the derived community.

한편, 핵심노드 추출부(110), 에지 관계도 생성부(120), 커뮤니티 추출부(130), 변환부(140) 각각은 컴퓨팅 장치상에서 프로그램을 실행하기 위해 필요한 프로세서 등에 의해 각각 구현될 수 있다. 이처럼 핵심노드 추출부(110), 에지 관계도 생성부(120), 커뮤니티 추출부(130), 변환부(140)는 물리적으로 독립된 각각의 구성에 의해 구현될 수도 있고, 하나의 프로세서 내에서 기능적으로 구분되는 형태로 구현될 수도 있다.Each of the core node extracting unit 110, the edge relation generating unit 120, the community extracting unit 130, and the converting unit 140 may be implemented by a processor or the like necessary for executing a program on a computing device . As described above, the core node extracting unit 110, the edge relation generating unit 120, the community extracting unit 130, and the converting unit 140 may be implemented by physically independent configurations, As shown in FIG.

도 3은 본 발명의 일 실시예에 따른 중첩 커뮤니티 검출 방법을 설명하기 위한 흐름도, 도 4는 본 발명의 일 실시예에 따른 중첩 커뮤니티 검출 방법을 설명하기 위한 예시도이다. FIG. 3 is a flowchart illustrating an overlapping community detection method according to an embodiment of the present invention. FIG. 4 is a diagram illustrating an overlapping community detection method according to an embodiment of the present invention.

도 3을 참조하면, 중첩 커뮤니티 검출 장치는 노드 관계도를 구성하는 복수의 노드 중에서 적어도 하나의 핵심노드를 추출한다(S310). 이때, 중첩 커뮤니티 검출 장치는 노드 관계도를 구성하는 노드 각각에 대한 연결정도를 산출하고, 산출된 연결정도가 높은 노드 순으로 일정 개수의 노드를 핵심노드로 추출할 수 있다. 예컨대, 중첩 커뮤니티 검출 장치는 Spread hubs 방식, Graclus centers 방식 등을 이용하여 핵심노드를 추출할 수 있다. Referring to FIG. 3, the overlapping community detection apparatus extracts at least one key node among a plurality of nodes constituting the node relation diagram (S310). At this time, the overlapping community detection apparatus calculates the degree of connection to each of the nodes constituting the degree of node relationship, and extracts a certain number of nodes as key nodes in order of the calculated degree of connection. For example, the overlapping community detection apparatus can extract a core node using a spread hubs method, a gravity centers method, or the like.

단계 S310이 수행되면, 중첩 커뮤니티 검출 장치는 노드 관계도 내의 복수의 에지가 각각 노드의 형태로 변환된 에지 관계도를 생성한다(S320). 즉, 중첩 커뮤니티 검출 장치는 에지들을 대상으로 커뮤니티를 탐색하여 노드들이 속한 커뮤니티들을 찾아야하므로, 노드 관계도를 에지 관계도로 변환해야 한다. 따라서, 중첩 커뮤니티 검출 장치는 노드 관계도의 에지들을 에지 관계도의 노드들로 변환하고, 노드 관계도에서 인접한 에지 정보에 기초하여 에지 관계도의 노드들을 연결하여, 에지 관계도를 생성할 수 있다. 이때, 중첩 커뮤니티 검출 장치는 노드 관계도의 각 핵심노드에 연결된 에지들에 대응되는 에지 관계도의 노드들을 핵심노드 집합으로 각각 추출할 수 있다.When step S310 is performed, the overlapping community detection apparatus generates an edge relation diagram in which a plurality of edges in the node relation diagram are converted into the form of each node (S320). That is, since the overlapping community detection apparatus searches the community for edges and finds the communities to which the nodes belong, the node relation degree should be converted to an edge relation. Therefore, the overlapping community detection apparatus can convert the edges of the node relation diagrams into the nodes of the edge relation diagram, and connect the nodes of the edge relation diagram based on the adjacent edge information in the node relation diagram to generate the edge relation diagram . At this time, the overlapping community detection apparatus can extract the nodes of the edge relation map corresponding to the edges connected to the respective key nodes of the node relation diagram as key node sets.

단계 S320이 수행되면, 중첩 커뮤니티 검출 장치는 에지 관계도에서 각 핵심노드 집합에 대해 커뮤니티를 각각 추출한다(S330). 중첩 커뮤니티 검출 장치가 핵심노드 집합별로 커뮤니티를 추출하는 방법에 대한 상세한 설명은 도 5를 참조하기로 한다. When the step S320 is performed, the overlapping community detection apparatus extracts a community for each core node set in the edge relation diagram (S330). A detailed description of how the overlapping community detection apparatus extracts a community by a set of core nodes will be described with reference to FIG.

단계 S330이 수행되면, 중첩 커뮤니티 검출 장치는 에지 관계도에서 추출된 커뮤니티들을 노드 관계도의 노드로 구성된 커뮤니티들로 변환하(S340). 에지 관계도에서 추출된 커뮤니티들은 에지에 대한 커뮤니티이므로, 각 노드들이 속하는 커뮤니티를 검출하기 위해서는 노드 관계도의 노드로 구성된 커뮤니티 형태로 변환해야 한다. 그러면, 최종적으로 노드가 속한 커뮤니티가 도출되고, 도출된 커뮤니티를 통해 중첩 커뮤니티를 검출할 수 있다. When the step S330 is performed, the overlapping community detection apparatus converts the communities extracted in the edge relation diagram into the communities constituted by the nodes of the node relation degree (S340). In order to detect the community to which each node belongs, it is necessary to convert it into a community form composed of nodes of degree of node relation. Then, finally, the community to which the node belongs is derived, and the overlapping community can be detected through the derived community.

중첩 커뮤니티 검출 장치가 중첩 커뮤니티를 검출하는 방법에 대해 도 4를 참조하여 설명하기로 한다. A method by which the overlapping community detection apparatus detects overlapping communities will be described with reference to FIG.

도 4를 참조하면, a노드와 b노드가 핵심노드로 추출된 (a)와 같은 노드 관계도를 에지 관계도로 변환하면, (b)와 같다. 즉, 노드 관계도에서 에지인 A, B, C, D, E, F, G, H, I, J, K, L, M는 에지 관계도에서 노드로 변환되고, 노드 관계도에서 인접한 에지 정보를 근거로 에지 관계도의 노드들이 연결된다. 그리고, 노드 관계도의 두 개의 핵심노드 'a', 'b'와 인접한 에지들이 에지 관계도에서 두 개의 핵심노드 집합이 된다. 즉, 노드 관계도 내 핵심노드 'a'와 연결된 에지들(D, E, F, G, H, I)인 에지 관계도 내 노드들(D, E, F, G, H, I)이 하나의 커뮤니티를 도출하기 위한 핵심노드 집합(D, E, F, G, H, I)이 될 수 있다. 그리고 핵심노드 'b'와 연결된 에지(A, C)인 에지 관계도 내 노드(A, C)가 다른 하나의 커뮤니티를 도출하기 위한 핵심노드 집합(A, C)이 될 수 있다. 다시 말하면, 노드 관계도에서 추출된 핵심노드 a는 에지 관계도에서 핵심노드 집합 {D, E, F, G, H, I}이 되고, 핵심노드 b는 핵심노드 집합{A, C}이 될 수 있다. Referring to FIG. 4, (a) and (b) are obtained by transforming the node relation diagram of FIG. That is, in the node relation diagram, edges A, B, C, D, E, F, G, H, I, J, K, L and M are transformed into nodes in the edge relation diagram, The nodes of the edge relation are connected. Then, the two key nodes 'a' and 'b' in the node relation diagram are adjacent to each other, and the edge nodes become two key node sets in the edge relation diagram. E, F, G, H, I), which are the edges (D, E, F, G, (D, E, F, G, H, I) to derive the community of Also, the edge relationship of the edge (A, C) connected to the core node 'b' may be the core node set (A, C) for the inner node (A, C) to derive another community. In other words, the key node a extracted from the node relation diagram becomes the key node set {D, E, F, G, H, I} in the edge relation diagram and the key node b becomes the key node set {A, C} .

노드 관계도에서 추출된 핵심노드는 에지 관계도에서는 에지들로 나타나기 때문에, 에지 관계도에서는 노드 관계도에서 추출된 핵심노드와 연결된 에지들(에지 관계도에서의 각 노드)을 핵심노드 집합으로 삼아 커뮤니티 탐색을 수행한다. (b)와 같은 에지 관계도에서 각 핵심노드 집합으로부터 커뮤니티 탐색을 수행하면, (c)와 같은 2개의 커뮤니티가 추출될 수 있다. 즉, 에지 관계도내 핵심노드 집합 {D, E, F, G, H, I}로부터 커뮤니티 탐색을 수행하면, A, B, C, D, E, F, G, H, I, J, K, L, M의 노드들을 포함하는 '가' 커뮤니티가 추출되고, 핵심노드 집합{A, C}로부터 커뮤니티 탐색을 수행하면, A, B, C의 노드를 포함하는 '나'커뮤니티가 추출될 수 있다. Since the key nodes extracted from the node relation diagram are represented as edges in the edge relation diagram, the edge relation diagram is obtained by using the edge nodes (each node in the edge relation diagram) connected with the extracted core node as the core node set Perform a community search. (c), two communities can be extracted by performing a community search from each core node set in the edge relation diagram as shown in (b). E, E, F, G, H, I, J, K, and K can be obtained by performing a community search from the set of key nodes {D, E, F, The community of nodes A, B, and C can be extracted by performing a community search from the core node set {A, C} .

(c)와 같이 2개의 커뮤니티를 포함하는 에지 관계도를 노드 관계도로 변환하면, (d)와 같을 수 있다. (d)에는 각 노드들이 속한 커뮤니티들을 도출되고, 이를 통해 중첩 커뮤니티를 확인할 수 있다.(c), the edge relation including two communities can be transformed into a node relation, as shown in (d). (d), the communities to which each node belongs are deduced, and the overlapping communities can be identified through this.

도 5는 본 발명의 일 실시예에 따른 핵심노드 집합으로부터 커뮤니티를 추출하는 방법을 설명하기 위한 흐름도이다. 5 is a flowchart illustrating a method of extracting a community from a set of core nodes according to an embodiment of the present invention.

도 5를 참조하면, 중첩 커뮤니티 검출 장치는 에지 관계도에서 PPR을 실행하여(S510), 각 핵심노드 집합을 기준으로 모든 노드들의 PPR 점수를 산출한다(S520). PPR 점수를 산출하는 방법은 수학식 1을 이용하므로, 상세한 설명은 생략하기로 한다. Referring to FIG. 5, the overlapping community detection apparatus executes a PPR in an edge relation diagram (S510), and calculates a PPR score of all nodes based on the set of core nodes (S520). Since the method of calculating the PPR score uses Equation (1), a detailed description will be omitted.

중첩 커뮤니티 검출 장치는 산출된 PPR 점수가 높은 순으로 노드를 하나씩 해당 핵심노드 집합의 커뮤니티에 추가하면서 컨덕턴스(conductance)를 산출한다(S530). 컨덕턴스를 산출하는 방법은 수학식 2를 이용하므로, 상세한 설명은 생략하기로 한다. The overlapping community detection apparatus calculates the conductance by adding the nodes one by one to the community of the corresponding core node set in descending order of the calculated PPR score (S530). Since the method of calculating the conductance uses Equation (2), a detailed description will be omitted.

중첩 커뮤니티 검출 장치는 단계 S530에서 산출된 컨덕턴스가 증가하는지를 판단한다(S540). 즉, 중첩 커뮤니티 검출 장치는 산출된 컨덕턴스가 이전 컨덕턴스보다 증가하는지를 판단한다.The overlapping community detection apparatus determines whether the calculated conductance at step S530 increases (S540). That is, the overlapping community detection apparatus determines whether the calculated conductance is greater than the previous conductance.

단계 S540의 판단결과, 컨덕턴스가 증가하기 시작하면, 중첩 커뮤니티 검출 장치는 해당 커뮤니티의 구성을 멈추고(S550), 다음 핵심노드 집합이 존재하는지를 판단한다(S560). 이때, 중첩 커뮤니티 검출 장치는 컨덕턴스가 '0'보다 큰 값이 되면, 해당 커뮤니티의 구성을 멈출 수도 있다. As a result of the determination in step S540, when the conductance starts to increase, the overlapping community detection apparatus stops the configuration of the community (S550) and determines whether there is a next core node set (S560). At this time, the overlapping community detection apparatus may stop the configuration of the community when the conductance becomes larger than '0'.

단계 S560의 판단결과, 다음 핵심노드 집합이 존재하면, 중첩 커뮤니티 검출 장치는 단계 S520을 수행한다.If it is determined in step S560 that the next key node set exists, the overlapping community detection apparatus performs step S520.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.The above-described embodiments of the present invention can be embodied in a general-purpose digital computer that can be embodied as a program that can be executed by a computer and operates the program using a computer-readable recording medium.

상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.The computer readable recording medium includes a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), optical reading medium (e.g., CD ROM, DVD, etc.).

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

100 : 중첩 커뮤니티 검출 장치
110 : 핵심노드 추출부
120 : 에지 관계도 생성부
130 : 커뮤니티 추출부
140 : 변환부
100: overlapping community detection device
110: Core node extracting unit
120: Edge relation diagram generation unit
130: community extraction unit
140:

Claims (14)

복수의 노드 및 상기 복수의 노드를 연결하는 복수의 에지로 구성된 노드 관계도에서 연결정도(degree)에 기초하여 일정 개수의 노드를 핵심노드로 추출하는 핵심노드 추출부;
상기 노드 관계도 내의 복수의 에지가 각각 노드의 형태로 변환된 에지 관계도를 생성하는 에지 관계도 생성부;
상기 에지 관계도에서, 상기 각 핵심노드에 대응되는 각 핵심노드 집합에 대해 커뮤니티(community)를 각각 추출하는 커뮤니티 추출부; 및
상기 에지 관계도에서 추출된 커뮤니티들을 상기 노드 관계도의 노드로 구성된 커뮤니티들로 변환하는 변환부
를 포함하는 것을 특징으로 하는 중첩 커뮤니티 검출 장치.
A core node extracting unit for extracting a certain number of nodes to a core node based on degree of connection in a node relation diagram composed of a plurality of nodes and a plurality of edges connecting the plurality of nodes;
An edge relation diagram generation unit which generates an edge relation diagram in which a plurality of edges in the node relation diagram are transformed into respective node shapes;
A community extractor for extracting a community for each core node set corresponding to each of the core nodes in the edge relation diagram; And
A transformation unit for transforming the communities extracted in the edge relation diagram into communities constituted by nodes of the node degree diagram,
And an overlapping community detecting unit for detecting the overlapping community.
제1항에 있어서,
상기 핵심노드 추출부는
상기 복수의 노드 각각에 대한 연결정도를 산출하고, 상기 산출된 연결정도가 높은 노드 순으로 일정 개수의 노드를 핵심노드로 추출하는 것을 특징으로 하는 중첩 커뮤니티 검출 장치.
The method according to claim 1,
The core node extracting unit
Calculates a connection degree for each of the plurality of nodes, and extracts a predetermined number of nodes as a core node in order of the node having the calculated connection degree.
제2항에 있어서,
상기 핵심노드 추출부는
상기 핵심노드가 추출될 때마다, 커뮤니티의 특성과 개수에 따라 추출된 핵심노드와 한 단계 인접한 노드들 또는 두 단계까지 인접한 노드들을 다음 핵심노드 추출을 위한 핵심노드 후보군에서 제외하는 것을 특징으로 하는 중첩 커뮤니티 검출 장치.
3. The method of claim 2,
The core node extracting unit
Wherein each time the core node is extracted, the core node extracted in accordance with the characteristics and the number of the community, and the nodes adjacent to the one-step adjacent nodes or the two adjacent steps are excluded from the core node candidate group for extracting the next core node. Community detection device.
제1항에 있어서,
상기 에지 관계도 생성부는
상기 노드 관계도 내의 에지들을 각각 노드로 변환하고, 상기 노드 관계도에서 인접한 에지 정보를 근거로 상기 변환된 노드들을 연결하여, 에지 관계도를 생성하는 것을 특징으로 하는 중첩 커뮤니티 검출 장치.
The method according to claim 1,
The edge relation generating unit
Wherein each edge in the node relationship diagram is transformed into a respective node and the transformed nodes are connected based on adjacent edge information in the node relation diagram to generate an edge relation diagram.
제4항에 있어서,
상기 에지 관계도 생성부는
상기 노드 관계도의 각 핵심노드에 연결된 에지들에 대응되는 상기 노드 관계도의 노드들을 핵심노드 집합으로 각각 추출하는 것을 특징으로 하는 중첩 커뮤니티 검출 장치.
5. The method of claim 4,
The edge relation generating unit
And extracts the nodes of the node relation diagram corresponding to edges connected to each of the key nodes of the node relation diagram as a core node aggregate.
제1항에 있어서,
상기 커뮤니티 추출부는
상기 에지 관계도에서 PPR(Personalized PageRank)을 실행하여 각 핵심노드 집합을 기준으로 모든 노드들의 PPR 점수를 각각 산출하고, 상기 산출된 PPR 점수가 높은 노드 순으로 해당 핵심노드 집합의 커뮤니티에 추가하는 것을 특징으로 하는 중첩 커뮤니티 검출 장치.
The method according to claim 1,
The community extractor
In the edge relation diagram, PPR (Personalized PageRank) is executed to calculate the PPR scores of all the nodes based on the set of core nodes, and to add the calculated PPR scores to the community of the corresponding core node set in descending order of nodes Wherein the overlapping community detection unit detects the overlapping community.
제6항에 있어서,
상기 커뮤니티 추출부는
상기 핵심노드 집합의 커뮤니티에 노드를 추가할 때마다, 상기 커뮤니티의 외부로 연결되는 에지의 비율을 나타내는 컨덕턴스(conductance)를 산출하고, 상기 산출된 컨덕턴스에 기초하여 상기 커뮤니티의 구성을 종료하는 것을 특징으로 중첩 커뮤니티 검출 장치.
The method according to claim 6,
The community extractor
Each time a node is added to the community of the core node set, a conductance indicating a ratio of an edge connected to the outside of the community is calculated, and the configuration of the community is terminated based on the calculated conductance The overlapping community detection device.
중첩 커뮤니티 검출 장치가 중첩 커뮤니티를 검출하는 방법에 있어서,
복수의 노드 및 상기 복수의 노드를 연결하는 복수의 에지로 구성된 노드 관계도에서 연결정도(degree)에 기초하여 일정 개수의 노드를 핵심노드로 추출하는 단계;
상기 노드 관계도 내의 복수의 에지가 각각 노드의 형태로 변환된 에지 관계도를 생성하는 단계;
상기 에지 관계도에서, 상기 각 핵심노드에 대응되는 각 핵심노드 집합에 대해 커뮤니티(community)를 각각 추출하는 단계; 및
상기 에지 관계도에서 추출된 커뮤니티들을 상기 노드 관계도의 노드로 구성된 커뮤니티들로 변환하는 단계
를 포함하는 것을 특징으로 하는 중첩 커뮤니티 검출 방법.
A method for an overlapping community detection device detecting overlapping communities,
Extracting a certain number of nodes as a core node based on degree of connection in a node relation diagram composed of a plurality of nodes and a plurality of edges connecting the plurality of nodes;
Generating an edge relationship diagram in which a plurality of edges in the node relationship diagram are transformed into respective node shapes;
Extracting a community for each core node set corresponding to each of the core nodes in the edge relation diagram; And
Transforming the communities extracted in the edge relation diagram into communities constituted by nodes of the node degree diagram
And detecting the overlapping community.
제8항에 있어서,
상기 핵심노드로 추출하는 단계는,
상기 복수의 노드 각각에 대한 연결정도를 산출하고, 상기 산출된 연결정도가 높은 노드 순으로 일정 개수의 노드를 핵심노드로 추출하는 것을 특징으로 하는 중첩 커뮤니티 검출 방법.
9. The method of claim 8,
The step of extracting to the core node comprises:
Calculating a connection degree for each of the plurality of nodes, and extracting a predetermined number of nodes as a key node in order of the node having the calculated connection degree.
제9항에 있어서,
상기 핵심노드가 추출될 때마다, 커뮤니티의 특성과 개수에 따라 추출된 핵심노드와 한 단계 인접한 노드들 또는 두 단계까지 인접한 노드들을 다음 핵심노드 추출을 위한 핵심노드 후보군에서 제외하는 것을 특징으로 하는 중첩 커뮤니티 검출 방법.
10. The method of claim 9,
Wherein each time the core node is extracted, the core node extracted in accordance with the characteristics and the number of the community, and the nodes adjacent to the one-step adjacent nodes or the two adjacent steps are excluded from the core node candidate group for extracting the next core node. Community detection method.
제8항에 있어서,
상기 에지 관계도를 생성하는 단계는,
상기 노드 관계도 내의 에지들을 각각 노드로 변환하는 단계; 및
상기 노드 관계도에서 인접한 에지 정보를 근거로 상기 변환된 노드들을 연결하는 단계를 포함하는 것을 특징으로 하는 중첩 커뮤니티 검출 방법.
9. The method of claim 8,
Wherein the step of generating the edge relationship comprises:
Converting each of the edges in the node relationship diagram to a respective node; And
And connecting the transformed nodes based on neighboring edge information in the node relationship diagram.
제11항에 있어서,
상기 에지 관계도를 생성하는 단계에서,
상기 노드 관계도의 각 핵심노드에 연결된 에지들에 대응되는 상기 노드 관계도의 노드들을 핵심노드 집합으로 각각 추출하는 것을 특징으로 하는 중첩 커뮤니티 검출 방법.
12. The method of claim 11,
In the step of creating the edge relation,
And extracting, as a core node set, nodes of the node relation diagram corresponding to edges connected to each of the key nodes of the node relation diagram.
제8항에 있어서,
상기 커뮤니티를 각각 추출하는 단계는,
상기 에지 관계도에서 PPR(Personalized PageRank)을 실행하는 단계;
각 핵심노드 집합을 기준으로 모든 노드들의 PPR 점수를 각각 산출하는 단계; 및
상기 산출된 PPR 점수가 높은 노드 순으로 해당 핵심노드 집합의 커뮤니티에 추가하는 단계를 포함하는 것을 특징으로하는 중첩 커뮤니티 검출 방법.
9. The method of claim 8,
The step of extracting each of the communities includes:
Executing PPR (Personalized PageRank) in the edge relation diagram;
Calculating a PPR score of each node based on each core node set; And
And adding the computed PPR score to the community of the core node set in descending order of nodes.
제13항에 있어서,
상기 핵심노드 집합의 커뮤니티에 노드를 추가할 때마다, 상기 커뮤니티의 외부로 연결되는 에지의 비율을 나타내는 컨덕턴스(conductance)를 산출하는 단계; 및
상기 산출된 컨덕턴스가 이전 값보다 큰 경우, 상기 커뮤니티의 구성을 종료하는 단계를 더 포함하는 것을 특징으로 하는 중첩 커뮤니티 검출 방법.





14. The method of claim 13,
Calculating a conductance indicating a ratio of an edge connected to the outside of the community each time a node is added to the community of the core node set; And
And terminating the configuration of the community when the calculated conductance is greater than a previous value.





KR1020170120670A 2017-06-15 2017-09-19 Apparatus and method for detecting overlapping community KR102007896B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170076117 2017-06-15
KR1020170076117 2017-06-15

Publications (2)

Publication Number Publication Date
KR20180137387A true KR20180137387A (en) 2018-12-27
KR102007896B1 KR102007896B1 (en) 2019-08-07

Family

ID=64953398

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170120670A KR102007896B1 (en) 2017-06-15 2017-09-19 Apparatus and method for detecting overlapping community

Country Status (1)

Country Link
KR (1) KR102007896B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113609345A (en) * 2021-09-30 2021-11-05 腾讯科技(深圳)有限公司 Target object association method and device, computing equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009205289A (en) * 2008-02-26 2009-09-10 Nippon Telegr & Teleph Corp <Ntt> Apparatus, method and program for forming graph of interest system
KR20140068650A (en) * 2012-11-28 2014-06-09 삼성전자주식회사 Method for detecting overlapping communities in a network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009205289A (en) * 2008-02-26 2009-09-10 Nippon Telegr & Teleph Corp <Ntt> Apparatus, method and program for forming graph of interest system
KR20140068650A (en) * 2012-11-28 2014-06-09 삼성전자주식회사 Method for detecting overlapping communities in a network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113609345A (en) * 2021-09-30 2021-11-05 腾讯科技(深圳)有限公司 Target object association method and device, computing equipment and storage medium
CN113609345B (en) * 2021-09-30 2021-12-10 腾讯科技(深圳)有限公司 Target object association method and device, computing equipment and storage medium

Also Published As

Publication number Publication date
KR102007896B1 (en) 2019-08-07

Similar Documents

Publication Publication Date Title
CN110837550B (en) Knowledge graph-based question answering method and device, electronic equipment and storage medium
US8166058B2 (en) Identifying interest twins in an online community
US8001139B2 (en) Using a bipartite graph to model and derive image and text associations
KR101977231B1 (en) Community detection method and community detection framework apparatus
JP6216467B2 (en) Visual-semantic composite network and method for forming the network
CN108292310A (en) For the relevant technology of digital entities
WO2016092406A1 (en) Inferred facts discovered through knowledge graph derived contextual overlays
TW200900958A (en) Link spam detection using smooth classification function
US9535954B2 (en) Join processing device, data management device, and string similarity join system
CN109104688A (en) Wireless network access point model is generated using aggregation technique
KR20140068650A (en) Method for detecting overlapping communities in a network
JP7103496B2 (en) Related score calculation system, method and program
Ming-Sheng et al. Detecting overlapping communities based on community cores in complex networks
CN113535974A (en) Diagnosis recommendation method and related device, electronic equipment and storage medium
JP2018013857A (en) Sensor data learning method, sensor data learning program, and sensor data learning apparatus
WO2019167784A1 (en) Position specifying device, position specifying method, and computer program
EP2953062A1 (en) Learning method, image processing device and learning program
CN112836029A (en) Graph-based document retrieval method, system and related components thereof
Han et al. Linking social network accounts by modeling user spatiotemporal habits
KR20160066216A (en) Method of detecting issue patten associated with user search word, server performing the same and storage medium storing the same
KR102007896B1 (en) Apparatus and method for detecting overlapping community
JP2019185478A (en) Classification program, classification method, and information processing device
JP5520353B2 (en) BoF expression generation device and BoF expression generation method
KR20120079630A (en) Method and system for indexing and searching in multi-modality data
CN108280772B (en) Story context generation method based on event association in social network

Legal Events

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