KR20210032105A - 랭킹 기반 네트워크 임베딩을 이용한 군집화 방법 및 장치 - Google Patents

랭킹 기반 네트워크 임베딩을 이용한 군집화 방법 및 장치 Download PDF

Info

Publication number
KR20210032105A
KR20210032105A KR1020190113395A KR20190113395A KR20210032105A KR 20210032105 A KR20210032105 A KR 20210032105A KR 1020190113395 A KR1020190113395 A KR 1020190113395A KR 20190113395 A KR20190113395 A KR 20190113395A KR 20210032105 A KR20210032105 A KR 20210032105A
Authority
KR
South Korea
Prior art keywords
objects
clustering
network
importance
belonging
Prior art date
Application number
KR1020190113395A
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 KR1020190113395A priority Critical patent/KR20210032105A/ko
Priority to US16/659,912 priority patent/US11531866B2/en
Publication of KR20210032105A publication Critical patent/KR20210032105A/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • 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/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/231Hierarchical techniques, i.e. dividing or merging pattern sets so as to obtain a dendrogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multimedia (AREA)

Abstract

랭킹 기반 네트워크 임베딩을 이용하는 클러스터링 방법 및 장치가 개시된다. 클러스터링을 수행하는 방법은 클러스터링 대상 객체들로 네트워크를 구성하는 단계; 상기 클러스터링 대상 객체들의 중요도를 수집하는 단계; 신경망을 이용하여 상기 네트워크를 구성하는 클러스터링 대상 객체들의 이웃 객체들을 표현하는 벡터들의 집합을 출력하기 위한 네트워크 임베딩을 수행하는 단계; 및 상기 클러스터링 대상 객체들 각각에 대한 정보와 상기 벡터들의 집합을 이용하여 상기 클러스터링 대상 객체들에 대한 클러스터링을 수행하는 단계를 포함하여 구성될 수 있다.

Description

랭킹 기반 네트워크 임베딩을 이용한 군집화 방법 및 장치{clustering method and apparatus using ranking-based network embedding}
본 발명은 군집화(clustering) 기술에 관한 것으로, 더욱 상세하게는 랭킹 기반 네트워크 임베딩을 이용하여 문서를 포함한 다양한 대상들에 대한 군집화를 수행하는 방법 및 장치에 관한 것이다.
군집화(클러스터링)는 유사한 객체들(예컨대, 문서)를 그룹핑하는 방법으로 미리 구축한 고비용의 학습셋이 없이 대용량의 객체를 분류하여 통찰(insight)을 추출하거나 분석하기 위한 접근법이다. 특히 최근과 같이 수백만개 이상의 대용량의 디지털 문서가 생산되는 환경에서는 빠른 처리속도와 높은 성능의 클러스터링 방법이 요구된다.
네트워크 기반 클러스터링은 그래프 기반으로 그래프를 구성하는 객체(노드)의 중요도와 노드들 간의 관계 강도를 분석하여 빠르고 효과적으로 문서를 분석할 수 있는 방법으로 논문, 모바일 앱, 소셜 미디어 등의 다양한 매체에 적용되고 있다. 네트워크 기반의 클러스터링에서 가장 중요한 요소는 객체의 중요도를 정확히 측정하는 방법이다. 객체가 문서일 경우, 기존의 많은 연구는 문서의 중요도를 측정하기 위하여 문서의 inlink, outlink 정보를 분석하거나 검색엔진 같은 도구를 이용하여 문서를 순위화하였다.
하지만 이러한 방식은 문서의 중요도를 높이기 위하여 의도적으로 링크를 조작하거나 내용과 무관한 중요 단어를 사용하는 어뷰징(abusing) 문제를 해결할 수 없다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 랭킹 기반 네트워크 임베딩을 이용하여 클러스터링을 수행하는 방법을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 랭킹 기반 네트워크 임베딩을 이용하여 클러스터링을 수행하는 장치를 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명에 따른 일 실시예는, 클러스터링(clustering)을 수행하는 방법으로서, 클러스터링 대상 객체들로 네트워크를 구성하는 단계; 상기 클러스터링 대상 객체들의 중요도를 수집하는 단계; 신경망을 이용하여 상기 네트워크를 구성하는 클러스터링 대상 객체들의 이웃 객체들을 표현하는 벡터들의 집합을 출력하기 위한 네트워크 임베딩을 수행하는 단계; 및 상기 클러스터링 대상 객체들 각각에 대한 정보와 상기 벡터들의 집합을 이용하여 상기 클러스터링 대상 객체들에 대한 클러스터링을 수행하는 단계를 포함하고, 상기 신경망은 중요도가 높은 이웃 객체들이 더 높은 확률로 출력되도록 학습될 수 있다.
상기 클러스터링 대상 객체들은 문서들 또는 모바일 어플리케이션(mobile application)일 수 있다.
상기 네트워크는
Figure pat00001
로 정의되며, V는 상기 네트워크에 속한 상기 클러스터링 대상 객체들, E는 상기 네트워크에 속한 객체 쌍의 이진 관계(binary relation)를 나타내는 에지(edge),
Figure pat00002
는 에지 e(
Figure pat00003
)에 대한 실수 값 가중치(weight mapping)일 수 있다.
상기 클러스터링은 객체
Figure pat00004
가 클러스터
Figure pat00005
에 속할 사후 확률에 비례하는 스코어 함수(score function)
Figure pat00006
를 이용하여 수행되며,
Figure pat00007
는 상기 네트워크 G에서 객체
Figure pat00008
의 이웃 객체들인
Figure pat00009
의 집합,
Figure pat00010
는 객체
Figure pat00011
Figure pat00012
의 유사도 및 중요도를 표현하는 함수,
Figure pat00013
는 상기 클러스터
Figure pat00014
에 대응되는 그래프
Figure pat00015
에 속한 객체들,
Figure pat00016
는 상기 네트워크 G에 속한 전체 객체들,
Figure pat00017
는 객체
Figure pat00018
와 그래프
Figure pat00019
에 속한 객체들 간의 평균 유사도 및 중요도일 수 있다.
상기
Figure pat00020
는 Net2Vec 알고리즘에 의해서 학습되며, 상기 Net2Vec 알고리즘은 상기 클러스터링 대상 객체들의 중요도 정보를 이용하여 중요도가 높은 이웃 객체가 예측될 확률이 최대가 되도록 상기 신경망을 학습시킬 수 있다.
상기 Net2Vec 알고리즘은 대상 객체
Figure pat00021
의 이웃 객체
Figure pat00022
의 중요도가 낮을수록 페널티를 주어 중요도가 높은 객체가 더 높은 확률로 예측 되도록 학습을 유도하기 위한 Authority Ranking Loss 함수를 이용할 수 있다.
상기 중요도는 중요도 랭킹 점수(authority ranking score(ARS)) 함수
Figure pat00023
로 표현되며,
Figure pat00024
Figure pat00025
의 순위 점수이며,
Figure pat00026
(
Figure pat00027
)는
Figure pat00028
Figure pat00029
의 잠재 벡터(latent vector)들 간의 거리를 표현하는 코사인 유사도(cosine similarity),
Figure pat00030
는 그래프 G에서 객체
Figure pat00031
의 이웃 객체들인
Figure pat00032
의 집합일 수 있다.
상기 클러스터링 대상 객체들이 모바일 어플리케이션인 경우, 상기
Figure pat00033
는 주어진 기간 동안의 다운로드 순위의 역수 합을 min-max 정규화(normalization)하여 얻어질 수 있다.
상기 다른 목적을 달성하기 위한 본 발명에 따른 일 실시예는, 클러스터링(clustering)을 수행하는 장치로서, 적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 의해서 실행되는 적어도 하나의 명령을 저장하는 메모리를 포함할 수 있다. 상기 적어도 하나의 명령은 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서가 클러스터링 대상 객체들로 네트워크를 구성하는 단계; 상기 클러스터링 대상 객체들의 중요도를 수집하는 단계; 신경망을 이용하여 상기 네트워크를 구성하는 클러스터링 대상 객체들의 이웃 객체들을 표현하는 벡터들의 집합을 출력하기 위한 네트워크 임베딩을 수행하는 단계; 및 상기 클러스터링 대상 객체들 각각에 대한 정보와 상기 벡터들의 집합을 이용하여 상기 클러스터링 대상 객체들에 대한 클러스터링을 수행하는 단계를 수행하도록 구성되고, 상기 신경망은 중요도가 높은 이웃 객체들이 더 높은 확률로 출력되도록 학습될 수 있다.
상기 클러스터링 대상 객체들은 문서들 또는 모바일 어플리케이션(mobile application)일 수 있다.
상기 네트워크는
Figure pat00034
로 정의되며, V는 상기 네트워크에 속한 상기 클러스터링 대상 객체들, E는 상기 네트워크에 속한 객체 쌍의 이진 관계(binary relation)를 나타내는 에지(edge),
Figure pat00035
는 에지 e(
Figure pat00036
)에 대한 실수 값 가중치(weight mapping)일 수 있다.
상기 클러스터링은 객체
Figure pat00037
가 클러스터
Figure pat00038
에 속할 사후 확률에 비례하는 스코어 함수(score function)
Figure pat00039
를 이용하여 수행되며,
Figure pat00040
는 상기 네트워크 G에서 객체
Figure pat00041
의 이웃 객체들인
Figure pat00042
의 집합,
Figure pat00043
는 객체
Figure pat00044
Figure pat00045
의 유사도 및 중요도를 표현하는 함수,
Figure pat00046
는 상기 클러스터
Figure pat00047
에 대응되는 그래프
Figure pat00048
에 속한 객체들,
Figure pat00049
는 상기 네트워크 G에 속한 전체 객체들,
Figure pat00050
는 객체
Figure pat00051
와 그래프
Figure pat00052
에 속한 객체들 간의 평균 유사도 및 중요도일 수 있다.
상기
Figure pat00053
는 Net2Vec 알고리즘에 의해서 학습되며, 상기 Net2Vec 알고리즘은 상기 클러스터링 대상 객체들의 중요도 정보를 이용하여 중요도가 높은 이웃 객체가 예측될 확률이 최대가 되도록 상기 신경망을 학습시킬 수 있다.
상기 Net2Vec 알고리즘은 대상 객체
Figure pat00054
의 이웃 객체
Figure pat00055
의 중요도가 낮을수록 페널티를 주어 중요도가 높은 객체가 더 높은 확률로 예측 되도록 학습을 유도하기 위한 Authority Ranking Loss 함수를 이용할 수 있다.
상기 중요도는 중요도 랭킹 점수(authority ranking score(ARS)) 함수
Figure pat00056
로 표현되며,
Figure pat00057
Figure pat00058
의 순위 점수이며,
Figure pat00059
(
Figure pat00060
)는
Figure pat00061
Figure pat00062
의 잠재 벡터(latent vector)들 간의 거리를 표현하는 코사인 유사도(cosine similarity),
Figure pat00063
는 그래프 G에서 객체
Figure pat00064
의 이웃 객체들인
Figure pat00065
의 집합일 수 있다.
상기 클러스터링 대상 객체들이 모바일 어플리케이션인 경우, 상기
Figure pat00066
는 주어진 기간 동안의 다운로드 순위의 역수 합을 min-max 정규화(normalization)하여 얻어질 수 있다.
상기와 같은 본 발명에 따른 실시예들을 이용하면 클러스터링 대상 객체의 외부 지표에 기반한 중요도를 이용하여 어뷰징의 우려가 없이 네트워크 클러스터링을 수행할 수 있다.
또한, 본 발명에 따른 실시예들에서는, 종래 클러스터링 방법들에서 불가능하였던 멀리-레이블링 및 넌-레이블링이 가능해진다.
도 1은 Word2Vec 알고리즘을 설명하기 위한 개념도이다.
도 2는 Doc2Vec 알고리즘을 설명하기 위한 개념도이다.
도 3은 본 발명에 따른 Net2Vec 알고리즘을 설명하기 위한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 랭킹 기반 네트워크 임베딩을 이용한 클러스터링 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 일 실시예에 따른 랭킹 기반 네트워크 임베딩을 이용한 군집화 장치의 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명에서는, 대상 객체들(예컨대, 문서)의 내용과 독립적인 외부 지표를 이용하여 객체의 중요도를 판별하는 새로운 방법을 제안하고 이를 통해 의도적인 객체 생산자의 어뷰징을 차단할 수 있다. 외부 지표를 이용한 객체 중요도를 측정하는 방법으로, 문서의 종류에 따라 조회수(웹 문서), 인용수(논문) 등을 활용하는 방법들이 존재한다.
대용량 문서셋은 일반적으로 다양한 문서로 구성되어 있기 때문에, 데이터 마이닝(data mining)이나 깊은 분석(deep analysis)을 위해서 세분류(fine-grained clustering), 하나의 문서에 0~n개의 클러스터를 할당하는 멀티-레이블링(multi-labeling), 및 넌-레이블링(non-labeling, 예를 들면 스팸문서 등)이 필요하다. 따라서, 본 발명에 따른 실시예에서는 멀티-레이블링과 넌-레이블링이 가능하도록 네트워크를 형식적으로 정의(formally define)하고 클러스터링을 위한 확률기반생성모델을 제안한다.
문서 임베딩은 문서를 벡터 공간에 투영(projection)하는 방법으로 공간상에서 문서의 거리를 비교해 유사한 문서를 찾는데 사용할 수 있다. 따라서 유사한 문서를 그룹핑하는 문서 클러스터링이나 검색, 문서 분류 등의 작업을 위해 문서의 임베딩의 성능은 매우 중요하고, 빈도 기반의 문서 임베딩, 신경망 기반의 문서 임베딩, 토픽 모델링 기반의 문서 임베딩 등 다양한 문서 임베딩 방법이 연구되었다. 최근에는 신경망 기반의 문서 임베딩이 널리 활용되고 있으며 문서 임베딩을 작업 목적에 맞게 최적화하는 다양한 연구가 진행되고 있다.
본 발명에서는 네트워크 기반의 클러스터링에 적합한 객체의 중요도와 객체들 간의 관계를 고려하는 새로운 네트워크 임베딩 방법을 제안하여 클러스터링의 성능을 향상 시킨다. 제안하는 방법은 순위를 이용하여 객체의 중요도를 반영할 수 있는 새로운 목적(objective) 함수를 이용한다.
네트워크 기반 클러스터링
네트워크 기반 클러스터링은 비교사(unsupervised) 방법으로 의미적으로 유사한 문서를 그룹화하는 방법이다. 대상 객체를 벡터 공간에 임베딩하고 공간상의 이웃 객체을 찾는 방법이나 추출한 주요(salient) 단어를 기반으로 클러스터링하는 의미 기반의 그룹핑 방법이 널리 사용된다.
그러나, 이러한 방법들은 모든 객체들 간의 관계를 독립적으로 보고 객체들의 중요도나 객체들 간의 관계의 강도를 고려하지 않는다. 이와 같은 한계점을 극복하기 위하여 객체들 간의 연결, 객체들의 중요도를 고려한 네트워크 기반의 문서 클러스터링 연구가 진행되었다. 네트워크 기반 클러스터링은 객체들을 서로 연결된 네트워크로 보고 네트워크의 특성에 따라 문서 클러스터링을 수행하는 연구이다. 네트워크는 에지(edge)들로 연결된 꼭지점(vertice; 즉 문서들에 대응)로 구성된 그래프이다. 일반적으로 문서 네트워크에서 직접 혹은 간접적으로 연결된 문서간에는 의미적 관계가 있을 것이라고 가정하고 이러한 가정에 따라 문서의 중요도(authority)와 연결(link) 강도를 측정하고 이에 따라 클러스터링을 수행한다.
네트워크 기반 클러스터링은 하이퍼링크(hyperlink)로 연결된 웹문서들을 분류하는데서 시작되어 인용(citation), 저자, 학회 정보를 이용하여 그래프를 구성하고 논문을 분류하거나, 의미적 연관관계를 직접 구축하고 뉴스에 적용하는 등 다양한 형태의 메타데이터를 사용하고 여러 종류의 문서에 적용되었다. 문서를 연결(link)할 때 메타데이터뿐 아니라 문서 간에 공유하는 단어를 이용할 수 있다. 따라서 메타데이터가 적거나 없는 경우에도 네트워크 기반으로 문서간의 의존적인 관계를 통해서 문서를 클러스터링 할 수도 있다.
또한, 기존의 연구들에서도 네트워크를 형식적으로 정의(formally define)하고 확률 생성 모델을 제안하여 논문 클러스터링에 적용하였으나, 하나의 객체가 여러 클러스터에 할당되는 멀티-레이블링 클러스터링이나 어떠한 클러스터에도 할당하지 않는 넌-레이블링(non-labeling) 클러스터링은 불가능하였다. 종래 방식은 최근 모바일앱 문서 등 대용량의 문서셋처럼 양이 수백만 개가 넘고 복잡도가 높아 특정 문서가 여러 클러스터에 할당되거나 아무 클러스터에도 할당되지 않는(예: 스팸문서) 경우가 많을 상황에는 적합하지 않다.
따라서, 본 발명에서는 멀티-레이블링이 가능한 네트워크 기반의 클러스터링 방법을 제안한다. 네트워크 기반 클러스터링에서 객체들 간의 관계 강도를 측정하는 방법으로 이웃 그래프 가중치 행렬을 구축하기 위해 nonnegative matrix factorization (NMF)와 concept factorization(CF)을 클러스터링에 이용하는 방법이 있다. 또한, 문서의 중요도 및 문서간의 연결 강도를 측정하기 위해서 검색엔진의 검색순위, 허브니스 값(hubness value), 논문 분류를 위한 인용 정보 및 저널 순위 등의 다양한 형태의 랭킹 정보가 활용되기도 한다. Hubness value는 문서의 중요도를 측정하기 위해 가장 널리 사용되는 방법으로 예를 들어서 PageRank와 HITS 알고리즘은 문서 검색을 위하여 웹페이지들의 그래프를 분석하고 inlink가 많은 문서의 authority value를 높게 할당하였다.
하지만 이 방식들은 오래된 문서를 선호하는 반면, 중요하지만 새로운 문서의 중요도(authority)가 낮게 부여되는 문제가 있다. 이를 보완하기 위해 의미 기반의 검색엔진을 활용하여 의미정보가 문서의 중요도에 반영되도록 하고 중요하지 않은 문서를 추려내어 속도를 높이기도 하였다. 그러나, 검색엔진 기반의 중요도 분석은 문서의 의미적 연관성에 따라 순위가 부여되는 만큼 내부 의미 정보에만 집중하므로, 어뷰징을 위해 실제 문서의 내용과 무관한 중요 단어를 의도적으로 포함한 경우에 부작용이 나타난다. 본 발명에서는 클러스터링 대상 객체(예컨대, 문서 또는 모바일 어플리케이션)의 내용과 완전히 독립적인 지표를 기준으로 객체의 중요도를 측정하는 방법을 사용하여 어뷰징 문제를 본질적으로 차단한다.
문서 임베딩 기반 클러스터링
문서 임베딩은 단어셋 T로 구성된 문서를 잠재 벡터로 임베딩하는 작업이다. 상당수의 문서 클러스터링 방법은 문서 임베딩을 기반으로 문서 사이의 거리를 계산하여 유사한 문서들이 동일한 클러스터에 할당되도록 한다. 널리 알려진 문서임베딩 방법으로는 단어 빈도(term frequency), 역문서 빈도(inverted document frequency)를 이용하여 잠재 벡터를 임베딩 하는 벡터 스페이스 모델 기반의 방법이 있다. 토픽 모델링 기반의 LDA를 이용한 문서 임베딩 방법도 많이 사용되는 방법 중 하나로 예를 들어서 토픽 모델링 기반의 문서 임베딩을 K-means 알고리즘에 적용하여 문서 클러스터링에 적용하기도 하였다. 토픽 모델링 기반의 임베딩을 위하여 네트워크의 특성을 이용하여 네트워크 기반으로 문서의 중요도를 측정하여 문서 링크의 가중치를 결정하고 이를 이용하여 토픽 모델링의 성능을 높이고 이러한 방식의 네트워크 기반 토픽 모델링을 문서 클러스터링에 적용한 연구도 있다.
또 다른 널리 알려진 임베딩 방법으로 신경망을 이용하여 문서나 단어를 임베딩하는 연구가 활발히 진행 중이다. 입력 단어의 이웃 단어를 예측하는 Word2Vec이나 입력 문서에 포함된 단어를 예측하는 Doc2Vec 알고리즘이 대표적인 신경망 기반의 임베딩 방법이다. 최근에는 문맥을 고려하거나 외부 혹은 내부 정보를 활용하여 Word2Vec과 Doc2Vec을 확장하고 임베딩 성능을 개선한 연구가 발표 되었다. EMLO는 Bidirectional LSTM을 이용하여 문맥을 고려하고 단어 모호성 해소(Word Disambiguation)이 가능하도록 단어 임베딩을 학습한다. 문서 클러스터링을 타깃으로 문서 임베딩 방법을 개선하여 클러스터링에 적용한 연구도 있다. 이 연구는 단어 기반으로 초기 클러스터를 구축하고 같은 클러스터에 속한 문서의 유사도를 높도록 학습하여 반교사(Semi-supervised) 방법으로 문서 클러스터링 성능을 개선하였다. 본 발명에서는 네트워크 기반 문서 클러스터링을 위하여 외부 지표를 이용한 문서 순위를 이용하여 문서의 중요도를 반영하는 새로운 문서 임베딩 방법을 제안한다. 이를 통해 문서의 의미(semantic) 정보, 네트워크 정보, 문서 메타데이터 정보를 모두 고려하여 높은 성능으로 문서 임베딩을 학습할 수 있다.
네트워크 모델 정의
본 발명의 목적은 네트워크 임베딩을 통하여 문서 혹은 네트워크를 군집화하는데 있다. 아래에서는 멀티 레이블링이 가능한 네트워크 기반의 문서 분류에 대한 문제 정의와 관련된 개념, 표기에 대해 설명한다. 본 발명에서 정의되는 네트워크는 기존 발명과 다르게 멀티-레이블링이 가능하며, 따라서 각 문서가 여러 개의 클러스터에 할당 될 수 있다.
(정의1) 정보 네트워크(information network): 정보 네트워크 그래프는
Figure pat00067
로 정의될 수 있다. V는 네트워크에 속한 객체들(objects), E는 네트워크에 속한 객체 쌍의 이진 관계(binary relation)를 나타내는 에지(edge),
Figure pat00068
는 에지 e(
Figure pat00069
)에 대한 실수 값 가중치(weight mapping)이다.
정보 네트워크는 네트워크를 구성하는 오브젝트들 간의 연결 네트워크다. 예를 들어서 모바일 앱을 분류하는 작업을 가정하면, 각 앱이 오브젝트에 해당하며 앱
Figure pat00070
가 연관되었을 경우에(예를 들어서
Figure pat00071
의 제목에 같은 단어가 공유되었을 때) 두 앱 사이에 에지
Figure pat00072
가 존재한다. 에지
Figure pat00073
Figure pat00074
의 관계의 강도에 따라 높은 값을 가지는 가중치
Figure pat00075
를 가진다. 예를 들어서
Figure pat00076
가 제목에 공유하는 단어가 매우 중요한 단어일 경우
Figure pat00077
은 높아지며, 공유하는 단어가 전혀 없거나 스탑단어(stop word)일 경우
Figure pat00078
은 0에 가까워진다.
(정의 2) 확률적 네트워크 클러스터링(probabilistic network clustering): 네트워크
Figure pat00079
가 주어졌을 때, 확률 클러스터
Figure pat00080
Figure pat00081
로 정의한다. 이 때
Figure pat00082
Figure pat00083
의 서브 네트워크이며
Figure pat00084
Figure pat00085
일 때
Figure pat00086
일 확률 집합을 지칭한다.
객체
Figure pat00087
가 클러스터
Figure pat00088
에 속할 확률
Figure pat00089
는 0에서 1사이의 값을 가지며
Figure pat00090
이다. K는 클러스터 개수이다. 클러스터들
Figure pat00091
서로 독립적이므로 객체
Figure pat00092
는 모든 클러스터 각각에 최대 1의 확률로 할당될 수 있다. 이는 확률값을 임계치에 비교하는 것에 의해서, 쉽게 멀티-레이블링을 가능하게 한다. 반면, 대다수의 기존 연구들에서 객체가 클러스터에 할당될 확률은 의존적이며
Figure pat00093
로 정의된다. 이 경우에는 배타적으로 오브젝트가 클러스터에 할당되므로 멀티-레이블링이 불가능하다. K개의 클러스터
Figure pat00094
가 주어졌을 때
Figure pat00095
이다. 즉 어떤 클러스터에도 할당되지 않는 객체
Figure pat00096
가 존재한다. 이는 매우 예외적인 객체나 노이즈 객체(noise object)가 존재할 때, 강제로 특정 클러스터에 객체를 할당하거나 예외 처리를 위한 별개의 클러스터를 둔 기존의 방식과 달리 강제로 특정 클러스터에 할당할 필요가 없음을 나타낸다.
멀티레이블링이 가능한 확률 생성 모델 정의
기존 연구에 따르면 네트워크에서 중요도가 높은 객체일수록 다른 객체와 연결(link)을 많이 가지고 있다. 중요한 객체일수록 많은 객체에 의해서 참조되기 때문이다. 또한 중요도가 높은 객체일수록 클러스터의 중앙 객체와 인접한 객체일 확률이 높다. 이는 직관적으로 다른 객체들이 중요도가 높은 객체를 참조하거나 참고하여 생성되는 현상을 설명한다. 예컨대, 학계가 주목하고 인용이 많이 된 논문에서 파생된 다른 논문이나, 높은 인기를 가진 모바일 앱을 참고하여 유사한 모바일 앱이 제작되고 관련 문서가 만들어지는 경우를 생각해 볼 수 있다. 이러한 관찰에 근거하여 본 발명에서는 네트워크 클러스터링을 위한 확률생성모델
Figure pat00097
를 계산하여 네트워크를 클러스터링 하는 방법을 제안한다.
앞서 살펴본 (정의 1)에 따라, 네트워크에서 에지로 연결된 객체들은 에지 가중치에 따른 관계 강도를 가진다. 따라서, 하기 수학식 1 과 같이 그래프 G의 객체
Figure pat00098
를 방문할 확률은
Figure pat00099
의 이웃을 방문할 확률의 합과 비례한다고 가정할 수 있다.
Figure pat00100
여기서,
Figure pat00101
는 그래프 G에서 객체
Figure pat00102
의 이웃 객체들의 집합을 의미하며
Figure pat00103
Figure pat00104
와 이웃
Figure pat00105
의 에지 가중치를 의미한다. 따라서, 객체
Figure pat00106
가 네트워크
Figure pat00107
에 속할 사후확률(posterior probability)은 베이지안 룰(Bayesian rule)을 이용하여 하기 수학식 2 및 수학식 3으로 계산될 수 있다.
Figure pat00108
Figure pat00109
여기서,
Figure pat00110
의 값은 모두 동일한 것으로 가정할 수 있고, 수학식 3에서 무시될 수 있다.
Figure pat00111
Figure pat00112
Figure pat00113
의 관계 강도를 나타낸다. 관계강도가 높은 가까운 이웃 객체가 사후확률에 더 많은 영향을 준다. 또한, 상술된 바와 같이
Figure pat00114
의 중요도가 높을 수록
Figure pat00115
에서
Figure pat00116
를 방문할 확률이 높아진다. 따라서,
Figure pat00117
를 두 객체의 관계강도와 중요도를 고려한 함수
Figure pat00118
를 이용하여 하기 수학식 4와 같이 표현할 수 있다.
Figure pat00119
수학식 4에서 그래프
Figure pat00120
에서
Figure pat00121
을 방문할 확률
Figure pat00122
값도
Figure pat00123
와 마찬가지로
Figure pat00124
Figure pat00125
의 유사도와 중요도를 비교하여 계산할 수 있다. 이 때 그래프
Figure pat00126
와 객체
Figure pat00127
를 비교하기 위해
Figure pat00128
에 속한 객체들의 평균 값과 비교할 수 있다.
Figure pat00129
수학식 2 내지 5를 이용하여 최종적으로 객체
Figure pat00130
가 클러스터
Figure pat00131
에 속할 사후확률에 비례하는 스코어 함수(score function)를 하기 수학식 6과 같이 계산할 수 있다.
Figure pat00132
수학식 6에서
Figure pat00133
은 간단하게
Figure pat00134
에 속한 객체들의 숫자를 네트워크를 구성하는 전체 객체들의 숫자로 나누어 계산될 수 있다. 수학식 6을 통해서 객체의 중요도와 관계 강도에 따라서 객체
Figure pat00135
가 클러스터
Figure pat00136
에 속할 확률을 확률에 비례하는 점수로 표현할 수 있다.
랭킹 기반 네트워크 임베딩 학습
이하에서는, 앞서 설명된 중요도와 관계강도(유사도)를 표현하는 함수
Figure pat00137
를 본 발명에서 제안하는 Net2Vec(ranking based Network Embedding Learning) 알고리즘을 이용하여 학습하는 방법이 설명된다. 중요도와 관계강도(유사도)를 표현하는 함수
Figure pat00138
는 단어나 문서를 임베딩을 학습하기 위한 잘 알려진 Word2Vec 알고리즘을 개선한 Net2Vec 알고리즘을 이용하여 학습될 수 있다. 최적화(optimization)시에 문서의 랭킹정보를 활용하여 문서의 중요도를 임베딩에 반영하여 문서 관계의 강도를 비교할 때 활용할 수 있도록 한다.
도 1은 Word2Vec 알고리즘을 설명하기 위한 개념도이며, 도 2는 Doc2Vec 알고리즘을 설명하기 위한 개념도이며, 도 3은 본 발명에 따른 Net2Vec 알고리즘을 설명하기 위한 개념도이다.
도 1을 참조하면, Word2Vec알고리즘은 입력 레이어(input layer), 프로젝션 레이어(projection layer), 출력 레이어(output layer)로 구성된 신경망 모델을 이용하며, V개의 단어로 구성된 단어셋 w에 속한 입력단어
Figure pat00139
의 문맥단어
Figure pat00140
,
Figure pat00141
,...,
Figure pat00142
를 예측하도록 학습할 수 있다. 이를 하기 수학식 7 및 8으로 표현할 수 있다.
Figure pat00143
Figure pat00144
수학식 8에서
Figure pat00145
는 도 2의 입력단어
Figure pat00146
에 매칭되는 가중치 행렬(weight matrix)
Figure pat00147
에 해당하는 벡터이고,
Figure pat00148
는 가중치 행렬
Figure pat00149
을 이용하여 구한 출력단어
Figure pat00150
에 대한 벡터이다. 코퍼스(corpus) T가 주어졌을 때, Word2Vec 알고리즘은 수학식 7의 로그 확률을 최대화하도록 학습하여 단어의 잠재벡터(latent vector)로 활용될 가중치 행렬을 얻는다. 그리고, 수학식 8의 분모를 효율적으로 계산하기 위한 알고리즘으로 Negative Sampling Loss를 사용할 수 있다.
Word2Vec알고리즘이 단어를 임베딩하기 위한 기술이라면 Doc2Vec은 문서, 단락 혹은 문장 단위로 임베딩을 수행하기 위한 알고리즘이다. 도 2에서 보여지는 바와 같이, Doc2Vec알고리즘은 입력 레이어, 프로젝션 레이어, 출력 레이어로 구성된 신경망 모델을 이용하며, N개의 문서를 가지고 있는 문서셋 d에 속한 문서
Figure pat00151
를 입력으로 받아 문서
Figure pat00152
에 속한 단어
Figure pat00153
,
Figure pat00154
,...,
Figure pat00155
를 예측하도록 학습하여 문서
Figure pat00156
를 임베딩한다.
한편, 본 발명에서 제안하는 알고리즘 Net2Vec은 도 3에서 보여지는 바와 같이 도 2에서 보여지는 바와 같이, Doc2Vec알고리즘은 입력 레이어(input layer), 프로젝션 레이어(projection layer), 출력 레이어(output layer)로 구성된 신경망 모델을 이용하여 네트워크에 속한 객체(즉, 클러스터링의 대상, 예컨대, 문서)
Figure pat00157
를 입력으로 받아
Figure pat00158
의 이웃 객체
Figure pat00159
,
Figure pat00160
, ...,
Figure pat00161
를 예측하도록 신경망을 학습시킨다.
객체
Figure pat00162
의 벡터는 Word2Vec, Doc2Vec 알고리즘과 마찬가지로 가중행렬
Figure pat00163
를 이용하여 구할 수 있다. 제안하는 알고리즘은 오브젝트 사이의 관계 강도
Figure pat00164
를 고려하여 입력 오브젝트의 이웃 객체를 예측하도록 수학식 9를 최적화하여 학습한다.
Figure pat00165
Figure pat00166
본 발명에서는 중요한 객체와의 관계 강도를 반영하기 위하여 Authority Ranking Loss를 도입한다. Authority Ranking Loss는 중요도(authority)가 높은 객체의 경우 중요도가 낮은 객체에 비해 네트워크에서 방문할 확률이 높다는 직관을 반영하여,
Figure pat00167
의 이웃 객체
Figure pat00168
의 중요도가 낮을수록 페널티를 주어 중요도가 높은 객체가 더 높은 확률로 예측 되도록 학습을 유도한다.
중요도를 나타내는 지표로는 대상 객체(예컨대, 문서)의 순위, 빈도 등 데이터 셋의 특성에 따라 다양한 지표가 고려될 수 있다. 예를 들어, 모바일 어플리케이션의 경우 다운로드 순위를 중요도로 사용할 수 있다. 수학식 11은 중요도 랭킹 점수(authority ranking score(ARS)) 함수를 나타낸다.
Figure pat00169
여기에서,
Figure pat00170
Figure pat00171
의 순위 점수로서, 간단하게 주어진 기간 동안의 순위의 역수 합을 점수로 이용하며, 정규화 함수로 Min-max normalization을 사용한다. 즉 1등은 1점, 2등은 0.5점으로 점수가 메어지고, 주어진 기간 동안 객체가 기록한 순위를 합산하여 구할 수 있다.
Figure pat00172
(
Figure pat00173
)는
Figure pat00174
Figure pat00175
벡터의 코사인 유사도(cosine similarity) 비교를 통해
Figure pat00176
Figure pat00177
의 유사도를 측정한다. 유사도는 객체들의 관계 강도를 구하기 위해 사용되며 따라서 유사도가 높은 객체
Figure pat00178
의 중요도가 높을수록
Figure pat00179
의 중요도가 높아진다.
제약 최적화 문제를 풀기 위하여, 본 발명의 일 실시예에서는 제약(constraint)으로 오브젝트 함수의 페널티 텀(penalty term)을 이용하며, 하기 수학식 12로 표현될 수 있다.
Figure pat00180
제안하는 모델은 negative sampling을 이용하여 정규화한다. Negative sampling 방법은 긍정 예제(positive example)와 그 보다 더 많은 수의 부정 예제(negative example)를 전체 셋에서 랜덤하게 추출하여 학습한다. 부정 예제에 대하여 입력 객체와 출력 객체의 유사도 sim(
Figure pat00181
가 높고 출력 객체
Figure pat00182
의 중요도가 높은 경우에는 높은 페널티를 주고 긍정 예제에는 반대로 작용한다. 틀린 예측에 대해서 중요도가 높을수록 더 많은 페널티를 주는데 이는 중요도가 높을수록 특정 클러스터를 대표하는 차별화되고 명확한 객체라고 볼 수 있으므로 그 클러스터와 입력 객체가 더 멀어지도록 임베딩 벡터가 학습하도록 하는 효과를 가져온다. 수학식 12의 오브젝트 함수를 이용하여 네트워크 임베딩을 학습함으로써
Figure pat00183
의 잠재 벡터
Figure pat00184
는 중요도가 높은 이웃 객체와 근접한 거리를 갖도록 학습된다.
따라서, 수학식 4 내지 6의
Figure pat00185
는 두 객체의 잠재 벡터(latent vector)의 거리를 코사인 유사도로 측정하는 함수로 표현 가능하고, 최종적으로 스코어 함수인 수학식 6을 이용하여 사후 확률을 계산, 오브젝트(문서)간의 유사도를 계산할 수 있게 된다.
본 발명의 일 실시예에 따른 클러스터링 방법
도 4는 본 발명의 일 실시예에 따른 랭킹 기반 네트워크 임베딩을 이용한 클러스터링 방법을 설명하기 위한 순서도이다.
도 4에서는, 앞서 설명된 네트워크 모델, 확률 생성 모델, 랭킹 기반 네트워크 임베딩, 및 이를 위한 신경망 학습을 이용하여, 클러스터링을 수행하는 방법이 설명된다.
본 발명의 일 실시예에 따른 클러스터링 방법은 프로세서(processor)와 프로세서에 의해 실행되는 적어도 하나의 명령(instruction)이 저장된 메모리(memory) 또는 저장장치(storage device)로 구성된 장치에 의해서 수행될 수 있으며, 상기 장치의 세부 구성은 도 3을 통하여 후술된다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 클러스터링 방법은 클러스터링 대상 객체들로 구성된 네트워크를 구성하는 단계(S110); 상기 클러스터링 대상 객체들의 중요도를 수집하는 단계(S120); 신경망을 이용하여 상기 네트워크를 구성하는 클러스터링 대상 객체들의 이웃 객체들을 표현하는 벡터들의 집합을 출력하기 위한 네트워크 임베딩을 수행하는 단계(S130); 및 상기 클러스터링 대상 객체들 각각에 대한 정보와 상기 벡터들의 집합을 이용하여 상기 클러스터링 대상 객체들에 대한 클러스터링을 수행하는 단계(S140)를 포함하여 구성될 수 있다.
앞서 설명한 바와 같이, 클러스터링 대상 객체들은 문서들 또는 모바일 어플리케이션(mobile application)일 수 있다. 즉, 본 발명에 따른 클러스터링 방법에서는 대상 객체의 내용을 참조하지 않기 때문에, 클러스터링의 대상이 되는 객체에 제한이 없다.
여기서, 단계(S110)에서 네트워크는
Figure pat00186
로 정의되며, V는 상기 네트워크에 속한 상기 클러스터링 대상 객체들, E는 상기 네트워크에 속한 객체 쌍의 이진 관계(binary relation)를 나타내는 에지(edge),
Figure pat00187
는 에지 e(
Figure pat00188
)에 대한 실수 값 가중치(weight mapping)일 수 있다.
또한, 단계(S140)에서 클러스터링은 수학식 6으로 설명된 객체
Figure pat00189
가 클러스터
Figure pat00190
에 속할 사후 확률에 비례하는 스코어 함수(score function)에 기반하여 수행될 수 있다. 예컨대, 객체
Figure pat00191
에 대해서 계산된 스코어 함수의 값이 소정의 임계값 이상인 경우에 객체
Figure pat00192
가 클러스터
Figure pat00193
에 속하는 것으로 판단할 수 있다. 또는, 객체
Figure pat00194
에 대해서 계산된 스코어 함수의 값이 다른 객체들에 대해서 계산된 스코어 함수의 평균값 이상이거나 평균값보다 미리 정해진 차이만큼 큰 경우에 객체
Figure pat00195
가 클러스터
Figure pat00196
에 속하는 것으로 판단할 수 있다.
구체적으로 스코어 함수는
Figure pat00197
로 표현될 수 있다. 여기서,
Figure pat00198
는 상기 네트워크 G에서 객체
Figure pat00199
의 이웃 객체들인
Figure pat00200
의 집합,
Figure pat00201
는 객체
Figure pat00202
Figure pat00203
의 유사도 및 중요도를 표현하는 함수,
Figure pat00204
는 상기 클러스터
Figure pat00205
에 대응되는 그래프
Figure pat00206
에 속한 객체들,
Figure pat00207
는 상기 네트워크 G에 속한 전체 객체들,
Figure pat00208
는 객체
Figure pat00209
와 그래프
Figure pat00210
에 속한 객체들 간의 평균 유사도 및 중요도일 수 있다.
앞서 설명된 바와 같이 상기 수학식 6의 스코어 함수는 수학식 2 내지 5를 통하여 설명된 확률 모델에 기반하고 있으므로, 수학식 6의 스코어 함수를 이용하여 각 객체가 각 클러스터에 속하는지 여부를 판단하는 것은 각 클러스터별로 판단될 수 있다. 따라서, 하나의 객체가 복수의 클러스터에 속하는 것으로 판단되는 멀티-레이블링 및 하나의 객체가 어떠한 클러스터에도 속하지 않는 것으로 판단되는 넌-레이블링이 가능해진다.
한편, 상기 스코어 함수에서
Figure pat00211
는 Net2Vec 알고리즘에 의해서 학습되며, 상기 Net2Vec 알고리즘은 상기 클러스터링 대상 객체들의 중요도 정보를 이용하여 중요도가 높은 이웃 객체가 예측될 확률이 최대가 되도록 신경망을 학습시키기 위한 알고리즘이다.
상기 Net2Vec 알고리즘은 대상 객체
Figure pat00212
의 이웃 객체
Figure pat00213
의 중요도가 낮을수록 페널티를 주어 중요도가 높은 객체가 더 높은 확률로 예측 되도록 학습을 유도하기 위한 Authority Ranking Loss를 이용할 수 있다.
수학식 11에서 설명된 바와 같이, 중요도는 중요도 랭킹 점수(authority ranking score(ARS)) 함수 ARS(
Figure pat00214
로 표현될 수 있다.
Figure pat00215
Figure pat00216
의 순위 점수이며,
Figure pat00217
(
Figure pat00218
)는
Figure pat00219
Figure pat00220
의 잠재 벡터(latent vector)들 간의 거리를 표현하는 코사인 유사도(cosine similarity),
Figure pat00221
는 그래프 G에서 객체
Figure pat00222
의 이웃 객체들인
Figure pat00223
의 집합일 수 있다.
본 발명의 일 실시예에 따른 클러스터링 장치
도 5는 본 발명의 일 실시예에 따른 랭킹 기반 네트워크 임베딩을 이용한 군집화 장치의 블록도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 문서 군집화 장치는 네트워크 데이터 셋 저장소(), 중요도 정보 저장소(), 네트워크 임베딩부(), 및 클러스터링 수행부()를 포함하여 구성될 수 있다.
앞서, 도 4에서 설명된 것과 같이 본 발명의 일 실시예에 따른 문서 군집화 장치는 프로세서와 프로세서에 수행되는 적어도 하나의 명령어로 구성된 메모리 또는 저장장치로 구성될 수 있다.
따라서, 도 5에서 예시되는 장치의 구성은 본 발명의 일 실시예에 따른 클러스터링 장치의 개념적인 기능적 요소들을 표현한 것으로, 본 발명의 다양한 실시예에 따라서 다양하게 구성될 수 있다.
먼저, 네트워크 데이터셋 저장소(210)는 웹페이지나 논문과 같이 네트워크로 표현될 수 있는 클러스터링 대상 객체들의 데이터셋(data set)을 저장할 수 있다. 즉, 네트워크 데이터셋 저장소(210)에 저장된 데이터 셋에 포함된 각각의 객체들이 클러스터링의 대상이 될 수 있다. 한편, 중요도 정보 저장소(220)는 네트워크를 구성하는 객체들의 순위 정보(중요도 정보)를 저장할 수 있다. 네트워크 데이터 셋 저장소(210) 및 중요도 정보 저장소(220)는 상술된 메모리 또는 저장장치에 위치할 수 있다.
다음으로, 네트워크 임베딩부(230)는 네트워크 데이터 셋 저장소(210)에서 네트워크에 대한 정보를 독출하고, 분석 및 학습하여 네트워크에 속한 객체들을 벡터로 변환시키는 임베딩 작업을 수행한다. 이 때, 네트워크 임베딩부(230)는 신경망을 포함하며, 중요도 정보 저장소(220)로부터 제공되는 객체들의 순위(중요도) 정보를 이용하여 순위(중요도)가 높은 이웃 객체를 예측할 확률이 최대가 되도록 신경망을 학습시킬 수 있다.
클러스터링 수행부(240)는 네트워크 임베딩부(230)에서 출력된 클러스터링 대상 객체들의 이웃 객체들을 표현하는 벡터들의 집합과 클러스터링 대상 객체들 각각의 정보를 이용하여 객체들(예컨대, 문서)를 군집화한다. 예컨대, 클러스터링 수행부(240)는 K-means 등 기존의 다양한 군집화 알고리즘 중 하나를 사용할 수 있으며 객체들의 유사도를 계산하기 위하여 상기 벡터들의 집합을 사용할 수 있다.
본 발명의 실시예들에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
210: 네트워크 데이터 셋 저장소
220: 중요도 정보 저장소
230: 네트워크 임베딩부
240: 클러스터링 수행부

Claims (16)

  1. 클러스터링(clustering)을 수행하는 방법에 있어서,
    클러스터링 대상 객체들로 네트워크를 구성하는 단계;
    상기 클러스터링 대상 객체들의 중요도를 수집하는 단계;
    신경망을 이용하여 상기 네트워크를 구성하는 클러스터링 대상 객체들의 이웃 객체들을 표현하는 벡터들의 집합을 출력하기 위한 네트워크 임베딩을 수행하는 단계; 및
    상기 클러스터링 대상 객체들 각각에 대한 정보와 상기 벡터들의 집합을 이용하여 상기 클러스터링 대상 객체들에 대한 클러스터링을 수행하는 단계를 포함하고,
    상기 신경망은 중요도가 높은 이웃 객체들이 더 높은 확률로 출력되도록 학습되는,
    클러스터링 방법.
  2. 청구항 1에 있어서,
    상기 클러스터링 대상 객체들은 문서들 또는 모바일 어플리케이션(mobile application)인,
    클러스터링 방법.
  3. 청구항 1에 있어서,
    상기 네트워크는
    Figure pat00224
    로 정의되며, V는 상기 네트워크에 속한 상기 클러스터링 대상 객체들, E는 상기 네트워크에 속한 객체 쌍의 이진 관계(binary relation)를 나타내는 에지(edge),
    Figure pat00225
    는 에지 e(
    Figure pat00226
    )에 대한 실수 값 가중치(weight mapping)인,
    클러스터링 방법.
  4. 청구항 3에 있어서,
    상기 클러스터링은 객체
    Figure pat00227
    가 클러스터
    Figure pat00228
    에 속할 사후 확률에 비례하는 스코어 함수(score function)
    Figure pat00229
    를 이용하여 수행되며,
    Figure pat00230
    는 상기 네트워크 G에서 객체
    Figure pat00231
    의 이웃 객체들인
    Figure pat00232
    의 집합,
    Figure pat00233
    는 객체
    Figure pat00234
    Figure pat00235
    의 유사도 및 중요도를 표현하는 함수,
    Figure pat00236
    는 상기 클러스터
    Figure pat00237
    에 대응되는 그래프
    Figure pat00238
    에 속한 객체들,
    Figure pat00239
    는 상기 네트워크 G에 속한 전체 객체들,
    Figure pat00240
    는 객체
    Figure pat00241
    와 그래프
    Figure pat00242
    에 속한 객체들 간의 평균 유사도 및 중요도인,
    클러스터링 방법.
  5. 청구항 4에 있어서,
    상기
    Figure pat00243
    는 Net2Vec 알고리즘에 의해서 학습되며, 상기 Net2Vec 알고리즘은 상기 클러스터링 대상 객체들의 중요도 정보를 이용하여 중요도가 높은 이웃 객체가 예측될 확률이 최대가 되도록 상기 신경망을 학습시키는,
    클러스터링 방법.
  6. 청구항 5에 있어서,
    상기 Net2Vec 알고리즘은 대상 객체
    Figure pat00244
    의 이웃 객체
    Figure pat00245
    의 중요도가 낮을수록 페널티를 주어 중요도가 높은 객체가 더 높은 확률로 예측 되도록 학습을 유도하기 위한 Authority Ranking Loss 함수를 이용하는,
    클러스터링 방법.
  7. 청구항 3에 있어서,
    상기 중요도는 중요도 랭킹 점수(authority ranking score(ARS)) 함수 ARS(
    Figure pat00246
    로 표현되며,
    Figure pat00247
    Figure pat00248
    의 순위 점수이며,
    Figure pat00249
    (
    Figure pat00250
    )는
    Figure pat00251
    Figure pat00252
    의 잠재 벡터(latent vector)들 간의 거리를 표현하는 코사인 유사도(cosine similarity),
    Figure pat00253
    는 그래프 G에서 객체
    Figure pat00254
    의 이웃 객체들인
    Figure pat00255
    의 집합인,
    클러스터링 방법.
  8. 청구항 7에 있어서,
    상기 클러스터링 대상 객체들이 모바일 어플리케이션인 경우, 상기
    Figure pat00256
    는 주어진 기간 동안의 다운로드 순위의 역수 합을 min-max 정규화(normalization)하여 얻어지는,
    클러스터링 방법.
  9. 클러스터링(clustering)을 수행하는 장치에 있어서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 의해서 실행되는 적어도 하나의 명령을 저장하는 메모리를 포함하고,
    상기 적어도 하나의 명령은 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서가
    클러스터링 대상 객체들로 네트워크를 구성하는 단계;
    상기 클러스터링 대상 객체들의 중요도를 수집하는 단계;
    신경망을 이용하여 상기 네트워크를 구성하는 클러스터링 대상 객체들의 이웃 객체들을 표현하는 벡터들의 집합을 출력하기 위한 네트워크 임베딩을 수행하는 단계; 및
    상기 클러스터링 대상 객체들 각각에 대한 정보와 상기 벡터들의 집합을 이용하여 상기 클러스터링 대상 객체들에 대한 클러스터링을 수행하는 단계를 수행하도록 구성되며,
    상기 신경망은 중요도가 높은 이웃 객체들이 더 높은 확률로 출력되도록 학습되는,
    클러스터링 장치.
  10. 청구항 9에 있어서,
    상기 클러스터링 대상 객체들은 문서들 또는 모바일 어플리케이션(mobile application)인,
    클러스터링 장치.
  11. 청구항 9에 있어서,
    상기 네트워크는
    Figure pat00257
    로 정의되며, V는 상기 네트워크에 속한 상기 클러스터링 대상 객체들, E는 상기 네트워크에 속한 객체 쌍의 이진 관계(binary relation)를 나타내는 에지(edge),
    Figure pat00258
    는 에지 e(
    Figure pat00259
    )에 대한 실수 값 가중치(weight mapping)인,
    클러스터링 장치.
  12. 청구항 11에 있어서,
    상기 클러스터링은 객체
    Figure pat00260
    가 클러스터
    Figure pat00261
    에 속할 사후 확률에 비례하는 스코어 함수(score function)
    Figure pat00262
    를 이용하여 수행되며,
    Figure pat00263
    는 상기 네트워크 G에서 객체
    Figure pat00264
    의 이웃 객체들인
    Figure pat00265
    의 집합,
    Figure pat00266
    는 객체
    Figure pat00267
    Figure pat00268
    의 유사도 및 중요도를 표현하는 함수,
    Figure pat00269
    는 상기 클러스터
    Figure pat00270
    에 대응되는 그래프
    Figure pat00271
    에 속한 객체들,
    Figure pat00272
    는 상기 네트워크 G에 속한 전체 객체들,
    Figure pat00273
    는 객체
    Figure pat00274
    와 그래프
    Figure pat00275
    에 속한 객체들 간의 평균 유사도 및 중요도인,
    클러스터링 장치.
  13. 청구항 12에 있어서,
    상기
    Figure pat00276
    는 Net2Vec 알고리즘에 의해서 학습되며, 상기 Net2Vec 알고리즘은 상기 클러스터링 대상 객체들의 중요도 정보를 이용하여 중요도가 높은 이웃 객체가 예측될 확률이 최대가 되도록 상기 신경망을 학습시키는,
    클러스터링 장치.
  14. 청구항 13에 있어서,
    상기 Net2Vec 알고리즘은 대상 객체
    Figure pat00277
    의 이웃 객체
    Figure pat00278
    의 중요도가 낮을수록 페널티를 주어 중요도가 높은 객체가 더 높은 확률로 예측 되도록 학습을 유도하기 위한 Authority Ranking Loss를 이용하는,
    클러스터링 장치.
  15. 청구항 11에 있어서,
    상기 중요도는 중요도 랭킹 점수(authority ranking score(ARS)) 함수 ARS(
    Figure pat00279
    로 표현되며,
    Figure pat00280
    Figure pat00281
    의 순위 점수이며,
    Figure pat00282
    (
    Figure pat00283
    )는
    Figure pat00284
    Figure pat00285
    의 잠재 벡터(latent vector)들 간의 거리를 표현하는 코사인 유사도(cosine similarity),
    Figure pat00286
    는 그래프 G에서 객체
    Figure pat00287
    의 이웃 객체들인
    Figure pat00288
    의 집합인,
    클러스터링 장치.
  16. 청구항 15에 있어서,
    상기 클러스터링 대상 객체들이 모바일 어플리케이션인 경우, 상기
    Figure pat00289
    는 주어진 기간 동안의 다운로드 순위의 역수 합을 min-max 정규화(normalization)하여 얻어지는,
    클러스터링 장치.
KR1020190113395A 2019-09-16 2019-09-16 랭킹 기반 네트워크 임베딩을 이용한 군집화 방법 및 장치 KR20210032105A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190113395A KR20210032105A (ko) 2019-09-16 2019-09-16 랭킹 기반 네트워크 임베딩을 이용한 군집화 방법 및 장치
US16/659,912 US11531866B2 (en) 2019-09-16 2019-10-22 Clustering method and apparatus using ranking-based network embedding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190113395A KR20210032105A (ko) 2019-09-16 2019-09-16 랭킹 기반 네트워크 임베딩을 이용한 군집화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210032105A true KR20210032105A (ko) 2021-03-24

Family

ID=74868047

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190113395A KR20210032105A (ko) 2019-09-16 2019-09-16 랭킹 기반 네트워크 임베딩을 이용한 군집화 방법 및 장치

Country Status (2)

Country Link
US (1) US11531866B2 (ko)
KR (1) KR20210032105A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022234985A1 (ko) * 2021-05-06 2022-11-10 한양대학교 산학협력단 가상 부정 엣지 기반 유방향 네트워크 임베딩 방법 및 시스템
WO2024034830A1 (ko) * 2022-08-12 2024-02-15 삼성전자주식회사 Gnn 기반으로 그래프 데이터를 군집화하는 전자 장치 및 그의 제어 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220067503A1 (en) * 2020-08-26 2022-03-03 Nxp B.V. Method for analyzing class similarities in a machine learning model

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156056B2 (en) 2007-04-03 2012-04-10 Fernando Luege Mateos Method and system of classifying, ranking and relating information based on weights of network links
US8311960B1 (en) 2009-03-31 2012-11-13 Emc Corporation Interactive semi-supervised machine learning for classification
US9053391B2 (en) 2011-04-12 2015-06-09 Sharp Laboratories Of America, Inc. Supervised and semi-supervised online boosting algorithm in machine learning framework
US9058614B2 (en) 2012-05-21 2015-06-16 Sphereup Ltd. System and method for dynamically clustering data items
KR101770599B1 (ko) 2012-11-14 2017-08-23 한국전자통신연구원 소셜 미디어에서 영향력 있는 사용자를 검색하기 위한 장치, 시스템 및 그 방법
US9400834B2 (en) 2013-12-06 2016-07-26 Palo Alto Research Center Incorporated Efficient detection of information of interest using mode-based graph clustering
KR20150067897A (ko) 2013-12-10 2015-06-19 한국전자통신연구원 소셜 데이터의 인기도 예측 장치 및 방법
US20150262033A1 (en) 2014-03-14 2015-09-17 Xiaomi Inc. Method and terminal device for clustering
US20170132510A1 (en) 2015-11-05 2017-05-11 Facebook, Inc. Identifying Content Items Using a Deep-Learning Model
US10593346B2 (en) * 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
CN108287858B (zh) * 2017-03-02 2021-08-10 腾讯科技(深圳)有限公司 自然语言的语义提取方法及装置
RU2664481C1 (ru) * 2017-04-04 2018-08-17 Общество С Ограниченной Ответственностью "Яндекс" Способ и система выбора потенциально ошибочно ранжированных документов с помощью алгоритма машинного обучения
US11361243B2 (en) * 2017-06-07 2022-06-14 Accenture Global Solutions Limited Recommending machine learning techniques, features, and feature relevance scores
JP6764028B2 (ja) * 2017-07-19 2020-09-30 日本電信電話株式会社 マスク計算装置、クラスタ重み学習装置、マスク計算ニューラルネットワーク学習装置、マスク計算方法、クラスタ重み学習方法及びマスク計算ニューラルネットワーク学習方法
US10691770B2 (en) * 2017-11-20 2020-06-23 Colossio, Inc. Real-time classification of evolving dictionaries
KR20190070625A (ko) 2017-12-13 2019-06-21 한국전자통신연구원 메타데이터를 이용한 아이템 추천 방법 및 장치
US10963499B2 (en) * 2017-12-29 2021-03-30 Aiqudo, Inc. Generating command-specific language model discourses for digital assistant interpretation
JP6973192B2 (ja) * 2018-03-08 2021-11-24 日本電信電話株式会社 言語モデルを利用する装置、方法及びプログラム
US20190347540A1 (en) * 2018-05-10 2019-11-14 Fmr Llc AI-Based Context Evaluation Engine Apparatuses, Methods and Systems
US11074303B2 (en) * 2018-05-21 2021-07-27 Hcl Technologies Limited System and method for automatically summarizing documents pertaining to a predefined domain
JP7087938B2 (ja) * 2018-06-07 2022-06-21 日本電信電話株式会社 質問生成装置、質問生成方法及びプログラム
US11263179B2 (en) * 2018-06-15 2022-03-01 Microsoft Technology Licensing, Llc System for collaborative editing based on document evaluation
WO2020147957A1 (en) * 2019-01-17 2020-07-23 Toyota Motor Europe System and method for generating a mask for object instances in an image
US11144579B2 (en) * 2019-02-11 2021-10-12 International Business Machines Corporation Use of machine learning to characterize reference relationship applied over a citation graph
US11140451B2 (en) * 2019-08-07 2021-10-05 Hulu, LLC Representation of content based on content-level features
KR20210044559A (ko) * 2019-10-15 2021-04-23 삼성전자주식회사 출력 토큰 결정 방법 및 장치
KR102504319B1 (ko) * 2020-02-17 2023-02-28 한국전자통신연구원 영상 객체 속성 분류 장치 및 방법
US20210272040A1 (en) * 2020-02-28 2021-09-02 Decooda International, Inc. Systems and methods for language and speech processing with artificial intelligence

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022234985A1 (ko) * 2021-05-06 2022-11-10 한양대학교 산학협력단 가상 부정 엣지 기반 유방향 네트워크 임베딩 방법 및 시스템
WO2024034830A1 (ko) * 2022-08-12 2024-02-15 삼성전자주식회사 Gnn 기반으로 그래프 데이터를 군집화하는 전자 장치 및 그의 제어 방법

Also Published As

Publication number Publication date
US11531866B2 (en) 2022-12-20
US20210081768A1 (en) 2021-03-18

Similar Documents

Publication Publication Date Title
US11861477B2 (en) Utilizing machine learning models to identify insights in a document
Gomes et al. Bug report severity level prediction in open source software: A survey and research opportunities
Rakha et al. Studying the needed effort for identifying duplicate issues
KR20210032105A (ko) 랭킹 기반 네트워크 임베딩을 이용한 군집화 방법 및 장치
JP6848091B2 (ja) 情報処理装置、情報処理方法、及びプログラム
Pembeci Using word embeddings for ontology enrichment
CN112395875A (zh) 一种关键词提取方法、装置、终端以及存储介质
JP6079270B2 (ja) 情報提供装置
CN113139599A (zh) 一种融合词向量扩充和主题模型的服务分布式聚类方法
CN109271624A (zh) 一种目标词确定方法、装置及存储介质
CN111259147A (zh) 基于自适应注意力机制的句子级情感预测方法及系统
Ravi et al. Text embedding techniques for efficient clustering of twitter data
Azzam et al. A question routing technique using deep neural network for communities of question answering
Moral-García et al. Non-parametric predictive inference for solving multi-label classification
JP6426074B2 (ja) 関連文書検索装置、モデル作成装置、これらの方法及びプログラム
US11275893B1 (en) Reference document generation using a federated learning system
Alham Parallelizing support vector machines for scalable image annotation
Matos et al. Comparing different approaches for detecting hate speech in online Portuguese comments
Hameed User ticketing system with automatic resolution suggestions
CN113392651B (zh) 训练词权重模型及提取核心词的方法、装置、设备和介质
JP6040141B2 (ja) キーワード付与装置、キーワード付与方法及びプログラム
Deshpande et al. Measuring the effectiveness of Government Schemes using Machine learning algorithms
Rahman et al. Text-Based Data Analysis for Mental Health Using Explainable AI and Deep Learning
Balasundaram et al. Social Media Monitoring Of Airbnb Reviews Using AI: A Sentiment Analysis Approach For Immigrant Perspectives In The UK
CN117453911A (zh) 基于超图建模的文档作者身份分析方法、装置及电子设备