KR20210032105A - 랭킹 기반 네트워크 임베딩을 이용한 군집화 방법 및 장치 - Google Patents
랭킹 기반 네트워크 임베딩을 이용한 군집화 방법 및 장치 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/231—Hierarchical techniques, i.e. dividing or merging pattern sets so as to obtain a dendrogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning 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) 기술에 관한 것으로, 더욱 상세하게는 랭킹 기반 네트워크 임베딩을 이용하여 문서를 포함한 다양한 대상들에 대한 군집화를 수행하는 방법 및 장치에 관한 것이다.
군집화(클러스터링)는 유사한 객체들(예컨대, 문서)를 그룹핑하는 방법으로 미리 구축한 고비용의 학습셋이 없이 대용량의 객체를 분류하여 통찰(insight)을 추출하거나 분석하기 위한 접근법이다. 특히 최근과 같이 수백만개 이상의 대용량의 디지털 문서가 생산되는 환경에서는 빠른 처리속도와 높은 성능의 클러스터링 방법이 요구된다.
네트워크 기반 클러스터링은 그래프 기반으로 그래프를 구성하는 객체(노드)의 중요도와 노드들 간의 관계 강도를 분석하여 빠르고 효과적으로 문서를 분석할 수 있는 방법으로 논문, 모바일 앱, 소셜 미디어 등의 다양한 매체에 적용되고 있다. 네트워크 기반의 클러스터링에서 가장 중요한 요소는 객체의 중요도를 정확히 측정하는 방법이다. 객체가 문서일 경우, 기존의 많은 연구는 문서의 중요도를 측정하기 위하여 문서의 inlink, outlink 정보를 분석하거나 검색엔진 같은 도구를 이용하여 문서를 순위화하였다.
하지만 이러한 방식은 문서의 중요도를 높이기 위하여 의도적으로 링크를 조작하거나 내용과 무관한 중요 단어를 사용하는 어뷰징(abusing) 문제를 해결할 수 없다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 랭킹 기반 네트워크 임베딩을 이용하여 클러스터링을 수행하는 방법을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 랭킹 기반 네트워크 임베딩을 이용하여 클러스터링을 수행하는 장치를 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명에 따른 일 실시예는, 클러스터링(clustering)을 수행하는 방법으로서, 클러스터링 대상 객체들로 네트워크를 구성하는 단계; 상기 클러스터링 대상 객체들의 중요도를 수집하는 단계; 신경망을 이용하여 상기 네트워크를 구성하는 클러스터링 대상 객체들의 이웃 객체들을 표현하는 벡터들의 집합을 출력하기 위한 네트워크 임베딩을 수행하는 단계; 및 상기 클러스터링 대상 객체들 각각에 대한 정보와 상기 벡터들의 집합을 이용하여 상기 클러스터링 대상 객체들에 대한 클러스터링을 수행하는 단계를 포함하고, 상기 신경망은 중요도가 높은 이웃 객체들이 더 높은 확률로 출력되도록 학습될 수 있다.
상기 클러스터링 대상 객체들은 문서들 또는 모바일 어플리케이션(mobile application)일 수 있다.
상기 네트워크는 로 정의되며, V는 상기 네트워크에 속한 상기 클러스터링 대상 객체들, E는 상기 네트워크에 속한 객체 쌍의 이진 관계(binary relation)를 나타내는 에지(edge), 는 에지 e()에 대한 실수 값 가중치(weight mapping)일 수 있다.
상기 클러스터링은 객체 가 클러스터 에 속할 사후 확률에 비례하는 스코어 함수(score function)를 이용하여 수행되며,는 상기 네트워크 G에서 객체 의 이웃 객체들인 의 집합, 는 객체 와 의 유사도 및 중요도를 표현하는 함수, 는 상기 클러스터 에 대응되는 그래프 에 속한 객체들, 는 상기 네트워크 G에 속한 전체 객체들, 는 객체 와 그래프 에 속한 객체들 간의 평균 유사도 및 중요도일 수 있다.
상기 는 Net2Vec 알고리즘에 의해서 학습되며, 상기 Net2Vec 알고리즘은 상기 클러스터링 대상 객체들의 중요도 정보를 이용하여 중요도가 높은 이웃 객체가 예측될 확률이 최대가 되도록 상기 신경망을 학습시킬 수 있다.
상기 Net2Vec 알고리즘은 대상 객체의 이웃 객체 의 중요도가 낮을수록 페널티를 주어 중요도가 높은 객체가 더 높은 확률로 예측 되도록 학습을 유도하기 위한 Authority Ranking Loss 함수를 이용할 수 있다.
상기 중요도는 중요도 랭킹 점수(authority ranking score(ARS)) 함수 로 표현되며, 는 의 순위 점수이며, ()는 와 의 잠재 벡터(latent vector)들 간의 거리를 표현하는 코사인 유사도(cosine similarity), 는 그래프 G에서 객체 의 이웃 객체들인 의 집합일 수 있다.
상기 클러스터링 대상 객체들이 모바일 어플리케이션인 경우, 상기 는 주어진 기간 동안의 다운로드 순위의 역수 합을 min-max 정규화(normalization)하여 얻어질 수 있다.
상기 다른 목적을 달성하기 위한 본 발명에 따른 일 실시예는, 클러스터링(clustering)을 수행하는 장치로서, 적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 의해서 실행되는 적어도 하나의 명령을 저장하는 메모리를 포함할 수 있다. 상기 적어도 하나의 명령은 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서가 클러스터링 대상 객체들로 네트워크를 구성하는 단계; 상기 클러스터링 대상 객체들의 중요도를 수집하는 단계; 신경망을 이용하여 상기 네트워크를 구성하는 클러스터링 대상 객체들의 이웃 객체들을 표현하는 벡터들의 집합을 출력하기 위한 네트워크 임베딩을 수행하는 단계; 및 상기 클러스터링 대상 객체들 각각에 대한 정보와 상기 벡터들의 집합을 이용하여 상기 클러스터링 대상 객체들에 대한 클러스터링을 수행하는 단계를 수행하도록 구성되고, 상기 신경망은 중요도가 높은 이웃 객체들이 더 높은 확률로 출력되도록 학습될 수 있다.
상기 클러스터링 대상 객체들은 문서들 또는 모바일 어플리케이션(mobile application)일 수 있다.
상기 네트워크는 로 정의되며, V는 상기 네트워크에 속한 상기 클러스터링 대상 객체들, E는 상기 네트워크에 속한 객체 쌍의 이진 관계(binary relation)를 나타내는 에지(edge), 는 에지 e()에 대한 실수 값 가중치(weight mapping)일 수 있다.
상기 클러스터링은 객체 가 클러스터 에 속할 사후 확률에 비례하는 스코어 함수(score function)를 이용하여 수행되며,는 상기 네트워크 G에서 객체 의 이웃 객체들인 의 집합, 는 객체 와 의 유사도 및 중요도를 표현하는 함수, 는 상기 클러스터 에 대응되는 그래프 에 속한 객체들, 는 상기 네트워크 G에 속한 전체 객체들, 는 객체 와 그래프 에 속한 객체들 간의 평균 유사도 및 중요도일 수 있다.
상기 는 Net2Vec 알고리즘에 의해서 학습되며, 상기 Net2Vec 알고리즘은 상기 클러스터링 대상 객체들의 중요도 정보를 이용하여 중요도가 높은 이웃 객체가 예측될 확률이 최대가 되도록 상기 신경망을 학습시킬 수 있다.
상기 Net2Vec 알고리즘은 대상 객체의 이웃 객체 의 중요도가 낮을수록 페널티를 주어 중요도가 높은 객체가 더 높은 확률로 예측 되도록 학습을 유도하기 위한 Authority Ranking Loss 함수를 이용할 수 있다.
상기 중요도는 중요도 랭킹 점수(authority ranking score(ARS)) 함수 로 표현되며, 는 의 순위 점수이며, ()는 와 의 잠재 벡터(latent vector)들 간의 거리를 표현하는 코사인 유사도(cosine similarity), 는 그래프 G에서 객체 의 이웃 객체들인 의 집합일 수 있다.
상기와 같은 본 발명에 따른 실시예들을 이용하면 클러스터링 대상 객체의 외부 지표에 기반한 중요도를 이용하여 어뷰징의 우려가 없이 네트워크 클러스터링을 수행할 수 있다.
또한, 본 발명에 따른 실시예들에서는, 종래 클러스터링 방법들에서 불가능하였던 멀리-레이블링 및 넌-레이블링이 가능해진다.
도 1은 Word2Vec 알고리즘을 설명하기 위한 개념도이다.
도 2는 Doc2Vec 알고리즘을 설명하기 위한 개념도이다.
도 3은 본 발명에 따른 Net2Vec 알고리즘을 설명하기 위한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 랭킹 기반 네트워크 임베딩을 이용한 클러스터링 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 일 실시예에 따른 랭킹 기반 네트워크 임베딩을 이용한 군집화 장치의 블록도이다.
도 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): 정보 네트워크 그래프는 로 정의될 수 있다. V는 네트워크에 속한 객체들(objects), E는 네트워크에 속한 객체 쌍의 이진 관계(binary relation)를 나타내는 에지(edge), 는 에지 e()에 대한 실수 값 가중치(weight mapping)이다.
정보 네트워크는 네트워크를 구성하는 오브젝트들 간의 연결 네트워크다. 예를 들어서 모바일 앱을 분류하는 작업을 가정하면, 각 앱이 오브젝트에 해당하며 앱 가 연관되었을 경우에(예를 들어서 의 제목에 같은 단어가 공유되었을 때) 두 앱 사이에 에지 가 존재한다. 에지 는 의 관계의 강도에 따라 높은 값을 가지는 가중치 를 가진다. 예를 들어서 가 제목에 공유하는 단어가 매우 중요한 단어일 경우 은 높아지며, 공유하는 단어가 전혀 없거나 스탑단어(stop word)일 경우 은 0에 가까워진다.
(정의 2) 확률적 네트워크 클러스터링(probabilistic network clustering): 네트워크 가 주어졌을 때, 확률 클러스터 를 로 정의한다. 이 때 는 의 서브 네트워크이며 는 일 때 일 확률 집합을 지칭한다.
객체 가 클러스터 에 속할 확률 는 0에서 1사이의 값을 가지며 이다. K는 클러스터 개수이다. 클러스터들 서로 독립적이므로 객체 는 모든 클러스터 각각에 최대 1의 확률로 할당될 수 있다. 이는 확률값을 임계치에 비교하는 것에 의해서, 쉽게 멀티-레이블링을 가능하게 한다. 반면, 대다수의 기존 연구들에서 객체가 클러스터에 할당될 확률은 의존적이며 로 정의된다. 이 경우에는 배타적으로 오브젝트가 클러스터에 할당되므로 멀티-레이블링이 불가능하다. K개의 클러스터 가 주어졌을 때 이다. 즉 어떤 클러스터에도 할당되지 않는 객체 가 존재한다. 이는 매우 예외적인 객체나 노이즈 객체(noise object)가 존재할 때, 강제로 특정 클러스터에 객체를 할당하거나 예외 처리를 위한 별개의 클러스터를 둔 기존의 방식과 달리 강제로 특정 클러스터에 할당할 필요가 없음을 나타낸다.
멀티레이블링이 가능한 확률 생성 모델 정의
기존 연구에 따르면 네트워크에서 중요도가 높은 객체일수록 다른 객체와 연결(link)을 많이 가지고 있다. 중요한 객체일수록 많은 객체에 의해서 참조되기 때문이다. 또한 중요도가 높은 객체일수록 클러스터의 중앙 객체와 인접한 객체일 확률이 높다. 이는 직관적으로 다른 객체들이 중요도가 높은 객체를 참조하거나 참고하여 생성되는 현상을 설명한다. 예컨대, 학계가 주목하고 인용이 많이 된 논문에서 파생된 다른 논문이나, 높은 인기를 가진 모바일 앱을 참고하여 유사한 모바일 앱이 제작되고 관련 문서가 만들어지는 경우를 생각해 볼 수 있다. 이러한 관찰에 근거하여 본 발명에서는 네트워크 클러스터링을 위한 확률생성모델 를 계산하여 네트워크를 클러스터링 하는 방법을 제안한다.
앞서 살펴본 (정의 1)에 따라, 네트워크에서 에지로 연결된 객체들은 에지 가중치에 따른 관계 강도를 가진다. 따라서, 하기 수학식 1 과 같이 그래프 G의 객체 를 방문할 확률은 의 이웃을 방문할 확률의 합과 비례한다고 가정할 수 있다.
여기서, 는 그래프 G에서 객체 의 이웃 객체들의 집합을 의미하며 은 와 이웃 의 에지 가중치를 의미한다. 따라서, 객체 가 네트워크 에 속할 사후확률(posterior probability)은 베이지안 룰(Bayesian rule)을 이용하여 하기 수학식 2 및 수학식 3으로 계산될 수 있다.
여기서, 의 값은 모두 동일한 것으로 가정할 수 있고, 수학식 3에서 무시될 수 있다. 은 와 의 관계 강도를 나타낸다. 관계강도가 높은 가까운 이웃 객체가 사후확률에 더 많은 영향을 준다. 또한, 상술된 바와 같이 의 중요도가 높을 수록 에서 를 방문할 확률이 높아진다. 따라서, 를 두 객체의 관계강도와 중요도를 고려한 함수 를 이용하여 하기 수학식 4와 같이 표현할 수 있다.
수학식 4에서 그래프 에서 을 방문할 확률 값도 와 마찬가지로 와 의 유사도와 중요도를 비교하여 계산할 수 있다. 이 때 그래프 와 객체 를 비교하기 위해 에 속한 객체들의 평균 값과 비교할 수 있다.
수학식 6에서 은 간단하게 에 속한 객체들의 숫자를 네트워크를 구성하는 전체 객체들의 숫자로 나누어 계산될 수 있다. 수학식 6을 통해서 객체의 중요도와 관계 강도에 따라서 객체 가 클러스터 에 속할 확률을 확률에 비례하는 점수로 표현할 수 있다.
랭킹 기반 네트워크 임베딩 학습
이하에서는, 앞서 설명된 중요도와 관계강도(유사도)를 표현하는 함수 를 본 발명에서 제안하는 Net2Vec(ranking based Network Embedding Learning) 알고리즘을 이용하여 학습하는 방법이 설명된다. 중요도와 관계강도(유사도)를 표현하는 함수 는 단어나 문서를 임베딩을 학습하기 위한 잘 알려진 Word2Vec 알고리즘을 개선한 Net2Vec 알고리즘을 이용하여 학습될 수 있다. 최적화(optimization)시에 문서의 랭킹정보를 활용하여 문서의 중요도를 임베딩에 반영하여 문서 관계의 강도를 비교할 때 활용할 수 있도록 한다.
도 1은 Word2Vec 알고리즘을 설명하기 위한 개념도이며, 도 2는 Doc2Vec 알고리즘을 설명하기 위한 개념도이며, 도 3은 본 발명에 따른 Net2Vec 알고리즘을 설명하기 위한 개념도이다.
도 1을 참조하면, Word2Vec알고리즘은 입력 레이어(input layer), 프로젝션 레이어(projection layer), 출력 레이어(output layer)로 구성된 신경망 모델을 이용하며, V개의 단어로 구성된 단어셋 w에 속한 입력단어 의 문맥단어 , ,..., 를 예측하도록 학습할 수 있다. 이를 하기 수학식 7 및 8으로 표현할 수 있다.
수학식 8에서 는 도 2의 입력단어 에 매칭되는 가중치 행렬(weight matrix) 에 해당하는 벡터이고, 는 가중치 행렬 을 이용하여 구한 출력단어 에 대한 벡터이다. 코퍼스(corpus) T가 주어졌을 때, Word2Vec 알고리즘은 수학식 7의 로그 확률을 최대화하도록 학습하여 단어의 잠재벡터(latent vector)로 활용될 가중치 행렬을 얻는다. 그리고, 수학식 8의 분모를 효율적으로 계산하기 위한 알고리즘으로 Negative Sampling Loss를 사용할 수 있다.
Word2Vec알고리즘이 단어를 임베딩하기 위한 기술이라면 Doc2Vec은 문서, 단락 혹은 문장 단위로 임베딩을 수행하기 위한 알고리즘이다. 도 2에서 보여지는 바와 같이, Doc2Vec알고리즘은 입력 레이어, 프로젝션 레이어, 출력 레이어로 구성된 신경망 모델을 이용하며, N개의 문서를 가지고 있는 문서셋 d에 속한 문서 를 입력으로 받아 문서 에 속한 단어 , ,..., 를 예측하도록 학습하여 문서 를 임베딩한다.
한편, 본 발명에서 제안하는 알고리즘 Net2Vec은 도 3에서 보여지는 바와 같이 도 2에서 보여지는 바와 같이, Doc2Vec알고리즘은 입력 레이어(input layer), 프로젝션 레이어(projection layer), 출력 레이어(output layer)로 구성된 신경망 모델을 이용하여 네트워크에 속한 객체(즉, 클러스터링의 대상, 예컨대, 문서) 를 입력으로 받아 의 이웃 객체 , , ..., 를 예측하도록 신경망을 학습시킨다.
객체 의 벡터는 Word2Vec, Doc2Vec 알고리즘과 마찬가지로 가중행렬 를 이용하여 구할 수 있다. 제안하는 알고리즘은 오브젝트 사이의 관계 강도 를 고려하여 입력 오브젝트의 이웃 객체를 예측하도록 수학식 9를 최적화하여 학습한다.
본 발명에서는 중요한 객체와의 관계 강도를 반영하기 위하여 Authority Ranking Loss를 도입한다. Authority Ranking Loss는 중요도(authority)가 높은 객체의 경우 중요도가 낮은 객체에 비해 네트워크에서 방문할 확률이 높다는 직관을 반영하여, 의 이웃 객체 의 중요도가 낮을수록 페널티를 주어 중요도가 높은 객체가 더 높은 확률로 예측 되도록 학습을 유도한다.
중요도를 나타내는 지표로는 대상 객체(예컨대, 문서)의 순위, 빈도 등 데이터 셋의 특성에 따라 다양한 지표가 고려될 수 있다. 예를 들어, 모바일 어플리케이션의 경우 다운로드 순위를 중요도로 사용할 수 있다. 수학식 11은 중요도 랭킹 점수(authority ranking score(ARS)) 함수를 나타낸다.
여기에서, 는 의 순위 점수로서, 간단하게 주어진 기간 동안의 순위의 역수 합을 점수로 이용하며, 정규화 함수로 Min-max normalization을 사용한다. 즉 1등은 1점, 2등은 0.5점으로 점수가 메어지고, 주어진 기간 동안 객체가 기록한 순위를 합산하여 구할 수 있다. ()는 와 벡터의 코사인 유사도(cosine similarity) 비교를 통해 와 의 유사도를 측정한다. 유사도는 객체들의 관계 강도를 구하기 위해 사용되며 따라서 유사도가 높은 객체 의 중요도가 높을수록 의 중요도가 높아진다.
제약 최적화 문제를 풀기 위하여, 본 발명의 일 실시예에서는 제약(constraint)으로 오브젝트 함수의 페널티 텀(penalty term)을 이용하며, 하기 수학식 12로 표현될 수 있다.
제안하는 모델은 negative sampling을 이용하여 정규화한다. Negative sampling 방법은 긍정 예제(positive example)와 그 보다 더 많은 수의 부정 예제(negative example)를 전체 셋에서 랜덤하게 추출하여 학습한다. 부정 예제에 대하여 입력 객체와 출력 객체의 유사도 sim(가 높고 출력 객체 의 중요도가 높은 경우에는 높은 페널티를 주고 긍정 예제에는 반대로 작용한다. 틀린 예측에 대해서 중요도가 높을수록 더 많은 페널티를 주는데 이는 중요도가 높을수록 특정 클러스터를 대표하는 차별화되고 명확한 객체라고 볼 수 있으므로 그 클러스터와 입력 객체가 더 멀어지도록 임베딩 벡터가 학습하도록 하는 효과를 가져온다. 수학식 12의 오브젝트 함수를 이용하여 네트워크 임베딩을 학습함으로써 의 잠재 벡터 는 중요도가 높은 이웃 객체와 근접한 거리를 갖도록 학습된다.
따라서, 수학식 4 내지 6의 는 두 객체의 잠재 벡터(latent vector)의 거리를 코사인 유사도로 측정하는 함수로 표현 가능하고, 최종적으로 스코어 함수인 수학식 6을 이용하여 사후 확률을 계산, 오브젝트(문서)간의 유사도를 계산할 수 있게 된다.
본 발명의 일 실시예에 따른 클러스터링 방법
도 4는 본 발명의 일 실시예에 따른 랭킹 기반 네트워크 임베딩을 이용한 클러스터링 방법을 설명하기 위한 순서도이다.
도 4에서는, 앞서 설명된 네트워크 모델, 확률 생성 모델, 랭킹 기반 네트워크 임베딩, 및 이를 위한 신경망 학습을 이용하여, 클러스터링을 수행하는 방법이 설명된다.
본 발명의 일 실시예에 따른 클러스터링 방법은 프로세서(processor)와 프로세서에 의해 실행되는 적어도 하나의 명령(instruction)이 저장된 메모리(memory) 또는 저장장치(storage device)로 구성된 장치에 의해서 수행될 수 있으며, 상기 장치의 세부 구성은 도 3을 통하여 후술된다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 클러스터링 방법은 클러스터링 대상 객체들로 구성된 네트워크를 구성하는 단계(S110); 상기 클러스터링 대상 객체들의 중요도를 수집하는 단계(S120); 신경망을 이용하여 상기 네트워크를 구성하는 클러스터링 대상 객체들의 이웃 객체들을 표현하는 벡터들의 집합을 출력하기 위한 네트워크 임베딩을 수행하는 단계(S130); 및 상기 클러스터링 대상 객체들 각각에 대한 정보와 상기 벡터들의 집합을 이용하여 상기 클러스터링 대상 객체들에 대한 클러스터링을 수행하는 단계(S140)를 포함하여 구성될 수 있다.
앞서 설명한 바와 같이, 클러스터링 대상 객체들은 문서들 또는 모바일 어플리케이션(mobile application)일 수 있다. 즉, 본 발명에 따른 클러스터링 방법에서는 대상 객체의 내용을 참조하지 않기 때문에, 클러스터링의 대상이 되는 객체에 제한이 없다.
여기서, 단계(S110)에서 네트워크는 로 정의되며, V는 상기 네트워크에 속한 상기 클러스터링 대상 객체들, E는 상기 네트워크에 속한 객체 쌍의 이진 관계(binary relation)를 나타내는 에지(edge), 는 에지 e()에 대한 실수 값 가중치(weight mapping)일 수 있다.
또한, 단계(S140)에서 클러스터링은 수학식 6으로 설명된 객체 가 클러스터 에 속할 사후 확률에 비례하는 스코어 함수(score function)에 기반하여 수행될 수 있다. 예컨대, 객체 에 대해서 계산된 스코어 함수의 값이 소정의 임계값 이상인 경우에 객체 가 클러스터 에 속하는 것으로 판단할 수 있다. 또는, 객체 에 대해서 계산된 스코어 함수의 값이 다른 객체들에 대해서 계산된 스코어 함수의 평균값 이상이거나 평균값보다 미리 정해진 차이만큼 큰 경우에 객체 가 클러스터 에 속하는 것으로 판단할 수 있다.
구체적으로 스코어 함수는 로 표현될 수 있다. 여기서, 는 상기 네트워크 G에서 객체 의 이웃 객체들인 의 집합, 는 객체 와 의 유사도 및 중요도를 표현하는 함수, 는 상기 클러스터 에 대응되는 그래프 에 속한 객체들, 는 상기 네트워크 G에 속한 전체 객체들, 는 객체 와 그래프 에 속한 객체들 간의 평균 유사도 및 중요도일 수 있다.
앞서 설명된 바와 같이 상기 수학식 6의 스코어 함수는 수학식 2 내지 5를 통하여 설명된 확률 모델에 기반하고 있으므로, 수학식 6의 스코어 함수를 이용하여 각 객체가 각 클러스터에 속하는지 여부를 판단하는 것은 각 클러스터별로 판단될 수 있다. 따라서, 하나의 객체가 복수의 클러스터에 속하는 것으로 판단되는 멀티-레이블링 및 하나의 객체가 어떠한 클러스터에도 속하지 않는 것으로 판단되는 넌-레이블링이 가능해진다.
한편, 상기 스코어 함수에서 는 Net2Vec 알고리즘에 의해서 학습되며, 상기 Net2Vec 알고리즘은 상기 클러스터링 대상 객체들의 중요도 정보를 이용하여 중요도가 높은 이웃 객체가 예측될 확률이 최대가 되도록 신경망을 학습시키기 위한 알고리즘이다.
상기 Net2Vec 알고리즘은 대상 객체의 이웃 객체 의 중요도가 낮을수록 페널티를 주어 중요도가 높은 객체가 더 높은 확률로 예측 되도록 학습을 유도하기 위한 Authority Ranking Loss를 이용할 수 있다.
는 의 순위 점수이며, ()는 와 의 잠재 벡터(latent vector)들 간의 거리를 표현하는 코사인 유사도(cosine similarity), 는 그래프 G에서 객체 의 이웃 객체들인 의 집합일 수 있다.
본 발명의 일 실시예에 따른 클러스터링 장치
도 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: 클러스터링 수행부
220: 중요도 정보 저장소
230: 네트워크 임베딩부
240: 클러스터링 수행부
Claims (16)
- 클러스터링(clustering)을 수행하는 방법에 있어서,
클러스터링 대상 객체들로 네트워크를 구성하는 단계;
상기 클러스터링 대상 객체들의 중요도를 수집하는 단계;
신경망을 이용하여 상기 네트워크를 구성하는 클러스터링 대상 객체들의 이웃 객체들을 표현하는 벡터들의 집합을 출력하기 위한 네트워크 임베딩을 수행하는 단계; 및
상기 클러스터링 대상 객체들 각각에 대한 정보와 상기 벡터들의 집합을 이용하여 상기 클러스터링 대상 객체들에 대한 클러스터링을 수행하는 단계를 포함하고,
상기 신경망은 중요도가 높은 이웃 객체들이 더 높은 확률로 출력되도록 학습되는,
클러스터링 방법. - 청구항 1에 있어서,
상기 클러스터링 대상 객체들은 문서들 또는 모바일 어플리케이션(mobile application)인,
클러스터링 방법. - 클러스터링(clustering)을 수행하는 장치에 있어서,
적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서에 의해서 실행되는 적어도 하나의 명령을 저장하는 메모리를 포함하고,
상기 적어도 하나의 명령은 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서가
클러스터링 대상 객체들로 네트워크를 구성하는 단계;
상기 클러스터링 대상 객체들의 중요도를 수집하는 단계;
신경망을 이용하여 상기 네트워크를 구성하는 클러스터링 대상 객체들의 이웃 객체들을 표현하는 벡터들의 집합을 출력하기 위한 네트워크 임베딩을 수행하는 단계; 및
상기 클러스터링 대상 객체들 각각에 대한 정보와 상기 벡터들의 집합을 이용하여 상기 클러스터링 대상 객체들에 대한 클러스터링을 수행하는 단계를 수행하도록 구성되며,
상기 신경망은 중요도가 높은 이웃 객체들이 더 높은 확률로 출력되도록 학습되는,
클러스터링 장치. - 청구항 9에 있어서,
상기 클러스터링 대상 객체들은 문서들 또는 모바일 어플리케이션(mobile application)인,
클러스터링 장치.
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)
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)
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)
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 |
-
2019
- 2019-09-16 KR KR1020190113395A patent/KR20210032105A/ko unknown
- 2019-10-22 US US16/659,912 patent/US11531866B2/en active Active
Cited By (2)
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) | 基于超图建模的文档作者身份分析方法、装置及电子设备 |