KR101697875B1 - 그래프 모델에 기반하는 문서 분석 방법 및 그 시스템 - Google Patents
그래프 모델에 기반하는 문서 분석 방법 및 그 시스템 Download PDFInfo
- Publication number
- KR101697875B1 KR101697875B1 KR1020150152511A KR20150152511A KR101697875B1 KR 101697875 B1 KR101697875 B1 KR 101697875B1 KR 1020150152511 A KR1020150152511 A KR 1020150152511A KR 20150152511 A KR20150152511 A KR 20150152511A KR 101697875 B1 KR101697875 B1 KR 101697875B1
- Authority
- KR
- South Korea
- Prior art keywords
- document
- feature
- probability
- analysis system
- author
- Prior art date
Links
Images
Classifications
-
- G06F17/30722—
-
- G06F17/277—
-
- G06F17/30011—
-
- G06F17/30324—
-
- G06F17/30705—
-
- G06F17/30958—
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명이 다양한 실시 예에 따르면, 문서 분석 시스템이 제공된다. 일 실시 예에 따르면, 그래프 모델에 기반하는 문서 분석 방법은, 데이터베이스에 포함된 적어도 하나의 문서를 저자에 기반하여 분류하는 단계; 각각의 저자에 기반하여 분류된 문서에 포함되는 텍스트를 벡터 값으로 변환하는 단계; 상기 변환된 벡터 값에 기반하여 적어도 하나의 노드와 적어도 하나의 링크로 구성되는 그래프 모델을 생성하는 단계; 상기 적어도 하나의 노드와 상기 적어도 하나의 링크에 형성되는 가중치에 기반하여 상기 각각의 저자의 스타일에 대응되는 특징 세트를 결정하는 단계; 적어도 하나의 분류 모델에 기반하여 상기 특징 세트로부터 각각의 저자에 대한 특징 벡터를 산출하는 단계; 및 클래스 분류기에 기반하여 상기 산출된 각각의 저자에 대한 특징 벡터에 대응되는 클래스를 판단하는 단계;를 포함할 수 있다.
Description
본 발명은 문서 분석에 관한 것으로, 상세하게는, 그래프 모델에 기반하여 문서의 진위 여부를 확인하는 문서 분석 시스템 에 관한 것이다.
최근 빅 데이터와 데이터를 분류 및 예측하는 기계 학습 분야의 연구가 활발히 진행되고 있다. 특히 패턴 분류 기술은 뉴스, 블로그, SNS 등의 문서 분류, 이슈 분류, 감성 분류에 활용되고 있다.
기계 학습 분야에서 간단한 이진 분류기들은 데이터가 오직 두 개의 클래스로 분류되므로 복잡한 실제 데이터를 표현하기에는 효과적이지 않으므로, 데이터를 다중 클래스 중 하나로 분류하는 다중 분류기(Multiclass Classifier)에 대한 연구가 활발히 진행되고 있다.
하지만, 이러한 문서 분류기들은, 이들 응용의 대부분은 텍스트 표현 및 분석을 위해 벡터-공간 모델(vector-space model)을 사용하고 있으며, 벡터-공간 모델은 텍스트 문서를, 예를 들어, 색인어(index term) 등의 식별자의 벡터로서 표현하는 대수 모델(algebraic model)이다. 이러한 분류기에서 사용되는 벡터-공간 모델은 마이닝(mining)을 위한 효과적이고 효율적인 표현이지만, 문서에서의 단어의 순서에 관한 정보를 유지하지 않으며, 따라서, 문서에 포함된 저자의 문장 패턴과 같은 저자의 특징(또는 스타일)을 확인하는데 문제가 있다.
특허문헌 제10-2011-0134314호는 표준화된 문장 구문 구조 및 의미 구조에 기반한 정보 생성/검색 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 관한 것으로, 사용자 자신이 제공하고자 하는 정보를 기술하거나 또는 자신이 원하는 정보를 검색할 수 있도록 하기 위하여, 표준화된 자연 언어 구문 구조 및 의미 구조 표현 기법을 이용하여 정보를 생성 및 저장하여 검색할 수 있도록 하기 위한 정보 생성/검색 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하기 위하여, 정보 공급자에 의해 기술되는 자연 언어 문장(정보 및 지식)을 구문 구조 및 의미 구조 표준에 따라 개념 그래프로 변환하여 색인 하는 제 1 단계; 및 사용자로부터 입력되는 자연 언어 질의어 문장을 구문 구조 및 의미 구조 표준에 따라 개념 그래프로 변환하여 상기 색인된 정보 중에서 사용자의 요구 사항에 적합한 정보를 검색하여 제공하는 제 2 단계를 포함하며, 정보 거래와 관련된 정보 생성 및 검색 장치 등에 이용할 수 있다.
하지만, 이는 사용자가 직접 입력한 텍스트에 대하여 연관된 문서를 출력하기 위한 검색 도구를 제공하기 위한 시스템에 그칠 뿐, 입력되는 문서를 분석하는 것에는 한계가 있다.
즉, 입력된 텍스트에 기반하여 데이터베이스를 검색하고, 관련된 문서를 식별하여 제공하는 것에 그치는 것이 아니라, 입력된 문서를 분석하고, 문장의 특징, 패턴 등을 분석하여 저자를 확인하는 방법 및 그 시스템을 제공할 수 있다.
본 발명의 다양한 실시 예에 따르면, 입력된 문서의 저자를 확인하고, 데이터베이스에 기반하여 문서가 저자에 의하여 작성된 것인지의 진위 여부를 판단하는 방법 및 그 시스템을 제공할 수 있다.
본 발명의 일 실시 예에 따르면, 그래프 모델에 기반하는 문서 분석 방법은, 데이터베이스에 포함된 적어도 하나의 문서를 저자에 기반하여 분류하는 단계; 각각의 저자에 기반하여 분류된 문서에 포함되는 텍스트를 벡터 값으로 변환하는 단계; 상기 변환된 벡터 값에 기반하여 적어도 하나의 노드와 적어도 하나의 링크로 구성되는 그래프 모델을 생성하는 단계; 상기 적어도 하나의 노드와 상기 적어도 하나의 링크에 형성되는 가중치에 기반하여 상기 각각의 저자의 스타일에 대응되는 특징 세트를 결정하는 단계; 적어도 하나의 분류 모델에 기반하여 상기 특징 세트로부터 각각의 저자에 대한 특징 벡터를 산출하는 단계; 및 클래스 분류기에 기반하여 상기 산출된 각각의 저자에 대한 특징 벡터에 대응되는 클래스를 판단하는 단계;를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 특징 세트는, 상기 데이터베이스와 수신하는 대상 문서에 포함되는 텍스트들의 발생 빈도 및 n-간단 거리 중 적어도 일부에 기반하여 결정될 수 있다.
다양한 실시 예에 따르면, 그래프 모델에 기반하는 문서 분석 방법은, 수신하는 대상 문서의 저자를 확인하는 단계; 상기 확인된 저자에 기반하여 상기 저자의 특징 벡터를 상기 데이터베이스로부터 결정하는 단계; 상기 적어도 하나의 분류 모델에 기반하여 상기 대상 문서로부터 상기 대상 문서의 특징 벡터를 산출하는 단계; 및 상기 클래스 분류기에 상기 대상 문서의 특징 벡터를 적용하여 상기 저자의 진위를 판단하는 단계를 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 클래스 분류기는, 상기 각각의 저자에 대한 특징 벡터 및 상기 대상 문서의 특징 벡터의 민감도, 특이성 정확도 중 적어도 하나를 비교할 수 있다.
다양한 실시 예에 따르면, 상기 특징 벡터는, 대상 문서에서 특정 요소가 발생되는 확률의 값으로 결정하는 확률 모델(probability model, PM) 및 대상 문서에서 특정 문장에 등장하는 특징 요소의 발생 확률의 값으로 결정하는 인클루시브 복합 확률 모델(inclusive compound probability model, ICPM) 중 적어도 하나에 기반하여 결정할 수 있다.
다양한 실시 예에 따르면, 상기 확률 모델은, 하기 식에 기반하여 결정되는 특징 노드의 확률에 대한 값 및 특징 링크의 확률에 대한 값 중 적어도 일부를 포함할 수 있다.
[식]
(n: 노드의 총 수, i: 링크의 총 수, Fnode: 특징 노드의 확률, Flink: 특징 링크의 확률)
다양한 실시 예에 따르면, 상기 인클루시브 복합 확률 모델은, 하기 식에 기반하여 결정되는 상기 대상 문서의 지정된 문장에서 특징 요소가 발생되는 확률을 포함할 수 있다.
[식]
(P(f A): 대상 문서의 A문장에 나타나는 특징 요소의 확률, P(f B): 대상 문서의 B문장에 나타나는 특징 요소의 확률)
본 발명의 일 실시 예에 따르면, 그래프 모델에 기반하는 문서 분석 시스템은, 적어도 하나의 문서를 포함하는 데이터베이스; 적어도 하나의 분류 모델을 포함하는 문서 분류 인터페이스; 상기 데이터베이스에 포함된 적어도 하나의 문서를 저자에 기반하여 분류하고, 각각의 저자에 기반하여 분류된 문서에 포함되는 텍스트를 벡터 값으로 변환하고, 상기 변환된 벡터 값에 기반하여 적어도 하나의 노드와 적어도 하나의 링크로 구성되는 그래프 모델을 생성하고, 상기 적어도 하나의 노드와 상기 적어도 하나의 링크에 형성되는 가중치에 기반하여 상기 각각의 저자의 스타일에 대응되는 특징 세트를 결정하고, 적어도 하나의 분류 모델에 기반하여 상기 특징 세트로부터 각각의 저자에 대한 특징 벡터를 산출하고, 클래스 분류기에 기반하여 상기 산출된 각각의 저자에 대한 특징 벡터에 대응되는 클래스를 판단하도록 처리하는 프로세서를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 데이터베이스와 상기 대상 문서에 포함되는 텍스트들의 발생 빈도 및 n-간단 거리 중 적어도 일부에 기반하여 적어도 하나의 노드 및 적어도 하나의 링크로 상기 그래프 모델을 구성할 수 있다.
다양한 실시 예에 따르면, 그래프 모델에 기반하는 문서 분석 시스템은, 대상 문서를 수신하는 통신부;를 더 포함하고, 상기 프로세서는, 상기 수신한 대상 문서의 저자를 확인하고, 상기 확인된 저자에 기반하여 상기 저자의 특징 벡터를 상기 데이터베이스로부터 결정하고, 상기 적어도 하나의 분류 모델에 기반하여 상기 대상 문서로부터 상기 대상 문서의 특징 벡터를 산출하고, 상기 클래스 분류기에 상기 대상 문서의 특징 벡터를 적용하여 상기 저자의 진위를 판단할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 클래스 분류기를 통하여 상기 각각의 저자에 대한 특징 벡터 및 상기 대상 문서의 특징 벡터의 민감도, 특이성 정확도 중 적어도 하나를 비교할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 대상 문서에서 특정 요소가 발생되는 확률의 값으로 결정하는 확률 모델(probability model, PM) 및 대상 문서에서 특정 문장에 등장하는 특징 요소의 발생 확률의 값으로 결정하는 인클루시브 복합 확률 모델(inclusive compound probability model, ICPM) 중 적어도 하나를 상기 분류 모델로 포함할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 하기 식에 기반하여 결정되는 특징 노드의 확률에 대한 값 및 특징 링크의 확률에 대한 값 중 적어도 일부를 상기 확률 모델에 포함할 수 있다.
[식]
(n: 노드의 총 수, i: 링크의 총 수, Fnode: 특징 노드의 확률, Flink: 특징 링크의 확률)
다양한 실시 예에 따르면, 상기 프로세서는, 하기 식에 기반하여 결정되는 상기 대상 문서의 지정된 문장에서 특징 요소가 발생되는 확률을 상기 인클루시브 복합 확률 모델에 포함할 수 있다.
[식]
(P(f B): 대상 문서의 B문장에 나타나는 특징 요소의 확률)
본 발명의 다양한 실시 예에 따르면, 문서 분석 시스템은, 문서에 입력된 텍스트의 특징 요소를 확인함으로써, 입력된 문서의 저자를 결정하고, 문장의 패턴을 식별함으로써, 저자에 의하여 작성된 것인지 여부 및/또는 위변조 여부를 확인할 수 있다.
도 1은 본 발명의 일 실시 예에 따른, 문서 분석 시스템의 개략적인 구조를 도시한다.
도 2는 본 발명의 일 실시 예에 따른 문서 분석 시스템에서 문서 분석 시스템의 동작을 개략적으로 도시한다.
도 3은 본 발명의 일 실시 예에 따른 문서 분석 시스템에서 문서의 단어들이 연결된 그래프 구조를 도시한다.
도 4는 본 발명의 일 실시 예에 따른 문서 분석 시스템에서 노드 및 링크에 기반하는 그래프 모델을 도시한다.
도 5는 본 발명의 일 실시 예에 따른 문서 분석 시스템에서 다양한 특징 세트 선택 기법들의 F1 스코어 및 ROC 곡선을 도시한다.
도 6은 본 발명의 일 실시 예에 따른 문서 분석 시스템에서 다양한 텍스트 표현 방식들의 F1 스코어 및 ROC 곡선을 도시한다.
도 2는 본 발명의 일 실시 예에 따른 문서 분석 시스템에서 문서 분석 시스템의 동작을 개략적으로 도시한다.
도 3은 본 발명의 일 실시 예에 따른 문서 분석 시스템에서 문서의 단어들이 연결된 그래프 구조를 도시한다.
도 4는 본 발명의 일 실시 예에 따른 문서 분석 시스템에서 노드 및 링크에 기반하는 그래프 모델을 도시한다.
도 5는 본 발명의 일 실시 예에 따른 문서 분석 시스템에서 다양한 특징 세트 선택 기법들의 F1 스코어 및 ROC 곡선을 도시한다.
도 6은 본 발명의 일 실시 예에 따른 문서 분석 시스템에서 다양한 텍스트 표현 방식들의 F1 스코어 및 ROC 곡선을 도시한다.
이하, 첨부한 도면을 참고로 하여 본 발명의 다양한 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 특정 실시 예가 도면에 예시되고, 관련된 상세한 설명이 기재될 수 있다, 그러나, 이는 본 발명을 특정한 실시 형태에 대하여 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략할 수 있고, 명세서 전체를 통하여 동일 또는 유사한 구성 요소에 대해서는 동일한 참조 부호를 사용할 수 있다.
본 발명의 다양한 실시 예에서, '또는', '적어도 하나' 등의 표현은 함께 나열된 단어들 중 하나를 나타내거나, 또는 둘 이상의 조합을 나타낼 수 있다. 예를 들어, 'A 또는 B', 'A 및 B 중 적어도 하나'는 A 또는 B 중 하나만을 포함할 수도 있고, A와 B를 모두 포함할 수도 있다.
본 발명의 다양한 실시 예에서, '제1 ', '제2 ', '첫째', '둘째' 등의 표현은 다양한 구성 요소들을 수식할 수 있지만, 반드시 해당 구성 요소의 순서, 또는 중요도 등을 의미하는 것으로 한정하지 않는다. 예를 들어, 제1 장치와 제2 장치는 모두 장치이며 서로 다른 장치를 나타낼 수 있다. 또한, 본 발명의 다양한 실시 예의 권리 범위를 벗어나지 않는 경우, 제1 장치의 구성, 기능, 동작 등의 요소가 제2 장치와 동일 또는 유사한 경우, 제1 장치는 제2 장치로 명명될 수 있고, 유사하게, 제2 장치 또한 제1 장치로 명명될 수 있다.
본 발명의 다양한 실시 예에서 어떤 구성 요소가 다른 구성 요소에 '연결'되어 있다거나 '접속'되어 있다고 언급된 경우, 구성 요소들은 직접적으로 연결되어 있거나 접속되어 있을 수 있지만, 구성 요소들 사이에 적어도 하나의 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면, 어떤 구성 요소가 다른 구성 요소에 '직접 연결'되어 있다거나, '직접 접속'되어 있다고 언급된 경우, 구성 요소들 사이는 다른 구성 요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 발명의 다양한 실시 예에서 사용되는 용어들은 특정일 실시 예를 설명하기 위한 것으로, 본 발명을 한정하는 것으로 해석되어서는 안되며, 예를 들어, 단수의 표현은 문맥상 명백하게 다른 것으로 명시되지 않는 한 복수의 표현을 포함할 수 있을 것이다.
문서 분석 시스템(100)에서 문서(또는 문헌)의 신규 사항(또는 새로운 요소) 검출은 개념(또는 컨셉트) 학습의 문제이고, 여기에서, 시스템은 부정적인 사례들을 검출하는 시도와 함께 개념(또는 컨셉트)에 기반하여 긍정적인 문서(또는 긍정적인 요소들이 확인된 문서)들로부터 그에 대한 지식(또는 경험)을 획득하는 것을 나타낸다.
이 작업은 주어진 문서의 세트(set), 특히 전자 문서(예 이메일, email)로부터 컨셉트로써 저자의 스타일을 학습하는 것에 초첨을 맞추고 있다. 여기에서, 저자의 스타일은, 특정 저자에 의하여 작성된 문서에서, 문장 구조, 습관, 반복해서 사용되는 어휘 등으로 표현되는 문서 작성 특징(또는 패턴)을 나타낼 수 있다.
본 발명의 일 실시 예에 따르면, 입력된 대상 문서(117)의 저자가 확인되는 경우, 대상 문서(117)가 확인된 저자에 의하여 작성된 것인지 확인할 수 있고, 따라서, 대상 문서(117)의 진위 여부를 결정할 수 있다.
나아가, 다양한 저자의 스타일이 학습되는 경우, 입력된 대상 문서(117)로부터 확인된 저자 및 데이터베이스에 저장된 저자의 스타일에 기반하여 대상 여부의 진위 여부(117)를 확인하는 것에 한정하지 않고, 위조된 부분을 작성한 저자를 식별하는 것도 가능할 것이다.
적은 수의 텍스트, 적은 수의 문장 수로 구성되는 이메일과 같은 짧은 내용의 문서(이하, 짧은 문서)에서 사용되는 어휘(및/또는 문체)는 많은 텍스트 수로 구성되는 큰 문서들과 비교하여 더욱 복잡해질 수 있고, 애초에 큰 문서들을 위한 분석 기법들은 짧은 문서에 적용하는 것은 비효율적인 것으로 확인된다. 예를 들어, 짧은 문서는, 한 페이지 내에서 수 문장 내지 수십 문장 내에서 형성되거나 또는 수 페이지 내로 형성되는 문서를 나타낼 수 있다. 하지만, 이에 한정하지 않고, 수백 문장으로 형성되거나 수십 페이지로 형성되는 문서일 수도 있음은 자명하다.
이 작업의 주요 목적은 문장 구조, 습관과 같은 저자의 스타일에 대한 검출의 차이에 기반하여, 짧은 문서의 분석에서 발생되는 기존 문서 분석 알고리즘의 단점을 해결하기 위한 방법을 제공하기 위함이다.
본 발명의 다양한 실시 예에 따르면, 그래프 모델에 기반하여 짧은 문서들로부터 특징을 추출하기 위한 방법(또는 기법)을 제공할 수 있다. 일 실시 예에 따르면, 한 클래스 서포트 벡터 머신(one-class support vector machine, one-class SVM)에 기반하여 텍스트 표현 방식에 기반하는 다양한 개연성을 확인할 수 있다.
다양한 실시 예에 따르면, 문서 분석 시스템(100)은, 입력된 문서 및 관련된 문서들에 포함된 텍스트에 기반하여 문서의 카테고리, 문서의 주제, 저자의 관심 주제, 문서에 표현된 감정, 패턴(예: 텍스트 배열) 등으로 표현되는 저자의 스타일에 따른 다양한 클래스를 구분할 수 있다. 본 발명의 다양한 실시 예에 따르면, 클래스 분류는 대표적으로 저자에 따른 분류를 설명할 수 있을 것이다.
도 1은 본 발명의 일 실시 예에 따른, 문서 분석 시스템의 개략적인 구조를 도시한다.
그래프 모델에 기반하는 문서 분석 시스템(이하, 문서 분석 시스템, 100)은, 다양한 방식의 벡터 공간 모델을 사용하여 수집되는 문서를 분류할 수 있다. 도 1을 참조하면 문서 분석 시스템(100)은, 데이터베이스 (database, DB)(111), DB 인터페이스(113), 데이터 세트(115), 문서 분류 인터페이스(101) 중 적어도 하나를 포함할 수 있다.
DB(111)는 적어도 하나의 문서를 포함할 수 있다. 여기에서, DB(111)에 포함되는 문서는, 문서 분석 시스템(100)에 포함된 적어도 하나의 통신부(미도시)를 통해서 수신한 문서일 수 있다. 여기에서, 통신부는 무선 통신 및/또는 유선 통신을 통해서 제어 장치(103)에 포함된 통신부와 연결될 수 있다. 무선 통신을 사용하는 경우, 무선 통신은 와이파이(Wireless Fidelity, Wi-Fi) 통신, 저전력 블루투스(Bluetooth Low Energy, BLE) 통신, 블루투스(Bluetooth, BT) 통신, NFC(near field communication), GPS(global positioning system) 또는 셀룰러(cellular) 통신(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등) 중 적어도 하나를 포함할 수 있다. 유선 통신을 사용하는 경우, 유선 통신은 USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232) 또는 POTS(plain old telephone service) 중 적어도 하나를 포함할 수 있다.
또한, DB(111)는 문서 분석 시스템(100)에 포함된 적어도 하나의 저장부(미도시)의 일부로 구성될 수 있다. DB(111)는 적어도 하나의 클래스로 구성되어, 문서의 데이터를 포함할 수 있다.
DB 인터페이스(113)는 데이터베이스(111)를 사용자 또는 다른 전자 장치에 제공하기 위한 적어도 하나의 애플리케이션(또는 프로그램)으로 구성될 수 있다. 예를 들어, 문서 분석 시스템(100)이 디스플레이(미도시)를 포함하는 경우, DB 인터페이스(113)는 그래픽 인터페이스를 포함할 수 있다. 또한, DB 인터페이스(113)는 데이터베이스(111)의 데이터를 다른 전자 장치로 전송하기 위한 적어도 하나의 통신 프로토콜을 포함할 수 있다.
데이터 세트(115)는 문서를 분류하기 위한 적어도 수학적 공간을 제공할 수 있다. 예를 들어, 문서 분석 시스템(100)에 입력된 및/또는 기 저장된 문서는 벡터 값으로 데이터 세트(115)에 포함될 수 있고, 둘 이상의 벡터 값에 기반하여 벡터 매트릭스로 구성될 수 있다. 데이터 세트(115)는 문서 분석 시스템(100)에 포함되는 저장부의 일부로 구성될 수 있다. 또한, 데이터 세트(115)의 적어도 일부는 문서 분류 인터페이스(101)에 제공되어 수신되는 문서를 분류하는 동작에 사용될 수 있다.
데이터 세트(115)는 문서를 분류하기 위한 트레이닝 데이터 세트, 문서가 분류되는 동작을 검사하기 위한 테스트 데이터 세트 및 테스트 데이터 세트와 테스트 데이터 세트를 관리하기 위한 전체 데이터 세트 중 적어도 일부를 포함할 수 있다.
문서 분류 인터페이스(101)는 문서 분석 시스템(100)의 통신부를 통해서 수신하는 문서를 분류(119)할 수 있다. 예를 들어, 문서 분류 인터페이스(101)는 수신하는 문서 및/또는 일부 구성 요수의 해당되는 클래스를 결정할 수 있다. 또한, 문서 분류 인터페이스(101)는 문서를 분류하기 위한 적어도 하나의 분류기를 포함할 수 있다. 예를 들어, 분류기는 문서 분류에서 일반적으로 사용되는 SVM(Support Vector Machine) 및/또는 딥러닝 분류 알고리즘 중의 하나인 DBN(Deep Belief Network), 각 문서에 존재하는 단어에 대해 가중치를 부여하는 알고리즘 중의 하나인 TF(Term Frequency) 등 다양한 분류 알고리즘을 포함하여 구성될 수 있다. 여기에서, SVM은 다중 분류를 위한 SVMmulticlass과 같은 알고리즘을 추가로 포함할 수 있고, Linear Kernel 등의 커널을 사용할 수 있다. 또한, DBN 파라미터는 다양한 수의 Hidden Nodes, 0.3 Learning Rate, 1 Epoch 을 사용할 수 있다.
다양한 실시 예에 따르면, 문서 분석 시스템(101)은, 입력된 문서 및 관련된 문서들에 포함된 텍스트에 기반하여 문서의 카테고리, 문서의 주제, 저자의 관심 주제, 문서에 표현된 감정, 패턴(예: 텍스트 배열) 등으로 표현되는 저자의 스타일에 따른 다양한 클래스를 구분할 수 있다.
일 실시 예에 따르면, 입력되는 문서(이하, 대상 문서, 117) 및/또는 관련된 문서는, 이메일과 같은 전자 문서일 수 있다. 예를 들어, 대상 문서(117) 및/또는 관련된 문서는 발신자, 수신자, 주소, 날짜, 본문 중 적어도 하나를 포함하여 지정된 형식으로 작성될 수 있다. 또한, 문서에 포함되는 텍스트의 문체는 이메일과 같은 전자 문서의 경우, 발신자 및 수신자의 관계에 기반하여 결정될 수 있다. 문서 분석 시스템(101)은, 문서에 포함된 형식 및/또는 문체와 같은 정보를 확인할 수 있고, 확인된 정보에 기반하여, 문서를 식별할 수 있다
일 실시 예에 따르면, 문서 분석 시스템(101)은 문서를 식별함에 있어서, 대상 문서(117)에 포함된 텍스트 및/또는 문장에서 특징 요소를 확인할 수 있고, 확인된 특징 요소에 기반하여 대상 문서(117)의 저자를 확인할 수 있다. 더하여, 문서 분석 시스템(101)은, 대상 문서(117)에서 결정된 저자의 문서 작성 스타일이 아닌 텍스트 및/또는 문장이 존재하는지 여부, 존재하는 경우, 해당 텍스트 및/또는 문장을 결정할 수 있고, 이에 기반하여 대상 문서(117)의 신뢰도를 결정할 수 있다.
일 실시 예에 따르면, 문서 분석 시스템(101)은, 대상 문서(117) 및/또는 관련된 문서에 포함된 저자의 특징 요소를 확인할 수 있다. 예를 들어, 문서 분석 시스템(101)은 관련된 문서에 기반하여 대상 문서(117)에서 반복하여 사용되는 형용사, 부사, 명사와 같은 단어, 단어의 조합 및/또는 문장을 통해서 특정 저자가 문서에서 무의식 중에 사용하는 텍스트를 결정할 수 있다. 문서 분석 시스템(101)은 이에 기반하여 대상 문서(117)의 저자를 확인하거나 및/또는 대상 문서(117)의 신뢰도를 확인할 수 있다.
문서 분석 시스템(101)은 대상 문서(117)에 대하여 그래프 모델에 기반하는 알고리즘을 적용할 수 있다. 일 실시 예에 따르면, 그래프 모델에 기반하는 알고리즘은, 대상 문서(117)에 포함되는 텍스트에서 특징 요소를 확인하도록 제공될 수 있다. 문서 분석 시스템(101)은 그래프 모델에 기반하는 알고리즘을 통해서 제공되는 대상 문서(117)의 그래프를 참조하여 문서의 저자 및/또는 문서의 신뢰도를 확인할 수 있다.
문서 분석 시스템(101)은 다양한 문서(예: 대상 문서(117) 및/또는 관련된 문서)를 위한 특징 벡터를 생성하기 위하여 한 클래스 서포트 벡터 머신으로써 다양한 텍스트 표현 방식을 제공할 수 있다. 일 실시 예에 따르면, 각 특징의 값이 확률로서 문서 내에 나타나는 확률 모델(probability model, PM)이 제공될 수 있다. 다른 실시 예에 따르면, 각 특징의 값이 확률로써 문서의 문장 내에 나타나는 인클루시브 복합 확률 모델(inclusive compound probability model, ICPM)이 제공될 수 있다.
본 발명의 일 실시 예에 따르면, 문서 분석 시스템(100)은 데이터베이스(111)에 기 저장된 문서 및 대상 문서(117)로부터 신규 사항을 검출할 수 있다. 일 실시 예에 따르면, 문서 분석 시스템(100)은, 대상 문서(117)로부터 적어도 하나의 대상 클래스를 결정할 수 있다.
일 실시 예에 따르면, 문서 분석 시스템(100)은, 텍스트 분류 알고리즘에 기반하여, 특징 세트 선택, 트레이닝 단계 수행 및 테스트 단계 수행의 동작들 중 적어도 하나의 동작을 수행할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 문서 분석 시스템에서 문서 분석 시스템의 동작을 개략적으로 도시한다. 도 2a은 본 발명의 일 실시 예에 따른 문서 분석 시스템에서 특징 세트를 선택(또는 결정)하는 동작의 개략적인 도면이다.
도 2a를 참조하면, 문서 분석 시스템(100)은 데이터베이스(111)에 기 저장된 문서 및/또는 문서 분석 시스템(100)에 입력되는(또는 수신되는) 대상 문서(117)에 기반하여 적어도 하나의 특징 세트를 선택할 수 있다.
문서 분석 시스템(100)은 대상 문서(117)에 포함된 단어들을 확인할 수 있고, 데이터베이스에 지정된 패턴 또는 지정되지 않은 패턴의 특징을 가지는 어휘를 확인할 수 있다. 여기에서, 문서 분석 시스템(100)은 사전 처리된 문서(예: 대상 문서(117))에 기반하여 어휘를 확인할 수 있다. 예를 들어, 사전 처리된 문서는 대상 문서(117)에 포함된 텍스트를 단어, 구어, 구문, 명사, 동사, 형용사, 부사 중 적어도 하나의 특징에 따라서 분류할 수 있고, 데이터베이스를 참조하여, 대상 문서(117)에 포함되는 텍스트를 데이터베이스에 지정된 패턴 및 지정되지 않은 패턴으로 구분할 수 있다.
다양한 실시 예에 따르면, 사전 처리된 문서는 지정된 적어도 하나의 특수 문자, 기호, 영문의 경우 대문자의 사용 패턴 등이 제거되거나, 또는 지정된 패턴의 특수 문자, 기호, 대문자의 사용 패턴 등이 확인된 상태일 수 있다.
일 실시 예에 따르면, 문서 분석 시스템(100)은 데이터베이스에 기 저장된 문서에 기반하여 다양한 텍스트 표현 방법(또는 분류 모델)을 적용할 수 있고, 텍스트를 지정된 포맷의 데이터로 변환할 수 있다.
예를 들어, 문서 분석 시스템(100)은 텍스트를 벡터 값으로 변환함에 있어서, 이진 표현(binary representation), 발생 빈도 표현(frequency representation), TF-IDF 표현(TF-IDF representation), 하다마르(또는 아다마르) 표현(Hadamard representation) 중 적어도 하나의 표현 방법에 기반하여 기 저장된 문서의 텍스트를 지정된 포맷 데이터로 변환할 수 있다.
더하여, 문서 분석 시스템(100)은, 텍스트를 벡터 값으로 변환함에 있어서, 지정된 특징 요소가 발생되는 확률에 기반하는 확률 표현을 사용할 수 있다. 예를 들어, 문서 분석 시스템(100)은 확률 모델(probability model, PM) 및 인클루시브 복합 확률 모델(inclusive compound probability model, ICPM) 중 적어도 하나의 확률 표현을 사용할 수 있다.
문서 분석 시스템(100)은 문서에 분류 모델을 적용한 결과에 기반하여 기 저장된 문서 및/또는 대상 문서(117)의 그래프 모델을 형성할 수 있다. 일 실시 예에 따르면, 문서 분석 시스템(100)은 이메일과 같은 특정 문서(예: 데이터베이스(111)에 포함된 문서 및/또는 대상 문서(117))를 포괄적인 그래프 방식의 표현으로 변환하여 제공할 수 있다.. 여기에서, 노드의 발생 빈도는 노드의 원 내에 표현될 수 있고, 링크의 발생 빈도는 링크 옆에 표현할 수 있다.
다양한 실시 예에 따르면, 문서 분석 시스템(100)은 트레이닝 세트를 이용하여 대상 문서(117) 및/또는 관련된 문서를 그래프로 변환할 수 있다. 문서 분석 시스템(100)은 노드 및/또는 링크의 발생 빈도와 동일한 것으로 확인되는 문서들의 통합된 그래프로부터 포괄적인 그래프 방식으로 병합할 수 있다. 문서 분석 시스템(100)은 통합된 그래프를 통해서 지정된 수에 기반하여 단어들의 사용을 표현할 수 있다.
일 실시 예에 따르면, 문서 분석 시스템(100)은 다수의 이메일에 기반하여 특정 저자를 나타내기 위하여 저자 별로 구분된 이메일을 이용하여 다수 개의 노드 및/또는 다수 개의 링크를 사용하는 그래프를 형성할 수 있다. 이 때, 문서 분석 시스템(100)은 노드 및/또는 링크에 기반하여 대응되는 저자가 데이터베이스에 분류된 상태인 경우, 지정된 발생 빈도의 노드 및/또는 지정된 발생 빈도의 링크에 대응하는 저자와 저자의 스타일을 식별할 수 있다.
여기에서, 문서 분석 시스템(100)은 노드의 지정된 수치(예: 상위 n%) 및 링크의 지정된 수치(예: 상위 m%)를 특징 세트로 결정할 수 있고, 특정 저자를 분류하기 위한 저자 스타일로 결정할 수 있다.
일 실시 예에 따르면, 문서 분석 시스템(100)은 대상 문서(117)에 기반하여 문서(또는 문장)의 주제 및/또는 문맥을 변경하지 않는 것으로 지정된 해당 기능 단어의 패턴(예: 배열 및/또는 배치) 등이 특정 저자에 지정된 스타일과 동일 또는 유사한지 여부를 확인할 수 있다.
일 실시 예에 따르면, 문서 분석 시스템(101)의 동작은 문서의 패턴을 식별하기 위하여 구성되는 그래프 모델의 구성에 기반하여 결정될 수 있다. 도 2a를 참조하면, 문서 분석 시스템(101)은 대상 문서(117)로부터 결정되는 벡터 값에 기반하여 그래프 모델을 구성할 수 있다. 그리고, 문서 분석 시스템(101)은 구성된 그래프 모델에 기반하여 특징 세트를 확인하는 동작에 있어서 트레이닝 단계(예: 도 2b) 및 테스팅 단계(예: 도 2c)를 수행할 수 있다.
도 2b는 본 발명의 일 실시 예에 따른 문서 분석 시스템에서 트레이닝 단계를 수행하는 동작의 개략적인 도면이다. 도 2c는 본 발명의 일 실시 예에 따른 문서 분석 시스템에서 테스팅 단계를 수행하는 동작의 개략적인 도면이다.
여기에서, 문서 분석 시스템(101)은 트레이닝 단계에서 대상 문서(117)의 긍정적인 샘플을 확인하기 위한 분류를 수행할 수 있다. 일 실시 예에 따르면, 분류기는 한 클래스 서포트 벡터 머신 분류기(one-class SVM classifier)가 가용될 수 있다.
문서 분석 시스템(101)은, 텍스트 표현에 사용되는 기법(또는 기술)에 기반하여 확률 모델 및/또는 인클루시브 복합 확률 모델을 대상 문서(117)의 분석 과정에 적용할 수 있다.
도 2b를 참조하면, 문서 분석 시스템(101)은 트레이닝 단계를 수행함에 있어서 트레이닝 세트 내에서 대상 문서(117)의 특징 벡터를 이용하여 한 클래스 서포트 벡터 머신 분류기를 확인할 수 있다. 문서 분석 시스템(101)은 대상 문서(117)에서 확인되는 특징 벡터에 기반하여 대상 문서(117)의 확인되지 않은 영역(텍스트 영역)을 테스트 단계로 전달할 수 있다.
본 발명의 다양한 실시 예에 따르면, 문서 분석 시스템(101)의 메모리에는 다양한 분류 모델을 포함할 수 있고, 각각의 분류 모델은 모델 변수에 기반하여 결정될 수 잇다. 분류 모델에 대한 다양한 실시 예에 따르면, 제1 분류 모델(예: 특정 분류 모델, a specific model)은, 지정된 수치 이상이 특이성 및/또는 참 부정 비율(true negative rate, TNR)을 획득하는 모델일 수 있고, 제2 분류 모델(예: 민감 분류 모델, a sensitive model)은 지정된 수치 이상이 특이성 및/또는 참 부정 비율(true negative rate, TNR)을 제공하는 모델일 수 있다.
여기에서, 문서 분석 시스템(101)은 참 부정 비율에 기반하여 지정된 저자에 대하여 대상 문서(117)의 진위 여부를 확인할 수 있다.
이하에서, 본 발명의 다양한 실시 예에 따른 문서 분석 시스템(100)에서 특징 세트를 선택하는 동작을 설명할 수 있다.
문서 분석 시스템(101)은 특징 세트 선택 동작에서 입력 받은 대상 문서(117)에 적용할 분류 모델을 결정할 수 있다. 이 때, 문서 분석 시스템(101)은 지정된 저자의 어휘를 정의(또는 결정)할 수 있다.
문서 분석 시스템(101)은 상기 입력된 문서에 포함된 텍스트로부터 단어들과 문자 특징(예: N-그램(gram)의 특징 후보군을 형성할 수 있다. 문서 분석 시스템(101)은 특징 후보군에서 문서 분석에 사용할 특징 세트 및/또는 특징 세트의 사이즈를 결정할 수 있다. 여기에서, 특징 세트의 사이즈가 작을수록 범용성이 높아지며, 클수록 문서 분석에 있어서 노이즈가 발생될 수 있다. 문서 분석 시스템(101)은 특징 세트의 사이즈를 결정함에 있어서, 일 실시 예에 따르면, 1개 내지 10개의 단어를 포함하여 결정할 수 있다.
문서 분석 시스템(101)은 특징 세트의 선택 동작에서 사전 처리된 대상 문서(117)를 단어들의 토큰으로 변환할 수 있다. 여기에서, 문서 분석 시스템(101)은 변환 동작을 수행함에 있어서 트레이닝 세트가 적용되는 사전 처리된 대상 문서(117)를 변환하는 것에 한정하지 않고, 사전 처리되기 전의 대상 문서(117) 및/또는 관련된 문서에 함께 변환 동작을 수행하여 병합할 수 있다.
일 실시 예에 따르면, 문서 분석 시스템(101)은 획득한 토큰이 지정된 저자의 특징들을 세트별로 식별하도록 구성된 알고리즘을 통과하도록 처리할 수 있다. 문서 분석 시스템(101)은 토큰이 알고리즘을 통과하는 과정에서 포함된 텍스트에 기반하여 특징으로 결정될 수 있는 파생 매개 면수를 설정할 수 있다.
일 실시 예에 따르면, 문서 분석 시스템(101)은 저자 결정 통계 기법(예: Stylometry techniques)을 적용할 수 있다. 문서 분석 시스템(101)은 대상 문서(117)에 포함된 문장의 수, 단락의 수, 문장 부호 및 이에 기반하여 결정된 통계 정보를 고려하여 특징을 결정할 수 있다. 더하여, 문서 분석 시스템(101)은 n 인접한 단어들의 조합에 기반하여 특징을 결정할 수 있다.
예를 들어, 문서 분석 시스템(101)은 그래프 모델에서 노드 및 링크를 형성하는 특징 세트 후보군을 결정하기 위한 방법을 제공할 수 있다. 이하 설명에서 특징 세트를 결정하기 위한 다양한 기법들을 설명할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(101)은 발생 빈도(발생 빈도, frequency) 방법을 사용하여 대상 문서(117)의 특징 세트를 선택할 수 있다. 여기에서, 대상 문서(117)에 포함되는 단어들은 지정된 특징을 적어도 일부 포함할 수 있다. 따라서, 문서 분석 시스템(101)은 특징 세트의 후보군에서 지정된 저자가 특정 횟수 이상 사용한 단어 및/또는 어휘를 필터링할 수 있고, 필터링된 단어 및/또는 어휘를 그룹으로 결정할 수 있다. 문서 분석 시스템(101)은 필터링된 단어, 어휘 및/또는 그룹으로 지정된 저자의 특징 세트를 결정할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(101)은 TF-IDF(Term Frequency-Inverse Document Frequency) 방법을 사용하여 대상 문서(117)의 특징 세트를 선택할 수 있다. 여기에서, 문서에 포함된 단어를 벡터화하여 문서를 벡터 공간화 시키는데 사용되는 TF-IDF(Term Frequency-Inverse Document Frequency)는 TF(값)과 IDF(값)을 곱한 것일 수 있다. 여기에서, TF(Term Frequency)는 대상 문서(117) 및/또는 관련된 문서에 포함되는 각각의 단어가 대상 문서(117) 및/또는 관련된 문서 내에서 몇 번 등장하는가에 대한 값(빈도수)로 결정될 수 있다.
IDF(Inverse Document Frequency)는 대상 문서(117) 및/또는 관련된 문서의 각각 단어가 다른 문서들에 등장하는지 여부, 예를 들어, IDF는 각각의 단어가 다른 문서들에 등장한 횟수가 아닌, 대상 문서(117) 및/또는 관련된 문서에 포함된 각각의 단어가 다른 문서에 있는지 또는 없는지 여부에 대한 값의 역수로 결정될 수 있다.
즉, TF는 한 문서에 특정 단어가 많이 등장할 수록 중요 단어, IDF는 특정 단어가 다른 문서들에 많이 등장할 수록 중요하지 않은 단어인 것으로 결정될 수 있다. TF 및 IDF를 곱한 값은 TF-IDF 값이 되며 대상 문서(117) 및/또는 관련된 문서에 포함된 각각 단어의 벡터 값이 될 수 있다. 상술한 TF-IDF 벡터 공간 모델에 기반하여 대상 문서(117)에 포함된 단어들을 벡터화 할 수 있고, 각각의 대상 문서(117)를 벡터 공간화 할 수 있다.
- 문서 분석 시스템(101)은 특정 단어(term t)의 IDF를 결정함에 있어서 하기 식(1)을 사용할 수 있다. 여기에서, dft 및 문자 특징(N)에 기반하여 나타나는 주어진 t 및 주어진 t에 대한 문서들의 수는 샘플 공간(예: 대상 문서(117) 및/또는 관련된 문서 중 지정된 일부로 구성되는 벡터 공간)에서 문서의 수에 기반하여 결정될 수 있다. idft의 값은 지정된 수치 이상 자주 사용되는 값보다 작거나 희귀 단어로 지정된 값보다 크도록 결정될 수 있다.
TF-IDF는 각각의 특정 단어(term)와 해당 특정 IDF에 대하여 계산된 특정 단어(term)의 TF를 곱하여 전체 중량(overall weight)에 도달하기 위한 값들의 조합으로 결정될 수 있다. 문서 분석 시스템(101)은 TF-IDF 방법을 적용함에 있어서, TF-IDF 값 아래의 특정 단어(term)들은 폐기할 수 있다.
문서 분석 시스템(101)은 문서에 포함된 단어에 대응되는 적어도 하나의 노드와 노드 사이를 연결하는 링크에 따른 토큰에 기반하여 그래픽으로 표현되는 그래프를 구성할 수 있다. 문서 분석 시스템(101)은 구성된 그래프 모델에 기반하여 특징 세트를 선택할 수 있다.
이하에서, 본 발명의 다양한 실시 예에 따른, 문서 분석 시스템(101)의 그래프 표현 방법과 그래프에 표현되는 N-간단 거리 및 발생 빈도 표현에 대하여 설명할 수 있다.
문서 분석 시스템(101)은 대상 문서(117)에 기한하여 그래프 모델을 형성함에 있어서, 일반적인 그래프 표현 방법을 참조하여, 노드(또는 정점)와 링크(또는 엣지)를 그래프의 형태로 텍스트 문서를 나타내는 데 사용할 수 있다.
여기에서, 그래프에 표현되는 각 노드는 대상 문서(117)에 포함되는 단어들 중 각각이 고유한 단어로 구성되어 나타낼 수 있다. 일 실시 예에 따르면, 문서 분석 시스템(101)은 대상 문서(117)의 적어도 영역(section) 'S'에서 단어 'A'가 단어 'B' 뒤에 위치하게 되는 경우, 그래프에서 단어 'A'에서 단어 'B'까지 직접적인 링크로 표시할 수 있다.
일 실시 예에 따르면, 그래프 G는 V, E, α, β의 성분에 대하여 구성될 수 있다. 여기에서, V는 노드들의 세트이고, E는 노드들의 사이에 형성되는 링크들의 세트이고, α는 노드들에 해당하는 가중치 함수이고, β는 링크들의 가중치 함수로 구성될 수 있다.
다른 실시 예에 따르면, 그래프를 표시함에 있어서 E, α 및 β에서 차별될 수 있다. 예를 들어,(α)에 대한 그래프에서 단어가 발생되는 빈도에 따라서, 그리고,(β)의 직접적인 링크로 두 노드가 연결되어 있는 기준과 같이 다양한 방식의 그래프로 표현할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(101)은 그래프의 인터페이스에 있어서, 각각의 특정 단어(term)는 노드로 표시되고, 둘레에는 인접한 단어들 사이에 링크로 연결됨으로써 형성할 수 있다. 대상 문서(117)에서 특정 단어가 나타나는 횟수에 관계되지 않고, 하나의 노드는 하나의 특정 단어를 표현하기 위하여 형성될 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(101)은 그래프의 인터페이스에 있어서, 기 정의된 매개 변수 n을 사용하여 거리(n-거리, n-distance)를 표시할 수 있다.
예를 들어, 문서 분석 시스템(101)은 각각의 특정 단어(term)에서, 거리 N까지 연결되는 특정 단어들을 확인하고, 확인된 특정 단어들 사이에 링크들을 형성할 수 있다. 여기에서, 문서 분석 시스템(101)은 발생된 링크들의 수를 확인할 수 있고, 확인된 수를 라벨로서 표시할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(101)은 그래프의 인터페이스에 있어서, 기 정의된 매개 변수 n을 사용하여 간단 거리(n-간단 거리, n-simple distance)를 표현(또는 표시)할 수 있다. 예를 들어, 문서 분석 시스템(101)은 각각의 특정 단어(term)에서, 거리 n까지 연결되는 특정 단어들을 확인하고, 확인된 특정 단어들 사이에 링크들을 형성할 수 있다.
여기에서, 문서 분석 시스템(101)은, 소스 노드(source node)로부터 링크의 거리는 라벨로서 표시하지 않을 수 있다. 이 경우, 연결된 두 특정 단어 사이의 거리는 n보다 크지 않은 경우일 수 있다.
상술한 바에 따르면, 문서 분석 시스템(101)은 특정 단어의 바로 옆에 배치된 단어들은 식별하지 않을 수 있다. 또한, 지정된 거리 n내의 조합에서 배치된 단어들 사이의 관계를 n-간단 거리에 기반하여 결정할 수 있다. 문서 분석 시스템(101)은, n이 문장의 길이를 만족하는 경우, 그래프 모델을 통해서 함께 사용되는 단어들 사이의 관계를 표시할 수 있다. 문서 분석 시스템(101)은 n이 -1로 지정된 경우, 해당 문장에서 지정된 특정 단어의 앞에 위치한 적어도 둘 이상의 단어들(예: 해당 문장에서 지정된 특정 단어의 앞에 위치한 모든 단어들) 사이에 링크를 형성할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(100)은 그래프의 인터페이스에 있어서, 발생 빈도를 표현할 수 있다. 예를 들어, 문서 분석 시스템(100)은 대상 문서(117) 및/또는 관련된 문서에 기반하는 데이터베이스의 특정 문서 내에서 특정 텍스트가 등장하는 횟수 및/ 또는 배치 관계를 노드 및 링크에 기반하여 나타낼 수 있다.
여기에서, 노드의 경우, 특정 단어가 문서 내에 등장하는 횟수를 나타낼 수 있다. 여기에서, 링크의 경우, 텍스트간 연결이 지정된 순서에 따라 인접하여 연결되는 횟수를 나타낼 수 있다.
문서 분석 시스템(100)은, 특정 문서에 포함되는 각각의 문장에서 확인되는 링크 및 노드에 기반하여 저자의 스타일을 식별할 수 있다.
본 발명의 다양한 실시 예에 따르면, 대상 문서(117) 및/또는 관련된 문서에서 확인된 텍스트들의 n-간단 거리와 발생 빈도에 기반하여 이메일과 같은 짧은 문서에서 효과적인 그래프 표현 방법을 제공할 수 있다. 일 실시 예에 따르면, 그래프에서 n 거리 이내의 모든 단어는 문서 내에서 등장하는 횟수를 추적하기 위한 발생 빈도 라벨을 가지는 링크 및 노드를 사용하여 연결될 수 있다.
이하에서, 본 발명의 다양한 실시 예에 따른 특징 세트를 선택하는 동작을 설명할 수 있다.
문서 분석 시스템(101)은 특징 세트 선택 동작에서 입력 받은 대상 문서(117)에 적용할 분류 모델을 결정할 수 있다. 이 때, 문서 분석 시스템(101)은 지정된 저자의 어휘를 정의(또는 결정)할 수 있다.
문서 분석 시스템(101)은 상기 입력된 문서에 포함된 텍스트로부터 단어들과 문자 특징(예: N-그램(gram)의 특징 후보군을 형성할 수 있다. 문서 분석 시스템(101)은 특징 후보군에서 문서 분석에 사용할 특징 세트 및/또는 특징 세트의 사이즈를 결정할 수 있다. 여기에서, 특징 세트의 사이즈가 작을수록 범용성이 높아지며, 클수록 문서 분석에 있어서 노이즈가 발생될 수 있다. 문서 분석 시스템(101)은 특징 세트의 사이즈를 결정함에 있어서, 일 실시 예에 따르면, 1개 내지 10개의 단어를 포함하여 결정할 수 있다.
문서 분석 시스템(101)은 특징 세트의 선택 동작에서 사전 처리된 대상 문서(117)를 단어들의 토큰으로 변환할 수 있다. 여기에서, 문서 분석 시스템(101)은 변환 동작을 수행함에 있어서 트레이닝 세트가 적용되는 사전 처리된 대상 문서(117)를 변환하는 것에 한정하지 않고, 사전 처리되기 전의 대상 문서(117) 및/또는 관련된 문서에 함께 변환 동작을 수행하여 병합할 수 있다.
일 실시 예에 따르면, 문서 분석 시스템(101)은 획득한 토큰이 지정된 저자의 특징들을 세트별로 식별하도록 구성된 알고리즘을 통과하도록 처리할 수 있다. 문서 분석 시스템(101)은 토큰이 알고리즘을 통과하는 과정에서 포함된 텍스트에 기반하여 특징으로 결정될 수 있는 파생 매개 면수를 설정할 수 있다.
일 실시 예에 따르면, 문서 분석 시스템(101)은 저자 결정 통계 기법(예: Stylometry techniques)을 적용할 수 있다. 문서 분석 시스템(101)은 대상 문서(117)에 포함된 문장의 수, 단락의 수, 문장 부호 및 이에 기반하여 결정된 통계 정보를 고려하여 특징을 결정할 수 있다. 더하여, 문서 분석 시스템(101)은 n 인접한 단어들의 조합에 기반하여 특징을 결정할 수 있다.
예를 들어, 문서 분석 시스템(101)은 그래프 모델에서 노드 및 링크를 형성하는 특징 세트 후보군을 결정하기 위한 방법을 제공할 수 있다. 이하 설명에서 특징 세트를 결정하기 위한 다양한 기법들을 설명할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(101)은 발생 빈도(발생 빈도, frequency) 방법을 사용하여 대상 문서(117)의 특징 세트를 선택할 수 있다. 여기에서, 대상 문서(117)에 포함되는 단어들은 지정된 특징을 적어도 일부 포함할 수 있다. 따라서, 문서 분석 시스템(101)은 특징 세트의 후보군에서 지정된 저자가 특정 횟수 이상 사용한 단어 및/또는 어휘를 필터링할 수 있고, 필터링된 단어 및/또는 어휘를 그룹으로 결정할 수 있다. 문서 분석 시스템(101)은 필터링된 단어, 어휘 및/또는 그룹으로 지정된 저자의 특징 세트를 결정할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(101)은 TF-IDF(Term Frequency-Inverse Document Frequency) 방법을 사용하여 대상 문서(117)의 특징 세트를 선택할 수 있다. 여기에서, 문서에 포함된 단어를 벡터화하여 문서를 벡터 공간화 시키는데 사용되는 TF-IDF(Term Frequency-Inverse Document Frequency)는 TF(값)과 IDF(값)을 곱한 것일 수 있다. 여기에서, TF(Term Frequency)는 대상 문서(117) 및/또는 관련된 문서에 포함되는 각각의 단어가 대상 문서(117) 및/또는 관련된 문서 내에서 몇 번 등장하는가에 대한 값(빈도수)로 결정될 수 있다.
IDF(Inverse Document Frequency)는 대상 문서(117) 및/또는 관련된 문서의 각각 단어가 다른 문서들에 등장하는지 여부, 예를 들어, IDF는 각각의 단어가 다른 문서들에 등장한 횟수가 아닌, 대상 문서(117) 및/또는 관련된 문서에 포함된 각각의 단어가 다른 문서에 있는지 또는 없는지 여부에 대한 값의 역수로 결정될 수 있다.
즉, TF는 한 문서에 특정 단어가 많이 등장할 수록 중요 단어, IDF는 특정 단어가 다른 문서들에 많이 등장할 수록 중요하지 않은 단어인 것으로 결정될 수 있다. TF 및 IDF를 곱한 값은 TF-IDF 값이 되며 대상 문서(117) 및/또는 관련된 문서에 포함된 각각 단어의 벡터 값이 될 수 있다. 상술한 TF-IDF 벡터 공간 모델에 기반하여 대상 문서(117)에 포함된 단어들을 벡터화 할 수 있고, 각각의 대상 문서(117)를 벡터 공간화 할 수 있다.
- 문서 분석 시스템(101)은 특정 단어(term t)의 IDF를 결정함에 있어서 하기 식(1)을 사용할 수 있다. 여기에서, dft 및 문자 특징(N)에 기반하여 나타나는 주어진 t 및 주어진 t에 대한 문서들의 수는 샘플 공간(예: 대상 문서(117) 및/또는 관련된 문서 중 지정된 일부로 구성되는 벡터 공간)에서 문서의 수에 기반하여 결정될 수 있다. idft의 값은 지정된 수치 이상 자주 사용되는 값보다 작거나 희귀 단어로 지정된 값보다 크도록 결정될 수 있다.
TF-IDF는 각각의 특정 단어(term)와 해당 특정 IDF에 대하여 계산된 특정 단어(term)의 TF를 곱하여 전체 중량(overall weight)에 도달하기 위한 값들의 조합으로 결정될 수 있다. 문서 분석 시스템(101)은 TF-IDF 방법을 적용함에 있어서, TF-IDF 값 아래의 특정 단어(term)들은 폐기할 수 있다.
문서 분석 시스템(101)은 문서에 포함된 단어에 대응되는 적어도 하나의 노드와 노드 사이를 연결하는 링크에 따른 토큰에 기반하여 그래픽으로 표현되는 그래프를 구성할 수 있다. 문서 분석 시스템(101)은 구성된 그래프 모델에 기반하여 특징 세트를 선택할 수 있다.
이하에서, 본 발명의 다양한 실시 예에 따른, 문서 분석 시스템(101)의 그래프 표현 방법과 그래프에 표현되는 N-간단 거리 및 발생 빈도 표현에 대하여 설명할 수 있다.
문서 분석 시스템(101)은 대상 문서(117)에 기한하여 그래프 모델을 형성함에 있어서, 일반적인 그래프 표현 방법을 참조하여, 노드와 링크를 그래프의 형태로 텍스트 문서를 나타내는 데 사용할 수 있다.
여기에서, 그래프에 표현되는 각 노드는 대상 문서(117)에 포함되는 단어들 중 각각이 고유한 단어로 구성되어 나타낼 수 있다. 일 실시 예에 따르면, 문서 분석 시스템(101)은 대상 문서(117)의 적어도 영역(section) 'S'에서 단어 'A'가 단어 'B' 뒤에 위치하게 되는 경우, 그래프에서 단어 'A'에서 단어 'B'까지 직접적인 링크로 표시할 수 있다.
일 실시 예에 따르면, 그래프 G는 V, E, α, β의 성분에 대하여 구성될 수 있다. 여기에서, V는 노드들의 세트이고, E는 노드들의 사이에 형성되는 링크들의 세트이고, α는 노드들에 해당하는 가중치 함수이고, β는 링크들의 가중치 함수로 구성될 수 있다.
다른 실시 예에 따르면, 그래프를 표시함에 있어서 E, α 및 β에서 차별될 수 있다. 예를 들어,(α)에 대한 그래프에서 단어가 발생되는 빈도에 따라서, 그리고,(β)의 직접적인 링크로 두 노드가 연결되어 있는 기준과 같이 다양한 방식의 그래프로 표현할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(100)은 그래프의 인터페이스에 있어서, 각각의 특정 단어(term)는 노드로 표시되고, 둘레에는 인접한 단어들 사이에 링크로 연결됨으로써 형성할 수 있다. 대상 문서(117)에서 특정 단어가 나타나는 횟수에 관계되지 않고, 하나의 노드는 하나의 특정 단어를 표현하기 위하여 형성될 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(100)은 그래프의 인터페이스에 있어서, 기 정의된 매개 변수 n을 사용하여 거리(n-거리, n-distance)를 표시할 수 있다.
예를 들어, 문서 분석 시스템(100)은 각각의 특정 단어(term)에서, 거리 N까지 연결되는 특정 단어들을 확인하고, 확인된 특정 단어들 사이에 링크들을 형성할 수 있다. 여기에서, 문서 분석 시스템(100)은 발생된 링크들의 수를 확인할 수 있고, 확인된 수를 라벨로서 표시할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(100)은 그래프의 인터페이스에 있어서, 기 정의된 매개 변수 n을 사용하여 간단 거리(n-간단 거리, n-simple distance)를 표현(또는 표시)할 수 있다. 예를 들어, 문서 분석 시스템(100)은 각각의 특정 단어(term)에서, 거리 n까지 연결되는 특정 단어들을 확인하고, 확인된 특정 단어들 사이에 링크들을 형성할 수 있다.
여기에서, 문서 분석 시스템(100)은, 소스 노드(source node)로부터 링크의 거리는 라벨로서 표시하지 않을 수 있다. 이 경우, 연결된 두 특정 단어 사이의 거리는 n보다 크지 않은 경우일 수 있다.
상술한 바에 따르면, 문서 분석 시스템(100)은 특정 단어의 바로 옆에 배치된 단어들은 식별하지 않을 수 있다. 또한, 지정된 거리 n내의 조합에서 배치된 단어들 사이의 관계를 n-간단 거리에 기반하여 결정할 수 있다. 문서 분석 시스템(100)은, n이 문장의 길이를 만족하는 경우, 그래프 모델을 통해서 함께 사용되는 단어들 사이의 관계를 표시할 수 있다. 문서 분석 시스템(100)은 n이 -1로 지정된 경우, 해당 문장에서 지정된 특정 단어의 앞에 위치한 적어도 둘 이상의 단어들(예: 해당 문장에서 지정된 특정 단어의 앞에 위치한 모든 단어들) 사이에 링크를 형성할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(100)은 그래프의 인터페이스에 있어서, 발생 빈도를 표현할 수 있다. 예를 들어, 문서 분석 시스템(100)은 대상 문서(117) 및/또는 관련된 문서에 기반하는 데이터베이스의 특정 문서 내에서 특정 텍스트가 등장하는 횟수 및/ 또는 배치 관계를 노드 및 링크에 기반하여 나타낼 수 있다.
여기에서, 노드의 경우, 특정 단어가 문서 내에 등장하는 횟수를 나타낼 수 있다. 여기에서, 링크의 경우, 텍스트간 연결이 지정된 순서에 따라 인접하여 연결되는 횟수를 나타낼 수 있다.
문서 분석 시스템(100)은, 특정 문서에 포함되는 각각의 문장에서 확인되는 링크 및 노드에 기반하여 저자의 스타일을 식별할 수 있다.
본 발명의 다양한 실시 예에 따르면, 대상 문서(117) 및/또는 관련된 문서에서 확인된 텍스트들의 n-간단 거리와 발생 빈도에 기반하여 이메일과 같은 짧은 문서에서 효과적인 그래프 표현 방법을 제공할 수 있다. 일 실시 예에 따르면, 그래프에서 n 거리 이내의 모든 단어는 문서 내에서 등장하는 횟수를 추적하기 위한 발생 빈도 라벨을 가지는 링크 및 노드를 사용하여 연결될 수 있다.
도 3은 본 발명의 일 실시 예에 따른 문서 분석 시스템에서 문서의 단어들이 연결된 그래프 구조를 도시한다. 여기에서, 문서의 단어들은 완전히 연결된 상태일 수 있다.
본 발명의 일 실시 예에 따르면, 문서 분석 시스템(100)은 이메일과 같은 특정 문서(예: 데이터베이스(111)에 포함된 문서 및/또는 대상 문서(117))를 포괄적인 그래프 방식의 표현으로 변환하여 제공할 수 있다. 여기에서, 노드의 발생 빈도는 노드의 원 내에 표현될 수 있고, 링크는 링크 옆에 표현할 수 있다.
예를 들어, 도 3를 참조하면, 단어 “thanks”는 2의 발생 빈도를 나타내고 있다. 이는 특정 문서(예: 해당 이메일)에서 2번 등장한다는 것을 의미할 수 있다. 그리고 나머지 노드들은 1의 발생 빈도를 나타내고, 이는 해당 이메일에서 1번 등장하는 것을 의미할 수 있다. 문서 분석 시스템(100)은 완전히 연결된 그래프를 생성하며, 그래프에서 각각의 노드는 해당 노드들이 포함되는 특정 문장에서 등장하는 모든 다른 노드들에 연결될 수 있다.
다양한 실시 예에 따르면, 문서 분석 시스템(100)은 트레이닝 세트를 이용하여 대상 문서(117) 및/또는 관련된 문서를 그래프로 변환할 수 있다. 문서 분석 시스템(100)은 노드 및/또는 링크의 발생 빈도와 동일한 것으로 확인되는 문서들의 통합된 그래프로부터 포괄적인 그래프 방식으로 병합할 수 있다. 문서 분석 시스템(100)은 통합된 그래프를 통해서 지정된 수에 기반하여 단어들의 사용을 표현할 수 있다.
일 실시 예에 따르면, 문서 분석 시스템(100)은 약 600개의 이메일과 특정 저자를 나타내기 위하여 2,400여 개의 노드 및/또는 5000여 개의 링크를 사용할 수 있다. 이 때, 문서 분석 시스템(100)은 노드 및/또는 링크에 기반하여 대응되는 저자가 데이터베이스에 분류된 상태인 경우, 지정된 발생 빈도의 노드 및/또는 지정된 발생 빈도의 링크에 대응하는 저자와 저자의 스타일을 식별할 수 있다.
문서 분석 시스템(100)은 노드의 지정된 수치(예: 상위 n%) 및 링크의 지정된 수치(예: 상위 m%)를 특징 세트로 결정할 수 있고, 특정 저자를 분류하기 위한 저자 스타일로 결정할 수 있다.
일 실시 예에 따르면, 문서 분석 시스템(100)은 노드의 지정된 상위 수치(n%)를 1% 내지 5%의 범위로 결정될 수 있고, 링크의 지정된 상위 수치(m%)를 0.5% 내지 2.5%의 범위로 결정될 수 있다. 하지만, 이에 한정하지 않고, 다양한 수치로 결정될 수 있음은 자명하다.
도 4는 본 발명의 일 실시 예에 따른 문서 분석 시스템에서 노드 및 링크에 기반하는 그래프 모델을 도시한다.
본 발명의 다양한 실시 예에 따르면, 문서 분석 시스템(100)는 데이터베이스에 저장된 특징 세트에서 지정된 수치의 노드 및 지정된 수치의 링크에 대응되는 그래픽 모델을 결정할 수 있다. 일 실시 예에 따르면, 문서 분석 시스템(100)은 특정 사용자의 특징 세트에서 지정된 수치(예: 상위 25)의 노드를 고려하여 그래프 모델을 결정할 수 있다.
도 4를 참조하면, 특정 사용자의 특징 세트에서 상위 25개의 단어에 포함되는 단어들은 `the', `is', `or', `of', `on', `and', `to'와 같은 기능 단어로 결정될 수 있다. 문서 분석 시스템(100)은 선택된 기능 단어들이 지정된 키워드(예: lynn)와 특정 주제나 상황에 있어서 관련되지 않은 것으로 결정할 수 있다. 문서 분석 시스템(100)은 문서(또는 문장)의 주제 및/또는 문맥을 변경하지 않는 것으로 지정된 해당 기능 단어의 배열 및/또는 배치 등이 특정 저자에 지정된 스타일과 동일 또는 유사한지 여부를 확인할 수 있다.
이하에서, 본 발명의 다양한 실시 예에 따른 텍스트 표현 방식을 설명할 수 있다.
본 발명의 다양한 실시 예에 따르면, 문서 분석 시스템(100)은 문서(예: 이메일)에 포함되는 텍스트를 적어도 하나의 분류기(또는 분류 구성 요소)를 통해서 인식할 수 있는 포맷의 데이터로 변환할 수 있다.
일 실시 예에 따르면, 문서 분석 시스템(100)은 기계 학습(machine learning), 확률(probabilistic) 및/또는 휴리스틱 알고리즘(heuristic algorithms) 중 적어도 하나에 기반하는 분류기를 통해서 인식할 수 있는 실수(real numbers)의 벡터 값으로 텍스트를 변환할 수 있다. 문서 분석 시스템(100)은 지정된 특징 세트에 기반하여 문서의 텍스트들에 대응되는 실수의 벡터 값을 결정할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(100)은 텍스트를 벡터 값으로 변환함에 있어서, 이진 표현(binary representation)을 사용할 수 있다. 예를 들어, 문서 분석 시스템(100)은 문서에 포함되는 지정된 특징 요소를 포함하는 경우 1로 표시할 수 있고, 특징 요소가 아닌 경우 0으로 표시할 수 있다. 따라서, 대상 문서(117)의 특정 텍스트(또는 단어)에 기반하여 벡터 값 1이 결정된 경우, 지정된 특징 요소가 문서 내에 존재하는 것을 의미할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(100)은 텍스트를 벡터 값으로 변환함에 있어서, 발생 빈도 표현(frequency representation)을 사용할 수 있다. 예를 들어, 문서 분석 시스템(100)은 문서에 포함되는 지정된 특징 요소가 문서 및/또는 문장에 등장하는 횟수를 확인할 수 있다. 문서 분석 시스템(100)은, 문서 및/또는 문장에서 지정된 특징 요소가 등장하는 횟수를 특징 벡터에서 해당 특징 요소의 발생 빈도에 대응되는 벡터 값 f로 결정할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(100)은 텍스트를 벡터 값으로 변환함에 있어서, TF-IDF 표현(TF-IDF representation)을 사용할 수 있다. 예를 들어, 문서 분석 시스템(100)은 지정된 단어가 해당 문서에 등장하는 발생 빈도에 기반하여 가중치를 결정할 수 있다. 문서 분석 시스템(100)은 일반적인 정보 검색 알고리즘의 대부분에서 제외하는 단어(예: 스탑 워드, stop word)들의 가중치를 포함하고, 문서에 지정된 횟수 이하 등장하는 단어들에 더 높은 가중치를 제공하도록 결정할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(100)은, 텍스트를 벡터 값으로 변환함에 있어서, 하다마르(또는 아다마르) 표현(Hadamard representation)을 사용할 수 있다. 예를 들어, 문서 분석 시스템(100)은 트레이닝 세트의 샘플 공간에서 지정된 특징으로 결정하는 하다마르 결과를 특징 벡터와 함께 사용할 수 있다.
문서 분석 시스템(100)은, 주어진 문서(예: 대상 문서(117) 및/또는 관련된 문서)에서 다양한 특징 요소들의 발생 빈도 벡터(e->) 및 완전한 트레이닝 세트를 위한 발생 빈도 벡터(E->)를 결정할 수 있고, 하기 식(2)에 기반하여 두 벡터 사이의 컴포넌트 와이즈(component-wise) 결과를 획득할 수 있다.
일 실시 예에 따르면, 문서 분석 시스템(100)은, 텍스트를 벡터 값으로 변환함에 있어서, 지정된 특징 요소가 발생되는 확률에 기반하는 확률 표현을 사용할 수 있다. 예를 들어, 문서 분석 시스템(100)은 확률 모델(probability model, PM) 및 인클루시브 복합 확률 모델(inclusive compound probability model, ICPM) 중 적어도 하나의 확률 표현을 사용할 수 있다.
여기에서, 확률 모델(PM)은, 주어진 문서(예: 이메일)에서 특정 요소가 발생되는 확률의 값으로 결정될 수 있다. 문서 분석 시스템(100)은 데이터베이스에 포함되는 관련된 문서 및/또는 대상 문서(117)에 대하여 확률 모델을 처리할 수 있다. 예를 들어, 문서 분석 시스템(100)은 특정 문서(예: 이메일)에서 특징 노드를 결정함에 있어서, 특정 문서에 포함되는 단어들 중 해당하는 단어가 등장하는 횟수의 비율로 결정할 수 있다. 또한, 문서 분석 시스템(100)은 특정 문서(예: 이메일)에서 특징 링크를 결정함에 있어서도 마찬가지 방법으로 결정할 수 있다.
문서 분석 시스템(100)은, 주어진 문서(예: 이메일)에서 n이 노드의 총 수이고, I가 링크의 총 수인 경우, 하기 식(3) 및 식(4)에 기반하여 특징 노드 의 확률(Fnode) 및/또는 특징 링크 의 확률(Flink)을 결정할 수 있다.
여기에서, 인클루시브 복합 확률 모델(inclusive compound probability model, ICPM)은, 문서의 특정 문장에서 등장하는 특징 요소의 발생 확률에 기반하여 지정된 값을 특징으로 결정할 수 있다. 문서 분석 시스템(100)은 문장에 사용되는 요소들의 패턴을 확인할 수 있다. 문서 분석 시스템(100)은 문서에 포함되는 둘 이상의 문장에서 특징 요소의 발생 및 패턴을 비교할 수 있고, 인클루시브 복합 확률(inclusive compound probability, ICP)을 결정할 수 있다. 문서 분석 시스템(100)은 A 문장에서 나타나는 특징 요소의 확률을 P(f A)로 결정할 수 있고, B 문장에서 나타나는 특징 요소의 확률을 P(f B)로 결정할 수 있다. 문서 분석 시스템(100)은 하기 식(5)에 기반하여 특정 문서에 포함되는 적어도 하나의 문장에서 발생되는 특징 요소의 확률을 결정할 수 있다.
이하에서, 본 발명의 다양한 실시 예에 따른 분류 알고리즘을 설명할 수 있다.
문서 분석 시스템(100)은 분류기의 동작에 기반하여 트레이닝 단계에서 입력되는 특징 벡터의 패턴을 결정할 수 있다. 문서 분석 시스템(100)은 결정되는 특징 벡터의 패턴을 이용하여 특정 문서 및/또는 적어도 일부 문장이 속하는 클래스를 결정할 수 있다. 다양한 실시 예에 따르면, 문서 분석 시스템(100)은 분류기의 동작을 수행함에 있어서 확장된 로직(logic)과 함께 한 클래스 분류를 위하여 동작하는 것으로 설명하고 있지만, 이에 한정하지 않고, 멀티 클래스 분류에서도 동작할 수 있음은 자명하다.
- 일 실시 예에 따르면, 문서 분석 시스템(100)은 특정 문서에 분류 알고리즘을 적용함에 있어서, 로치오(Rocchio)의 방법이 적용되는 초기 알고리즘을 적용할 수 있다. 여기에서, 문서 분석 시스템(100)은, 벡터 공간에서 각각의 문서에 대한 표현을 벡터(d->)로 결정할 수 있다. 문서 분석 시스템(100)은 유사한 컨텐츠(예: 텍스트, 또는 단어)를 포함하는 문서들은 유사한 벡터를 포함하는 것으로 결정할 수 있다.
분서 분류 시스템(100)은 초기 알고리즘에 기반하여 텍스트를 문서 벡터로 변환함에 있어서, 상술한 TF-IDF 표현의 적어도 일부를 적용할 수 있다. 예를 들어, 문서 분석 시스템(100)은 특정 단어(w)에 대응되는 통계적 수치 tf(w) 및 idf(w)의 조합으로 각각의 요소를 결정할 수 있다. 문서 분석 시스템(100)은 하기 식(6) 및 문서 벡터를 클래스(C)에서 초기 벡터(c->)에 결합하여 트레이닝 세트에서의 클래스 모델을 결정할 수 있다.
문서 분석 시스템(100)은 트레이닝 세트에서 초기 벡터 c에 설정되는 샘플들의 최대 거리 델타(δ)를 결정할 수 있다. 예를 들어, 문서 분석 시스템(100)은 벡터 c에 설정되는 보다 작은 델타(δ) 값을 클래스(C)의 적어도 일부로 결정할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(100)은 특정 문서에 분류 알고리즘을 적용함에 있어서, 최근접 이웃 알고리즘(nearest neighbor algorithm)을 적용할 수 있다. 문서 분석 시스템(100)은 멀티 클래스를 위한 최근접 이웃 알고리즘에 기반하여 한 클래스 분류를 위한 알고리즘을 생성할 수 있다.
여기에서, 문서 분석 시스템(100)은 트레이닝 세트에서 초기 벡터(c->)에 설정되는 샘플들의 최대 거리 델타(δ)를 결정할 수 있다. 예를 들어, 문서 분석 시스템(100)은 트레이닝 세트의 샘플들의 거리 델타(δ) 사이에서 테스트 샘플이 위치하는 경우, 테스트 샘플을 해당 클래스의 일부로 결정할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(100)은 특정 문서에 분류 알고리즘을 적용함에 있어서, 나이브 베이즈 방법(naive bayes method)을 적용할 수 있다. 문서 분석 시스템(100)은 클래스(C)에 속하는 문서(d)의 확률은, p(d|C)로 결정할 수 있고, p(d|C)는 클래스(C)에 속하는 다양한 특징들의 확률 결과인 p(f|C)에 기반하여 결정할 수 있다. 여기에서, 임계 확률은 트레이닝 세트에서 클래스(C)를 설정하는 최소 확률에 기반하여 결정할 수 있다. 더하여, 문서 분석 시스템(100)은, 클래스의 일부로 확인된 임계 확률보다 작은 확률을 테스트 샘플로 결정할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(100)은 특정 문서에 분류 알고리즘을 적용함에 있어서, 자동 엔코더(auto encoder)을 적용할 수 있다. 문서 분석 시스템(100)은 신경망 네트워크에 기반하는 한 클래스 분류 기법을 결정할 수 있다. 예를 들어, 신경망 네트워크는 둘 이상의 층(layer), 예를 들어, 입력 층, 출력 층 및 숨겨진 층의 3개의 층으로 설계될 수 있다.
여기에서, 입력 층 및 출력 층은 특징 세트에 포함된 특징 요소의 수와 동일한 노드의 수를 가지도록 결정될 수 있다. 여기에서, 숨겨진 층은, 입력으로부터 출력을 재구성하기 위한 식별 기능을 학습하는 동작에서 네트워크에 형성되는 병목 현상에 따라서, 적어도 하나의 다른 층(예: 입력 층 및/또는 출력 층)과 비교하여 보다 적은 수의 노드를 포함할 수 있다.
문서 분석 시스템(100)은 신경망 네트워크를 통해서 입력 테스트 샘플을 통해서 테스트 샘플을 성공적으로 재구성하는 경우, 재구성한 테스트 샘플을 트레이닝된 클래스에 속하는 것으로 결정할 수 있다.
- 일 실시 예에 따르면, 문서 분석 시스템(100)은 특정 문서에 분류 알고리즘을 적용함에 있어서, 한 클래스 SVM을 적용할 수 있다. 예를 들어, 문서 분석 시스템(100)은 스컬코프(Scholkopf) 방법론에 기반하는 한 클래스 SVM을 적용할 수 있다.
문서 분석 시스템(100)은 커널을 통해서 특징 요소들을 변환한 후에 두번 째 클래스의 유일한 멤버로 결정할 수 있다. 그리고 문서 분석 시스템(100)은 완화된 변수에 기반하여 유일한 멤버로부터 한 클래스의 이미지를 분리할 수 있다. 즉 문서 분석 시스템(100)은 주어진 클래스에서 경계를 학습할 수 있다.
문서 분석 시스템(100)은 한 클래스 알고리즘을 통해서 대부분의 데이터 포인트를 캡쳐링(capturing)한 작은 영역에서 +1의 값을 얻어 함수(f)를 반환할 수 있고, 다른 곳에서 -1을 적용할 수 있다.
문서 분석 시스템(100)은 커널에 대응하는 특징 공간에 데이터를 맵핑할 수 있고, 원점(origin)으로부터 최대 마진(maximum margin)으로 구분할 수 있다. 여기에서, 특징 공간에 떨어지는 하이퍼 평면(hyper plane)의 일면에 대하여 평가함으로써 새로운 포인트(x) 및 함수 f(x)를 정의할 수 있다. 문서 분석 시스템(100)은 하기 식(7)에 기반하여 원점으로 데이터 세트를 분리할 수 있다.
이하에서, 본 발명의 다양한 실시 예에 따른 테스트 단계(예: 도 2c 참조)를 설명할 수 있다.
문서 분석 시스템(100)은, 특징 셋 선택, 텍스트 표현, 분류기 알고리즘에 대하여, 본 발명과 기존의 메커니즘을 특정 문서(예: 공공 이메일)의 데이터 세트를 이용하여 비교할 수 있다.
문서 분석 시스템(100)은 비교 결과를 평가하기 위한 결과들의 특정 상태를 정의할 수 있다. 일 실시 예에 따르면, 문서 분석 시스템(100)은 참 긍정 상태(true positive state, TP)는 훈련된 저자의 세트로부터 긍정 샘플이 긍정으로 보고되는 상태로 결정할 수 있다. 반면 문서 분석 시스템(100)은 거짓 부정 상태(false negative state, FN)는 저자의 긍정 샘플이 부정 샘플로서 분류할 수 있다.
문서 분석 시스템(100)은 분류기를 훈련된 저자 이외의 임의의 사용자로부터의 샘플 메시지로 테스트하고, 그것이 긍정으로 분류되는 경우 그것은 거짓 긍정 상태(False Positive state, FP)로 결정할 수 있다. 특정 문서가 부정으로 분류되면, 그것은 참 부정 상태(True Negative state, TN)이다. 이들 4가지 상태들에 기반하여, 모델 성능을 잘 정의할 수 있는 다음의 변수들을 연산할 수 있다.
- 문서 분석 시스템(100)은 긍정 경우들을 정확하게 식별하기 위한 모델들의 능력에 관한 것으로 민감도/참 긍정 비율(true Positive rate, TPR)을 결정할 수 있다. 예를 들어, 문서 분석 시스템(100)은 저자의 이메일로서 정확하게 분류되는 그/그녀의 이메일의 비율을 나타낼 수 있다. 문서 분석 시스템(100)은 민감도에 기반하여 민감도가 높을수록 저자의 이메일을 진짜로 분류할 수 있는 확률이 높은 것으로 결정할 수 있다. 이러한 민감도는 하기 식(9)에 기반하여 결정될 수 있다.
- 문서 분석 시스템(100)은 부정 경우들을 정확하게 식별하기 위한 모델들의 능력에 관한 것으로 특이성/참 부정 비율(true negative rate, TNR) 을 결정할 수 있다. 예를 들어, 문서 분석 시스템(100)은 부정 특정 문서, 즉, 저자에 의해 작성되지 않고, 부정 샘플들로서 정확하게 식별될 수 있는 특정 문서의 비율을 나타낼 수 있다. 문서 분석 시스템(100)은 특이성이 높을 수록, 저자의 이메일을 비정상의 경우로 결정할 수 있다. 이러한 특이성은 하기 식(10)에 기반하여 결정될 수 있다.
- 문서 분석 시스템(100)은 모든 테스트된 샘플들 사이에서 진짜인 결과의 비율로 정확도를 결정할 수 있다. 문서 분석 시스템(100)은 정확도가 높을수록, 대상 문서(117)에 대하여 진짜의 경우들을 식별할 때 모델은 대상 문서(117)를 특정 저자에 대한 원본으로서 식별하거나, 위조된 경우를 식별할 수 있다. 이러한 정확도는 하기 식(11)에 기반하여 결정할 수 있다.
- 문서 분석 시스템(100)은 정확도의 단점을 설명하기 위해, 다른 정확도 변수인 F1 스코어를 사용할 수 있다. 문서 분석 시스템(100)은 보고된 전체 긍정 경우들에 대한 참 긍정 경우들의 일부를 정밀성(ρ)를 결정할 수 있고, 시스템에 인가된 전체 긍정 경우들에 대한 참 긍정 경우들의 일부를 리콜(r; 또한 소위 민감도)로 결정할 수 있다. 문서 분석 시스템(100)은 결정된 정밀성 및 리콜의 조화 평균에 기반하여 F1 스코어를 결정할 수 있다. 이러한 F1 스코어는 1의 값을 갖는 최우수 성능 및 0의 값을 갖는 최악의 성능을 나타낼 수 있고, 하기 식(12) 내지 식(14)에 기반하여 결정할 수 있다.
여기에서,
- 문서 분석 시스템(100)은 거짓 긍정 비율(false positive rate, FPR)에 대한 참 긍정 비율(true positive rate, TPR)을 플롯팅함으로써 그려지는 수신기 동작 특징(Receiver Operating Characteristic, ROC) 곡선을 결정할 수 있다. 여기에서, 거짓 긍정 비율(FPR)은 1-참 부정 비율(true negative rate, TNR)로 연산될 수 있다. 거짓 긍정 비율(FPR)은 x축에 참 긍정 비율(TPR)은 y축에 형성되며, 그래프는 다양한 임계 레벨들로 플로팅될 수 있다. 가장 우수한 모델은 100% 특이성 및 100% 민감도를 산출할 수 있고, 따라서, 이상적인 포인트는 그래프의 상부 최측(0, 1)으로 결정될 수 있다. 일반적으로, 곡선 아래 영역이 클수록 모델은 우수한 것으로 결정될 수 있다.
테스팅 단계는 3가지 교차-검증(cross validation)을 이용하여 수행하였다. 각 사용자들의 특정 문서 메시지들은 3개의 부분으로 구분된다. 제1부분 및 제2부분은 분류기를 학습(훈련)하기 위해 사용되고, 제3부분은 긍정 테스트 세트로서 사용되었다. 긍정 테스트 세트의 크기와 동일한 크기의 테스트 이메일들은 부정 테스트 세트에 대한 나머지 49명의 사용자들로부터 랜덤하게 선택되었다.
일 실시 예에 따르면, 문서 분석 시스템(100)은 테스팅 단계를 수행함에 있어서, 독립형 자바 프로그램을 이용할 수 있다. 각 사용자에 대한 종합적인 그래프는 neo4j 그래프 데이터베이스를 이용할 수 있다. 문서 분석 시스템은, 한 클래스 SVM의 실행으로 자바 라이브러(libsvm)를 사용할 수 있다. 예를 들어, 0.1스텝으로 0.0에서 1.0까지 범위의 ν 값들을 이용하여 수행할 수 있다. 여기에서, 모델 변수 ν 는 한 클래스 SVM 모델이 트레이닝 데이터 포인트들을 얼마나 조밀하게 또는 느슨하게 피팅 하는지를 결정할 수 있다. 자동 엔코더 알고리즘의 실행은 다른 오픈 소스 라이브러리(encog)를 사용할 수 있다.
이하에서, 본 발명의 다양한 실시 예에 따른 문서 분석 시스템(100)에서 특징 세트 선택(FS) 결과를 비교할 수 있다.
문서 분석 시스템(100)은, 본 발명의 일 실시 예에 따른 그래프-모델 기반 특징 세트 설정 메커니즘을 발생 빈도 방법 및 TF-IDF 방법과 같은 종래 기술과 비교할 수 있다.
문서 분석 시스템(100)은 발생 빈도의 특징 세트 선택(frequency FS, 발생 빈도 FS)에 대하여, 종합적인 발생 빈도-계수 벡터를 유지할 수 있고, 트레이닝 세트의 샘플 공간 에서 모든 용어들의 발생 빈도를 덧붙일 수 있다. 최소 발생 빈도 용어들을 제외하기 위해, 문서 분석 시스템(100)은 상기 벡터는 그 출현이 발생 빈도 분포의 1/4 분위수(first quartile)보다 작은 용어를 걸러내도록 벡터 값을 분류할 수 있다.
문서 분석 시스템(100)은 발생 빈도 FS를 분석하기 위하여 둘 이상의 방식의 테스트 표현(TR)(예: 발생 빈도 표현 및 ICPM 표현)을 사용할 수 있다. 문서 분석 시스템(100)은 발생 빈도 표현에서 단어들을 용어들로 고려할 수 있고, 인클루시브 복합 확률 모델(ICPM) 표현에서 종합적인 그래프의 노드들 및 링크들을 용어들로서 사용할 수 잇다.
문서 분석 시스템(100)은 TF-IDF의 특징 세트 선택(FS)에 대하여, 각 용어(tf)는 벡터로 저장할 수 있다. 예를 들어, 문서 분석 시스템(100)은 각 용어 t의 IDF를 식(1)에 기반하여 이용하여 연산할 수 있고, 식(1)에서, 샘플 공간에서 문서들의 총수는 N으로, 용어 t를 포함하는 문서들의 수는 dft로. 두 벡터들의 성분에 대한 곱셈에 의해 TF-IDF 벡터를 결정할 수 있다. 문서 분석 시스템(100)은 발생 빈도 FS의 경우와 같이, 벡터는 분류하고 특징 세트를 제거할 수 있다. 이 경우, 분석을 위해 TF-IDF 및 ICPM 텍스트 표현 방식을 사용할 수 있다.
본 발명의 다양한 실시 예에 따르면, 문서 분석 시스템(100)은 모든 노드들 및 링크들을 저장하기 위해 neo4j 데이터베이스를 사용할 수 있다. 일 실시 예에 따르면, 문서 분석 시스템(100)은 2.5%의 노드 및 1%의 링크들을 특징 세트로서 선택할 수 있다. 더하여, 문서 분석 시스템(100)은 발생 빈도 및 ICPM 표현들을 분석을 위해 사용할 수 있다.
일 실시 예에 따르면, 문서 분석 시스템(100)은 3가지의 특징 세트 선택(FS) 방법은 2가지 유형의 텍스트 표현(TR)과 함께 총 6개의 조합으로 모델 변수 ν 값 0.4에 대응하는 한 클래스 SVM 분류기에 의해 테스트 단계를 수행할 수 있다. 그 결과는 특징 세트 선택 방법의 비교를 나타내는 표 1과 같다.
표 1
표 1을 참조하면, 문서 분석 시스템(100)에 기반하는 변수 민감도(TPR), 특이성(specificity)(SPC) 및 정확도(ACC)에 대한 결과를 나타내고 있다. 모든 모델들의 평균 민감도는 TF-IDF TR 방식을 제외하면 0.5에서 0.6의 범위이다. 그러나, 본 발명의 일 실시 예에 따른 그래프 FS-ICPM TR 조합은 0.591의 상위 민감도를 나타내고 있다. 본 발명의 일 실시 예에 따른 그래프 FS-ICPM TR 조합의 특이성은 거의 완벽하고, 다른 모든 모델들보다 훨씬 앞선 것을 확인할 수 있다. 이러한 조합의 정확도는 다른 방법들에 비하여 현저하게 높다. 흥미롭게도, 발생 빈도 및 TF-IDF 방법 모두는 다른 TR 방식 보다 ICPM TR과의 조합에서 더 우수한 것을 확인할 수 있다.
다양한 특징 세트 선택 기법들의 F1 스코어 및 ROC 곡선은 도 5에 각각 도시된다. 도 5a 및/또는 도 5b를 참조하면, 그래프 FS-ICPM TR 조합은 우수한 F1 스코어를 달성하고 또한 ROC 곡선 아래에 최대 영역을 달성하는 것을 확인할 수 있다. 표 1에 나타낸 바와 같이, ICOM TR과 조합된 다른 FS 기법들은 F1 스코어 및 ROC 곡선에 대하여 이전의 TR 방식보다 훨씬 우수한 것을 확인할 수 있다. 요약하면, 본 발명의 일 실시 예에 따른 문서 분석 시스템(100)에서 그래프 모델 기반 특징-세트 선택 기법은 종래의 기법들에 비하여 우수한 성능을 나타낼 수 있다.
이하에서, 본 발명의 다양한 실시 예에 따른 문서 분석 시스템(100)에서 텍스트 표현 결과를 비교할 수 있다.
이진 표현, 발생 빈도 표현, TF-IDF 표현, 하다마르 표현의 4개의 텍스트 표현 방식 중 적어도 하나를 문서 분석 시스템(100)의 확률 모델(PM) 및/또는 인클루시브 복합 확률 모델(ICPM) 방식과 비교할 수 있다. 여기에서, 특징 세트 선택은 그래프 기반 특징 선택을 사용하였으며, 분류기는 0.4의 ν 값을 한 클래스 SVM가 되도록 선택하였다.
문서 분석 시스템(100)은 바이너리 표현에 대하여, 각 문서의 특징 벡터를 대응하는 특징이 문서에 존재하면 1로 나타내고, 그 외에는 0으로 표시할 수 있다. 발생 빈도 표현에서, 특징 벡터는 문서에서 각 특징의 출현 횟수로 표시할 수 있다.
문서 분석 시스템(100)은 TF-IDF 표현에 대하여, 각 특징의 TF 및 IDF 값들을 곱한 특징 벡터를 유지할 수 있다. 여기에서, 문서 분석 시스템(100)은 식(1)을 이용하여 IDF를 연산할 수 있다.
문서 분석 시스템(100)은 하다마르 표현에 대하여, 발생 빈도 벡터(e)는 각 문서에 대하여 구성할 수 있고, 완전한 트레이닝 세트에 대한 종합적인 발생 빈도 벡터(E->) 또한 구성할 수 있다. 각 문서에 대한 특징 벡터는 식(2)를 이용하여 연산할 수 있다.
본 발명의 일 실시 예 따르면, 문서 분석 시스템(100)은 텍스트 표현 방식인 PM 및 IPCM 표현에 있어서 식(3), 식(4), 식(5)에 기반하여 각각 특징 벡터를 생성할 수 있다. 다양한 텍스트 표현 방식들의 성능 비교는 하기 표 2에 나타낸다.
표 2
민감도는 모든 표현들에 대하여 0.5-0.6의 범위로 결정될 수 있다. 정확도에 대하여, 하다마르 표현은 ICPM에 근접할 수 있다. 그러나, ICPM의 특이성은 거의 완벽하고, 하다마르 표현은 다른 방식들보다 훨씬 우수한 0.87을 달성하는 것을 확인할 수 있다.
F1 스코어 및 ROC 곡선은 도 6에 각각 도시한다. 도 6a 및/또는 도 6b를 참조하면, ICPM은 가장 효율적인 방식이고 그 다음은 하다마르 표현임을 확인할 수 있다. 따라서, ICPM이 모든 다른 표현들에 비하여 더 효율적으로 텍스트를 표현할 수 있다는 결론을 도출할 수 있다.
이하에서, 본 발명의 다양한 실시 예에 따른 문서 분석 시스템(100)에서 분류 모델의 동작 결과를 비교할 수 있다.
이하, 본 발명의 일 실시 예에 따른 분류 모델은 그래프 기반 특징 선택과 ICPM 텍스트 표현의 조합에 한 클래스 SVM 분류기를 적용한 분류 모델과 다른 분류 모델을 비교할 수 있다.
일 실시 예에 다르면, 문서 분석 시스템(100)은 각 문서에 대한 tf-idf 벡터를 구성함으로써 프로토타입 알고리즘을 수행할 수 있다. 여기에서, 클래스에 대한 프로토타입 벡터는 트레이닝 세트의 문서들로 구성될 수 있다.
문서 분석 시스템(100)은 샘플 세트의 각각의 문서로부터 샘플 공간의 모든 다른 문서들에 대한 거리를 연산함으로써 최근접 이웃(nearest neighbor) 알고리즘을 수행할 수 있다.
문서 분석 시스템(100)은 클래스의 멤버가 될 문서의 확률이 문서에서 모든 특징들의 p(f|E)의 곱으로서 나이브 베이즈(Naive Bayes) 알고리즘을 계산할 수 있다.
문서 분석 시스템(100)은 3개의 레이어 피프 포워드 네트워크로 오토 엔코더(auto encoder)를 구현할 수 있다.
본 발명의 다양한 실시 예에 따른 분류 모델은 그래프 기반 특징 선택, ICPM 텍스트 표현 및 한 클래스 SVM 모델을 시험하기 위해, S자 커널(sigmoid kernel) 유형을 갖는 libsvm의 한 클래스 SVM 구현을 이용할 수 있다. 여기에서, 분류 모델이 트레이닝 데이터 포인트들을 얼마나 조밀하게 또는 느슨하게 피팅하는지를 결정하는 변수 ν는 특이성과 민감도 사이의 평형 위치가 되도록 실험적으로 결정된 0.4로 설정될 수 있다.
표 3
표 3을 참조하면, 문서 분석 시스템(100)은 프로토타입, 최근접 이웃, 나이브 베이지 알고리즘에 대한 제어 변수 λ, 오토 엔코더의 임계 값 및 본 발명의 다양한 실시 예에 따른 한 클래스 SVM의 ν값은 0.4-0.6 범위의 민감도를 달성하기 위한 레벨로 모두 고정될 수 있다. 이와 같이 사전 고정된 민감도에 기반하여, 모든 분류기의 특이성 및 F1 스코어를 비교할 수 있다. 한 클래스 SVM은 0.99의 특이성뿐만 아니라 0.99의 F1 스코어에 도달하는 것을 확인할 수 있다. 특이성에 대하여, 프로토콜 알고리즘은 나머지 알고리즘들 중에서 0.5 이상의 특이성을 달성한 것을 확인할 수 있다. 프로토타입 및 오토 엔코더 양자의 F1 스코어는 0.5 이상인 것을 확인할 수 있다. 결론적으로, 본 발명의 일 실시 예에 따른 한 클래스 SVM 모델의 성능은 다른 분류기들에 비하여 비교적 높은 것을 확인할 수 있다.
본 발명의 일 실시 예에 따르면, 그래프 모델에 기반하는 문서 분석 방법은, 데이터베이스에 포함된 적어도 하나의 문서를 저자에 기반하여 분류하는 단계; 각각의 저자에 기반하여 분류된 문서에 포함되는 텍스트를 벡터 값으로 변환하는 단계; 상기 변환된 벡터 값에 기반하여 적어도 하나의 노드와 적어도 하나의 링크로 구성되는 그래프 모델을 생성하는 단계; 상기 적어도 하나의 노드와 상기 적어도 하나의 링크에 형성되는 가중치에 기반하여 상기 각각의 저자의 스타일에 대응되는 특징 세트를 결정하는 단계; 적어도 하나의 분류 모델에 기반하여 상기 특징 세트로부터 각각의 저자에 대한 특징 벡터를 산출하는 단계; 및 클래스 분류기에 기반하여 상기 산출된 각각의 저자에 대한 특징 벡터에 대응되는 클래스를 판단하는 단계;를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 특징 세트는, 상기 데이터베이스와 수신하는 대상 문서에 포함되는 텍스트들의 발생 빈도 및 n-간단 거리 중 적어도 일부에 기반하여 결정될 수 있다.
다양한 실시 예에 따르면, 그래프 모델에 기반하는 문서 분석 방법은, 수신하는 대상 문서의 저자를 확인하는 단계; 상기 확인된 저자에 기반하여 상기 저자의 특징 벡터를 상기 데이터베이스로부터 결정하는 단계; 상기 적어도 하나의 분류 모델에 기반하여 상기 대상 문서로부터 상기 대상 문서의 특징 벡터를 산출하는 단계; 및 상기 클래스 분류기에 상기 대상 문서의 특징 벡터를 적용하여 상기 저자의 진위를 판단하는 단계를 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 클래스 분류기는, 상기 각각의 저자에 대한 특징 벡터 및 상기 대상 문서의 특징 벡터의 민감도, 특이성 정확도 중 적어도 하나를 비교할 수 있다.
다양한 실시 예에 따르면, 상기 특징 벡터는, 대상 문서에서 특정 요소가 발생되는 확률의 값으로 결정하는 확률 모델(probability model, PM) 및 대상 문서에서 특정 문장에 등장하는 특징 요소의 발생 확률의 값으로 결정하는 인클루시브 복합 확률 모델(inclusive compound probability model, ICPM) 중 적어도 하나에 기반하여 결정할 수 있다.
다양한 실시 예에 따르면, 상기 확률 모델은, 하기 식에 기반하여 결정되는 특징 노드의 확률에 대한 값 및 특징 링크의 확률에 대한 값 중 적어도 일부를 포함할 수 있다.
[식]
(n: 노드의 총 수, i: 링크의 총 수, Fnode: 특징 노드의 확률, Flink: 특징 링크의 확률)
다양한 실시 예에 따르면, 상기 인클루시브 복합 확률 모델은, 하기 식에 기반하여 결정되는 상기 대상 문서의 지정된 문장에서 특징 요소가 발생되는 확률을 포함할 수 있다.
[식]
(P(f A): 대상 문서의 A문장에 나타나는 특징 요소의 확률, P(f B): 대상 문서의 B문장에 나타나는 특징 요소의 확률)
본 발명의 일 실시 예에 따르면, 그래프 모델에 기반하는 문서 분석 시스템은, 적어도 하나의 문서를 포함하는 데이터베이스; 적어도 하나의 분류 모델을 포함하는 문서 분류 인터페이스; 상기 데이터베이스에 포함된 적어도 하나의 문서를 저자에 기반하여 분류하고, 각각의 저자에 기반하여 분류된 문서에 포함되는 텍스트를 벡터 값으로 변환하고, 상기 변환된 벡터 값에 기반하여 적어도 하나의 노드와 적어도 하나의 링크로 구성되는 그래프 모델을 생성하고, 상기 적어도 하나의 노드와 상기 적어도 하나의 링크에 형성되는 가중치에 기반하여 상기 각각의 저자의 스타일에 대응되는 특징 세트를 결정하고, 적어도 하나의 분류 모델에 기반하여 상기 특징 세트로부터 각각의 저자에 대한 특징 벡터를 산출하고, 클래스 분류기에 기반하여 상기 산출된 각각의 저자에 대한 특징 벡터에 대응되는 클래스를 판단하도록 처리하는 프로세서를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 데이터베이스와 상기 대상 문서에 포함되는 텍스트들의 발생 빈도 및 n-간단 거리 중 적어도 일부에 기반하여 적어도 하나의 노드 및 적어도 하나의 링크로 상기 그래프 모델을 구성할 수 있다.
다양한 실시 예에 따르면, 그래프 모델에 기반하는 문서 분석 시스템은, 대상 문서를 수신하는 통신부;를 더 포함하고, 상기 프로세서는, 상기 수신한 대상 문서의 저자를 확인하고, 상기 확인된 저자에 기반하여 상기 저자의 특징 벡터를 상기 데이터베이스로부터 결정하고, 상기 적어도 하나의 분류 모델에 기반하여 상기 대상 문서로부터 상기 대상 문서의 특징 벡터를 산출하고, 상기 클래스 분류기에 상기 대상 문서의 특징 벡터를 적용하여 상기 저자의 진위를 판단할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 클래스 분류기를 통하여 상기 각각의 저자에 대한 특징 벡터 및 상기 대상 문서의 특징 벡터의 민감도, 특이성 정확도 중 적어도 하나를 비교할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 대상 문서에서 특정 요소가 발생되는 확률의 값으로 결정하는 확률 모델(probability model, PM) 및 대상 문서에서 특정 문장에 등장하는 특징 요소의 발생 확률의 값으로 결정하는 인클루시브 복합 확률 모델(inclusive compound probability model, ICPM) 중 적어도 하나를 상기 분류 모델로 포함할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 하기 식에 기반하여 결정되는 특징 노드의 확률에 대한 값 및 특징 링크의 확률에 대한 값 중 적어도 일부를 상기 확률 모델에 포함할 수 있다.
[식]
(n: 노드의 총 수, i: 링크의 총 수, Fnode: 특징 노드의 확률, Flink: 특징 링크의 확률)
다양한 실시 예에 따르면, 상기 프로세서는, 하기 식에 기반하여 결정되는 상기 대상 문서의 지정된 문장에서 특징 요소가 발생되는 확률을 상기 인클루시브 복합 확률 모델에 포함할 수 있다.
[식]
(P(f A): 대상 문서의 A문장에 나타나는 특징 요소의 확률, P(f B): 대상 문서의 B문장에 나타나는 특징 요소의 확률)
본 발명의 다양한 실시 예에 따르면, 문서 분석 시스템은, 문서에 입력된 텍스트의 특징 요소를 확인함으로써, 입력된 문서의 저자를 결정하고, 문장의 패턴을 식별함으로써, 저자에 의하여 작성된 것인지 여부 및/또는 위변조 여부를 확인할 수 있다.
상기와 같은 방법 및/또는 장치들은 도 1 내지 도 6에 도시된 바와 같이 문서 분석 시스템을 통해서 구현될 수 있고, 특히, 이러한 동작들을 수행하는 소프트웨어 프로그램(또는 애플리케이션)으로 구현될 수 있으며, 이 경우 이러한 프로그램들은 컴퓨터 판독 가능한 기록 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다. 이 때, 컴퓨터 판독 가능한 기록 매체는 컴퓨터 시스템에 의해 판독 가능한 데이터가 저장되는 모든 종류의 기록 장치를 포함하며, 예를 들면, ROM, RAM, CD-ROM, DBD-ROM, DBD-RAM, 자기 테이프, 플로피 디스크, 하드 디스크, 광 데이터 저장 장치 등일 수 있다.
이상에서 본 발명의 일 실시 예에 대하여 설명하였으나, 본 발명의 사상은 본 명세서에 제시되는 실시 예에 제한되지 아니하며, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서, 구성 요소의 부가, 변경, 삭제, 추가 등에 의해서 다른 실시 예를 용이하게 제안할 수 있을 것이나, 이 또한 본 발명의 사상 범위 내에 든다고 할 것이다.
100: 문서 분석 시스템 111: 데이터베이스
113: DB 인터페이스 115: 데이터 세트
101: 문서 분류 인터페이스 117: 대상 문서
113: DB 인터페이스 115: 데이터 세트
101: 문서 분류 인터페이스 117: 대상 문서
Claims (14)
- 데이터베이스에 포함된 적어도 하나의 문서를 저자에 기반하여 분류하는 단계;
각각의 저자에 기반하여 분류된 문서에 포함되는 텍스트를 벡터 값으로 변환하는 단계;
상기 텍스트 및 변환된 상기 벡터 값에 기반하여 단어에 대응되는 적어도 하나의 노드와 적어도 두 단어 사이의 거리에 대응되는 적어도 하나의 링크로 구성되는 그래프 모델을 생성하는 단계;
상기 적어도 하나의 노드와 상기 적어도 하나의 링크에 형성되는 가중치에 기반하여 상기 각각의 저자의 스타일에 대응되고, 상기 데이터베이스 및 수신하는 대상 문서 중 적어도 일부에 포함되는 텍스트들의 발생 빈도 및 n-간단 거리에 기반하여 특징 세트를 결정하는 단계;
적어도 하나의 분류 모델에 기반하여 상기 특징 세트로부터 각각의 저자에 대한 특징 벡터를 산출하는 단계; 및
클래스 분류기에 기반하여 산출된 상기 각각의 저자에 대한 특징 벡터에 대응되는 클래스를 판단하는 단계;를 포함하고,
여기서, 상기 n-간단 거리는 적어도 하나의 노드 및 상기 적어도 하나의 링크에 기반하여 결정되는, 그래프 모델에 기반하는 문서 분석 방법.
- 삭제
- 제1항에 있어서,
수신한 상기 대상 문서의 저자를 확인하는 단계;
상기 적어도 하나의 분류 모델에 기반하여 상기 대상 문서로부터 상기 대상 문서의 특징 벡터를 산출하는 단계;
상기 클래스 분류기에 상기 대상 문서의 특징 벡터를 적용하여 상기 대상 문서의 특징 벡터에 대응되는 클래스를 결정하는 단계;
상기 대상 문서의 특징 벡터에 대응되는 클래스 및 산출된 상기 각각의 저자에 대한 특징 벡터에 대응되는 클래스와 비교하는 단계; 및
상기 비교 결과에 따라서 상기 저자의 진위를 판단하는 단계를 더 포함하는, 그래프 모델에 기반하는 문서 분석 방법.
- 제1항에 있어서,
상기 클래스 분류기는, 상기 각각의 저자에 대한 특징 벡터 및 상기 대상 문서의 특징 벡터의 민감도, 특이성 정확도 중 적어도 하나를 비교하는, 그래프 모델에 기반하는 문서 분석 방법.
- 제1항에 있어서,
상기 특징 벡터는, 대상 문서에서 특정 요소가 발생되는 확률의 값으로 결정하는 확률 모델(probability model, PM) 및 대상 문서에서 특정 문장에 등장하는 특징 요소의 발생 확률의 값으로 결정하는 인클루시브 복합 확률 모델(inclusive compound probability model, ICPM) 중 적어도 하나에 기반하여 결정하는, 그래프 모델에 기반하는 문서 분석 방법.
- 적어도 하나의 문서를 포함하는 데이터베이스;
적어도 하나의 분류 모델을 포함하는 문서 분류 인터페이스;
상기 데이터베이스에 포함된 적어도 하나의 문서를 저자에 기반하여 분류하고, 각각의 저자에 기반하여 분류된 문서에 포함되는 텍스트를 벡터 값으로 변환하고, 변환된 상기 벡터 값에 기반하여 단어에 대응되는 적어도 하나의 노드와 적어도 두 단어 사이의 거리에 대응되는 적어도 하나의 링크로 구성되는 그래프 모델을 생성하고, 상기 적어도 하나의 노드와 상기 적어도 하나의 링크에 형성되는 가중치에 기반하여 상기 각각의 저자의 스타일에 대응되고, 상기 데이터베이스 및 수신하는 대상 문서 중 적어도 일부에 포함되는 텍스트들의 발생 빈도 및 n-간단 거리에 기반하여 특징 세트를 결정하고, 적어도 하나의 분류 모델에 기반하여 상기 특징 세트로부터 각각의 저자에 대한 특징 벡터를 산출하고, 클래스 분류기에 기반하여 산출된 상기 각각의 저자에 대한 특징 벡터에 대응되는 클래스를 판단하도록 처리하는 프로세서를 포함하되,
여기서, 상기 n-간단 거리는 적어도 하나의 노드 및 상기 적어도 하나의 링크에 기반하여 결정되는, 그래프 모델에 기반하는 문서 분석 시스템.
- 삭제
- 제8항에 있어서,
상기 대상 문서를 수신하는 통신부;를 더 포함하고,
상기 프로세서는, 수신한 상기 대상 문서의 저자를 확인하고, 상기 적어도 하나의 분류 모델에 기반하여 상기 대상 문서로부터 상기 대상 문서의 특징 벡터를 산출하고, 상기 클래스 분류기에 상기 대상 문서의 특징 벡터를 적용하여 상기 대상 문서의 특징 벡터에 대응되는 클래스를 결정하고, 상기 대상 문서의 특징 벡터에 대응되는 클래스 및 산출된 상기 각각의 저자에 대한 특징 벡터에 대응되는 클래스와 비교하고, 상기 비교 결과에 따라서 상기 저자의 진위를 판단하는, 그래프 모델에 기반하는 문서 분석 시스템.
- 제8항에 있어서,
상기 프로세서는, 상기 클래스 분류기를 통하여 상기 각각의 저자에 대한 특징 벡터 및 상기 대상 문서의 특징 벡터의 민감도, 특이성 정확도 중 적어도 하나를 비교하는, 그래프 모델에 기반하는 문서 분석 시스템.
- 제8항에 있어서,
상기 프로세서는, 대상 문서에서 특정 요소가 발생되는 확률의 값으로 결정하는 확률 모델(probability model, PM) 및 대상 문서에서 특정 문장에 등장하는 특징 요소의 발생 확률의 값으로 결정하는 인클루시브 복합 확률 모델(inclusive compound probability model, ICPM) 중 적어도 하나를 상기 분류 모델로 포함하는, 그래프 모델에 기반하는 문서 분석 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150152511A KR101697875B1 (ko) | 2015-10-30 | 2015-10-30 | 그래프 모델에 기반하는 문서 분석 방법 및 그 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150152511A KR101697875B1 (ko) | 2015-10-30 | 2015-10-30 | 그래프 모델에 기반하는 문서 분석 방법 및 그 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101697875B1 true KR101697875B1 (ko) | 2017-01-18 |
Family
ID=57991847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150152511A KR101697875B1 (ko) | 2015-10-30 | 2015-10-30 | 그래프 모델에 기반하는 문서 분석 방법 및 그 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101697875B1 (ko) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101965276B1 (ko) | 2018-08-10 | 2019-04-03 | 주식회사 비트나인 | 그래프 기반의 데이터 분석 시스템 및 방법과, 이를 위한 컴퓨터 프로그램 |
KR101965277B1 (ko) | 2018-08-10 | 2019-04-03 | 주식회사 비트나인 | 하이퍼그래프 데이터 분석 시스템 및 방법과, 이를 위한 컴퓨터 프로그램 |
CN109844742A (zh) * | 2017-05-10 | 2019-06-04 | 艾梅崔克斯持株公司株式会社 | 利用了图表理论的分析方法、分析程序以及分析系统 |
KR20190086199A (ko) * | 2018-01-12 | 2019-07-22 | 삼성전자주식회사 | 신규 텍스트에 대한 정보를 제공하는 전자 장치, 신규 텍스트를 확인하는 서버 및 그 동작 방법 |
KR102001958B1 (ko) | 2018-11-26 | 2019-07-23 | 주식회사 비트나인 | 그래프 데이터의 엔트로피 계산을 통한 침해 활동 추이 분석 시스템 및 방법과, 이를 위한 컴퓨터 프로그램 |
WO2019190630A1 (en) * | 2018-03-28 | 2019-10-03 | Intuit Inc. | Learning form-based information classification |
KR20190135129A (ko) * | 2018-05-28 | 2019-12-06 | 인천대학교 산학협력단 | 문서 구조와 딥러닝을 이용한 문서 분류 장치 및 방법 |
KR102085161B1 (ko) | 2019-07-22 | 2020-03-06 | 주식회사 비트나인 | 그래프 데이터 시각화 시스템 및 방법과, 이를 위한 컴퓨터 프로그램 |
KR102136222B1 (ko) | 2019-09-27 | 2020-07-21 | 주식회사 비트나인 | 그래프 데이터 클러스터링 시스템 및 방법과, 이를 위한 컴퓨터 프로그램 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090122606A (ko) * | 2008-05-26 | 2009-12-01 | 김상귀 | 인터넷상에서의 저작권 보호 및 침해방지 방법 |
KR20100101141A (ko) * | 2007-12-12 | 2010-09-16 | 쓰리엠 이노베이티브 프로퍼티즈 컴파니 | 동적 문서 식별 프레임워크를 사용한 문서 검증 |
KR20110134314A (ko) | 2010-06-08 | 2011-12-14 | 인터내셔널 비지네스 머신즈 코포레이션 | 컴퓨터 분석을 위해 텍스트 문서를 표현하는 그래픽 모델 |
WO2012046436A1 (ja) * | 2010-10-05 | 2012-04-12 | 旭化成株式会社 | 文書分析装置、文書分析方法および文書分析プログラム |
KR20150066994A (ko) * | 2013-12-09 | 2015-06-17 | 고려대학교 산학협력단 | 조상 후손 카테고리를 활용한 오픈 디렉터리 프로젝트 기반 텍스트 분류 방법 및 장치 |
-
2015
- 2015-10-30 KR KR1020150152511A patent/KR101697875B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100101141A (ko) * | 2007-12-12 | 2010-09-16 | 쓰리엠 이노베이티브 프로퍼티즈 컴파니 | 동적 문서 식별 프레임워크를 사용한 문서 검증 |
KR20090122606A (ko) * | 2008-05-26 | 2009-12-01 | 김상귀 | 인터넷상에서의 저작권 보호 및 침해방지 방법 |
KR20110134314A (ko) | 2010-06-08 | 2011-12-14 | 인터내셔널 비지네스 머신즈 코포레이션 | 컴퓨터 분석을 위해 텍스트 문서를 표현하는 그래픽 모델 |
WO2012046436A1 (ja) * | 2010-10-05 | 2012-04-12 | 旭化成株式会社 | 文書分析装置、文書分析方法および文書分析プログラム |
KR20150066994A (ko) * | 2013-12-09 | 2015-06-17 | 고려대학교 산학협력단 | 조상 후손 카테고리를 활용한 오픈 디렉터리 프로젝트 기반 텍스트 분류 방법 및 장치 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109844742A (zh) * | 2017-05-10 | 2019-06-04 | 艾梅崔克斯持株公司株式会社 | 利用了图表理论的分析方法、分析程序以及分析系统 |
KR20190086199A (ko) * | 2018-01-12 | 2019-07-22 | 삼성전자주식회사 | 신규 텍스트에 대한 정보를 제공하는 전자 장치, 신규 텍스트를 확인하는 서버 및 그 동작 방법 |
KR102449831B1 (ko) | 2018-01-12 | 2022-10-04 | 삼성전자주식회사 | 신규 텍스트에 대한 정보를 제공하는 전자 장치, 신규 텍스트를 확인하는 서버 및 그 동작 방법 |
WO2019190630A1 (en) * | 2018-03-28 | 2019-10-03 | Intuit Inc. | Learning form-based information classification |
KR20190135129A (ko) * | 2018-05-28 | 2019-12-06 | 인천대학교 산학협력단 | 문서 구조와 딥러닝을 이용한 문서 분류 장치 및 방법 |
KR102069621B1 (ko) * | 2018-05-28 | 2020-01-23 | 인천대학교 산학협력단 | 문서 구조와 딥러닝을 이용한 문서 분류 장치 및 방법 |
KR101965276B1 (ko) | 2018-08-10 | 2019-04-03 | 주식회사 비트나인 | 그래프 기반의 데이터 분석 시스템 및 방법과, 이를 위한 컴퓨터 프로그램 |
KR101965277B1 (ko) | 2018-08-10 | 2019-04-03 | 주식회사 비트나인 | 하이퍼그래프 데이터 분석 시스템 및 방법과, 이를 위한 컴퓨터 프로그램 |
KR102001958B1 (ko) | 2018-11-26 | 2019-07-23 | 주식회사 비트나인 | 그래프 데이터의 엔트로피 계산을 통한 침해 활동 추이 분석 시스템 및 방법과, 이를 위한 컴퓨터 프로그램 |
KR102085161B1 (ko) | 2019-07-22 | 2020-03-06 | 주식회사 비트나인 | 그래프 데이터 시각화 시스템 및 방법과, 이를 위한 컴퓨터 프로그램 |
KR102136222B1 (ko) | 2019-09-27 | 2020-07-21 | 주식회사 비트나인 | 그래프 데이터 클러스터링 시스템 및 방법과, 이를 위한 컴퓨터 프로그램 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101697875B1 (ko) | 그래프 모델에 기반하는 문서 분석 방법 및 그 시스템 | |
Borg et al. | Using VADER sentiment and SVM for predicting customer response sentiment | |
Ofoghi et al. | Towards early discovery of salient health threats: A social media emotion classification technique | |
Stamatatos | Authorship Verification: A Review of Recent Advances. | |
KR20080075501A (ko) | 정보 분류를 위한 방법, 컴퓨터 판독가능 매체, 및 시스템 | |
EP3057003A1 (en) | Device for collecting contradictory expression and computer program for same | |
Siddique et al. | Machine Learning‐Based Detection of Spam Emails | |
Balli et al. | Sentimental analysis of Twitter users from Turkish content with natural language processing | |
Abid et al. | Spam SMS filtering based on text features and supervised machine learning techniques | |
KR20200048693A (ko) | 감성 분석 시스템 및 그 방법 | |
JP2017527913A (ja) | 経験属性による体系化されていないデータのソースの分析、選定、及び取り込みのためのシステム及びプロセス | |
Sintaha et al. | An empirical study and analysis of the machine learning algorithms used in detecting cyberbullying in social media | |
Redmond et al. | A novel approach based on an extended cuckoo search algorithm for the classification of tweets which contain emoticon and emoji | |
Samonte et al. | Sentence-level sarcasm detection in English and Filipino tweets | |
Theophilo et al. | Explainable artificial intelligence for authorship attribution on social media | |
Sindhuja et al. | Twitter Sentiment Analysis using Enhanced TF-DIF Naive Bayes Classifier Approach | |
Petrou et al. | A Multiple change-point detection framework on linguistic characteristics of real versus fake news articles | |
Trivedi et al. | Capturing user sentiments for online Indian movie reviews: A comparative analysis of different machine-learning models | |
Brown et al. | Simple and efficient identification of personally identifiable information on a public website | |
Thanos et al. | Combined deep learning and traditional NLP approaches for fire burst detection based on twitter posts | |
Kameswari et al. | Predicting Election Results using NLTK | |
Tretiakov et al. | Detection of false information in spanish using machine learning techniques | |
Mazhar et al. | Decoding the black box: LIME-assisted understanding of Convolutional Neural Network (CNN) in classification of social media tweets | |
Khorashadizade et al. | Persian SMS Spam Detection using Machine Learning and Deep Learning Techniques | |
Susandri et al. | Sentiment labeling and text classification machine learning for WhatsApp group |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20191223 Year of fee payment: 4 |