KR100992364B1 - 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법, 이를수행하기 위한 컴퓨팅 장치 및 이를 수행하기 위한 프로그램 기록매체 - Google Patents
비음수 행렬의 직교 분해를 이용한 문서 집단화 방법, 이를수행하기 위한 컴퓨팅 장치 및 이를 수행하기 위한 프로그램 기록매체 Download PDFInfo
- Publication number
- KR100992364B1 KR100992364B1 KR1020080131016A KR20080131016A KR100992364B1 KR 100992364 B1 KR100992364 B1 KR 100992364B1 KR 1020080131016 A KR1020080131016 A KR 1020080131016A KR 20080131016 A KR20080131016 A KR 20080131016A KR 100992364 B1 KR100992364 B1 KR 100992364B1
- Authority
- KR
- South Korea
- Prior art keywords
- matrix
- document
- grouping
- negative
- equation
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
비음수 행렬의 직교 분해를 이용한 문서 집단화 방법, 이를 수행하기 위한 컴퓨팅 장치 및 이를 수행하기 위한 프로그램 기록매체를 제공한다. 문서 집단화 방법에 있어서, 문서 집단화를 수행할 적어도 하나의 문서로부터 용어 빈도 행렬 X가 구성되고, 집단을 대표하는 용어 빈도로 이루어진 행렬 A와 문서가 어느 집단에 포함되는지를 나타내기 위한 행렬 S가 초기화되는 단계; 행렬 A가 에 따라 업데이트되는 단계; 행렬 S가 에 따라 업데이트되는 단계; 행렬 S가 정규화(Normalization)되는 단계; 및 문서를 행렬 S를 이용하여 문서 집단화를 수행하는 단계를 포함하여 구성될 수 있다. 따라서 기존의 비음수 행렬 분해 방법보다 집단의 표시가 명확히 표현되는 직교 행렬을 구할 수 있고, 이에 따라 문서 집단화의 성능을 향상시킬 수 있다.
문서 집단화, 직교 분해, 비음수 행렬, 스티펠 다양체
Description
본 발명은 문서 집단화 방법에 관한 것으로, 더욱 상세하게는 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법에 관한 것이다.
정보화 사회가 발달함에 따라 온라인 상태로 작성 및 배포되는 문서의 양이 기하급수적으로 증가하고 있으며, 각각의 문서에 대한 접근성 또한 과거에 비해 월등히 좋아지고 있다. 반면에 사람이 직접 자신이 접할 수 있는 문서들 중에 자신에게 유용한 문서만을 골라내는 것은 불가능해 졌다. 이러한 상황 속에서 사용자에게 유용한 문서만을 자동적으로 선별해 내는 기술, 특히 주어진 문서들을 비슷한 문서들끼리 묶어 내는 문서 집단화 기술이 중요하게 부각되고 있다.
특히, 문서 집단화 기술은 i) 전자 메일 서버 등에서 사용자에게 발송되는 메일을 자동으로 집단화하여 정리해 주거나, ii) 인터넷 신문, 뉴스 및 일반 포털 사이트에 올라온 기사를 자동으로 집단화하여 특정 사용자를 대상으로 제공해 주거 나, iii) 전자책 또는 기타 전자 자료들을 자동으로 집단화하여 집단별로 검색하는 기능을 제공하거나, iv) 사용자 태그가 이입되어 있는 데이터에 대하여, 태그를 사용하여 단어 빈도를 계산하여 데이터를 집단화해주는 서비스 등에 유용하게 사용될 수 있을 것이다.
상기와 같은 문서 집단화 기술 중에서 비음수 행렬 분해 방법을 기술한다. 먼저, 문서 데이터를 표현하기 위한 비음수 행렬을 살펴보면, 문서 데이터를 표현하기 위한 벡터 공간 모델을 사용할 수 있으며, 문서 데이터의 벡터 공간 모델에 있어서, 각각의 문서는 다음과 같은 차원의 벡터로 표현될 수 있다.
상기와 같은 개념에 근거하여 다음과 같은 식을 유추할 수 있다.
여기에서, 는 문서 내에서의 용어 의 빈도수를 의미하며, 는 문서 내에서의 용어 의 빈도수를 나타낸다. 또한, 는 용어 를 포함하는 문서의 수를 나타낸다. 즉, 는 문서 내에서의 용어 의 빈도수를 의미 하므로 항상 비음수의 값을 가지며, 상기 문서 내에서 용어 가 나타나지 않는 상황에서만 '0'의 값을 가지게 될 것이다.
문서 집단화 기술은 기본적으로 각각의 문서 내에 포함된 용어들의 빈도(term frequency)를 계산하여, 용어들의 빈도가 비슷한 문서들을 하나의 집단으로 구성한다. 실제로는 전반적으로 사용 빈도가 높은 용어보다 특수한 경우에 나타나는 단어에 높은 가중치를 주기 위하여 역 문서 빈도(inverse document frequency)를 함께 고려한 단어 빈도-역 문서 빈도 값이 일반적으로 사용된다.
문서 집단화 기술의 한가지인 비음수 행렬의 분해 방법(NMF: Non-negative Matrix Factorization)을 살펴본다. 비음수 행렬의 분해 방법은 에 대한 분해 값을 찾는 것이다. 이것은 다음과 같은 식으로 표현될 수 있다.
[수학식 1]
1. 행렬 의 열(column)이 차원 공간에서의 데이터 포인트(data point)로 취급되는 경우에, 행렬 의 열(column)은 기초벡터(basis vector)로 간주되 고, 행렬 의 각각의 행(row)은 각각의 데이터 벡터에 사용되는 기초 벡터를 만족하는 인코딩(encoding)으로 취급된다.
2. 반면에, 행렬 의 행(row)이 차원 공간에서의 데이터 포인트(data point)로 취급되는 경우에, 행렬 의 열(column)은 기초벡터(basis vector)로 간주되고, 행렬 의 각각의 행(row)은 인코딩(encoding)으로 취급된다.
상기 수학식 1을 만족하는 용어-문서 행렬의 문서 집단화에 비음수 행렬의 분해 방법을 적용할 경우에, 보다 자세하게 행렬 와 의 의미를 살펴보면, 는 집단 에서 용어 의 빈도수를 의미한다. 즉, 행렬 의 열(column)은 로 표현되며, 집단 의 기준 벡터(prototype vector)로 구성된 것이다. 또한, 는 집단 를 구성하는 문서 의 빈도수를 표현한다. 적절한 정규화(normalization)에 따르면 는 문서 가 집단 에 포함될 확률에 비례한다.
다음으로, 상기 비음수 행렬의 업데이트 공식을 살펴본다. 수학식 1에 근거하여 볼 때, 이상적인 문서 집단화가 되기 위해서는 와 행렬이 같아야 하므로, 문서 데이터 와 문서 데이터 모델 간의 차이를 측정하여 유클리드 거리로 표현하면, 다음과 같은 최소 자승법의 차이를 구하는 방법으로 표현할 수 있다.
[수학식 2]
결국, 비음수 행렬의 분해 방법의 최적화는 다음 관계를 만족해야 한다.
[수학식 3]
일반적인 최적화 문제에서와 같이 위의 수학식 3을 만족하는 행렬 와 행렬 를 동시에 직접 계산해 낼 수 있는 방법은 존재하지 않는다. 따라서 행렬 를 고정시키고 행렬 를 업데이트한 후, 반대로 행렬 를 고정시키고 행렬 를 업데이트하는 것을 교대로 수렴할 때까지 반복 수행하여 해답을 구해야 한다. 이에 따라 적절한 수학적 방법을 동원하면 'Lee and Seung'의 업데이트 공식이라고 알려진 다음과 같은 업데이트 공식을 얻을 수 있다.
[수학식 4]
[수학식 5]
다만, 상기와 같은 업데이트 공식을 이용하더라도 명시적으로 조건을 만족하 는 해답을 찾는 것이 아니므로 경우에 따라서는 집단화에 적합하지 않은 해답을 찾을 수 있다.
본 발명의 목적은 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 제공하는 것이다.
본 발명의 다른 목적은 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 수행하기 위한 컴퓨팅 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 수행하기 위한 프로그램 기록매체를 제공하는 것이다.
상술한 본 발명의 목적을 달성하기 위한 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법은 문서 집단화 방법에 있어서, 상기 문서 집단화를 수행할 적어도 하나의 문서로부터 용어 빈도 행렬 X가 구성되고, 집단을 대표하는 용어 빈도로 이루어진 행렬 A와 상기 문서가 어느 집단에 포함되는지를 나타내기 위한 행렬 S가 초기화되는 단계; 상기 행렬 A가 에 따라 업데이트되는 단계; 상기 행렬 S가 에 따라 업데이트되는 단계; 상기 행렬 S가 정규화(Normalization)되는 단계; 및 상기 문서를 상기 행렬 S를 이용하여 문서 집단화를 수행하는 단계를 포함하여 구성될 수 있다.
여기에서, 상기 행렬 A가 상기 식 1에 따라 업데이트되는 단계 및 상기 행렬 S가 상기 식 2에 따라 업데이트되는 단계를 더 이상 업데이트가 발생하지 않을 때까지 반복하는 것을 특징으로 할 수 있다.
상술한 본 발명의 다른 목적을 달성하기 위한 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 수행하기 위한 컴퓨팅 장치는 문서 집단화를 수행하기 위한 컴퓨팅 장치에 있어서, 상기 문서 집단화를 수행할 적어도 하나의 문서로부터 용어 빈도 행렬 X가 구성되고, 집단을 대표하는 용어 빈도로 이루어진 행렬 A와 상기 문서가 어느 집단에 포함되는지를 나타내기 위한 행렬 S가 초기화되는 단계, 상 기 행렬 A가 에 따라 업데이트되는 단계, 상기 행렬 S가 에 따라 업데이트되는 단계, 상기 행렬 S가 정규화되는 단계 및 상기 문서를 상기 행렬 S를 이용하여 문서 집단화를 수행하는 단계를 포함하여 계산하기 위한 제어부; 상기 제어부의 계산에 관한 데이터를 저장하기 위한 저장부; 및 상기 제어부 및 저장부에 대한 입력 및 출력을 위한 입출력부를 포함하여 구성될 수 있다.
상술한 본 발명의 또 다른 목적을 달성하기 위한 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 수행하기 위한 프로그램 기록매체는 문서 집단화를 수행할 수 있는 프로그램이 기록된 기록매체에 있어서, 상기 문서 집단화를 수행할 적어도 하나의 문서로부터 용어 빈도 행렬 X가 구성되고, 집단을 대표하는 용어 빈도로 이루어진 행렬 A와 상기 문서가 어느 집단에 포함되는지를 나타내기 위한 행 렬 S가 초기화되는 단계, 상기 행렬 A가 에 따라 업데이트되는 단계, 상기 행렬 S가 에 따라 업데이트되는 단계, 상기 행렬 S가 정규화되는 단계 및 상기 문서를 상기 행렬 S를 이용하여 문서 집단화를 수행하는 단계를 포함하여 구성될 수 있다.
상기와 같은 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법에 따르면, 기존의 비음수 행렬 분해 방법보다 집단의 표시가 명확히 표현되는 직교 행렬을 구할 수 있고, 이에 따라 문서 집단화의 성능을 향상시킬 수 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징 들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 설명하기 위한 개념도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법은 먼저, 집단화를 하고자 하는 문서들을 용어 빈도 행렬(X)로 표시한다. 여기에서 용어 빈도 행렬(X)의 각각의 열은 문서를 나타내고, 각각의 행은 문서의 용어 빈도를 나타낸다. 다음으로, 상기의 용어 빈도 행렬(X)에 대하여 비음수 행렬의 직교 분해를 수행한다. 비음수 행렬의 직교 분해 방법은 이 하에서 상술한다. 상기 용어 빈도 행렬(X)에 대한 비음수 행렬의 직교 분해에 따라 용어 빈도 행렬(X)은 집단 기저 행렬(A)과 집단 표시 행렬(S)로 표현된다. 집단 기저 행렬(A)은 집단을 대표하는 용어 빈도로 이루어진 행렬이며, 집단 표시 행렬(S)은 상기 문서가 어느 집단에 포함되는지를 나타내기 위한 행렬이다. 따라서 비음수 행렬의 직교분해가 완료되면, 집단 표시 행렬(S)에 따라 문서를 집단화할 수 있게 된다.
도 2는 본 발명의 일 실시예에 따른 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법에 따르면, 문서 집단화 방법은 문서 집단화 방법에 있어서, 상기 문서 집단화를 수행할 적어도 하나의 문서로부터 용어 빈도 행렬 X가 구성되고, 집단을 대표하는 용어 빈도로 이루어진 행렬 A와 상기 문서가 어느 집단에 포함되는지를 나타내기 위한 행렬 S가 초기화되는 단계(S210); 상기 행렬 A가 에 따라 업데이트되는 단계(S220); 상기 행렬 S가 에 따라 업데이트되는 단계(S230); 상기 행렬 S가 정규화(Normalization)되는 단계(S240); 및 상기 문서를 상기 행렬 S를 이용하여 문서 집단화를 수행하는 단계(S250)를 포함하여 구성될 수 있다.
먼저, 상기 문서 집단화를 수행할 적어도 하나의 문서로부터 용어 빈도 행렬 X가 구성되고, 집단을 대표하는 용어 빈도로 이루어진 행렬 A와 상기 문서가 어느 집단에 포함되는지를 나타내기 위한 행렬 S가 초기화되는 단계(S210)에서, 용어 빈도 행렬(X)은 집단화를 하고자 하는 문서들을 행렬의 형태로 표현한 것으로서, 각각의 열은 문서를 표현하고, 각각의 행은 문서 내에 표현된 용어를 표현한다. 기본적으로 번째 문서에 번째 단어가 번 등장했다면, 행렬 X의 열행에 위치한 원소의 값을 으로 표현하는 것으로 용어 빈도 행렬(X)을 구성할 수 있을 것이다. 다만, 각각의 값들이 너무 커지는 경우를 방지하기 위하여 등장한 '횟수'를 그대로 사용하지 아니하고, 등장한 '비율'로 바꾸어 사용할 수도 있을 것이다.
또한, 상기 행렬 A와 S를 초기화하는 것은 임의의 값을 갖도록 지정해 주는 것을 말한다. 비음수 행렬의 직교 분해 방법이 이전 값을 이용하여 새로운 값으로 업데이트하는 방식으로 동작하기 때문에 초기값을 임의로 정해주는 것이다. 예를 들면, 난수를 생성하여 행렬 A와 S의 원소의 값을 임의로 지정해 줄 수 있다. 여기에서 난수는 0과 1 사이의 값을 사용할 수 있을 것이다.
다음으로, 상기 행렬 A가 에 따라 업데이트되는 단계(S220)는 용어 빈도 행렬(X)의 비음수 행렬 직교 분해 방법에 따라 직교 분해함에 있어서, 행렬 S를 고정하고 행렬 A를 업데이트하는 것이다. 이에 따라 행렬 A의 원소들이 업데이트될 수 있을 것이다.
다음으로, 상기 행렬 S가 에 따라 업데이트되는 단계(S230)는 상기 행렬 A가 에 따라 업데이트되는 단계(S220)와는 반대로 행렬 A를 고정하고 행렬 S를 업데이트하는 것이다. 이에 따라 각각의 행렬 S의 원소들이 업데이트될 수 있을 것이다.
다음으로, 상기 행렬 S가 정규화(Normalization)되는 단계(S240)는 상기 행렬 S가 에 따라 업데이트되는 단계(S230)에 따라 업데이트되는 과정에서 행렬 S의 원소의 값이 너무 커지는 것을 방지하기 위하여 정규화를 하는 것일 수 있다. 특히, 상기 정규화는 에 따라 업데이트되는 L1 정규화인 것을 특징으로 할 수 있다.
또한, 상기 행렬 S가 정규화되는 단계(S240)에서 에 따라 업데이트되는 L2 정규화를 더 하는 것을 특징으로 할 수 있다. L1 정규화에 대하여 L2 정규화를 추가적으로 보완적인 의미로 사용할 수 있는 것이다.
다음으로, 상기 문서를 상기 행렬 S를 이용하여 문서 집단화를 수행하는 단계(S250)는 용어 빈도 행렬(X)의 비음수 직교 분해 과정을 통하여 업데이트가 완료된 행렬 S에 따라 행렬 S의 원소 값을 반영하여, 해당 문서가 어느 집단에 포함되는 지를 판단하여 문서 집단화를 수행하는 것일 수 있다. 즉, 업데이트가 완료된 결과에 따라 문서의 집단화를 수행하여 문서 집단화의 원래 목적을 달성하는 것을 말한다.
추가적으로, 비음수 행렬의 직교 분해 방법을 수학식을 포함하여 보다 자세하게 설명하면 다음과 같다.
비음수 행렬의 직교분해 방법(ONMF: Orthogonal Non-negative Matrix Factorization)은 비음수 행렬의 분해 방법(NMF: Non-negative Matrix Factorization)에서의 을 분해하는 것을 포함하여 구성된다. 다만, 여기에서 종래기술과의 개념 혼돈을 피하기 위하여 는 로 표현하고, 는 로 표현한다. 따라서 비음수 행렬 분해를 이용한 문서 집단화는 비음수 용어 빈도 행렬 를 표현함에 있어서, 집단을 대표하는 용어 빈도로 이루어진 비음수 행렬 와 문서가 어느 집단에 속하는지 나타내는 비음수 행렬 로 분해하는 것으로 이야기할 수 있다. 여기에서 각각 행렬의 원소들이 표현하는 바는 순서에 따라, 는 번째 용어가 번째 문서에서 나타난 빈도를 나타내는 값이고, 는 번째 집단에서 번째 용어가 갖는 빈도를 나타내는 값이고, 는 번째 문서가 번째 집단에 속하는지를 나타내는 값에 해당한다.
비음수 행렬 분해는 행렬 와 행렬 의 행렬 곱셈을 통하여 재구성한 값이 실제 행렬 의 값과 가지는 차이가 최소가 되게 하는 행렬 와 행렬 를 구하는 것이다. 따라서 차이를 구하는 방법으로 최소 자승법을 사용한다면 다음과 같은 형태로 문제를 표현할 수 있을 것이다.
[수학식 6]
일반적인 최적화 문제에서와 같이 위의 수학식 6을 만족하는 행렬 와 행렬 를 동시에 직접 계산해 낼 수 있는 방법은 존재하지 않는다. 따라서 행렬 를 고정시키고 행렬 를 업데이트한 후, 반대로 행렬 를 고정시키고 행렬 를 업데이트하는 것을 교대로 수렴할 때까지 반복하여 수행하여 해답을 구해야 한다.
비음수 행렬의 직교분해 방법에 따르면 문서 집단화를 위한 비음수 행렬 분해에서 행렬 가 집단 표시 행렬이 되며, 집단 표시 행렬로서의 조건으로 행렬 가 직교행렬이어야 한다. 즉, (는 단위행렬)의 조건을 만족해야 한다. 스티펠 다양체(Stiefel manifold)는 상기 (는 단위행렬)의 조건을 만족하는 행렬 들로 이루어진 다양체이며, 스티펠 다양체 위에서의 함수 의 최대 감소 방향 는 일반적인 직교 좌표계에서 구한 최대 감소 방향을 라고 표시할 때, 다음과 같은 관계로 계산될 수 있다.
[수학식 7]
상기 스티펠 다양체 위에서의 최대 감소 방향 계산 공식을 비음수 행렬 분해에 적용함으로서 비음수 행렬의 직교 분해 관계식을 유도할 수 있는데, 수학식 6에 해당하는 함수 의 최대 감소 방향을 계산하여 수학식 7에 대입하여 정리하면 다음과 같다.
[수학식 8]
수학식 8에서 각각의 항은 비음수 행렬의 곱으로 계산되므로, 앞의 항은 음수, 뒤의 항은 양수 행렬이 된다. 따라서 음수 항을 분자로 하고 뒤의 항을 분모로 하는 곱셈의 업데이트 형식으로 변경하여 다음과 같은 행렬 의 업데이트 공식을 얻을 수 있다.
[수학식 9]
[수학식 10]
행렬 의 직교 상태를 유지할 수 있는 곱셈의 업데이트 공식(수학식 9)과 행렬 를 업데이트 하는 공식(수학식 10, 수학식 4를 와 에 대하여 다시 표현한 것이다.)을 교대로 반복하여 수행함으로써 비음수 행렬의 직교 분해를 할 수 있을 것이다.
비음수 행렬의 직교 분해 방법이나 일반적인 비음수 행렬 분해 방법에서 행렬 의 열들과 행렬 의 행들은 반비례 관계를 갖게 된다. 따라서 적절한 정규화(Normalization)를 통행 행렬 의 크기를 일정하게 맞추어 줄 필요가 있다.
첫 번째 정규화는 스티펠 다양체 위에서 업데이트가 이루어지고 알고리즘이 지나치게 큰 값으로 발산하는 것을 방지하는 역할을 하므로, 스티펠 다양체에서의 조건을 만족시키는 L2-크기 정규화를 사용한다. 두 번째 정규화는 결과의 일정하지 않은 크기로 인해 집단화가 실패하는 것을 방지하기 위한 것으로, 결과의 확률적 해석을 위해 L1-크기 정규화를 사용한다. 실제로는 L1-크기 정규화된 결과와 L2-크기 정규화된 결과 간의 차이가 크지 않으므로 두 번째 정규화를 생략하는 것도 가능할 것이다.
도 3은 본 발명의 다른 실시예에 따른 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 설명하기 위한 흐름도이다.
도 3을 참조하면, 본 발명의 다른 실시예에 따른 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법에 따르면, 문서 집단화 방법은 문서 집단화 방법에 있어서, 상기 문서 집단화를 수행할 적어도 하나의 문서로부터 용어 빈도 행렬 X가 구성되고, 집단을 대표하는 용어 빈도로 이루어진 행렬 A와 상기 문서가 어느 집단에 포함되는지를 나타내기 위한 행렬 S가 초기화되는 단계(S310); 상기 행렬 A가 에 따라 업데이트되는 단계(S320); 상기 행렬 S가 에 따라 업데이트되는 단계(S330); 상기 행렬 S가 정규화(Normalization)되는 단계(S340); 및 상기 문서를 상기 행렬 S를 이용하여 문서 집단화를 수행하는 단계(S350);에 더불어, 상기 행렬 A가 상기 에 따라 업데이트되는 단계(S320) 및 상기 행렬 S가 상 기 에 따라 업데이트되는 단계(S330)를 더 이상 업데이트가 발생하지 않을 때까지 반복하는 것(S360)을 더 포함하는 것일 수 있다.
여기에서, 상기 행렬 A가 상기 에 따라 업데이트되는 단계(S320) 및 상기 행렬 S가 상기 에 따라 업데이트되는 단계(S330)를 더 이상 업데이트가 발생하지 않을 때까지 반복하는 것(S360)은 최적화된 해를 찾기 위한 과정으로 일 회적인 업데이트에 따라 최적화된 해가 구해지지 않는 경우에는 추가적인 업데이트를 이용하여 최적화된 해를 얻기 위하여 반복적으로 업데이트를 수행하는 것일 수 있다.
더불어 상기 행렬 S가 정규화(Normalization)되는 단계(S340)는 상기 행렬 A가 에 따라 업데이트되는 단계(S320)와 상기 행렬 S가 에 따라 업데이트되는 단계(S330)에 따른 반복적인 업데이트가 완료된 후에 정규화하는 단계일 수 있다. 즉, 업데이트를 반복적으로 수행하여 최적화된 해가 구해진 후에 이를 판단하기 위한 보조수단으로 정규화를 수행하는 것일 수 있는 것이다.
도 4는 본 발명의 일 실시예에 따른 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 수행하기 위한 컴퓨팅 장치를 설명하기 위한 블록도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 수행하기 위한 컴퓨팅 장치에 따르면, 문서 집단화를 수행하기 위한 컴퓨팅 장치(400)에 있어서, 상기 문서 집단화를 수행할 적어도 하나의 문서로부터 용어 빈도 행렬 X가 구성되고, 집단을 대표하는 용어 빈도로 이루어진 행렬 A와 상기 문서가 어느 집단에 포함되는지를 나타내기 위한 행렬 S가 초기화되는 단계, 상기 행렬 A가 에 따라 업데이트되는 단계, 상기 행렬 S가 에 따라 업데이트되는 단계, 상기 행렬 S가 정규화되는 단계 및 상기 문서를 상기 행렬 S를 이용하여 문서 집단화를 수행하는 단계를 포함하여 계산하기 위한 제어부(410); 상기 제어부의 계산에 관한 데이터를 저장하기 위한 저장부(420); 및 상기 제어부 및 저장부에 대한 입력 및 출력을 위한 입출력부(430)를 포함하여 구성될 수 있다.
먼저, 상기 문서 집단화를 수행할 적어도 하나의 문서로부터 용어 빈도 행렬 X가 구성되고, 집단을 대표하는 용어 빈도로 이루어진 행렬 A와 상기 문서가 어느 집단에 포함되는지를 나타내기 위한 행렬 S가 초기화되는 단계, 상기 행렬 A가 에 따라 업데이트되는 단계, 상기 행렬 S가 에 따라 업데이트되는 단계, 상기 행렬 S가 정규화되는 단계 및 상기 문서를 상기 행렬 S를 이용하여 문서 집단화를 수행하는 단계를 포함하여 계산하기 위한 제어부(410)는 상술한 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 수행하기 위하여 다양한 식의 계산을 수행하기 위한 구성요소이다.
여기에서, 상기 행렬 S는 (는 단위행렬)를 만족하는 직교행렬인 것을 특징으로 할 수 있으며, 상기 행렬 S가 정규화되는 단계에서 정규화는 에 따라 업데이트되는 L1 정규화일 수 있다.
다음으로, 상기 제어부의 계산에 관한 데이터를 저장하기 위한 저장부(420)는 상기 제어부(410)의 계산 과정에서 임시 저장하기 위한 데이터나 결과 데이터를 저장하기 위한 블록이다. 저장을 위하여 메모리 형태의 저장장치를 구비할 수 있으며, 최종적인 결과의 저장을 위해서는 디스크 형태의 저장장치를 구비할 수 있을 것이다.
다음으로, 상기 제어부 및 저장부에 대한 입력 및 출력을 위한 입출력부(430)는 상기 제어부(410)의 계산을 위한 입력 데이터로서의 문서들과 출력 데이터로서의 집단화 결과 데이터를 출력하는 것일 수 있다. 따라서 입출력부(430)는 일반적인 입력장치로서의 키보드, 마우스 및 스캐너 등을 포함하여 구성될 수 있으며, 일반적인 출력장치로서의 모니터 및 프린터를 포함하여 구성될 수 있을 것이다.
추가적으로, 상기 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 이용한 다양한 컴퓨터에 추가적으로 비음수 행렬의 직교 분해를 이용한 문서 집단화를 수행할 수 있는 프로그램이 기록된 기록매체를 제공할 수 있다. 즉, 문서 집단화를 수행할 수 있는 프로그램이 기록된 기록매체에 있어서, 상기 문서 집단화를 수행할 적어도 하나의 문서로부터 용어 빈도 행렬 X가 구성되고, 집단을 대표하는 용어 빈도로 이루어진 행렬 A와 상기 문서가 어느 집단에 포함되는지를 나타내기 위한 행렬 S가 초기화되는 단계, 상기 행렬 A가 에 따라 업데이트되는 단계, 상기 행렬 S가 에 따라 업데이트되는 단계, 상기 행렬 S가 정규화되는 단계 및 상기 문서를 상기 행렬 S를 이용하여 문서 집단화를 수행하는 단계를 포함하여 구성되는 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법이 실행되기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체를 제공할 수 있다.
상기 컴퓨터에서 판독 가능한 기록매체로는 하드디스크(HDD: Hard Disk), 플로피 디스크(FDD: Floppy Disk), 콤팩트 디스크(CD: Compact Disk) 및 범용 직렬 버스(USB: Universal Serial Bus) 등이 있을 수 있으며, 당업자에게 자명한 모든 형태의 기록 가능한 장치가 이에 포함될 수 있을 것이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 설명하기 위한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 다른 실시예에 따른 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 수행하기 위한 컴퓨팅 장치를 설명하기 위한 블록도이다.
< 도면의 주요부분에 대한 부호의 설명 >
410: 제어부 420: 저장부
430: 입출력부
Claims (11)
- 문서 집단화 방법에 있어서,상기 문서 집단화를 수행할 적어도 하나의 문서로부터 용어 빈도 행렬 X가 구성되고, 집단을 대표하는 용어 빈도로 이루어진 행렬 A와 상기 문서가 어느 집단에 포함되는지를 나타내기 위한 행렬 S가 초기화되는 단계;상기 행렬 A가 아래의 식 1에 따라 업데이트되는 단계;[식 1]상기 행렬 S가 아래의 식 2에 따라 업데이트되는 단계;[식 2]상기 행렬 S가 정규화(Normalization)되는 단계; 및상기 문서를 상기 행렬 S를 이용하여 문서 집단화를 수행하는 단계를 포함하여 구성되는 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법.
- 제1항에 있어서,상기 행렬 A가 상기 식 1에 따라 업데이트되는 단계 및 상기 행렬 S가 상기 식 2에 따라 업데이트되는 단계를 더 이상 업데이트가 발생하지 않을 때까지 반복하는 것을 특징으로 하는 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법.
- 문서 집단화를 수행하기 위한 컴퓨팅 장치에 있어서,상기 문서 집단화를 수행할 적어도 하나의 문서로부터 용어 빈도 행렬 X가 구성되고, 집단을 대표하는 용어 빈도로 이루어진 행렬 A와 상기 문서가 어느 집단에 포함되는지를 나타내기 위한 행렬 S가 초기화되는 단계, 상기 행렬 A가 에 따라 업데이트되는 단계, 상기 행렬 S가 에 따라 업데이트되는 단계, 상기 행렬 S가 정규화되는 단계 및 상기 문서를 상기 행렬 S를 이용하여 문서 집단화를 수행하는 단계를 포함하여 계산하기 위한 제어부;상기 제어부의 계산에 관한 데이터를 저장하기 위한 저장부; 및상기 제어부 및 저장부에 대한 입력 및 출력을 위한 입출력부를 포함하여 구성되는 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법을 수행하기 위한 컴퓨팅 장치.
- 문서 집단화를 수행하기 위한 프로그램이 기록된 기록매체에 있어서,상기 문서 집단화를 수행할 적어도 하나의 문서로부터 용어 빈도 행렬 X가 구성되고, 집단을 대표하는 용어 빈도로 이루어진 행렬 A와 상기 문서가 어느 집단에 포함되는지를 나타내기 위한 행렬 S가 초기화되는 단계, 상기 행렬 A가 에 따라 업데이트되는 단계, 상기 행렬 S가 에 따라 업데이트되는 단계, 상기 행렬 S가 정규화되는 단계 및 상기 문서를 상기 행렬 S를 이용하여 문서 집단화를 수행하는 단계를 포함하여 구성되는 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법이 실행되기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080131016A KR100992364B1 (ko) | 2008-12-22 | 2008-12-22 | 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법, 이를수행하기 위한 컴퓨팅 장치 및 이를 수행하기 위한 프로그램 기록매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080131016A KR100992364B1 (ko) | 2008-12-22 | 2008-12-22 | 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법, 이를수행하기 위한 컴퓨팅 장치 및 이를 수행하기 위한 프로그램 기록매체 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100072577A KR20100072577A (ko) | 2010-07-01 |
KR100992364B1 true KR100992364B1 (ko) | 2010-11-04 |
Family
ID=42635737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080131016A KR100992364B1 (ko) | 2008-12-22 | 2008-12-22 | 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법, 이를수행하기 위한 컴퓨팅 장치 및 이를 수행하기 위한 프로그램 기록매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100992364B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101841265B1 (ko) * | 2014-10-29 | 2018-03-22 | 에스케이텔레콤 주식회사 | Nmf를 이용한 표적 염기 서열 해독에서의 바이어스 제거 방법 |
CN107358014B (zh) * | 2016-11-02 | 2021-01-26 | 华南师范大学 | 一种生理数据的临床前处理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004005337A (ja) | 2002-03-28 | 2004-01-08 | Nippon Telegr & Teleph Corp <Ntt> | 単語関係データベース構築方法および装置、単語関係データベースを用いた単語/文書処理方法および装置、説明表現妥当性検証方法、それらプログラム、それらプログラムを記録した記録媒体、単語の類似度計算方法、単語のグループ化方法、代表語の抽出方法、および単語概念の階層化方法 |
JP2004288168A (ja) | 2003-03-05 | 2004-10-14 | Hewlett Packard Co <Hp> | クラスタリング方法プログラム及び装置 |
KR100703193B1 (ko) | 2006-04-27 | 2007-04-09 | 인하대학교 산학협력단 | 비음수 행렬 인수분해를 이용한 문서요약 장치 및 방법 |
KR100876319B1 (ko) | 2007-08-13 | 2008-12-31 | 인하대학교 산학협력단 | 용어 가중치 재계산을 이용한 문서 군집 장치 |
-
2008
- 2008-12-22 KR KR1020080131016A patent/KR100992364B1/ko not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004005337A (ja) | 2002-03-28 | 2004-01-08 | Nippon Telegr & Teleph Corp <Ntt> | 単語関係データベース構築方法および装置、単語関係データベースを用いた単語/文書処理方法および装置、説明表現妥当性検証方法、それらプログラム、それらプログラムを記録した記録媒体、単語の類似度計算方法、単語のグループ化方法、代表語の抽出方法、および単語概念の階層化方法 |
JP2004288168A (ja) | 2003-03-05 | 2004-10-14 | Hewlett Packard Co <Hp> | クラスタリング方法プログラム及び装置 |
KR100703193B1 (ko) | 2006-04-27 | 2007-04-09 | 인하대학교 산학협력단 | 비음수 행렬 인수분해를 이용한 문서요약 장치 및 방법 |
KR100876319B1 (ko) | 2007-08-13 | 2008-12-31 | 인하대학교 산학협력단 | 용어 가중치 재계산을 이용한 문서 군집 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR20100072577A (ko) | 2010-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10678823B2 (en) | Facilitating targeted analysis via graph generation based on an influencing parameter | |
KR102046096B1 (ko) | 자원 효율적인 문서 검색 | |
GB2544857A (en) | Multimedia document summarization | |
EP1890257A2 (en) | Clustering for structured data | |
Qian et al. | State reduction for network intervention in probabilistic Boolean networks | |
Pesaranghader et al. | simDEF: definition-based semantic similarity measure of gene ontology terms for functional similarity analysis of genes | |
KR100992364B1 (ko) | 비음수 행렬의 직교 분해를 이용한 문서 집단화 방법, 이를수행하기 위한 컴퓨팅 장치 및 이를 수행하기 위한 프로그램 기록매체 | |
CN105677645A (zh) | 一种数据表比对方法和装置 | |
KR20160113167A (ko) | 최적화된 데이터 콘덴서 및 방법 | |
JP2010237864A (ja) | アノテーションデータ解析装置、アノテーションデータ解析プログラムおよびそのプログラムを記録した記録媒体 | |
Marsic et al. | Efficient finite element assembly of high order Whitney forms | |
JP2018160165A (ja) | 画像処理装置、画像処理方法及びプログラム | |
CN113360218A (zh) | 一种业务方案选择方法、装置、设备以及存储介质 | |
CN107622129B (zh) | 一种知识库的组织方法及装置、计算机存储介质 | |
CN112712866A (zh) | 一种确定文本信息相似度的方法及装置 | |
US7925598B2 (en) | Efficient weighted consistent sampling | |
CN117910479B (zh) | 聚合新闻判断方法、装置、设备及介质 | |
JP2006004105A (ja) | 文書間関係可視化方法、可視化装置、可視化プログラム及びそのプログラムを記録した記録媒体 | |
Gu et al. | On the convergence rate of fixed design regression estimators for negatively associated random variables | |
CN111611389B (zh) | 基于非参数vmf混合模型的文本数据聚类方法、装置及设备 | |
JP7352600B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
Harikumar et al. | Subspace Clustering Using Matrix Factorization | |
Sornborger | Higher-order operator splitting methods for deterministic parabolic equations | |
CN111767706B (zh) | 文本相似度的计算方法、装置、电子设备及介质 | |
Chichagov | Asymptotic Comparison of MLE and UMVUE in the Case of a Truncated One-Parameter Family of Distributions. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |