KR101977231B1 - 커뮤니티 검출 방법 및 커뮤니티 검출 프레임워크 장치 - Google Patents

커뮤니티 검출 방법 및 커뮤니티 검출 프레임워크 장치 Download PDF

Info

Publication number
KR101977231B1
KR101977231B1 KR1020170120668A KR20170120668A KR101977231B1 KR 101977231 B1 KR101977231 B1 KR 101977231B1 KR 1020170120668 A KR1020170120668 A KR 1020170120668A KR 20170120668 A KR20170120668 A KR 20170120668A KR 101977231 B1 KR101977231 B1 KR 101977231B1
Authority
KR
South Korea
Prior art keywords
similarity
nodes
objects
community
relationship diagram
Prior art date
Application number
KR1020170120668A
Other languages
English (en)
Other versions
KR20180137386A (ko
Inventor
김상욱
홍지원
방재근
Original Assignee
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Publication of KR20180137386A publication Critical patent/KR20180137386A/ko
Application granted granted Critical
Publication of KR101977231B1 publication Critical patent/KR101977231B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • 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

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)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 커뮤니티 검출 방법 및 커뮤니티 검출 프레임워크 장치에 관한 것으로, 커뮤니티 검출 방법은 복수의 노드(node) 및 상기 복수의 노드 간을 연결하는 엣지(edge)로 구성된 제1 객체 관계도의 구조에 기반하여 상기 복수의 노드 간 유사도를 산출하고, 상기 복수의 노드간 유사도에 기초하여 복수의 객체 간 유사도로 구성된 제1 객체 유사도 정보를 생성하는 단계, 상기 제1 객체 유사도 정보내 복수의 객체를 각각 노드로 설정하고, 상기 복수의 객체 간 유사도를 기반으로 상기 설정된 노드들을 엣지로 연결하여 제2 객체 관계도를 생성하는 단계, 상기 제2 객체 관계도 또는 상기 제1 객체 유사도 정보에서 커뮤니티를 검출하는 단계를 포함한다.

Description

커뮤니티 검출 방법 및 커뮤니티 검출 프레임워크 장치{COMMUNITY DETECTION METHOD AND COMMUNITY DETECTION FRAMEWORK APPARATUS}
본 발명은 커뮤니티 검출 방법 및 커뮤니티 검출 프레임워크 장치에 관한 것으로, 더욱 상세하게는 공간 변환을 이용하여 커뮤니티 구조가 잘 드러나는 객체 관계도를 생성하고, 객체 관계도 또는 객체 유사도 정보 기반으로 커뮤니티를 검출할 수 있는 커뮤니티 검출 방법 및 커뮤니티 검출 프레임워크 장치에 관한 것이다.
소셜 네트워크 분석은 데이터 마이닝 및 머신러닝 분야에서 가장 주목받고 있는 문제 중 하나이다. 점점 많은 사람들이 소셜 네트워크에 참여하고 있으므로, 소셜 네트워크 분석은 소셜 네트워크 서비스를 이용하는 사람들의 행동을 이용하여 실세계 사람들 행동에 대한 중요한 실마리와 다른 사람들과의 관계를 제공해준다. 또한 소셜 네트워크 분석은 경제, 역학, 정치, 심리학 등 다양한 분야에서 중요한 기술로써 사용되고 있다. 이러한 소셜 네트워크 분석 방법 중 커뮤니티 검출에 대한 중요성이 증가하고 있다.
커뮤니티 검출은 그래프 내 노드들의 구조를 찾기 위한 중요한 기술 중에 하나이다. 커뮤니티는 그래프 내 노드들의 집합을 의미하는데, 같은 커뮤니티 내의 노드들은 밀도가 높은 특징이 있고, 서로 다른 커뮤니티 간의 노드들은 밀도가 낮은 특징이 있다.
커뮤니티 검출 방법은 크게 두 가지 방법이 존재하는데, 그 중 하나는 그래프의 노드와 엣지 정보만을 이용하여 커뮤니티 검출을 수행하는 방법이고, 나머지 하나는 그래프의 노드 간 유사도를 이용하여 커뮤니티 검출을 수행하는 방법이다.
그러나 종래에는 커뮤니티 구조가 잘 드러나지 않는 그래프에서 커뮤니티 검출을 수행하기 때문에, 특정 노드가 정확히 어느 커뮤니티에 속해야 하는지 애매한 상황이 발생할 수 있고, 이는 커뮤니티 검출을 어렵게 만들며 정확도를 낮추는 문제가 있다.
따라서, 커뮤니티 구조가 잘 드러나지 않은 그래프를 커뮤니티 구조가 잘 드러나는 그래프를 만들어, 더 쉽고 정확하게 커뮤니티 검출을 수행할 수 있도록 하는 기술 개발이 필요한 실정이다.
관련 선행기술로는 한국등록특허 제10-1616477호(발명의 명칭: 커뮤니티 검출 장치 및 이를 이용한 커뮤니티 검출 방법, 공개일자: 2016년 4월 2일)가 있다.
본 발명은 기존 객체 관계도(그래프)보다 커뮤니티 구조가 더 잘 드러나는 객체 관계도(그래프)를 생성할 수 있는 커뮤니티 검출 방법 및 커뮤니티 검출 프레임워크 장치를 제공하는데 그 목적이 있다.
본 발명의 다른 목적은 노드와 엣지 정보만을 이용하여 커뮤니티를 검출할 뿐만 아니라, 노드간 유사도 정보를 이용하여 커뮤니티를 검출할 수 있도록 하는 커뮤니티 검출 방법 및 커뮤니티 검출 프레임워크 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명에서 제공하는 커뮤니티 검출 방법은 복수의 노드(node) 및 상기 복수의 노드 간을 연결하는 엣지(edge)로 구성된 제1 객체 관계도의 구조에 기반하여 상기 복수의 노드 간 유사도를 산출하고, 상기 복수의 노드간 유사도에 기초하여 복수의 객체 간 유사도로 구성된 제1 객체 유사도 정보를 생성하는 단계, 상기 제1 객체 유사도 정보내 복수의 객체를 각각 노드로 설정하고, 상기 복수의 객체 간 유사도를 기반으로 상기 설정된 노드들을 엣지로 연결하여 제2 객체 관계도를 생성하는 단계, 상기 제2 객체 관계도 또는 상기 제1 객체 유사도 정보에서 커뮤니티를 검출하는 단계를 포함한다.
바람직하게는, 상기 제2 객체 관계도를 생성하는 단계 이후, 상기 제2 객체 관계도로부터 제2 객체 유사도 정보를 생성하고, 상기 제2 객체 유사도로 정보로부터 제3 객체 관계도를 생성하는 동작을 순차적으로 반복 수행하는 단계를 더 포함할 수 있다.
바람직하게는, 상기 제1 객체 유사도 정보를 생성하는 단계는 상기 제1 객체 관계도를 입력받는 단계, 상기 제1 객체 관계도의 엣지 정보에 기초하여 상기 복수의 노드 간 유사도를 산출하는 단계, 상기 복수의 노드 각각에 대응하는 복수의 객체를 생성하는 단계, 상기 복수의 노드 간 유사도를 대응하는 복수의 객체 간 유사도로 설정하는 단계, 상기 복수의 객체 및 복수의 객체간 유사도로 구성된 제1 객체 유사도 정보를 생성하는 단계를 포함할 수 있다.
바람직하게는, 상기 제1 객체 유사도 정보는 대칭행렬 형태일 수 있다.
바람직하게는, 상기 제2 객체 관계도를 생성하는 단계는 상기 제1 객체 유사도 정보내 복수의 객체 각각에 대응하는 복수의 노드를 설정하는 단계, 상기 복수의 객체 각각에 대해 유사도가 높은 순으로 일정 개수의 객체를 검색하는 단계, 상기 복수의 객체 각각으로부터 상기 검색된 일정 개수의 객체들로의 엣지들을 생성하는 단계를 포함할 수 있다.
바람직하게는, 상기 커뮤니티를 검출하는 단계에서, 상기 제2 객체 관계도에서 커뮤니티를 검출하는 경우, 노드간 엣지 정보를 이용하는 알고리즘을 적용하여 커뮤니티를 검출하고, 상기 제1 객체 유사도 정보에서 커뮤니티를 검출하는 경우, 객체간 유사도를 이용하는 알고리즘을 적용하여 커뮤니티를 검출할 수 있다.
본 발명에서 제공하는 커뮤니티 검출 프레임워크 장치는 복수의 노드(node) 및 상기 복수의 노드 간을 연결하는 엣지(edge)로 구성된 제1 객체 관계도로부터 복수의 객체 간 유사도로 구성된 제1 객체 유사도 정보를 생성하고, 상기 제1 객체 유사도 정보내 복수의 객체 간 유사도를 기반으로 복수의 노드가 엣지로 연결된 제2 객체 관계도를 생성하는 생성부, 상기 제2 객체 관계도 또는 상기 제1 객체 유사도 정보에서 커뮤니티를 검출하는 검출부를 포함한다.
바람직하게는, 상기 생성부는 상기 제2 객체 관계도로부터 제2 객체 유사도 정보를 생성하고, 상기 제2 객체 유사도로 정보로부터 제3 객체 관계도를 생성하는 동작을 순차적으로 반복 수행할 수 있다.
바람직하게는, 상기 생성부는 상기 복수의 노드(node) 및 상기 복수의 노드 간을 연결하는 엣지(edge)로 구성된 제1 객체 관계도의 구조에 기반하여 상기 복수의 노드 간 유사도를 산출하고, 상기 복수의 노드간 유사도에 기초하여 복수의 객체 간 유사도로 구성된 제1 객체 유사도 정보를 생성하는 객체 유사도 정보 생성모듈, 상기 제1 객체 유사도 정보내 복수의 객체를 각각 노드로 설정하고, 상기 복수의 객체 간 유사도를 기반으로 상기 설정된 노드들을 엣지로 연결하여 제2 객체 관계도를 생성하는 객체 관계도 생성모듈을 포함할 수 있다.
바람직하게는, 상기 유사도 정보 생성모듈은 상기 제1 객체 관계도의 엣지 정보에 기초하여 상기 복수의 노드 간 유사도를 산출하고, 상기 복수의 노드 각각에 대응하는 복수의 객체를 생성하며, 상기 복수의 노드 간 유사도를 대응하는 복수의 객체 간 유사도로 설정하고, 상기 복수의 객체 및 복수의 객체간 유사도로 구성된 제1 객체 유사도 정보를 생성할 수 있다.
바람직하게는, 상기 제1 객체 유사도 정보는 대칭행렬 형태일 수 있다.
바람직하게는, 상기 객체 관계도 생성모듈은 상기 제1 객체 유사도 정보내 복수의 객체 각각에 대응하는 복수의 노드를 설정하고, 상기 복수의 객체 각각에 대해 유사도가 높은 순으로 일정 개수의 객체를 검색하며, 상기 복수의 객체 각각으로부터 상기 검색된 일정 개수의 객체들로의 엣지들을 생성할 수 있다.
바람직하게는, 상기 검출부는 상기 제2 객체 관계도에서 노드간 엣지 정보를 이용하는 알고리즘을 적용하여 커뮤니티를 검출하는 제1 검출모듈, 상기 제1 객체 유사도 정보에서 객체간 유사도를 이용하는 알고리즘을 적용하여 커뮤니티를 검출하는 제2 검출모듈을 포함할 수 있다.
한편, 이상에 살핀 상기 '커뮤니티 검출 방법'은, 프로그램의 형태로 구현된 뒤에 전자 장치에서 판독 가능한 기록 매체에 기록되거나, 프로그램 다운로드 관리 장치(서버 등)를 통해 배포될 수 있다.
본 발명은 공간 변환을 함으로써, 커뮤니티 구조가 잘 드러나지 않은 객체 관계도(그래프)를 커뮤니티 구조가 잘 드러나는 객체 관계도(그래프)로 생성할 수 있고, 이를 통해 더 정확하게 커뮤니티 검출을 수행할 수 있다.
또한, 객체 관계도와 객체간 유사도 정보가 생성되므로, 노드와 엣지 정보만을 이용하여 커뮤니티를 검출할 수 있을 뿐만 아니라, 노드간 유사도 정보를 이용하여 커뮤니티를 검출할 수도 있다.
한편, 본 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 효과들이 포함될 수 있다.
도 1은 본 발명의 일 실시예에 따른 커뮤니티 검출 프레임워크의 개요를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 커뮤니티 검출 프레임워크 장치를 설명하기 위한 블록도이다.
도 3은 도 2에 도시된 생성부를 설명하기 위한 블록도이다.
도 4는 도 2에 도시된 검출부를 설명하기 위한 블록도이다.
도 5는 본 발명의 일 실시예에 따른 공간변환을 설명하기 위한 예시도이다.
도 6은 본 발명에 따른 커뮤니티 구조를 설명하기 위한 예시도이다.
도 7은 본 발명의 일 실시예에 따른 커뮤니티 검출 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 제1 객체 관계도로부터 제2 객체 유사도 정보를 생성하는 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 제1 객체 유사도 정보로부터 제2 객체 관계도를 생성하는 방법을 설명하기 위한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
또한, 명세서에 기재된 "~부", "~유닛", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명에 개시된 객체 관계도는 복수의 노드 및 복수의 노드들을 연결하는 엣지로 구성된 것으로, 예컨대 그래프 형태일 수 있다. 따라서, 객체 관계도는 그래프와 동일한 의미로 사용하고, 혼용하여 사용할 수 있다.
이하, 본 발명에 따른 바람직한 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 커뮤니티 검출 프레임워크의 개요를 설명하기 위한 도면이다.
도 1을 참조하면, 커뮤니티 검출 프레임워크는 커뮤니티 구조가 잘 드러나는 그래프를 만들기 위해 공간 변환(Space Transformation)과 두 종류의 커뮤니티 검출 방법을 수행할 수 있는 구조이다.
공간 변환은 노드와 엣지로 구성된 객체 관계도로부터 객체간 유사도로 구성된 객체 유사도 정보를 생성 또는 객체 유사도 정보로부터 다른 객체 관계도를 생성하는 것을 의미할 수 있다. 이러한 공간 변환은 순차적으로 반복하여 수행할 수 있다. 공간 변환을 여러 번 순차적으로 이용하면 기존 그래프보다 같은 커뮤니티 내에 있는 노드들은 밀도가 더 높아지고, 서로 다른 커뮤니티 간의 노드들은 밀도가 낮아질 수 있다.
커뮤니티 검출 방법은 객체 관계도에서 노드간 엣지 정보를 이용하는 알고리즘을 적용하여 커뮤니티를 검출하는 방법과 객체 유사도 정보에서 객체간 유사도를 이용하는 알고리즘을 적용하여 커뮤니티를 검출하는 방법을 포함한다. 즉, 본 발명의 커뮤니티 검출 프레임워크는 노드간 엣지 정보만을 이용하여 커뮤니티를 검출하는 방법과 객체 간 유사도만을 이용하여 커뮤니티를 검출하는 방법을 모두 이용할 수 있다.
따라서, 본 발명에 따른 커뮤니티 검출 프레임워크는 기존 객체 관계도(그래프)보다 커뮤니티 구조가 더 잘 드러나는 객체 관계도(그래프)를 만들게 되며, 최종적으로 더 정확하게 커뮤니티 검출을 수행할 수 있다.
도 2는 본 발명의 일 실시예에 따른 커뮤니티 검출 프레임워크 장치를 설명하기 위한 블록도, 도 3은 도 2에 도시된 생성부를 설명하기 위한 블록도, 도 4는 도 2에 도시된 검출부를 설명하기 위한 블록도, 도 5는 본 발명의 일 실시예에 따른 공간변환을 설명하기 위한 예시도, 도 6은 본 발명에 따른 커뮤니티 구조를 설명하기 위한 예시도이다.
도 2를 참조하면, 커뮤니티 검출 프레임워크 장치(100)는 생성부(110), 검출부부(120)를 포함한다.
생성부(110)는 복수의 노드(node) 및 복수의 노드 간을 연결하는 엣지(edge)로 구성된 제1 객체 관계도로부터 복수의 객체 간 유사도로 구성된 제1 객체 유사도 정보를 생성하고, 제1 객체 유사도 정보내 복수의 객체 간 유사도를 기반으로 복수의 노드가 엣지로 연결된 제2 객체 관계도를 생성한다. 이때, 제2 객체 관계도는 제1 객체 유사도 정보를 이용하여 새로 생성된 객체 관계도로, 제1 객체 관계도와 다를 수 있다.
생성부(110)가 객체 관계도로부터 객체 유사도 정보를 생성하고, 객체 유사도 정보로부터 다른 객체 관계도를 생성하는 동작은, 전술한 바 있는 공간 변환일 수 있다. 따라서, 이하에서는 설명의 편의를 위해 생성부(100)의 동작을 공간 변환으로 칭하여 설명하기로 한다.
생성부(110)는 공간 변환을 한 번씩 순차적으로 수행하고, 여러 번 수행할 수 있다. 즉, 생성부(110)는 제2 객체 관계도로부터 제2 객체 유사도 정보를 생성하고, 제2 객체 유사도로 정보로부터 제3 객체 관계도를 생성하는 동작을 순차적으로 반복 수행할 수 있다. 여기서, 제2 객체 유사도 정보는 제2 객체 관계도를 이용하여 새로 생성한 정보로, 제1 객체 유사도 정보와 다를 수 있고, 제3 객체 관계도는 제2 객체 유사도 정보를 이용하여 새로 생성한 객체 관계도로, 제1 및 제2 객체 관계도와 다를 수 있다.
생성부(110)에 대해 도 2를 참조하면, 생성부(110)은 객체 유사도 생성모듈(112), 객체 관계도 생성모듈(114)를 포함한다.
객체 유사도 생성모듈(112)은 복수의 노드 및 복수의 노드 간을 연결하는 엣지로 구성된 제1 객체 관계도의 구조에 기반하여 복수의 노드 간 유사도를 산출하고, 복수의 노드간 유사도에 기초하여 복수의 객체 간 유사도로 구성된 제1 객체 유사도 정보를 생성한다.
구체적으로, 객체 유사도 생성모듈(112)은 제1 객체 관계도의 엣지 정보에 기초하여 복수의 노드 간 유사도를 산출한다. 이때, 객체 유사도 생성모듈(112)은 Structural Similarity, SimRank 등을 이용하여 노드 간 유사도를 산출할 수 있다. SimRank는 객체 관계도의 전체 구조를 고려하여 유사도를 산출하는 방법이고, Structural Similarity는 공통 이웃 노드의 수에 근거하여 유사도를 산출하는 방법일 수 있다.
Structural Similarity은 아래 개시된 수학식 1을 이용하여 유사도(σ(v,w))를 산출할 수 있다.
Figure 112017091401120-pat00001
여기서, τ(υ)는 υ노드의 이웃 노드들, τ(ω)는 ω노드의 이웃 노드들을 의미하며, υ노드와 ω노드의 공통 이웃 노드의 수가 많을수록 높은 유사도를 가진다. 이처럼, Structural Similarity는 단순히 이웃 노드의 정보만을 이용하여 유사도를 계산하고, 서로 공통인 이웃 노드가 많을수록 두 노드는 높은 유사도 값을 가질 수 있다.
일반적으로 객체 관계도(그래프)에서 같은 커뮤니티 내 노드들의 밀도가 서로 다른 커뮤니티 간 노드들의 밀도보다 높기 때문에, 노드 간 유사도를 계산하면 같은 커뮤니티 내 노드들의 유사도 값이 서로 다른 커뮤니티 간 노드들의 유사도 보다 높게 측정될 수 있다.
객체 유사도 생성모듈(112)은 제1 객체 관계도에 포함된 모든 노드들간의 유사도가 산출되면, 복수의 노드 각각에 대응하는 복수의 객체를 생성하고, 복수의 노드 간 유사도를 대응하는 복수의 객체 간 유사도로 설정한다. 그러면, 복수의 객체 및 복수의 객체간 유사도로 구성된 제1 객체 유사도 정보가 생성될 수 있다. 이때, 제1 객체 유사도 정보는 대칭행렬 형태일 수 있다.
예를 들어, 도 5를 참조하면, (a)와 같은 제1 객체 관계도가 입력되면, 객체 유사도 생성모듈(112)은 노드 간의 유사도를 산출하고, 산출된 노드 간 유사도를 이용하여 (b)와 같은 제1 객체 유사도 정보를 생성할 수 있다. (b)를 보면, 제1 객체 유사도 정보는 대칭행렬일 수 있고, '0'값이 많이 존재하기 때문에 sparse matrix의 형태일 수 있다.
살핀 바와 같이, 객체 유사도 생성모듈(112)은 제1 객체 관계도의 각 노드를 새로 생성되는 제1 객체 유사도 정보의 객체로 설정하고, 제1 객체 관계도의 구조 기반으로 산출된 유사도를 각 객체쌍 간의 유사도로 설정할 수 있다.
객체 관계도 생성모듈(114)은 객체 유사도 생성모듈(112)에서 생성된 제1 객체 유사도 정보내 복수의 객체를 각각 노드로 설정하고, 복수의 객체 간 유사도를 기반으로 상기 설정된 노드들을 엣지로 연결한다. 그러면, 제2 객체 관계도가 생성될 수 있다.
구체적으로, 객체 관계도 생성모듈(114)은 제1 객체 유사도 정보내 복수의 객체 각각에 대응하는 복수의 노드를 설정하고, 제1 객체 유사도 정보를 검색하여 복수의 객체 각각에 대해 유사도가 높은 순으로 일정 개수의 객체를 추출할 수 있다. 그런 후, 객체 관계도 생성모듈(114)은 복수의 객체 각각으로부터 추출된 일정 개수의 객체들을 엣지로 연결하여 제2 객체 관계도를 생성할 수 있다. 이때, 객체 관계도 생성모듈(114)은 K-Nearest Neighbor(KNN) 그래프, εNN 그래프 등을 이용하여 제2 객체 관계도를 생성할 수 있다. KNN 그래프 방식은 주어진 K값을 기준으로 각 노드의 가장 근접한 K개의 노드들을 엣지를 연결하는 방법일 수 있고, εNN 그래프 방식은 유사도가 ε 이상인 노드들을 엣지로 연결하는 방법일 수 있다.
예를 들어, KNN 그래프 방식을 이용하여 제1 객체 유사도 정보로부터 제2 객체 관계도를 생성하는 방법에 대해 설명하기로 한다. 이 경우, 객체 관계도 생성모듈(114)은 제1 객체 유사도 정보의 각 객체를 새로운 제2 객체 관계도의 노드로 설정하고, 유사도 기반의 k-이웃 질의(k-nearest neighbor query)를 수행하여, 제1 객체 유사도 정보에서 각 노드와 유사도가 높은 순으로 k개의 노드들을 검색한다. 그런 후, 객체 관계도 생성모듈(114)은 각 노드와 검색된 k개의 노드들을 엣지로 연결한다. 그러면, 제2 객체 관계도가 생성될 수 있다.
예를 들어, 도 5의 (b)와 같은 제1 객체 유사도 정보에서 KNN 그래프 방식(k는 2)을 이용하여 제2 객체 관계도를 생성하는 방법에 대해 설명하기로 한다. 객체 관계도 생성 모듈(114)이 (b)에서 각 객체별 유사도 높은 2개의 노드를 검색하면, A는 E와 C노드, B는 E와 C노드, C는 A와 B노드, D는 A와 E노드, E는 A와 B노드가 검색된다. 객체 관계도 생성모듈(114)은 각 객체별로 검색된 2개의 노드들만을 연결한다. 그러면, (c)와 같은 제2 객체 관계도가 생성될 수 있다.
객체 유사도 생성모듈(112)을 통해 이미 같은 커뮤니티 내 노드들의 유사도가 서로 다른 커뮤니티 간 노드들의 유사도 보다 높게 측정된 상태이므로, 객체 관계도 생성모듈(114)은 서로 다른 커뮤니티 내 노드들 보다 우선적으로 엣지를 연결할 수 있다. 그러면, 제1 객체 관계도보다 같은 커뮤니티 내 노드들의 밀도는 더 높아지고, 커뮤니티 간 노드들의 밀도는 더 낮아지기 때문에, 커뮤니티 구조가 더 잘 드러나는 제2 객체 관계도를 생성할 수 있다.
살핀 바와 같이 객체 관계도 생성모듈(114)은 제1 객체 유사도 정보를 기반으로,각 객체가 노드로 표현되고, 객체 간의 관계가 엣지로 나타나는 제2 객체 관계도를 생성할 수 있다.
상기와 같이 구성된 생성부(110)는 객체 관계도로부터 객체 유사도 정보를 생성하고, 객체 유사도 정보로부터 다른 객체 관계도를 생성하는 공간 변환을 한 번씩 순차적으로 수행하지 않고 여러 번 반복할 수 있다. 이러한 반복 작업은 최종적으로 기존 객체 관계도(그래프)보다 커뮤니티 구조가 더 잘 드러나는 객체 관계도(그래프)를 생성할 수 있고, 이로 인해 커뮤니티 검출의 정확도를 높일 수 있다. 따라서 공간 변환 동작을 반복할 때마다 기존 객체 관계도(그래프)보다 커뮤니티 구조가 잘 드러나는 객체 관계도(그래프)가 생성될 것이고, 이로 인해 커뮤니티 검출을 더 정확하게 수행할 수 있게 된다.
예를 들어, 도 6의 (a)와 같은 커뮤니티 구조가 잘 드러나지 않는 제1 객체 관계도에 대해 공간변환을 수행하면, (b)와 같은 커뮤니티 구조가 잘 드러나는 제2 객체 관계도가 생성될 수 있다. 커뮤니티 구조가 잘 드러나지 않는 객체 관계도(그래프)는 특정 커뮤니티에 속해야 할 노드들이 특정 커뮤니티 외에 다른 커뮤니티에 속할 수 있는 애매한 상황이 발생할 수 있다. 반면, 커뮤니티 구조가 잘 드러나는 객체 관계도(그래프)는 특정 커뮤니티에 속해야 할 노드들이 특정 커뮤니티 외에 다른 커뮤니티에 속할 수 있는 애매한 상황이 발생하지 않는다. 따라서, 커뮤니티 구조가 잘 드러나는 객체 관계도(그래프)에서 커뮤니티를 검출할 때는 더 쉽고 정확하게 커뮤니티를 검출할 수 있다. 여기서 커뮤니티 구조가 잘 드러나는 객체 관계도는 같은 커뮤니티 내 노드들은 밀도가 높고, 서로 다른 커뮤니티 간 노드들은 밀도가 낮은 그래프를 의미한다. 만약, 서로 다른 커뮤니티 간 노드들의 밀도가 같은 커뮤니티 내 노드들의 밀도보다 높거나 비슷하다면, 커뮤니티 검출을 할 때 특정 노드가 정확히 어느 커뮤니티에 속해야 하는지 애매한 상황이 발생할 수 있다. 따라서 커뮤니티 구조가 잘 드러나지 않은 객체 관계도를 입력받았을 때, 커뮤니티 구조가 잘 드러나는 객체 관계도로 만든다면 더 쉽고 정확하게 커뮤니티 검출을 할 수 있을 것이다.
또한, 최초에 주어지는 제1 객체 관계도(그래프)는 explicit한 연결(예를 들어서 소셜 네트워크의 친구 관계)들로 구성될 수 있다. 그러나, 실제로 가까운 사이여서 같은 커뮤니티에 속할 두 사람이 소셜 네트워크 상에서 직접 연결이 없거나, 서로 다른 커뮤니티임에도 불구하고 맴버 한두명이 소셜 네트워크에서 강하게 연결되어 있을 수 있다. 생성부(110)는 소셜 네트워크에서 친구 관계를 형성했는지 여부와는 관계없이 실제로 친할 것이라 예상되는 사람들을 연결하는 객체 관계도를 생성할 수 있다. 즉, 생성부(110)는 explicit한 연결들로부터 추론된 implicit한 연결들로 구성된 객체 관계도를 생성할 수 있다.
검출부(120)는 생성부(110)에서 생성된 제1 객체 유사도 정보 또는 제2 객체 관계도에서 각각 커뮤니티를 검출할 수 있다.
이러한 검출부(120)는 도 4에 도시된 바와 같이 제2 객체 관계도에서 커뮤니티를 검출하는 제1 검출모듈(122), 제1 객체 유사도 정보에서 커뮤니티를 검출하는 제2 검출모듈(124)를 포함한다.
제1 검출모듈(122)은 제2 객체 관계도에서 노드간 엣지 정보를 이용하는 알고리즘을 적용하여 커뮤니티를 검출한다. 여기서, 노드간 엣지 정보를 이용하는 알고리즘은 예컨대, BlackHole, Louvain, FastModularity 등을 포함할 수 있다. BlackHole은 그래프 드로잉 방법과 클러스터링 방법을 이용하여 커뮤니티를 검출하는 방법으로, 그래프 드로잉 방법을 통해 입력받은 그래프를 좌표 데이터로 변환하고, 변환된 좌표 데이터를 기반으로 K-means나 DB-SCAN을 통해 클러스터링을 수행함으로써 커뮤니티 검출을 수행하는 방법일 수 있다. 여기서, 같은 커뮤니티 내에 있는 노드들은 가까운 좌표에 위치하게 된다.
제2 객체 관계도는 제1 객체 관계도보다 커뮤니티 구조가 더 잘 드러나므로, 제1 검출모듈(122)은 제2 객체 관계도 기반으로 더욱 정확하게 커뮤니티를 검출할 수 있다.
제2 검출모듈(124)은 제1 객체 유사도 정보에서 객체간 유사도를 이용하는 알고리즘을 적용하여 커뮤니티를 검출한다. 제1 객체 유사도 정보에는 객체간 엣지 정보가 존재하지 않기 때문에, 제1 검출모듈(122)과 동일한 알고리즘을 적용할 수 없다. 따라서, 제2 검출모듈(124)은 객체간 유사도를 이용하는 알고리즘, 예컨대, Scan, Shrink, gSkeletonClu 등을 이용하여 커뮤니티를 검출할 수 있다.
Scan은 커뮤니티의 규모를 결정하는 ε과 μ를 파라미터로 입력받아 코어 노드를 찾고, 찾은 코어 노드를 기준으로 이웃 노드들로 커뮤니티를 확장해 나가는 동작을 모든 노드에 대해 수행함으로써 커뮤니티를 검출하는 방법이다. 여기서, 코어 노드는 이웃 노드의 유사도 값이 ε이상인 이웃 노드의 수가 μ를 넘는 노드를 의미한다. Scan은 추가적으로 허브와 아웃라이어도 찾는다. 허브와 아웃라이어는 어느 커뮤니티에 속하지 않는 노드로, 허브는 여러 커뮤니티에 엣지를 가지는 노드이고, 아웃라이어는 하나의 커뮤니티에 엣지를 가지는 노드이다.
Shrink는 Scan의 파라미터 선택 문제를 해결하고, 계층적인 방법으로 커뮤니티 검출을 수행하는 방법이다. Shrink는 유사도가 가장 높은 노드 쌍을 찾아 마이크로 커뮤니티를 생성하고, 생성한 마이크로 커뮤니티를 하나의 슈퍼노드로써 대체한 후, 새로운 그래프를 생성하는 방법으로, 상기 과정을 Modularity Gain 값이 음수가 나올 때까지 반복한다. 커뮤니티 C의 Modularity Gain값이 양수라면, 커뮤니티 C내에 있는 노드들은 반드시 같은 커뮤니티로 커뮤니티 검출되어야 하는 것을 의미한다.
gSkeletonClu는 Scan처럼 먼저 찾은 코어 노드를 기준으로 클러스터를 확장하는 방식이 아닌, 미리 모든 코어 노드의 집합을 찾은 후 커뮤니티 검출을 수행하는 방법이다. Scan은 먼저 찾은 코어 노드들 기준으로 클러스터를 확장하기 때문에, 잘못된 방향으로 커뮤니티 검출을 수행할 수 있다. 그러나, gSkeletonClu는 파라미터 후보를 선정하고, 파라미터 후보중에서 적절한 파라미터를 결정한다. gSkeletonClu는 여러 파라미터 후보들을 기준으로 커뮤니티 검출을 수행하기 때문에, 속도는 Scan보다 느리지만 파라미터 선택 문제를 자동으로 해결할 수 있다. gSkeletonClu는 추출한 후보 파라미터를 기반으로 여러 종류의 커뮤니티 검출을 할 수 있고, 가장 최적의 커뮤니티 검출을 수행하는 파라미터를 선택할 수 있다.
한편, 생성부(110) 및 검출부(120)는 컴퓨팅 장치상에서 프로그램을 실행하기 위해 필요한 프로세서 등에 의해 각각 구현될 수 있다. 이처럼 생성부(110) 및 검출부(120)는 물리적으로 독립된 각각의 구성에 의해 구현될 수도 있고, 하나의 프로세서 내에서 기능적으로 구분되는 형태로 구현될 수도 있다.
본 발명에 따른 커뮤니티 검출 프레임워크 장치(100)는 주어진 객체 관계도를 implicit한 연결들이 반영되는 객체 관계도로 변환하고, 이를 통해 커뮤니티를 좀더 정확하게 검출할 수 있다.
도 7은 본 발명의 일 실시예에 따른 커뮤니티 검출 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 커뮤니티 검출 프레임워크 장치는 제1 객체 관계도가 입력되면(S710), 제1 객체 관계도로부터 제1 객체 유사도 정보를 생성한다(S720). 즉, 커뮤니티 검출 프레임워크 장치는 제1 객체 관계도의 구조에 기반하여 복수의 노드 간 유사도를 산출하고, 복수의 노드간 유사도에 기초하여 복수의 객체 간 유사도로 구성된 제1 객체 유사도 정보를 생성할 수 있다. 제1 객체 유사도 정보를 생성하는 방법에 대한 상세한 설명은 도 8을 참조하기로 한다.
단계 S720이 수행되면, 커뮤니티 검출 프레임워크 장치는 제1 객체 유사도 정보의 객체간 유사도를 기반으로 제2 객체 관계도를 생성한다(S730). 즉, 커뮤니티 검출 프레임워크 장치는 제1 객체 유사도 정보내 복수의 객체를 각각 노드로 설정하고, 복수의 객체 간 유사도를 기반으로 노드들을 엣지로 연결하여 제2 객체 관계도를 생성할 수 있다. 제2 객체 관계도를 생성하는 방법에 대한 상세한 설명은 도 9를 참조하기로 한다.
단계 S730이 수행되면, 커뮤니티 검출 프레임워크 장치는 제2 객체 관계도 또는 제1 객체 유사도 정보에서 커뮤니티를 검출한다(S740). 즉, 커뮤니티 검출 프레임워크 장치는 제2 객체 관계도에서 노드간 엣지 정보를 이용하는 알고리즘을 적용하여 커뮤니티를 검출하거나, 제1 객체 유사도 정보에서 객체간 유사도를 이용하는 알고리즘을 적용하여 커뮤니티를 검출할 수 있다.
한편, 커뮤니티 검출 프레임워크 장치는 단계 S710부터 단계 S730을 순차적으로 반복 수행할 수 있다. 공간 변환 동작을 반복할 때마다 기존 객체 관계도보다 커뮤니티 구조가 잘 드러나는 객체 관계도가 생성될 것이고, 이로 인해 커뮤니티 검출을 더 정확하게 수행할 수 있게 된다.
또한, 커뮤니티 검출 프레임워크 장치는 객체 유사도 정보를 생성한 후, 객체 관계도를 생성하는 순서로 공간변환을 수행할 수도 있다.
도 8은 본 발명의 일 실시예에 따른 제1 객체 관계도로부터 제2 객체 유사도 정보를 생성하는 방법을 설명하기 위한 흐름도이다.
도 8을 참조하면, 커뮤니티 검출 프레임워크 장치는 제1 객체 관계도의 엣지 정보에 기초하여 복수의 노드 간 유사도를 산출한다(S810). 이때, 커뮤니티 검출 프레임워크 장치는 Structural Similarity, SimRank 등을 이용하여 노드 간 유사도를 산출할 수 있다.
단계 S810이 수행되면, 커뮤니티 검출 프레임워크 장치는 복수의 노드 각각에 대응하는 복수의 객체를 생성하고(S820), 복수의 노드 간 유사도를 대응하는 복수의 객체 간 유사도로 설정한다(S830).
그러면, 커뮤니티 검출 프레임워크 장치는 복수의 객체 및 복수의 객체간 유사도로 구성된 제1 객체 유사도 정보를 생성한다(S840). 이때, 제1 객체 유사도 정보는 대칭행렬 형태일 수 있다.
한편, 같은 커뮤니티 내 노드들의 유사도는 서로 다른 커뮤니티 간 노드들의 유사도 보다 높게 측정되므로, 커뮤니티 검출 프레임워크 장치는 제1 객체 유사도 정보를 기반으로 더욱 정확하게 커뮤니티를 검출할 수 있다.
도 9는 본 발명의 일 실시예에 따른 제1 객체 유사도 정보로부터 제2 객체 관계도를 생성하는 방법을 설명하기 위한 흐름도이다.
도 9를 참조하면, 커뮤니티 검출 프레임워크 장치는 제1 객체 유사도 정보내 복수의 객체 각각에 대응하는 복수의 노드를 설정하고(S910), 제1 객체 유사도 정보를 검색하여 복수의 객체 각각에 대해 유사도가 높은 순으로 일정 개수의 객체를 추출한다(S920).
그런 후, 커뮤니티 검출 프레임워크 장치는 복수의 객체 각각으로부터 추출된 일정 개수의 객체들을 엣지로 연결하여 제2 객체 관계도를 생성한다(S930). 이때, 커뮤니티 검출 프레임워크 장치는 K-Nearest Neighbor(KNN) 그래프, εNN 그래프 등을 이용하여 제2 객체 관계도를 생성할 수 있다.
제1 객체 유사도 정보는 이미 같은 커뮤니티 내 노드들의 유사도가 서로 다른 커뮤니티 간 노드들의 유사도 보다 높게 측정된 상태이므로, 커뮤니티 검출 프레임워크 장치가 높은 유사도 순으로 엣지를 다시 연결하면, 같은 커뮤니티 내 노드들의 밀도는 더 높아지고, 다른 커뮤니티 간 노드들의 밀도는 더 낮아질 수 있다. 따라서, 커뮤니티 검출 프레임워크 장치는 제2 객체 관계도를 기반으로 제1 객체 관계도보다 더 정확하게 커뮤니티를 검출할 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
100 : 커뮤니티 검출 프레임워크 장치
110 : 생성부
112 : 객체 유사도 생성모듈
114 : 객체 과녜도 생성모듈
120 : 검출부
122 : 제1 검출모듈
124 : 제2 검출모듈

Claims (13)

  1. 커뮤니티 검출 프레임워크 장치가 커뮤니티를 검출하는 방법에 있어서,
    복수의 노드(node) 및 상기 복수의 노드 간을 연결하는 엣지(edge)로 구성된 제1 객체 관계도의 엣지 정보에 기초하여 상기 복수의 노드 간 유사도를 산출하고, 상기 복수의 노드 각각에 대응하는 복수의 객체를 생성하며, 상기 복수의 노드간 유사도에 대응하여 설정된 복수의 객체 간 유사도로 구성된 제1 객체 유사도 정보를 생성하는 단계;
    상기 제1 객체 유사도 정보내 복수의 객체를 각각 노드로 설정하고, 상기 복수의 객체 간 유사도를 기반으로 상기 설정된 노드들을 엣지로 연결하여 제2 객체 관계도를 생성하는 단계; 및
    상기 제2 객체 관계도 또는 상기 제1 객체 유사도 정보에서 커뮤니티를 검출하는 단계
    를 포함하는 커뮤니티 검출 방법.
  2. 제1항에 있어서,
    상기 제2 객체 관계도를 생성하는 단계 이후,
    상기 제2 객체 관계도로부터 제2 객체 유사도 정보를 생성하고, 상기 제2 객체 유사도로 정보로부터 제3 객체 관계도를 생성하는 동작을 순차적으로 반복 수행하는 단계를 더 포함하는 커뮤니티 검출 방법.
  3. 제1항에 있어서,
    상기 제1 객체 유사도 정보를 생성하는 단계는
    상기 제1 객체 관계도를 입력받는 단계;
    상기 제1 객체 관계도의 엣지 정보에 기초하여 상기 복수의 노드 간 유사도를 산출하는 단계;
    상기 복수의 노드 각각에 대응하는 복수의 객체를 생성하는 단계;
    상기 복수의 노드 간 유사도를 대응하는 복수의 객체 간 유사도로 설정하는 단계; 및
    상기 복수의 객체 및 복수의 객체간 유사도로 구성된 제1 객체 유사도 정보를 생성하는 단계를 포함하는 것을 특징으로 하는 커뮤니티 검출 방법.
  4. 제3항에 있어서,
    상기 제1 객체 유사도 정보는
    대칭행렬 형태인 것을 특징으로 하는 커뮤니티 검출 방법.
  5. 제1항에 있어서,
    상기 제2 객체 관계도를 생성하는 단계는
    상기 제1 객체 유사도 정보내 복수의 객체 각각에 대응하는 복수의 노드를 설정하는 단계;
    상기 복수의 객체 각각에 대해 유사도가 높은 순으로 일정 개수의 객체를 검색하는 단계; 및
    상기 복수의 객체 각각으로부터 상기 검색된 일정 개수의 객체들로의 엣지들을 생성하는 단계를 포함하는 것을 특징으로 하는 커뮤니티 검출 방법.
  6. 제1항에 있어서,
    상기 커뮤니티를 검출하는 단계에서,
    상기 제2 객체 관계도에서 커뮤니티를 검출하는 경우, 노드간 엣지 정보를 이용하는 알고리즘을 적용하여 커뮤니티를 검출하고,
    상기 제1 객체 유사도 정보에서 커뮤니티를 검출하는 경우, 객체간 유사도를 이용하는 알고리즘을 적용하여 커뮤니티를 검출하는 것을 특징으로 하는 커뮤니티 검출 방법.
  7. 복수의 노드(node) 및 상기 복수의 노드 간을 연결하는 엣지(edge)로 구성된 제1 객체 관계도의 엣지 정보에 기초하여 상기 복수의 노드 간 유사도를 산출하고, 상기 복수의 노드 각각에 대응하는 복수의 객체를 생성하며, 상기 복수의 노드간 유사도에 대응하여 설정된 복수의 객체 간 유사도로 구성된 제1 객체 유사도 정보를 생성하고, 상기 제1 객체 유사도 정보내 복수의 객체 간 유사도를 기반으로 복수의 노드가 엣지로 연결된 제2 객체 관계도를 생성하는 생성부; 및
    상기 제2 객체 관계도 또는 상기 제1 객체 유사도 정보에서 커뮤니티를 검출하는 검출부
    를 포함하는 커뮤니티 검출 프레임워크 장치.
  8. 제7항에 있어서,
    상기 생성부는
    상기 제2 객체 관계도로부터 제2 객체 유사도 정보를 생성하고, 상기 제2 객체 유사도로 정보로부터 제3 객체 관계도를 생성하는 동작을 순차적으로 반복 수행하는 것을 특징으로 하는 커뮤니티 검출 프레임워크 장치.
  9. 제7항에 있어서,
    상기 생성부는
    상기 복수의 노드(node) 및 상기 복수의 노드 간을 연결하는 엣지(edge)로 구성된 제1 객체 관계도의 구조에 기반하여 상기 복수의 노드 간 유사도를 산출하고, 상기 복수의 노드간 유사도에 기초하여 복수의 객체 간 유사도로 구성된 제1 객체 유사도 정보를 생성하는 객체 유사도 정보 생성모듈; 및
    상기 제1 객체 유사도 정보내 복수의 객체를 각각 노드로 설정하고, 상기 복수의 객체 간 유사도를 기반으로 상기 설정된 노드들을 엣지로 연결하여 제2 객체 관계도를 생성하는 객체 관계도 생성모듈을 포함하는 것을 특징으로 하는 커뮤니티 검출 프레임워크 장치.
  10. 제9항에 있어서,
    상기 유사도 정보 생성모듈은
    상기 제1 객체 관계도의 엣지 정보에 기초하여 상기 복수의 노드 간 유사도를 산출하고, 상기 복수의 노드 각각에 대응하는 복수의 객체를 생성하며, 상기 복수의 노드 간 유사도를 대응하는 복수의 객체 간 유사도로 설정하고, 상기 복수의 객체 및 복수의 객체간 유사도로 구성된 제1 객체 유사도 정보를 생성하는 것을 특징으로 하는 커뮤니티 검출 프레임워크 장치.
  11. 제10항에 있어서,
    상기 제1 객체 유사도 정보는
    대칭행렬 형태인 것을 특징으로 하는 커뮤니티 검출 프레임워크 장치.
  12. 제9항에 있어서,
    상기 객체 관계도 생성모듈은
    상기 제1 객체 유사도 정보내 복수의 객체 각각에 대응하는 복수의 노드를 설정하고, 상기 복수의 객체 각각에 대해 유사도가 높은 순으로 일정 개수의 객체를 검색하며, 상기 복수의 객체 각각으로부터 상기 검색된 일정 개수의 객체들로의 엣지들을 생성하는 것을 특징으로 하는 커뮤니티 검출 프레임워크 장치.
  13. 제7항에 있어서,
    상기 검출부는
    상기 제2 객체 관계도에서 노드간 엣지 정보를 이용하는 알고리즘을 적용하여 커뮤니티를 검출하는 제1 검출모듈; 및
    상기 제1 객체 유사도 정보에서 객체간 유사도를 이용하는 알고리즘을 적용하여 커뮤니티를 검출하는 제2 검출모듈을 포함하는 것을 특징으로 하는 커뮤니티 검출 프레임워크 장치.
KR1020170120668A 2017-06-15 2017-09-19 커뮤니티 검출 방법 및 커뮤니티 검출 프레임워크 장치 KR101977231B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170076116 2017-06-15
KR20170076116 2017-06-15

Publications (2)

Publication Number Publication Date
KR20180137386A KR20180137386A (ko) 2018-12-27
KR101977231B1 true KR101977231B1 (ko) 2019-05-13

Family

ID=64953158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170120668A KR101977231B1 (ko) 2017-06-15 2017-09-19 커뮤니티 검출 방법 및 커뮤니티 검출 프레임워크 장치

Country Status (1)

Country Link
KR (1) KR101977231B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210121773A (ko) 2020-03-31 2021-10-08 영남대학교 산학협력단 커뮤니티 검출 장치 및 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102136222B1 (ko) * 2019-09-27 2020-07-21 주식회사 비트나인 그래프 데이터 클러스터링 시스템 및 방법과, 이를 위한 컴퓨터 프로그램
KR102462649B1 (ko) * 2020-09-10 2022-11-03 한양대학교 산학협력단 커뮤니티 탐색을 위한 그래프 재구성 전략
CN112579831B (zh) * 2020-11-18 2024-04-12 南京信息职业技术学院 基于SimRank全局矩阵平滑收敛的网络社区发现方法、装置及存储介质
CN112819048B (zh) * 2021-01-22 2024-03-29 中国空间技术研究院 用于星间动态网络的分布式社区检测方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008077403A (ja) * 2006-09-21 2008-04-03 Ntt Data Corp 評価装置、評価方法及び評価プログラム
JP2009205289A (ja) * 2008-02-26 2009-09-10 Nippon Telegr & Teleph Corp <Ntt> 興味体系グラフ形成装置、興味体系グラフ形成方法、および、興味体系グラフ形成プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008077403A (ja) * 2006-09-21 2008-04-03 Ntt Data Corp 評価装置、評価方法及び評価プログラム
JP2009205289A (ja) * 2008-02-26 2009-09-10 Nippon Telegr & Teleph Corp <Ntt> 興味体系グラフ形成装置、興味体系グラフ形成方法、および、興味体系グラフ形成プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210121773A (ko) 2020-03-31 2021-10-08 영남대학교 산학협력단 커뮤니티 검출 장치 및 방법

Also Published As

Publication number Publication date
KR20180137386A (ko) 2018-12-27

Similar Documents

Publication Publication Date Title
KR101977231B1 (ko) 커뮤니티 검출 방법 및 커뮤니티 검출 프레임워크 장치
Pham et al. The random cluster model for robust geometric fitting
CN106096066B (zh) 基于随机近邻嵌入的文本聚类方法
Wang et al. Learning context-sensitive similarity by shortest path propagation
TWI417748B (zh) 用於擴充一查詢之方法及電腦可讀取儲存媒體
EP2431918B1 (en) Graph lattice method for image clustering, classification, and repeated structure finding
Lou et al. Matchminer: Efficient spanning structure mining in large image collections
WO2014109127A1 (ja) インデックス生成装置及び方法並びに検索装置及び検索方法
EP3311311A1 (en) Automatic entity resolution with rules detection and generation system
JP2009282980A (ja) 画像学習、自動注釈、検索方法及び装置
CN111966793B (zh) 基于知识图谱的智慧问答方法、系统和知识图谱更新系统
JP2014157409A (ja) 情報処理装置及び情報処理プログラム
Zhou et al. Clustering with minimum spanning trees
CN110209780B (zh) 一种问题模板生成方法、装置、服务器及存储介质
CN106844338B (zh) 基于属性间依赖关系的网络表格的实体列的检测方法
CN114004364A (zh) 采样优化方法、装置、电子设备及存储介质
JP3903613B2 (ja) 検索装置及び検索プログラムを記録したコンピュータ読み取り可能な記録媒体
Wang et al. A novel efficient algorithm for determining maximum common subgraphs
KR102007896B1 (ko) 중첩 커뮤니티 검출 장치 및 방법
JP2011100208A (ja) 行動推定装置、行動推定方法および行動推定プログラム
Alqurashi et al. A new consensus function based on dual-similarity measurements for clustering ensemble
Cao et al. A bootstrapping framework with interactive information modeling for network alignment
Bhattacharjee et al. WSM: a novel algorithm for subgraph matching in large weighted graphs
CN115168326A (zh) Hadoop大数据平台分布式能源数据清洗方法及系统
CN104978729A (zh) 一种基于数据感知的图像哈希方法

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