KR20130098772A - 토픽 기반 커뮤니티 인덱스 생성장치, 토픽 기반 커뮤니티 검색장치, 토픽 기반 커뮤니티 인덱스 생성방법 및 토픽 기반 커뮤니티 검색방법 - Google Patents

토픽 기반 커뮤니티 인덱스 생성장치, 토픽 기반 커뮤니티 검색장치, 토픽 기반 커뮤니티 인덱스 생성방법 및 토픽 기반 커뮤니티 검색방법 Download PDF

Info

Publication number
KR20130098772A
KR20130098772A KR1020120020559A KR20120020559A KR20130098772A KR 20130098772 A KR20130098772 A KR 20130098772A KR 1020120020559 A KR1020120020559 A KR 1020120020559A KR 20120020559 A KR20120020559 A KR 20120020559A KR 20130098772 A KR20130098772 A KR 20130098772A
Authority
KR
South Korea
Prior art keywords
community
topic
communities
index
group
Prior art date
Application number
KR1020120020559A
Other languages
English (en)
Inventor
이지현
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020120020559A priority Critical patent/KR20130098772A/ko
Priority to US13/554,257 priority patent/US8972557B2/en
Publication of KR20130098772A publication Critical patent/KR20130098772A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Abstract

토픽 기반 커뮤니티 인덱스 생성 기술 및 토픽 기반 커뮤니티 검색 기술을 개시한다. 커뮤니티에 포함되는 노드들이 공통으로 가지되, 다른 커뮤니티들의 토픽과는 차별되는 토픽을 기반으로 커뮤니티 인덱스를 생성함으로써 방대하고 복잡한 네트워크에 포함되는 커뮤니티를 효율적으로 검색할 수 있는 기반을 마련한다.
또한, 커뮤니티에 포함되는 노드들이 공통으로 가지되, 다른 커뮤니티들의 토픽과는 차별되는 토픽을 기반으로 커뮤니티를 검색을 수행함으로써 방대하고 복잡한 네트워크에 포함되는 커뮤니티를 효율적으로 검색할 수 있다.

Description

토픽 기반 커뮤니티 인덱스 생성장치, 토픽 기반 커뮤니티 검색장치, 토픽 기반 커뮤니티 인덱스 생성방법 및 토픽 기반 커뮤니티 검색방법{Topic-based community index generation apparatus, topic-based community searching apparatus, topic-based community index generation method and topic-based community searching method}
검색 기술과 관련한 것으로, 특히 토픽 기반으로 커뮤니티 인덱스를 생성하고, 토픽 기반으로 커뮤니티를 검색하는 기술에 관한 것이다.
일반적으로 네트워크(network)는 노드(node)와 노드들 간의 관계를 나타내는 에지(edge)로 표현될 수 있다. 한편, 커뮤니티(community)는 서로 연결이 밀접한 서브 네트워크를 말하며, 커뮤니티의 수, 커뮤니티의 규모, 커뮤니티들 간의 관계 등은 네트워크의 전반적인 특징을 설명할 수 있는 요소이다.
최근 트위터(Twiter), 페이스북(Facebook)으로 대표되는 소셜 네트워크(social network)가 사용자들의 관심사와 정보 공유의 장으로 각광받고 있으며, 정치, 문화, 경제에 미치는 영향력이 막강해짐에 따라 커뮤니티 정보를 활용한 다양한 서비스가 개발되고 있고, 이에 따라 커뮤니티 검색의 중요성이 강조되고 있다.
예를 들어, 'PatientLikeMe'와 같은 환자간 소셜 네트워크(social network)상에서 특정 환자 혹은 특정 질환에 대한 커뮤니티를 검색할 수 있다면, 질환 및 질환별 관계에 대한 트랜드 분석, 커뮤니티 정보를 활용한 유사 환자 검색 및 이를 통한 효과적인 질환 관리 등이 가능할 것이다.
그러나, 네트워크가 방대해지고 복잡해짐에 따라 기존의 검색 기술은 효율적인 커뮤니티 검색에 한계가 있다. 따라서, 보다 정확하고 자동화된 효율적인 커뮤니티 검색 기법에 대한 필요성이 있다.
방대하고 복잡한 네트워크에 포함되는 커뮤니티를 효율적으로 검색할 수 있도록, 커뮤니티에 포함되는 노드들이 공통으로 가지되, 다른 커뮤니티들의 토픽과는 차별되는 토픽을 기반으로 커뮤니티 인덱스를 생성할 수 있는 토픽 기반 커뮤니티 인덱스 생성 기술을 제공한다.
또한, 커뮤니티에 포함되는 노드들이 공통으로 가지되, 다른 커뮤니티들의 토픽과는 차별되는 토픽을 기반으로 검색을 수행함으로써 방대하고 복잡한 네트워크에 포함되는 커뮤니티를 효율적으로 검색할 수 있는 토픽 기반 커뮤니티 검색 기술을 제공한다.
일 양상에 따르면, 토픽 기반 커뮤니티 인덱스 생성장치가 토픽(topic)별로 커뮤니티(community)들을 그룹화하고, 커뮤니티 그룹과 관련된 커뮤니티 인덱스(community index)를 생성하는 커뮤니티 인덱스 생성부와, 상기 커뮤니티 인덱스를 저장하는 커뮤니티 인덱스 저장부를; 포함할 수 있다.
부가적인 양상에 따르면, 상기 커뮤니티 인덱스는 토픽 카테고리간 계층 구조(hierarchical structure)와, 토픽 카테고리별 커뮤니티 그룹 정보(group information) 및 커뮤니티 그룹간 연관 관계(relationship)중 적어도 하나가 기술될 수 있다.
부가적인 양상에 따르면, 상기 커뮤니티 인덱스 생성부는 상기 커뮤니티의 시드 노드(seed node)를 선택하고, 상기 선택된 시드 노드의 이웃 노드들을 탐색하여, 상기 시드 노드를 포함하는 커뮤니티(community)들을 추출하는 커뮤니티 추출부; 상기 추출된 커뮤니티들을 포함하는 커뮤니티 네트워크(community network)를 생성하고, 각 커뮤니티를 대표하는 토픽(topic)을 결정하고, 상기 커뮤니티들을 토픽 카테고리별로 그룹화하는 커뮤니티 네트워크 관리부 및; 상기 토픽 카테고리간 계층 구조(hierarchical structure)와, 상기 토픽 카테고리별 커뮤니티 그룹 정보(group information) 및 상기 커뮤니티 그룹간 연관 관계(relationship)를 분석하고, 분석된 토픽 카테고리간 계층 구조와, 토픽 카테고리별 커뮤니티 그룹 정보 및 커뮤니티 그룹간 연관 관계중 적어도 하나가 기술된 커뮤니티 인덱스(community index)를 생성하는 커뮤니티 인덱스 관리부를; 포함할 수 있다.
부가적인 양상에 따르면, 상기 커뮤니티 추출부는 상기 커뮤니티의 시드 노드(seed node)를 선택하는 시드 노드 선택부; 상기 선택된 시드 노드의 이웃 노드들을 탐색하는 이웃 노드 탐색부 및; 상기 선택된 시드 노드와, 상기 탐색된 이웃 노드들을 커뮤니티 구성원으로 하는 커뮤니티(community)를 결정하는 커뮤니티 결정부를; 포함할 수 있다.
부가적인 양상에 따르면, 상기 시드 노드 선택부는 이미 추출된 커뮤니티에 속하지 않는 노드를 시드 노드로 선택할 수 있다.
부가적인 양상에 따르면, 상기 시드 노드 선택부는 이미 추출된 커뮤니티에 속하지 않는 노드가 복수일 경우, 이들 중 임의의 하나의 노드를 시드 노드로 선택할 수 있다.
부가적인 양상에 따르면, 상기 커뮤니티 네트워크 관리부는 상기 추출된 커뮤니티들을 포함하는 커뮤니티 네트워크(community network)를 생성하는 커뮤니티 네트워크 생성부; 상기 생성되는 커뮤니티 네트워크에 포함되는 각 커뮤니티를 대표하는 토픽(topic)을 결정하는 토픽 결정부 및; 상기 토픽이 결정된 각 커뮤니티들을 토픽 카테고리별로 그룹화하여 분류하는 커뮤니티 분류부를; 포함할 수 있다.
부가적인 양상에 따르면, 상기 토픽 결정부는 커뮤니티에 포함되는 노드들이 공통으로 가지되, 다른 커뮤니티들의 토픽과는 차별되는 토픽을 해당 커뮤니티의 토픽으로 결정할 수 있다.
부가적인 양상에 따르면, 상기 토픽 결정부는 미리 구축된 토픽 온톨로지 모델(topic ontology model) 데이터베이스를 참조해 커뮤니티에 포함되는 각 노드들의 토픽 집합을 결정하고, 각 노드들의 토픽 집합으로부터 노드들이 공통으로 가지는 토픽을 검색할 수 있다.
부가적인 양상에 따르면, 상기 커뮤니티 분류부는, 동일한 커뮤니티 네트워크에 속하나, 다른 토픽 카테고리의 커뮤니티 그룹에 속하는 커뮤니티들 간의 연관 관계는 유지시킬 수 있다.
부가적인 양상에 따르면, 상기 커뮤니티 인덱스 관리부는 토픽 카테고리간 계층 구조를 분석하는 계층 구조 분석부; 토픽 카테고리별 커뮤니티 그룹 정보를 분석하는 커뮤니티 그룹 정보 분석부; 토픽 카테고리별로 그룹화된 커뮤니티 그룹간 연관 관계를 분석하는 그룹 연관 관계 분석부 및; 상기 토픽 카테고리간 계층 구조와, 상기 토픽 카테고리별 커뮤니티 그룹 정보 및 상기 커뮤니티 그룹간 연관 관계중 적어도 하나가 기술된 커뮤니티 인덱스를 생성하는 커뮤니티 인덱스 처리부를;포함할 수 있다.
부가적인 양상에 따르면, 상기 계층 구조 분석부는 미리 구축된 토픽 온톨로지 모델(topic ontology model) 데이터베이스를 참조해 상기 토픽 카테고리간 계층 구조를 파악할 수 있다.
부가적인 양상에 따르면, 상기 커뮤니티 그룹 정보 분석부는 각 토픽 카테고리별 커뮤니티 그룹에 속하는 커뮤니티를 파악하고, 각 토픽 카테고리별 커뮤니티 그룹 식별정보에 매핑시켜 각 토픽 카테고리별 커뮤니티 그룹에 속하는 커뮤니티 목록을 작성할 수 있다.
부가적인 양상에 따르면, 상기 그룹 연관 관계 분석부는 특정 토픽 카테고리의 커뮤니티 그룹에 포함되는 커뮤니티들과, 타 토픽 카테고리의 커뮤니티 그룹에 속한 커뮤니티들 간의 연관 관계를 파악하여 상기 커뮤니티 그룹간 연관 관계를 분석할 수 있다.
또 다른 양상에 따르면, 토픽 기반 커뮤니티 검색장치는 검색조건 정보를 입력받고, 검색조건 정보에 대응하는 커뮤니티 그룹(community group)을 커뮤니티 인덱스(community index) 데이터베이스로부터 검색하는 커뮤니티 검색부 및; 상기 검색된 커뮤니티 그룹과 관련한 커뮤니티 정보를 포함하는 커뮤니티 검색결과를 생성하고, 이를 출력하는 검색결과 생성부를; 포함할 수 있다.
부가적인 양상에 따르면, 상기 검색조건 정보는 토픽(topic)과, 검색 타입(search type)을 포함할 수 있다.
부가적인 양상에 따르면, 상기 검색 타입은 토픽과 직접 관련되는 커뮤니티 그룹에 포함되는 커뮤니티들을 검색하는 제1타입일 수 있다.
부가적인 양상에 따르면, 상기 커뮤니티 검색부는 상기 커뮤니티 인덱스 데이터베이스로부터 검색조건 정보에 포함되는 토픽의 계층 구조와, 해당 토픽에 대응하는 커뮤니티 그룹과, 해당 커뮤니티 그룹에 속한 커뮤니티들을 검색할 수 있다.
부가적인 양상에 따르면, 상기 검색 타입은 토픽과 직접 관련되지 않지만, 토픽과 직접 관련된 커뮤니티들과 중첩된 커뮤니티 그룹에 포함되는 커뮤니티들을 검색하는 제2타입일 수 있다.
부가적인 양상에 따르면, 상기 커뮤니티 검색부는 상기 커뮤니티 인덱스 데이터베이스로부터 검색조건 정보에 포함되는 토픽의 계층 구조와, 해당 토픽에 대응하는 커뮤니티 그룹에 포함되는 커뮤니티 중 적어도 하나와 중첩되지만, 해당 토픽에 대응되지는 않는(다른 토픽을 갖는) 중첩 커뮤니티 그룹과, 상기 중첩 커뮤니티 그룹에 속하는 커뮤니티들을 검색할 수 있다.
부가적인 양상에 따르면, 상기 커뮤니티 그룹과 관련한 커뮤니티 정보는 상기 검색된 커뮤니티 그룹에 포함되는 커뮤니티 목록과, 각 커뮤니티들의 타 커뮤니티와의 연관 관계를 포함할 수 있다.
커뮤니티에 포함되는 노드들이 공통으로 가지되, 다른 커뮤니티들의 토픽과는 차별되는 토픽을 기반으로 커뮤니티 인덱스를 생성할 수 있으므로, 방대하고 복잡한 네트워크에 포함되는 커뮤니티를 효율적으로 검색할 수 있는 기반을 마련할 수 있다.
또한, 커뮤니티에 포함되는 노드들이 공통으로 가지되, 다른 커뮤니티들의 토픽과는 차별되는 토픽을 기반으로 커뮤니티를 검색할 수 있으므로, 방대하고 복잡한 네트워크에 포함되는 커뮤니티를 효율적으로 검색할 수 있다.
도 1 은 파벌 여과 알고리즘(CPA)으로 추출한 커뮤니티의 일 예를 도시한 도면이다.
도 2 는 커뮤니티내에 토픽에 따른 서브 커뮤니티들이 내포된 예를 도시한 도면이다.
도 3 은 토픽 기반 커뮤니티 인덱스 생성장치의 일 실시예의 구성을 도시한 블럭도이다.
도 4 는 토픽 기반 커뮤니티 인덱스 생성장치의 커뮤니티 인덱스 생성부의 일 실시예의 구성을 도시한 블럭도이다.
도 5 는 커뮤니티 결정 개요도이다.
도 6 은 토픽 온톨로지(topic ontology)의 일 예를 도시한 도면이다.
도 7 은 커뮤니티들을 토픽 카테고리별로 분류한 일 예를 도시한 도면이다.
도 8 은 커뮤니티 인덱스(community index)의 일 예를 도시한 도면이다.
도 9 는 본 발명에 따른 토픽 기반 커뮤니티 검색장치의 일 실시예의 구성을 도시한 블럭도이다.
도 10 은 질의 토픽과 직접 관련되는 커뮤니티 그룹에 포함되는 커뮤니티들을 검색하는 경우의 일 예를 도시한 도면이다.
도 11 은 질의 토픽과 직접적으로 관련되지는 않지만, 질의 토픽과 직접적으로 관련된 커뮤니티들과 중첩되는 커뮤니티들을 검색하는 일 예를 도식한 도면이다.
도 12 는 토픽 기반 커뮤니티 인덱스 생성방법의 일 실시예의 구성을 도시한 흐름도이다.
도 13 은 본 발명에 따른 토픽 기반 커뮤니티 검색방법의 일 실시예의 구성을 도시한 흐름도이다.
이하, 첨부된 도면을 참조하여 기술되는 실시예를 통하여 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다.
발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 발명 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
명세서 전반에 걸쳐 사용되는 용어들은 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서, 사용자 또는 운용자의 의도, 관례 등에 따라 충분히 변형될 수 있는 사항이므로, 이 용어들의 정의는 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
일반적으로 네트워크(network)상의 노드(node)들은 자신을 설명하는 다양한 토픽(topic)들을 가지고 있고, 그 토픽들을 기반으로 다른 노드들과 연결을 맺을 수 있다. 즉, 각 노드는 토픽을 기반으로 다양한 커뮤니티(community)에 속할 수 있다. 일반적으로 사용자들은 그들의 현재 관심사에 맞는 커뮤니티를 찾고자 하는 경향이 있다. 예컨대, 토픽(topic)은 네트워크(network)상의 노드(node)를 대표할 수 있는 키워드일 수 있다.
현재까지의 검색 기법들은 네트워크의 구조적인 정보(topology structure)만을 고려하고, 노드간 연결 관계가 갖는 토픽의 다양성은 고려하지 않았기 때문에 특정 토픽에 맞는 커뮤니티를 효과적으로 추출하는데 한계가 있었다.
예를 들어, 도 1 은 파벌 여과 알고리즘(CPA : Clique Percolation Algorithm)으로 추출한 커뮤니티의 일 예를 도시한 도면이다. 각 커뮤니티 C1과 C2는 적어도 하나의 노드(u1 내지 u16)를 공유하는 다수의 파벌(clique)들로 구성된다. 각 커뮤니티는 다양한 토픽을 갖는 커뮤니티들을 내포하고 있다. 커뮤니티 C1, C2는 AI, DB, RDB, GraphDB 토픽을 갖는 노드들이 파벌을 형성하고 있음을 볼 수 있다.
도 2 는 커뮤니티내에 토픽에 따른 서브 커뮤니티들이 내포된 예를 도시한 도면이다. 커뮤니티 C1, C2내에는 토픽 AI, DB, RDB, GraphDB에 속하는 노드(u1 내지 u16)들을 포함하는 서브 커뮤니티(점선으로 표시됨)들이 중첩되어 있음을 볼 수 있다.
만일, 사용자가 GraphDB 토픽을 가지는 커뮤니티를 찾고자할 경우, 기존 검색 기법들은 커뮤니티들 간의 구조적/의미적 관계 파악이 곤란하여 실제 사용자가 원하는 커뮤니티와는 상관없는 커뮤니티들이 검색될 가능성이 매우 크다. 따라서, 커뮤니티들 간의 구조적/의미적 관계 파악하기 위한 추가적인 커뮤니티 분석이 불가피하다.
그런데, 커뮤니티들 간의 구조적/의미적 관계 파악하기 위한 추가적인 커뮤니티 분석을 위해서는 네트워크 전체를 분석해야하므로, 네트워크가 방대한 경우 질의 처리 시간이 매우 길다.
따라서, 네트워크상의 노드들이 갖는 토픽의 다양성, 토픽들 간의 계층관계, 커뮤니티들 간의 구조적 중첩성을 고려한 토픽 기반 커뮤니티 인덱스를 구축하고, 커뮤니티 검색시 미리 저장된 커뮤니티 인덱스를 참조하여 사용자가 원하는 커뮤니티를 보다 정확하고 신속하게 제공할 수 있는 기술을 제안한다.
도 3 은 토픽 기반 커뮤니티 인덱스 생성장치의 일 실시예의 구성을 도시한 블럭도이다. 도 3 에 도시한 바와 같이, 이 실시예에 따른 토픽 기반 커뮤니티 인덱스 생성장치(10)는 커뮤니티 인덱스 생성부(100)와, 커뮤니티 인덱스 저장부(200)를 포함하도록 구현될 수 있다.
커뮤니티 인덱스 생성부(100)는 토픽(topic)별로 커뮤니티(community)들을 그룹화하고, 커뮤니티 그룹과 관련된 커뮤니티 인덱스(community index)를 생성한다.
이 때, 상기 커뮤니티 인덱스는 토픽 카테고리간 계층 구조(hierarchical structure)와, 토픽 카테고리별 커뮤니티 그룹 정보(group information) 및 커뮤니티 그룹간 연관 관계(relationship)중 적어도 하나가 기술될 수 있다.
이 때, 커뮤니티 인덱스 생성부(100)가 토픽 온톨로지 모델(topic ontology model) 데이터베이스(300)를 참조해 토픽 카테고리간 계층 구조를 파악하도록 구현될 수 있다. 토픽 카테고리간 계층 구조 파악과 관련해서는 추후 구체적으로 설명한다.
커뮤니티 인덱스 저장부(200)는 커뮤니티 인덱스 생성부(100)에 의해 생성된 커뮤니티 인덱스를 저장한다. 예컨대, 커뮤니티 인덱스 저장부(200)가 커뮤니티 인덱스 데이터베이스(400)에 커뮤니티 인덱스를 저장하도록 구현될 수 있다.
이에 따라, 네트워크상의 노드들이 갖는 토픽의 다양성, 토픽들 간의 계층관계, 커뮤니티들 간의 구조적 중첩성 등의 연관 관계를 고려한 토픽 기반 커뮤니티 인덱스를 구축할 수 있고, 커뮤니티 검색시 미리 저장된 커뮤니티 인덱스를 참조하여 사용자가 원하는 커뮤니티를 보다 정확하고 신속하게 제공할 수 있는 기반을 제공할 수 있다.
도 4 는 토픽 기반 커뮤니티 인덱스 생성장치의 커뮤니티 인덱스 생성부의 일 실시예의 구성을 도시한 블럭도이다. 도 4 에 도시한 바와 같이, 이 실시예에 따른 커뮤니티 인덱스 생성부(100)는 커뮤니티 추출부(110)와, 커뮤니티 네트워크 관리부(120)와, 커뮤니티 인덱스 관리부(130)를 포함하도록 구현될 수 있다.
커뮤니티 추출부(110)는 커뮤니티의 시드(seed)가 되는 시드 노드(seed node)를 선택하고, 시드 노드의 이웃 노드들을 탐색하여, 시드 노드를 포함하는 커뮤니티(community)들을 추출하도록 구현될 수 있다. 예컨대, 커뮤니티 추출부(110)는 시드 노드 선택부(111)와, 이웃 노드 탐색부(112)와, 커뮤니티 결정부(113)를 포함할 수 있다.
시드 노드 선택부(111)는 커뮤니티의 시드(seed)가 되는 시드 노드(seed node)를 선택한다. 이 때, 시드 노드 선택부(111)는 이미 추출된 커뮤니티에 속하지 않는 노드를 시드 노드로 선택하도록 구현할 수 있다. 한편, 시드 노드 선택부(111)는 이미 추출된 커뮤니티에 속하지 않는 노드가 복수일 경우, 이들 중 임의의 하나의 노드를 시드 노드로 선택하도록 구현될 수도 있다.
도 5 는 커뮤니티 결정 개요도이다. 시드 노드 선택부(111)는 네트워크 G에서 이미 추출된 커뮤니티에 속하지 않는 노드 s를 선택한다. 노드 s는 네트워크상에서 독립적인 하나의 커뮤니티 구성의 시작이 되는 시드 노드가 된다. 이 때, 시드 노드는 커뮤니티의 기본 단위인 k-파벌(clique)의 구성 노드가 되어야 하므로, 선택되는 시드 노드의 에지 수(edge degree)는 최소한 k-1 이상이 될 수 있다.
이웃 노드 탐색부(112)는 시드 노드 선택부(111)에 의해 선택된 시드 노드의 이웃 노드들을 탐색한다. 예컨대, 이웃 노드 탐색부(112)가 가장 가까운 노드부터 차례로 확장해 가면서 이웃하는 노드를 탐색하는 트리 탐색 알고리즘(tree search algorithm) 등을 이용해 시드 노드의 이웃 노드들을 탐색하도록 구현될 수 있다.
커뮤니티 결정부(113)는 시드 노드 선택부(111)에 의해 선택된 시드 노드와, 이웃 노드 탐색부(112)에 의해 탐색된 이웃 노드들을 커뮤니티 구성원으로 하는 커뮤니티(community)를 결정한다. 이 때, 커뮤니티는 지역성을 가지므로, 효율적인 메모리 관리 및 커뮤니티 인덱스 구축을 위해 한번에 특정 시드 노드로부터 확장된 하나의 최대한의 커뮤니티를 결정할 수 있다.
시드 노드의 이웃 노드들이 차례로 탐색되면, 커뮤니티 결정부(113)는 시드 노드와, 탐색된 이웃 노드들을 커뮤니티 구성원으로 하는 커뮤니티 즉, 도 5 에 도시한 바와 같은 k-파벌 Ck를 결정한다. 커뮤니티 결정부(113)에 의해 결정된 커뮤니티는 고유한 커뮤니티 id를 가지며, 커뮤니티를 구성하는 노드들의 id 리스트를 유지한다.
커뮤니티 네트워크 관리부(120)는 커뮤니티 추출부(110)에 의해 추출된 커뮤니티들을 포함하는 커뮤니티 네트워크(community network)를 생성하고, 각 커뮤니티를 대표하는 토픽(topic)을 결정하고, 커뮤니티들을 토픽 카테고리별로 그룹화한다. 예컨대, 커뮤니티 네트워크 관리부(120)는 커뮤니티 네트워크 생성부(121)와, 토픽 결정부(122)와, 커뮤니티 분류부(123)를 포함할 수 있다.
커뮤니티 네트워크 생성부(121)는 커뮤니티 추출부(110)에 의해 추출된 커뮤니티들을 포함하는 커뮤니티 네트워크(community network)를 생성한다. 커뮤니티 네트워크에서 각 노드는 각 커뮤니티들인 k-파벌의 구성원이며, 에지(edge)는 각 커뮤니티들인 파벌들 간의 중첩 관계를 나타낸다.
여기서, 파벌들 간의 중첩이란 두 파벌이 적어도 하나의 노드를 공유함을 의미한다. 즉, 커뮤니티 네트워크에서 이웃한 두 커뮤니티는 공통된 적어도 하나의 노드를 갖을 수 있다.
한편, 커뮤니티 네트워크 생성부(121)는 초기 하나의 커뮤니티 즉, 파벌로부터 커뮤니티 네트워크를 확장할 수 있다. 커뮤니티 네트워크에 포함된 커뮤니티 즉, 파벌들에 속한 노드들과 이웃한 노드들을 탐색하여 점진적으로 커뮤니티 네트워크를 확장해 나간다.
커뮤니티 네트워크에 포함된 커뮤니티 즉, 파벌들과 적어도 하나의 노드를 공유하는 다른 커뮤니티를 찾아 커뮤니티 네트워크에 추가하며, 더 이상 추가되는 커뮤니티가 나오지 않을 때까지 반복한다. 완성된 커뮤니티 네트워크는 하나의 독립적인 최대한의 커뮤니티 네트워크가 된다.
토픽 결정부(122)는 커뮤니티 네트워크 생성부(121)에 의해 생성되는 커뮤니티 네트워크에 포함되는 각 커뮤니티를 대표하는 토픽(topic)을 결정한다. 이 때, 토픽 결정부(122)가 커뮤니티에 포함되는 노드들이 공통으로 가지되, 다른 커뮤니티들의 토픽과는 차별되는 토픽을 해당 커뮤니티의 토픽으로 결정하도록 구현될 수 있다.
한편, 토픽 결정부(122)가 미리 구축된 토픽 온톨로지 모델(topic ontology model) 데이터베이스(300)를 참조해 커뮤니티에 포함되는 각 노드들의 토픽 집합을 결정하고, 각 노드들의 토픽 집합으로부터 노드들이 공통으로 가지는 토픽을 검색하도록 구현될 수 있다.
토픽 온톨로지(topic ontology)는 토픽들 간의 의미적 계층 관계(semantic hierarchical structure)를 기술한 것이다. 부모 토픽은 자식 토픽을 포함하는 상위개념이다. 도 6 은 토픽 온톨로지(topic ontology)의 일 예를 도시한 도면으로, 질병들간의 계층 구조를 보여준다. 예를 들어, 허혈성 심질환(ischemic heart disease)은 순환계 질환(diseases of the circular system)의 한 종류로 전자는 후자의 서브 토픽(sub-topic)중 하나이다.
예컨대, k-파벌(clique) c의 토픽 집합 Tc = {t1,..., tk}는 다음과 같이 결정될 수 있다. 토픽 ti는 파벌 c를 구성하는 노드들의 토픽 셋(topic set)간의 k-조합(combination)에 속한 토픽들의 최소한의 공통된 원형 토픽(lowest common ancestor topic)이며, 이는 미리 구현된 토픽 온톨로지(topic ontology) 모델 데이터베이스(300)에서 찾는다. 토픽 ti는 토픽 집합 Tc 내에 주어진 토픽 온톨로지(topic ontology)상에서의 어떤 서브 토픽(sub-topic)도 포함하지 않는다.
이러한 방법으로 커뮤니티 즉, 파벌을 구성하는 노드들이 공통적으로 가지며, 다른 커뮤니티들의 토픽과는 차별되는 토픽 셋(topic set)을 각 커뮤니티의 토픽 셋(topic set)으로 선택한다.
예를 들어, 커뮤니티 즉, 파벌 c가 3개의 노드(n1, n2, n3)로 구성 즉, c = {n1, n2, n3}가 되고, 각 노드들의 토픽들이 t(n1) = {acute myocardial infraction(MI)}, t(n2) = {anginia decubitus(AD), hypertensive disease(HT)}, t(n3) = {coronary atherosclerosis(CA)}라 가정하자.
t(n1) × t(n2) × t(n3) = {(MI,AD,CA), (MI,HT,CA)}이며, 도 6 에 도시한 토픽 온톨로지(topic ontology)에 의거한 각 3-조합(combination)의 최소한의 공통된 원형 토픽(lowest common ancestor)는 {'ischemic heart disease', 'diseases of the circulatory system'}이다. 'ischemic heart disease'는 'diseases of the circular system'의 서브 토픽(sub-topic)이므로, 파벌 c의 토픽은 {'ischemic heart disease'}가 될 수 있다.
커뮤니티 분류부(123)는 토픽 결정부(122)에 의해 토픽이 결정된 각 커뮤니티들을 토픽 카테고리별로 그룹화하여 분류한다. 이 때, 커뮤니티 분류부(123)가 동일한 커뮤니티 네트워크에 속하나, 다른 토픽 카테고리의 커뮤니티 그룹에 속하는 커뮤니티들 간의 연관 관계는 유지시키도록 구현될 수 있다.
도 7 은 커뮤니티들을 토픽 카테고리별로 분류한 일 예를 도시한 도면으로, 2개의 커뮤니티 네트워크 N1, N2에 속한 커뮤니티들(C1 내지 C15)이 5개의 토픽 카테고리(t2 내지 t6)별로 커뮤니티 그룹(G1 내지 G6)으로 분류되었음을 볼 수 있다. 한편, 토픽 카테고리별로 분류된 커뮤니티 그룹에 속하는 커뮤니티들 간의 연관 관계는 직선으로 도시한 바와 같이 유지되고 있음을 볼 수 있다.
이 때, 커뮤니티 분류부(123)가 각 커뮤니티 즉, 파벌(clique)에 해당 커뮤니티가 커뮤니티 그룹(topic group) 식별을 위한 커뮤니티 그룹 id를 할당할 수 있다. 새로운 커뮤니티가 커뮤니티 네트워크에 추가될 때, 같은 토픽을 갖는 타 커뮤니티에 할당된 커뮤니티 그룹 id를 새로이 추가되는 커뮤니티에 할당할 수 있다, 만약, 새로이 추가되는 커뮤니티와 같은 토픽을 갖는 커뮤니티가 없을 경우에는 새로이 추가되는 커뮤니티에 새로운 커뮤니티 그룹 id를 할당할 수 있다.
한편, 커뮤니티 즉, 파벌(clique)이 하나 이상의 토픽을 갖는 경우, 토픽 셋(topic set) 자체를 하나의 독립적인 토픽 카테고리로 간주하고, 토픽 셋(topic set)에 대한 커뮤니티 그룹 관리를 수행하도록 구현할 수도 있다. 예를 들어, 도 7 에 도시한 커뮤니티 C4, C5, C6는 토픽 셋 {t3, t4}를 가지며, 이들은 토픽 카테고리 t4에 속하는 커뮤니티 그룹 G3의 커뮤니티와 연관 관계를 가지고 있음에도 불구하고, 별개의 커뮤니티 그룹 G2를 형성하고 있음을 볼 수 있다.
커뮤니티 인덱스 관리부(130)는 커뮤니티 네트워크 관리부(120)에 의해 커뮤니티들이 토픽 카테고리별로 그룹화되면, 토픽 카테고리간 계층 구조(hierarchical structure)와, 토픽 카테고리별 커뮤니티 그룹 정보(group information) 및 커뮤니티 그룹간 연관 관계(relationship)를 분석하고, 분석된 토픽 카테고리간 계층 구조와, 토픽 카테고리별 커뮤니티 그룹 정보 및 커뮤니티 그룹간 연관 관계중 적어도 하나가 기술된 커뮤니티 인덱스(community index)를 생성한다.
예컨대, 커뮤니티 인덱스 관리부(130)가 계층 구조 분석부(131)와, 커뮤니티 그룹 정보 분석부(132)와, 그룹 연관 관계 분석부(133)와, 커뮤니티 인덱스 처리부(134)를 포함하도록 구현될 수 있다.
계층 구조 분석부(131)는 토픽 카테고리간 계층 구조를 분석한다. 예컨대, 계층 구조 분석부(131)가 미리 구축된 토픽 온톨로지 모델(topic ontology model) 데이터베이스(300)를 참조해 토픽 카테고리간 계층 구조를 파악하도록 구현될 수 있다.
커뮤니티 그룹 정보 분석부(132)는 토픽 카테고리별 커뮤니티 그룹 정보 분석한다. 이 때, 커뮤니티 그룹 정보 분석부(132)가 각 토픽 카테고리별 커뮤니티 그룹에 속하는 커뮤니티를 파악하고, 각 토픽 카테고리별 커뮤니티 그룹 식별정보에 매핑시켜 각 토픽 카테고리별 커뮤니티 그룹에 속하는 커뮤니티 목록을 작성하도록 구현될 수 있다. 예컨대, 토픽 카테고리별 커뮤니티 그룹 식별정보는 커뮤니티 그룹 id일 수 있다.
그룹 연관 관계 분석부(133)는 토픽 카테고리별로 그룹화된 커뮤니티 그룹간 연관 관계를 분석한다. 예컨대, 그룹 연관 관계 분석부(133)가 특정 토픽 카테고리의 커뮤니티 그룹에 포함되는 커뮤니티들과, 타 토픽 카테고리의 커뮤니티 그룹에 속한 커뮤니티들 간의 연관 관계를 파악하여 커뮤니티 그룹간 연관 관계를 분석하도록 구현될 수 있다. 이 때, 커뮤니티들 간의 연관 관계가 커뮤니티들 간의 구조적 중첩성일 수 있다.
커뮤니티 인덱스 처리부(134)는 계층 구조 분석부(131)에 의해 분석된 토픽 카테고리간 계층 구조와, 커뮤니티 그룹 정보 분석부(132)에 의해 분석된 토픽 카테고리별 커뮤니티 그룹 정보와, 그룹 연관 관계 분석부(133)에 의해 분석된 커뮤니티 그룹간 연관 관계중 적어도 하나가 기술된 커뮤니티 인덱스(community index)를 생성한다.
커뮤니티 인덱스 처리부(134)에 의해 생성되는 커뮤니티 인덱스(community index)는 토픽 카테고리간의 연결 사슬로 구성된 방향성 비순환 그래프(DAG : Directed Acyclic Graph) 구조를 갖을 수 있다.
예컨대, 토픽 카테고리는 토픽 카테고리 id를 포함할 수 있다. 토픽 카테고리들 간에는 토픽 온톨로지(topic ontology)의 계층 관계에 따른 서브 토픽(sub-topic) 연관 관계가 형성될 수 있다.
서브 토픽(sub-topic) 연관 관계에 따라 연결된 상위 카테고리의 토픽 셋(topic set)은 하위 카테고리의 토픽 셋에 자기 자신 혹은 자신에 종속되는 종속 토픽(descendent topic)을 포함할 수 있다.
한편, 서로 다른 두 토픽 카테고리 간에는 양 토픽 카테고리에 각각 속하는 커뮤니티 그룹간 연관 관계(IGE : Inter-Group Edge)를 유지하도록 구현될 수 있다. 예컨대, 두 토픽 카테고리 ti, tj에 각각 속하는 두 커뮤니티 그룹 Gm, Gn에 속한 각 커뮤니티 Cx, Cy들의 연관 관계가 <Gm, Gn, Cx, Cy>로 기술되었다면, 토픽 카테고리 ti의 커뮤니티 그룹 Gm과 토픽 카테고리 tj의 커뮤니티 그룹 Gn은 커뮤니티 Cx와 커뮤니티 Cy에 의해 연결되었다고 정의될 수 있다.
도 8 은 커뮤니티 인덱스(community index)의 일 예를 도시한 도면이다. 도 8 에서 사각 박스는 토픽 카테고리를, 직선 화살표는 토픽 카테고리간 계층 구조를, 점선은 서로 다른 두 토픽 카테고리에 각각 속하는 두 커뮤니티 그룹간 연관 관계(IGE : Inter-Group Edge)를 나타낸다.
따라서, 이와 같이 구현함에 의해 이 실시예에 따른 토픽 기반 커뮤니티 인덱스 생성장치는 네트워크상의 노드들이 갖는 토픽의 다양성, 토픽들 간의 계층관계, 커뮤니티들 간의 구조적 중첩성 등의 연관 관계를 고려한 토픽 기반 커뮤니티 인덱스를 구축할 수 있고, 커뮤니티 검색시 미리 저장된 커뮤니티 인덱스를 참조하여 사용자가 원하는 커뮤니티를 보다 정확하고 신속하게 제공할 수 있는 기반을 제공할 수 있다.
도 9 는 본 발명에 따른 토픽 기반 커뮤니티 검색장치의 일 실시예의 구성을 도시한 블럭도이다. 도 9 에 도시한 바와 같이, 이 실시예에 따른 토픽 기반 커뮤니티 검색장치(20)는 커뮤니티 검색부(500)와, 검색결과 생성부(600)를 포함할 수 있다.
커뮤니티 검색부(500)는 검색조건 정보를 입력받고, 검색조건 정보에 대응하는 커뮤니티 그룹(community group)을 커뮤니티 인덱스(community index) 데이터베이스(400)로부터 검색한다.
예컨대, 커뮤니티 검색부(500)가 검색조건 정보를 입력을 위한 사용자 인터페이스를 제공하고, 이를 통해 토픽 기반 사용자 질의인 검색조건 정보를 입력받아, 입력된 검색조건 정보에 대응하는 커뮤니티 그룹(community group)을 커뮤니티 인덱스(community index) 데이터베이스(400)로부터 검색하도록 구현될 수 있다.
검색결과 생성부(600)는 커뮤니티 검색부(500)에 의해 검색된 커뮤니티 그룹(community group)과 관련한 커뮤니티 정보를 포함하는 커뮤니티 검색결과를 생성하고, 이를 출력한다. 예컨대, 커뮤니티 그룹과 관련한 커뮤니티 정보가 검색된 커뮤니티 그룹에 포함되는 커뮤니티 목록과, 각 커뮤니티들의 타 커뮤니티와의 연관 관계를 포함할 수 있다.
한편, 검색결과 생성부(600)가 커뮤니티 검색결과를 디스플레이 장치(도면 도시 생략)를 통해 화면 출력하거나, 프린터 장치(도면 도시 생략)를 통해 인쇄 출력하거나 또는 통신 기능을 구비한 타 장치(도면 도시 생략)로 네트워크 출력하도록 구현될 수 있다.
이렇게 구현함에 의해 이 실시예에 따른 토픽 기반 커뮤니티 검색장치는 커뮤니티에 포함되는 노드들이 공통으로 가지되, 다른 커뮤니티들의 토픽과는 차별되는 토픽을 기반으로 커뮤니티를 검색할 수 있으므로, 방대하고 복잡한 네트워크에 포함되는 커뮤니티를 효율적으로 검색할 수 있다.
부가적인 양상에 따르면, 검색조건 정보가 토픽(topic)과, 검색 타입(search type)을 포함하도록 구현될 수 있다. 예컨대, 검색 타입이 토픽과 직접 관련되는 커뮤니티 그룹에 포함되는 커뮤니티들을 검색하는 제1타입 또는 토픽과 직접 관련되지 않지만, 토픽과 직접 관련된 커뮤니티들과 중첩된 커뮤니티 그룹에 포함되는 커뮤니티들을 검색하는 제2타입일 수 있다.
만약, 검색 타입이 토픽과 직접 관련되는 커뮤니티 그룹에 포함되는 커뮤니티들을 검색하는 제1타입 경우, 커뮤니티 검색부(500)가 커뮤니티 인덱스 데이터베이스(400)로부터 검색조건 정보에 포함되는 토픽의 계층 구조와, 해당 토픽에 대응하는 커뮤니티 그룹과, 해당 커뮤니티 그룹에 속한 커뮤니티들을 검색하도록 구현될 수 있다.
즉, 이 실시예는 사용자가 입력한 토픽과 직접 관련되는 커뮤니티 그룹을 검색하기 위한 실시예로, 검색 타입(search type)으로 제1타입이 선택되고, 토픽(topic)으로 토픽 온톨로지상에 정의된 토픽 카테고리에 대응하는 '검색어'가 입력되면, 커뮤니티 검색부(500)가 커뮤니티 인덱스 데이터베이스(400)로부터 '검색어'에 대응하는 토픽 카테고리의 계층 구조와, 해당 '검색어'에 대응하는 토픽 카테고리의 커뮤니티 그룹과, 해당 커뮤니티 그룹에 속한 커뮤니티들을 검색하도록 한 실시예이다.
이 때, '검색어'가 복수로 입력될 수 있도록 구현될 수도 있고, 커뮤니티 검색부(500)에 의해 검색되는 커뮤니티들은 '검색어'를 토픽으로 갖는 모든 커뮤니티일 수 있다.
한편, 커뮤니티 검색부(500)에 의해 탐색 대상이 되는 토픽 카테고리는 토픽 온톨로지상에서 '검색어'에 대응하는 토픽 카테고리 또는 '검색어'에 대응하는 토픽 카테고리의 자식 토픽 카테고리를 포함하는 하위 토픽 셋을 가지는 토픽 카테고리일 수 있다.
예컨대, 커뮤니티 검색부(500)가 '검색어'에 대응하는 최상위 토픽 카테고리에 속하는 커뮤니티 그룹을 시작점으로 하여, 토픽 카테고리간 계층 구조(hierarchical structure) 및 커뮤니티 그룹간 연관 관계(relationship)에 따라 깊이 우선 검색(DFS : Depth First Search)을 수행하여 커뮤니티 그룹을 검색하도록 구현할 수 있다.
이 때, 토픽 카테고리간 탐색은 두 토픽 카테고리간에 연관 관계가 존재하는지 판단하고, 하위 토픽으로 내려갈 경우에는 무조건 포함시키고, '검색어'에 대응하는 토픽 카테고리의 상위 토픽 카테고리로 올라갈 경우에는 '검색어'에 의거해 탐색 대상인지 판단하고, 토픽 카테고리간에 연관 관계가 있는 모든 커뮤니티 그룹들이 탐색되면 커뮤니티 검색결과를 생성하고, 탐색 대상 토픽 카테고리 중 아직 탐색되지 않은 커뮤니티 그룹을 가지고 있는 토픽 카테고리에서 다시 탐색 시작한다.
도 10 은 질의 토픽과 직접 관련되는 커뮤니티 그룹에 포함되는 커뮤니티들을 검색하는 경우의 일 예를 도시한 도면이다. 도 10 을 참조해 보면, 검색 타입(search type)으로 제1타입이 선택되고, 토픽(topic)으로 t2가 입력된 경우로, 탐색 토픽 카테고리 범위가 t2 및 이의 하위 토픽 카테고리들인 t0 및 {t2, t3}임을 볼 수 있고, 검색된 커뮤니티 그룹은 {G1, G0} 및 {G3, G4, G7}이고, 검색된 커뮤니티 그룹에 속한 커뮤니티들과, 커뮤니티들에 속한 노드들이 검색되었음을 볼 수 있다.
만약, 검색 타입이 질의 토픽과 직접 관련되지 않지만, 질의 토픽과 직접 관련된 커뮤니티들과 중첩된 커뮤니티 그룹에 포함되는 커뮤니티들을 검색하는 제2타입일 경우, 커뮤니티 검색부(500)가 커뮤니티 인덱스 데이터베이스(400)로부터 검색조건 정보에 포함되는 토픽의 계층 구조와, 해당 토픽에 대응하는 커뮤니티 그룹에 포함되는 커뮤니티 중 적어도 하나와 중첩되지만, 해당 토픽에 대응되지는 않는(다른 토픽을 갖는) 중첩 커뮤니티 그룹과, 중첩 커뮤니티 그룹에 속하는 커뮤니티들을 검색하도록 구현될 수 있다.
즉, 이 실시예는 사용자가 입력한 토픽과 직접 관련되지 않는 중첩 커뮤니티 그룹에 포함되는 커뮤니티들을 검색하기 위한 실시예로, 검색 타입(search type)으로 제2타입이 선택되고, 토픽(topic)으로 토픽 온톨로지상에 정의된 토픽 카테고리에 대응하는 '검색어'가 입력되면, 커뮤니티 검색부(500)가 커뮤니티 인덱스 데이터베이스(400)로부터 '검색어'에 대응하는 토픽 카테고리의 계층 구조와, 해당 '검색어'에 대응하는 토픽 카테고리의 커뮤니티 그룹에 포함되는 커뮤니티 중 적어도 하나를 포함하는 중첩 커뮤니티 그룹과, 중첩 커뮤니티 그룹에는 포함되나 해당 토픽에 대응하는 커뮤니티 그룹에는 포함되지 않는 커뮤니티들을 검색하도록 한 실시예이다.
이 때, '검색어'가 복수로 입력될 수 있도록 구현될 수도 있고, 커뮤니티 검색부(500)에 의해 검색되는 커뮤니티들은 '검색어'를 토픽으로 갖는 커뮤니티를 중첩된 구성원으로 갖는 중첩 커뮤니티 그룹에는 포함되나 해당 토픽에 대응하는 커뮤니티 그룹에는 포함되지 않는 커뮤니티들일 수 있다.
한편, 커뮤니티 검색부(500)에 의해 탐색 대상이 되는 토픽 카테고리는 '검색어'에 대응하는 토픽 카테고리의 커뮤니티 그룹과 연관 관계를 가지는 커뮤니티 그룹이 속하는 토픽 카테고리 또는 이 토픽 카테고리의 자식 토픽 카테고리를 포함하는 하위 토픽 셋을 가지는 토픽 카테고리일 수 있다.
예컨대, 커뮤니티 검색부(500)가 '검색어'에 대응하는 최상위 토픽 카테고리에 속하는 커뮤니티 그룹과 연관 관계를 가지는 커뮤니티 그룹을 시작점으로 하여, 토픽 카테고리간 계층 구조(hierarchical structure) 및 커뮤니티 그룹간 연관 관계(relationship)에 따라 깊이 우선 검색(DFS : Depth First Search)을 수행하여 커뮤니티를 검색하도록 구현할 수 있다.
이 때, 토픽 카테고리간 탐색은 두 토픽 카테고리간에 연관 관계가 존재하는지 판단하고, 하위 토픽 카테고리로 내려갈 경우에는 무조건 포함시키고, 상위 토픽 카테고리로 올라갈 경우에는 '검색어'에 매칭되는 토픽 카테고리가 아닌 경우에만 탐색을 시작한다. 토픽 카테고리간에 연관 관계가 있는 모든 커뮤니티 그룹들이 탐색되면 커뮤니티 검색결과를 생성하고, 탐색 대상 토픽 카테고리 중 아직 탐색되지 않은 커뮤니티 그룹을 가지고 있는 토픽 카테고리에서 다시 탐색 시작한다.
도 11 은 질의 토픽과 직접적으로 관련되지는 않지만, 질의 토픽과 직접적으로 관련된 커뮤니티들과 중첩되는 커뮤니티들을 검색하는 일 예를 도식한 도면이다. 도 11 을 참조해 보면, 검색 타입(search type)으로 제2타입이 선택되고, 토픽(topic)으로 t3가 입력된 경우로, 탐색 토픽 카테고리 범위가 t3 및 이의 하위 토픽 카테고리들인 {t2, t3}임을 볼 수 있고, 검색된 커뮤니티 그룹은 {G1, G0} 및 {G3, G4, G7}이고, 검색된 커뮤니티 그룹에 속한 커뮤니티들과, 커뮤니티들에 속한 노드들이 검색되었음을 볼 수 있다.
도 12 를 참조하여 토픽 기반 커뮤니티 인덱스 생성장치에 의한 토픽 기반 커뮤니티 인덱스 생성 동작을 알아본다. 도 12 는 토픽 기반 커뮤니티 인덱스 생성방법의 일 실시예의 구성을 도시한 흐름도이다.
먼저, 단계 710에서 토픽 기반 커뮤니티 인덱스 생성장치가 커뮤니티의 시드(seed)가 되는 시드 노드(seed node)를 선택하고, 시드 노드의 이웃 노드들을 탐색하여, 시드 노드를 포함하는 커뮤니티(community)들을 추출한다. 시드 노드 선택, 시드 노드의 이웃 노드 탐색 및 커뮤니티 추출과 관련해서는 기 설명하였으므로, 중복 설명은 생략한다.
그 다음, 단계 720에서 토픽 기반 커뮤니티 인덱스 생성장치가 추출된 커뮤니티들을 포함하는 커뮤니티 네트워크(community network)를 생성하고, 각 커뮤니티를 대표하는 토픽(topic)을 결정하고, 토픽 카테고리별로 커뮤니티들을 그룹화한다. 커뮤니티 네트워크 생성, 토픽 결정, 커뮤니티 그룹화와 관련해서는 기 설명하였으므로, 중복 설명은 생략한다.
커뮤니티들이 토픽 카테고리별로 그룹화되면, 단계 730에서 토픽 기반 커뮤니티 인덱스 생성장치가 커뮤니티 그룹과 관련된 커뮤니티 인덱스(community index)를 생성한다.
이 때, 상기 커뮤니티 인덱스는 토픽 카테고리간 계층 구조(hierarchical structure)와, 토픽 카테고리별 커뮤니티 그룹 정보(group information) 및 커뮤니티 그룹간 연관 관계(relationship)중 적어도 하나가 기술될 수 있다.
예컨대, 토픽 기반 커뮤니티 인덱스 생성장치가 토픽 카테고리간 계층 구조(hierarchical structure)와, 토픽 카테고리별 커뮤니티 그룹 정보(group information) 및 커뮤니티 그룹간 연관 관계(relationship)를 분석하고, 분석된 토픽 카테고리간 계층 구조와, 토픽 카테고리별 커뮤니티 그룹 정보 및 커뮤니티 그룹간 연관 관계중 적어도 하나가 기술된 커뮤니티 인덱스(community index)를 생성하도록 구현될 수 있다. 커뮤니티 인덱스 생성과 관련해서는 기 설명하였으므로, 중복 설명은 생략한다.
이에 따라, 커뮤니티에 포함되는 노드들이 공통으로 가지되, 다른 커뮤니티들의 토픽과는 차별되는 토픽을 기반으로 커뮤니티 인덱스를 생성할 수 있으므로, 방대하고 복잡한 네트워크에 포함되는 커뮤니티를 효율적으로 검색할 수 있는 기반을 마련할 수 있다.
도 13 을 참조하여 토픽 기반 커뮤니티 검색장치에 의한 토픽 기반 커뮤니티 검색 동작을 알아본다. 도 13 은 본 발명에 따른 토픽 기반 커뮤니티 검색방법의 일 실시예의 구성을 도시한 흐름도이다.
먼저, 단계 810에서 토픽 기반 커뮤니티 검색장치가 검색조건 정보를 입력받고, 검색조건 정보에 대응하는 커뮤니티 그룹(community group)을 커뮤니티 인덱스(community index) 데이터베이스로부터 검색한다. 커뮤니티 그룹 검색과 관련해서는 기 설명하였으므로, 중복 설명은 생략한다.
그 다음, 단계 820에서 토픽 기반 커뮤니티 검색장치가 검색된 커뮤니티 그룹(community group)과 관련한 커뮤니티 정보를 포함하는 커뮤니티 검색결과를 생성하고, 이를 출력한다. 커뮤니티 검색결과 출력과 관련해서는 기 설명하였으므로, 중복 설명은 생략한다.
이에 따라, 커뮤니티에 포함되는 노드들이 공통으로 가지되, 다른 커뮤니티들의 토픽과는 차별되는 토픽을 기반으로 커뮤니티를 검색할 수 있으므로, 방대하고 복잡한 네트워크에 포함되는 커뮤니티를 효율적으로 검색할 수 있다.
발명은 첨부된 도면에 의해 참조되는 바람직한 실시예를 중심으로 기술되었지만, 이러한 기재로부터 후술하는 특허청구범위에 의해 포괄되는 범위내에서 발명의 범주를 벗어남이 없이 다양한 변형이 가능하다는 것은 명백하다.
커뮤니티 검색 기술분야 및 이의 이용 기술분야에서 산업상으로 이용 가능하다.
10 : 커뮤니티 인덱스 생성장치 20 : 커뮤니티 검색장치
100 : 커뮤니티 인덱스 생성부 110 : 커뮤니티 추출부
111 : 시드 노드 선택부 112 : 이웃 노드 탐색부
113 : 커뮤니티 결정부 120 : 커뮤니티 네트워크 관리부
121 : 커뮤니티 네트워크 생성부 122 : 토픽 결정부
123 : 커뮤니티 분류부 130 : 커뮤니티 인덱스 관리부
131 : 계층 구조 분석부 132 : 커뮤니티 그룹 정보 분석부
133 : 그룹 연관 관계 분석부 134 : 커뮤니티 인덱스 처리부
200 : 커뮤니티 인덱스 저장부
300 : 토픽 온톨로지 모델 데이터베이스
400 : 커뮤니티 인덱스 데이터베이스
500 : 커뮤니티 검색부
600 : 검색결과 생성부

Claims (24)

  1. 토픽(topic)별로 커뮤니티(community)들을 그룹화하고, 커뮤니티 그룹과 관련된 커뮤니티 인덱스(community index)를 생성하는 커뮤니티 인덱스 생성부와;
    상기 커뮤니티 인덱스를 저장하는 커뮤니티 인덱스 저장부를;
    포함하는 토픽 기반 커뮤니티 인덱스 생성장치.
  2. 제 1 항에 있어서,
    상기 커뮤니티 인덱스는,
    토픽 카테고리간 계층 구조(hierarchical structure)와, 토픽 카테고리별 커뮤니티 그룹 정보(group information) 및 커뮤니티 그룹간 연관 관계(relationship)중 적어도 하나가 기술된 토픽 기반 커뮤니티 인덱스 생성장치.
  3. 제 2 항에 있어서,
    상기 커뮤니티 인덱스 생성부는,
    상기 커뮤니티의 시드 노드(seed node)를 선택하고, 상기 선택된 시드 노드의 이웃 노드들을 탐색하여, 상기 시드 노드를 포함하는 커뮤니티(community)들을 추출하는 커뮤니티 추출부;
    상기 추출된 커뮤니티들을 포함하는 커뮤니티 네트워크(community network)를 생성하고, 각 커뮤니티를 대표하는 토픽(topic)을 결정하고, 상기 커뮤니티들을 토픽 카테고리별로 그룹화하는 커뮤니티 네트워크 관리부 및;
    상기 토픽 카테고리간 계층 구조(hierarchical structure)와, 상기 토픽 카테고리별 커뮤니티 그룹 정보(group information) 및 상기 커뮤니티 그룹간 연관 관계(relationship)를 분석하고, 분석된 토픽 카테고리간 계층 구조와, 토픽 카테고리별 커뮤니티 그룹 정보 및 커뮤니티 그룹간 연관 관계중 적어도 하나가 기술된 커뮤니티 인덱스(community index)를 생성하는 커뮤니티 인덱스 관리부를;
    포함하는 토픽 기반 커뮤니티 인덱스 생성장치.
  4. 제 3 항에 있어서,
    상기 커뮤니티 추출부는,
    상기 커뮤니티의 시드 노드(seed node)를 선택하는 시드 노드 선택부;
    상기 선택된 시드 노드의 이웃 노드들을 탐색하는 이웃 노드 탐색부 및;
    상기 선택된 시드 노드와, 상기 탐색된 이웃 노드들을 커뮤니티 구성원으로 하는 커뮤니티(community)를 결정하는 커뮤니티 결정부를;
    포함하는 토픽 기반 커뮤니티 인덱스 생성장치.
  5. 제 4 항에 있어서,
    상기 시드 노드 선택부는,
    이미 추출된 커뮤니티에 속하지 않는 노드를 시드 노드로 선택하는 토픽 기반 커뮤니티 인덱스 생성장치.
  6. 제 5 항에 있어서,
    상기 시드 노드 선택부는,
    이미 추출된 커뮤니티에 속하지 않는 노드가 복수일 경우, 이들 중 임의의 하나의 노드를 시드 노드로 선택하는 토픽 기반 커뮤니티 인덱스 생성장치.
  7. 제 3 항에 있어서,
    상기 커뮤니티 네트워크 관리부는,
    상기 추출된 커뮤니티들을 포함하는 커뮤니티 네트워크(community network)를 생성하는 커뮤니티 네트워크 생성부;
    상기 생성되는 커뮤니티 네트워크에 포함되는 각 커뮤니티를 대표하는 토픽(topic)을 결정하는 토픽 결정부 및;
    상기 토픽이 결정된 각 커뮤니티들을 토픽 카테고리별로 그룹화하여 분류하는 커뮤니티 분류부를;
    포함하는 토픽 기반 커뮤니티 인덱스 생성장치.
  8. 제 7 항에 있어서,
    상기 토픽 결정부는,
    커뮤니티에 포함되는 노드들이 공통으로 가지되, 다른 커뮤니티들의 토픽과는 차별되는 토픽을 해당 커뮤니티의 토픽으로 결정하는 토픽 기반 커뮤니티 인덱스 생성장치.
  9. 제 8 항에 있어서,
    상기 토픽 결정부는,
    미리 구축된 토픽 온톨로지 모델(topic ontology model) 데이터베이스를 참조해 커뮤니티에 포함되는 각 노드들의 토픽 집합을 결정하고, 각 노드들의 토픽 집합으로부터 노드들이 공통으로 가지는 토픽을 검색하는 토픽 기반 커뮤니티 인덱스 생성장치.
  10. 제 7 항에 있어서,
    상기 커뮤니티 분류부는,
    동일한 커뮤니티 네트워크에 속하나, 다른 토픽 카테고리의 커뮤니티 그룹에 속하는 커뮤니티들 간의 연관 관계는 유지시키는 토픽 기반 커뮤니티 인덱스 생성장치.
  11. 제 3 항에 있어서,
    상기 커뮤니티 인덱스 관리부는,
    토픽 카테고리간 계층 구조를 분석하는 계층 구조 분석부;
    토픽 카테고리별 커뮤니티 그룹 정보를 분석하는 커뮤니티 그룹 정보 분석부;
    토픽 카테고리별로 그룹화된 커뮤니티 그룹간 연관 관계를 분석하는 그룹 연관 관계 분석부 및;
    상기 토픽 카테고리간 계층 구조와, 상기 토픽 카테고리별 커뮤니티 그룹 정보 및 상기 커뮤니티 그룹간 연관 관계중 적어도 하나가 기술된 커뮤니티 인덱스를 생성하는 커뮤니티 인덱스 처리부를;
    포함하는 토픽 기반 커뮤니티 인덱스 생성장치.
  12. 제 11 항에 있어서,
    상기 계층 구조 분석부는,
    미리 구축된 토픽 온톨로지 모델(topic ontology model) 데이터베이스를 참조해 상기 토픽 카테고리간 계층 구조를 파악하는 토픽 기반 커뮤니티 인덱스 생성장치.
  13. 제 11 항에 있어서,
    상기 커뮤니티 그룹 정보 분석부는,
    각 토픽 카테고리별 커뮤니티 그룹에 속하는 커뮤니티를 파악하고, 각 토픽 카테고리별 커뮤니티 그룹 식별정보에 매핑시켜 각 토픽 카테고리별 커뮤니티 그룹에 속하는 커뮤니티 목록을 작성하는 토픽 기반 커뮤니티 인덱스 생성장치.
  14. 제 11 항에 있어서,
    상기 그룹 연관 관계 분석부는,
    특정 토픽 카테고리의 커뮤니티 그룹에 포함되는 커뮤니티들과, 타 토픽 카테고리의 커뮤니티 그룹에 속한 커뮤니티들 간의 연관 관계를 파악하여 상기 커뮤니티 그룹간 연관 관계를 분석하는 토픽 기반 커뮤니티 인덱스 생성장치.
  15. 검색조건 정보를 입력받고, 검색조건 정보에 대응하는 커뮤니티 그룹(community group)을 커뮤니티 인덱스(community index) 데이터베이스로부터 검색하는 커뮤니티 검색부 및;
    상기 검색된 커뮤니티 그룹과 관련한 커뮤니티 정보를 포함하는 커뮤니티 검색결과를 생성하고, 이를 출력하는 검색결과 생성부를;
    포함하는 토픽 기반 커뮤니티 검색장치.
  16. 제 15 항에 있어서,
    상기 검색조건 정보는,
    토픽(topic)과, 검색 타입(search type)을 포함하는 토픽 기반 커뮤니티 검색장치.
  17. 제 16 항에 있어서,
    상기 검색 타입은,
    토픽과 직접 관련되는 커뮤니티 그룹에 포함되는 커뮤니티들을 검색하는 제1타입인 토픽 기반 커뮤니티 검색장치.
  18. 제 17 항에 있어서,
    상기 커뮤니티 검색부는,
    상기 커뮤니티 인덱스 데이터베이스로부터 검색조건 정보에 포함되는 토픽의 계층 구조와, 해당 토픽에 대응하는 커뮤니티 그룹과, 해당 커뮤니티 그룹에 속한 커뮤니티들을 검색하는 토픽 기반 커뮤니티 검색장치.
  19. 제 16 항에 있어서,
    상기 검색 타입은,
    토픽과 직접 관련되지 않지만, 토픽과 직접 관련된 커뮤니티들과 중첩된 커뮤니티 그룹에 포함되는 커뮤니티들을 검색하는 제2타입인 토픽 기반 커뮤니티 검색장치.
  20. 제 19 항에 있어서,
    상기 커뮤니티 검색부는,
    상기 커뮤니티 인덱스 데이터베이스로부터 검색조건 정보에 포함되는 토픽의 계층 구조와, 해당 토픽에 대응하는 커뮤니티 그룹에 포함되는 커뮤니티 중 적어도 하나와 중첩되지만, 해당 토픽에 대응되지는 않는(다른 토픽을 갖는) 중첩 커뮤니티 그룹과, 상기 중첩 커뮤니티 그룹에 속하는 커뮤니티들을 검색하는 토픽 기반 커뮤니티 검색장치.
  21. 제 15 항에 있어서,
    상기 커뮤니티 그룹과 관련한 커뮤니티 정보는,
    상기 검색된 커뮤니티 그룹에 포함되는 커뮤니티 목록과, 각 커뮤니티들의 타 커뮤니티와의 연관 관계를 포함하는 토픽 기반 커뮤니티 검색장치.
  22. 커뮤니티의 시드 노드(seed node)를 선택하고, 상기 시드 노드의 이웃 노드들을 탐색하여, 상기 시드 노드를 포함하는 커뮤니티(community)들을 추출하는 단계;
    상기 추출된 커뮤니티들을 포함하는 커뮤니티 네트워크(community network)를 생성하고, 각 커뮤니티를 대표하는 토픽(topic)을 결정하고, 토픽 카테고리별로 커뮤니티들을 그룹화하는 단계 및;
    커뮤니티 그룹과 관련된 커뮤니티 인덱스(community index)를 생성하는 단계를;
    포함하는 토픽 기반 커뮤니티 인덱스 생성방법.
  23. 제 22 항에 있어서,
    상기 커뮤니티 인덱스는,
    토픽 카테고리간 계층 구조(hierarchical structure)와, 토픽 카테고리별 커뮤니티 그룹 정보(group information) 및 커뮤니티 그룹간 연관 관계(relationship)중 적어도 하나가 기술된 토픽 기반 커뮤니티 인덱스 생성방법.
  24. 검색조건 정보를 입력받고, 상기 검색조건 정보에 대응하는 커뮤니티 그룹(community group)을 커뮤니티 인덱스(community index) 데이터베이스로부터 검색하는 단계 및;
    상기 검색된 커뮤니티 그룹과 관련한 커뮤니티 정보를 포함하는 커뮤니티 검색결과를 생성하고, 이를 출력하는 단계를;
    포함하는 토픽 기반 커뮤니티 검색방법.
KR1020120020559A 2012-02-28 2012-02-28 토픽 기반 커뮤니티 인덱스 생성장치, 토픽 기반 커뮤니티 검색장치, 토픽 기반 커뮤니티 인덱스 생성방법 및 토픽 기반 커뮤니티 검색방법 KR20130098772A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120020559A KR20130098772A (ko) 2012-02-28 2012-02-28 토픽 기반 커뮤니티 인덱스 생성장치, 토픽 기반 커뮤니티 검색장치, 토픽 기반 커뮤니티 인덱스 생성방법 및 토픽 기반 커뮤니티 검색방법
US13/554,257 US8972557B2 (en) 2012-02-28 2012-07-20 Topic-based community index generation apparatus and method and topic-based community searching apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120020559A KR20130098772A (ko) 2012-02-28 2012-02-28 토픽 기반 커뮤니티 인덱스 생성장치, 토픽 기반 커뮤니티 검색장치, 토픽 기반 커뮤니티 인덱스 생성방법 및 토픽 기반 커뮤니티 검색방법

Publications (1)

Publication Number Publication Date
KR20130098772A true KR20130098772A (ko) 2013-09-05

Family

ID=49004517

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120020559A KR20130098772A (ko) 2012-02-28 2012-02-28 토픽 기반 커뮤니티 인덱스 생성장치, 토픽 기반 커뮤니티 검색장치, 토픽 기반 커뮤니티 인덱스 생성방법 및 토픽 기반 커뮤니티 검색방법

Country Status (2)

Country Link
US (1) US8972557B2 (ko)
KR (1) KR20130098772A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850728A (zh) * 2015-02-10 2015-08-19 湖南大学 一种基于平均场理论和扩展系数的社会网络度分析方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9805022B2 (en) * 2010-12-09 2017-10-31 Apple Inc. Generation of topic-based language models for an app search engine
US9483524B1 (en) 2012-12-03 2016-11-01 Google Inc. Ranking communities based on content
US10102280B2 (en) * 2015-08-31 2018-10-16 International Business Machines Corporation Determination of expertness level for a target keyword
CN105260410A (zh) * 2015-09-22 2016-01-20 天津大学 基于亲密度和影响力的微博社交兴趣圈挖掘方法及其装置
CN107358535B (zh) * 2017-07-10 2021-02-02 深圳乐信软件技术有限公司 一种社区发现方法及装置
CN107608962A (zh) * 2017-09-12 2018-01-19 电子科技大学 基于复杂网络的推特大选数据分析方法
CN109543077B (zh) * 2018-10-16 2020-07-31 清华大学 社区搜索方法
CN112052400B (zh) * 2020-08-24 2021-12-28 杭州电子科技大学 一种社交网络社区的索引和查询方法
CN112241492B (zh) * 2020-10-22 2023-04-07 西安石油大学 一种多源异构在线网络话题早期识别方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060053194A1 (en) * 2004-09-03 2006-03-09 Schneider Ronald E Systems and methods for collaboration
JP2008107867A (ja) 2006-10-23 2008-05-08 Hitachi Ltd コミュニティ抽出方法、コミュニティ抽出処理装置
JP2009099088A (ja) 2007-10-19 2009-05-07 Kddi R & D Laboratories Inc Snsユーザプロファイル摘出装置、摘出方法並びに摘出プログラム、及び該ユーザプロファイルを利用する装置
KR101173556B1 (ko) 2008-12-11 2012-08-13 한국전자통신연구원 토픽맵 기반 색인 장치, 토픽맵 기반 검색 장치, 토픽맵 기반 검색 시스템 및 그 방법
JP5220629B2 (ja) 2009-01-20 2013-06-26 ヤフー株式会社 コンテンツ提示装置、コンテンツ提示方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850728A (zh) * 2015-02-10 2015-08-19 湖南大学 一种基于平均场理论和扩展系数的社会网络度分析方法

Also Published As

Publication number Publication date
US20130227104A1 (en) 2013-08-29
US8972557B2 (en) 2015-03-03

Similar Documents

Publication Publication Date Title
KR20130098772A (ko) 토픽 기반 커뮤니티 인덱스 생성장치, 토픽 기반 커뮤니티 검색장치, 토픽 기반 커뮤니티 인덱스 생성방법 및 토픽 기반 커뮤니티 검색방법
Zhuge Communities and emerging semantics in semantic link network: Discovery and learning
CN106104518A (zh) 用于按照示例的数据提取的框架
CN106294588A (zh) 快速搜索所要查询内容的方法及装置
Chakraborty et al. Ferosa: A faceted recommendation system for scientific articles
Zervakis et al. Efficient continuous multi-query processing over graph streams
Soldano et al. Hub-authority cores and attributed directed network mining
US9230210B2 (en) Information processing apparatus and method for obtaining a knowledge item based on relation information and an attribute of the relation
Melo et al. Extracting and visualising tree-like structures from concept lattices
Li et al. A bibliometric study and science mapping research of intelligent decision
Hoque et al. Combining conceptual query expansion and visual search results exploration for web image retrieval
Tu et al. GraphCharter: Combining browsing with query to explore large semantic graphs
Castano et al. Thematic clustering and exploration of linked data
Özyer et al. Recent trends in information reuse and integration
Dai et al. Search Engine System Based on Ontology of Technological Resources.
Caraballo et al. Automatic creation and analysis of a linked data cloud diagram
Mahmood et al. An improved CART decision tree for datasets with irrelevant feature
Zolkepli et al. Visualizing fuzzy relationship in bibliographic big data using hybrid approach combining fuzzy c-means and Newman-Girvan algorithm
Afra et al. NetDriller-V3: A Powerful Social Network Analysis Tool
Daoud et al. Building a new semantic social network using semantic web-based techniques
CN101452462A (zh) 用于自动建立网络上信息对象之间层次结构的方法和系统
Bounif et al. Schema repository for database schema evolution
CN110232088A (zh) 分类合并的方法及装置、存储介质
Malik et al. Enhancing SDN performance by enabling reasoning abilities in data traffic control
KR20110055144A (ko) 소셜 메타데이터 관리 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee