KR20130036863A - 의미적 자질을 이용한 문서 분류 시스템 및 그 방법 - Google Patents

의미적 자질을 이용한 문서 분류 시스템 및 그 방법 Download PDF

Info

Publication number
KR20130036863A
KR20130036863A KR1020110101055A KR20110101055A KR20130036863A KR 20130036863 A KR20130036863 A KR 20130036863A KR 1020110101055 A KR1020110101055 A KR 1020110101055A KR 20110101055 A KR20110101055 A KR 20110101055A KR 20130036863 A KR20130036863 A KR 20130036863A
Authority
KR
South Korea
Prior art keywords
document
cluster
database
distance
value
Prior art date
Application number
KR1020110101055A
Other languages
English (en)
Other versions
KR101339103B1 (ko
Inventor
서승현
고민정
Original Assignee
(주)워드워즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)워드워즈 filed Critical (주)워드워즈
Priority to KR1020110101055A priority Critical patent/KR101339103B1/ko
Publication of KR20130036863A publication Critical patent/KR20130036863A/ko
Application granted granted Critical
Publication of KR101339103B1 publication Critical patent/KR101339103B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 한 가지 양태에 따라서, 사용자가 입력한 복수의 문서의 특성을 분류하기 위한 문서 분류 시스템이 제공되는데, 이 시스템은 사용자가 입력한 문서의 형태소를 분석하는 형태소 분석기로서, 상기 형태소 분석기는 상기 분석된 형태소에 그 형태소의 속성을 나타내는 n차원의 벡터 정보를 부가하여 문서 분류기로 전달하는 형태소 분석을 수행하는 것인 상기 형태소 분석기와; 상기 형태소 분석기로부터 상기 분석된 형태소 및 그에 부가된 벡터 정보를 함께 수신하고, 그 수신된 결과 중 문서 분석에 사용되지 않는 형태소 및 벡터 정보를 제거하여, 상기 n차원 벡터 정보 중 문서 분류에 사용할 의미적 자질의 벡터 정보를 각 형태소별로 추출하고, 그 추출된 벡터 정보 각각에 대응하는 형태소 및 해당 자질의 벡터정보가 상기 문서에서 출현하는 빈도값(TF 값)을 각각 계산하여 문서를 분류하는 수단과; 상기 수단에 의해 계산된 상기 빈도값을 저장하는 제1 데이터베이스로서, 이 제1 데이터베이스에는 상기 추출된 의미적 자질의 벡터 정보별로 상기 빈도값이 저장되는 것인, 상기 제1 데이터베이스와; 상기 수단에 의해 추출된 의미적 자질의 벡터 정보를 포함하는 전체 문서 수(DF 값)를 저장하는 제2 데이터베이스로서, 이 제2 데이터베이스에는 상기 추출된 의미적 자질의 벡터 정보별로 상기 전체 문서값(DF 값)이 저장되는 것인, 상기 제2 데이터베이스를 포함하는 것을 특징으로 한다.

Description

의미적 자질을 이용한 문서 분류 시스템 및 그 방법{DOCUMENT CLASSIFYING SYSTEM AND METHOD USING SEMANTIC FEATURE}
본 발명은 문서의 특성을 분류하는 문서 분류 시스템 및 그 방법에 관한 것으로서, 특히 문서 및 문장을 이루는 단어 및 형태소의 의미적 자질(semantic feature)을 이용하여 문서의 의미적 특성을 찾아내고 이를 이용하여 문서를 정확히 분류할 수 있는 문서 분류 시스템 및 그 방법에 관한 것이다.
문서의 특성을 찾아내기 위해서 문서 및 문장을 이루는 단어를 이용하여 문서의 특성을 찾아내고 이를 문서분류 등에 활용할 수 있다. 이를 위해, 문서에 나타나는 단어(term)의 빈도수(freqeuncy)를 중심으로 문서의 의미적 범주를 결정하고, 이를 기준으로 문서를 분류하거나 단어간의 관계성이나 긴밀도를 찾아내는 것이 일반적이다(예컨대, 포털 사이트 다음의 경우, 뉴스 항목을 사회, 정치, 경제, IT/과학 등으로 대분류하고, 각 항목에 대해 하위분류 체계를 마련하고, 각 체계에 맞춰 문서를 일일이 분류한다).
그러나, 단순히 단어의 빈도수만을 이용하여, 그 문서의 특성을 정확히 분류하는 것은 문서 분류를 시작하는 전제에서부터 문서 분류의 정확성을 보장할 수 없다는 문제점이 있다. 즉, A라는 주제를 이야기하는 데에 있어서, 어떤 사람은 1000여 개의 단어를, 어떤 사람은 500여 개의 단어를, 어떤 사람은 1500여 개의 단어를 사용하고, 또한 사용하는 단어들을 유의미하나 다른 단어를 사용하여 이야기하지만, 결과적으로는 모두 A라는 것을 이야기하는 데에 성공한다. 따라서, 단순히 단어의 빈도수만을 갖고 문서를 분류하는 경우 정확히 문서를 분류할 수 없게 되는 문제점이 발생할 수 있다. 또한, "아이폰"이라는 단어가 반복적으로 문서에 출현한다 해서, 그 문서를 예컨대 "IT/과학" 카테고리의 문서로 분류하여 사용자에게 제공할 수가 있다. 그러나, 그 문서의 의미적 자질을 세분하여 분석하여 보면, 그 문서는 "IT/과학"이 아니라, 제품의 리뷰 문서, 주식과 관련된 문서, 또는 특정 회사와의 특허 분쟁을 나타내는 문서로 분류될 수도 있다. 따라서, 단순히 문서 내에서 반복되는 특정 단어의 빈도수만을 이용하여 문서를 분류할 경우, 정확한 문서 분류가 이루어지지 않게 된다. 또한, 일일이 각 분류 체계에 맞춰 문서를 분류하는 것은 문서 분류 작업자의 입장에서는 상당한 시간과 노력이 요구되는 번잡한 작업이다.
한편, 문서 내의 문장을 분석할 때 형태소 분석을 이용한다. 형태소 분석이라 함은, 주어진 입력 문자열을 대상으로 형태소 단위로 분리해내고, 각각의 형태소의 원형을 복원하고 품사를 결정해주는 과정을 의미한다. 형태소 분석을 위해서 사용하는 해석 사전은 일반적으로 형태소 목록을 가지고 있는 어휘 사전 그리고 품사 간의 연결 가능 여부를 표현하는 문법 사전을 포함한다. 이러한 해석 사전을 기반으로 입력 문자열에서 발생 가능한 모든 형태소 열에 대해서 문법 사전에 기술된 연결 정보에 부합하는 형태소 열을 찾아낸다. 이러한 형태소 분석은 기계 번역, 정보 검색, 정보 추출 등의 자연언어처리 기술의 기반 기술로써 최소한의 의미를 가지는 형태소를 쉽게 파악할 수 있게 해준다.
한편, 태스크 온톨로지(task ontology)란 특정 작업에 필요한 의미적 정보의 분류와 정보간의 관계를 계층적으로 정의한 지식 구조체이다. 이러한 태스크 온톨로지를 활용하기 위해서는 주어진 문서나 사용자의 입력에서 온톨로지에 해당하는 정보의 파악 과정이 필요하다. 정보 주석 장치(information annotator)는 정보 분석의 기본 과정인 형태소 해석 및 태스크 온톨로지에 정의된 의미 정보를 파악하고 부착하는 장치이다.
문서를 분석하고 의미 정보를 부착하기 위해서, 기존의 장치들은 형태소 해석을 수행하여 기본 단위로 분석한 뒤, 별도로 구축한 태스크 온톨로지 매핑 모델을 이용하거나 연속된 형태소에 대해서 의미 정보를 부착하는 방식을 이용하고 있다. 그러나, 이러한 방식은 태스크 온톨로지에 정의된 정보의 단위와 형태소 해석에서 정의한 단위의 불일치 문제, 태스크 온톨로지에 기술되어 있는 정보간의 관계 정보를 형태소 해석시 활용하지 못하는 문제점이 있다.
또한, 형태소 해석 시스템의 변경이나 태스크 온톨로지의 변경이 있을 때 매핑 모델을 새로이 재정의해 주어야 하는 문제점이 발생한다. 예컨대, '007 카지노 로얄'과 같은 복수 어절로 표현되는 영화명의 경우, 기존의 방식에 따르면 3개의 연속된 형태소를 태스크 온톨로지에서 찾은 후 의미 정보를 부착하여야만 한다. 또한, 기존의 방식에 따르면, 영화명의 주위에 나타나는 정보를 형태소 해석 과정에서 사용하지 못하는 문제점이 있다.
본 발명은 상기한 종래 기술의 문제점을 해결하기 위한 것으로서, 그 한 가지 목적은 형태소 또는 단어(이하, 형태소로 통일하여 기재한다)의 빈도수와 이들 형태소 간의 관계를 찾아내는 방식만을 이용하는 것이 아니라, 형태소가 갖고 있는 의미적 자질을 이용하여 문서의 의미적 특성을 찾아내고, 이를 이용하여 문서의 의미적 카테고리를 정확히 결정할 수 있도록 해주는 문서 분류 시스템 및 그 방법을 제공하는 것이다.
본 발명의 다른 목적은 기존의 장치들이 가지는 부정확성과 그 문서의 분류분석 절차의 복잡성이라는 문제점을 극복하기 위해서, 문서를 분석하고 의미 정보를 문서의 형태소 분석 결과에서 직접 부여받음으로써, 문서의 분석시 여러 단계를 거쳐 의미 정보를 부여받는 기존의 문서의 분석 절차를 간소화하며, 따라서 문서 분석 장치의 오류 발견과 수정 및 업그레이드를 용이하게 할 수 있도록 하는 문서 분류 시스템 및 그 방법을 제공하는 것이다.
상기 목적을 달성하기 위하여, 본 발명의 한 가지 양태에 따라서, 사용자가 입력한 복수의 문서의 특성을 분류하기 위한 문서 분류 시스템이 제공되는데, 상기 시스템은 사용자가 입력한 문서의 형태소를 분석하는 형태소 분석기로서, 상기 형태소 분석기는 상기 분석된 형태소에 그 형태소의 속성을 나타내는 n차원의 벡터 정보를 부가하여 형태소 분석을 수행하는 것인 상기 형태소 분석기와; 상기 형태소 분석기로부터 상기 분석된 형태소 및 그에 부가된 벡터 정보를 함께 수신하고, 그 수신된 결과 중 문서 분석에 사용되지 않는 형태소 및 벡터 정보를 제거하여, 상기 n차원 벡터 정보 중 문서 분류에 사용할 의미적 자질의 벡터 정보를 각 형태소별로 추출하고, 그 추출된 의미적 자질의 벡터 정보 각각에 대응하는 형태소 및 해당 의미적 자질의 벡터정보가 상기 문서에서 출현하는 빈도값(TF 값)을 각각 계산하여 문서를 분류하는 수단과, 상기 수단에 의해 계산된 상기 빈도값을 저장하는 제1 데이터베이스로서, 이 제1 데이터베이스에는 상기 추출된 의미적 자질의 벡터 정보별로 상기 빈도값이 저장되는 것인, 상기 제1 데이터베이스와, 상기 수단에 의해 추출된 의미적 자질의 벡터 정보를 포함하는 전체 문서 수(DF 값)를 저장하는 제2 데이터베이스로서, 이 제2 데이터베이스에는 상기 추출된 의미적 자질의 벡터 정보별로 상기 전체 문서값(DF 값)이 저장되는 것인, 상기 제2 데이터베이스를 포함하는 것을 특징으로 한다.
한 가지 실시예에 있어서, 상기 형태소 분석기와 상기 수단은 상기 형태소 분석 단계 및 의미적 자질의 벡터 정보 추출 과정을 상기 입력된 모든 문서에 대해 반복하고, 상기 수단은 각 문서별로 추출된 의미적 자질의 벡터 정보에 대한 상기 TF 값과 상기 의미적 자질의 벡터 정보를 포함하는 전체 문서 수의 역수인 IDF 값의 곱을 구해 제3 데이터베이스에 저장하도록 구성될 수 있다.
한 가지 실시예에 있어서, 상기 수단은, (1) 상기 복수의 문서를 임의의 M개의 클러스터로 분류하고, 각 클러스터에 포함된 문서들의 의미적 자질 각각에 대하여 상기 TF 값과 IDF 값의 곱을 상기 제3 데이터베이스에서 추출한 후, 그 각각의 의미적 자질의 평균값을 구하여 클러스터별로 제4 데이터베이스에 저장하며, (2) 상기 클러스터별 의미적 자질간 평균값 사이의 거리의 제1 총합을 계산하여, 제5 데이터베이스에 저장하고, (3) 한 문서 내의 각 의미적 자질별 TF*IDF 값과 상기 제4 데이터베이스에 저장된 각 클러스터의 해당하는 각 의미적 자질의 평균값과의 거리를 계산하고, 이 계산 결과에 기초하여, 해당 문서와 가장 거리가 가까운 클러스터에 해당 문서를 포함시키고, 해당 문서가 속해 있던 클러스터에서는 해당 문서 정보를 제거하는 문서 재배열 과정을 모든 문서에 대해 반복 수행하도록 구성될 수 있다.
한 가지 실시예에 있어서, 상기 수단은, 상기 문서 재배열 과정 후에, (4) 각 클러스터별 각 의미적 자질들의 평균값을 상기 (1)의 과정에 따라 다시 산출하여 제4 데이터베이스에 저장하여 제4 데이터베이스를 업데이트하고, (5) 상기 클러스터별 의미적 자질간 평균값 사이의 거리를 다시 계산하고, 이 거리의 제2 총합을 계산한 다음, 그 제2 총합의 거리를 상기 제5 데이터베이스에 저장된 거리의 제1 총합과 비교하며, (6) 상기 제2 총합의 거리가 상기 제1 총합의 거리보다 큰 경우, 그 큰 값을 상기 제5 데이터베이스에 저장하도록 구성될 수 있다.
한 가지 실시예에 있어서, 상기 문서 수단은 상기 제2 총합의 거리가 상기 제1 총합의 거리보다 큰 경우, 금번의 거리의 총합인 제2 총합의 거리가 직전의 제5 데이터베이스에 저장된 거리의 총합인 제1 총합의 거리보다 작은 값이 도출될 때까지 (3) 내지 (5)의 과정을 반복하도록 구성될 수 있다.
한 가지 실시예에 있어서, 상기 문서 수단은 상기 거리 계산시 Euclidean distance 또는 City-block distance와 같은 거리 계산법을 이용할 수 있다.
한 가지 실시예에 있어서, 상기 수단은 각 클러스터에 속한 문서 내 의미적 자질의 TF*IDF 값 중 가장 큰 값의 의미적 자질을 해당 클러스터의 대표 카테고리로 선정하도록 구성될 수 있다.
한 가지 실시예에 있어서, 상기 수단은 각 클러스터에 대한 대표 카테고리 선정 후, 대표 카테고리가 동일한 클러스터들을 통합하도록 구성될 수 있다.
한 가지 실시예에 있어서, 상기 시스템은 신규의 한 문서에 대하여 상기 수단과 동일한 과정에 따라 해당 신규 문서를 특정의 클러스터에 포함시키도록 구성된 신규 문서 처리기를 더 포함할 수 있다.
본 발명의 다른 양태에 따라서, 문서 분류 방법이 제공되는데, 이 방법은 (1) 분류하고자 하는 복수의 문서를 입력받는 단계와, (2) 상기 입력된 문서의 형태소를 분석하는 단계로서, 형태소를 분석함과 아울러 그 분석된 형태소에 그 형태소의 속성을 나타내는 n차원의 벡터 정보를 부가하는 것인 형태소 분석 단계와; (3) 상기 분석된 형태소 및 그에 부가된 벡터 정보에 기초하여, 그 분석 결과 중문서 분석에 사용되지 않는 형태소 및 벡터 정보를 제거하여, 상기 n차원 벡터 정보 중 문서 분류에 사용할 의미적 자질의 벡터 정보를 각 형태소별로 추출하고, 그 추출된 의미적 자질의 벡터 정보 각각에 대응하는 형태소 및 해당 의미적 자질의 벡터정보가 상기 문서에서 출현하는 빈도값(TF 값)을 각각 계산 및 저장하는 단계로서, 상기 빈도값은 상기 추출된 의미적 자질의 벡터 정보별로 제1 데이터베이스에 저장되고, 상기 추출된 의미적 자질의 벡터 정보를 포함하는 전체 문서 수(DF 값)가 상기 추출된 의미적 자질의 벡터 정보별로 제2 데이터베이스에 저장되는 것인, 상기 단계를 포함하는 것을 특징으로 한다.
한 가지 실시예에 있어서, 상기 형태소 분석 단계 및 의미적 자질의 벡터 정보 추출 과정을 상기 입력된 모든 문서에 대해 반복하고, 상기 (3)의 단계에서, 각 문서별로 추출된 의미적 자질의 벡터 정보에 대한 상기 TF 값과 상기 의미적 자질의 벡터 정보를 포함하는 전체 문서 수의 역수인 IDF 값의 곱을 구해 제3 데이터베이스에 저장할 수 있다.
한 가지 실시예에 있어서, 상기 (3)의 단계에서, (A) 상기 복수의 문서를 임의의 M개의 클러스터로 분류하고, 각 클러스터에 포함된 문서들의 의미적 자질 각각에 대하여 상기 TF 값과 IDF 값의 곱을 상기 제3 데이터베이스에서 추출한 후, 그 각각의 의미적 자질의 평균값을 구하여 클러스터별로 제4 데이터베이스에 저장하며, (B) 상기 클러스터별 의미적 자질간 평균값 사이의 거리의 제1 총합을 계산하여, 제5 데이터베이스에 저장하고, (C) 한 문서 내의 각 의미적 자질별 TF*IDF 값과 상기 제4 데이터베이스에 저장된 각 클러스터의 해당하는 각 의미적 자질의 평균값과의 거리를 계산하고, 이 계산 결과에 기초하여, 해당 문서와 가장 거리가 가까운 클러스터에 해당 문서를 포함시키고, 해당 문서가 속해 있던 클러스터에서는 해당 문서 정보를 제거하는 문서 재배열 과정을 모든 문서에 대해 반복 수행할 수 있다.
한 가지 실시예에 있어서, 상기 (3)의 단계에서, 상기 문서 재배열 과정 후에, (D) 각 클러스터별 각 의미적 자질들의 평균값을 상기 (A)의 과정에 따라 다시 산출하여 제4 데이터베이스에 저장하여 제4 데이터베이스를 업데이트하고, (E) 상기 클러스터별 의미적 자질간 평균값 사이의 거리를 다시 계산하고, 이 거리의 제2 총합을 계산한 다음, 그 제2 총합의 거리를 상기 제5 데이터베이스에 저장된 거리의 제1 총합과 비교하며, (F) 상기 제2 총합의 거리가 상기 제1 총합의 거리보다 큰 경우, 그 큰 값을 상기 제5 데이터베이스에 저장할 수 있다.
한 가지 실시예에 있어서, 상기 (3)의 단계에서, 상기 제2 총합의 거리가 상기 제1 총합의 거리보다 큰 경우, 금번의 거리의 총합인 제2 총합의 거리가 직전의 제5 데이터베이스에 저장된 거리의 총합인 제1 총합의 거리보다 작은 값이 도출될 때까지 (C) 내지 (E)의 과정을 반복할 수 있다.
한 가지 실시예에 있어서, 각 클러스터에 속한 문서 내 의미적 자질의 TF*IDF 값 중 가장 큰 값의 의미적 자질을 해당 클러스터의 대표 카테고리로 선정하는 단계를 더 포함할 수 있다.
한 가지 실시예에 있어서, 각 클러스터에 대한 대표 카테고리 선정 후, 대표 카테고리가 동일한 클러스터들을 통합하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 한 문서에 특정 단어가 나타나는 빈도수만을 이용하여, 문서를 분류하는 종래 기술과 달리, 한 문서의 형태소들을 분석하고, 이들 형태소에 복수의 벡터 정보를 부가한 후, 그 벡터 정보 중 의미적 자질의 벡터 정보와 해당 형태소가 문서 내에서 나타나는 빈도수를 이용하여 문서를 분류함으로써 보다 정확하게 문서들을 분류할 수 있다.
도 1은 본 발명은 본 발명의 한 가지 실시예에 따른 문서 분류 시스템의 구조를 개략적으로 보여주는 도면이다.
도 2는 본 발명의 시스템에 이용되는 형태소 분석용 다차원 해석 사전 구축 장치의 구성을 모식적으로 보여주는 도면이다.
도 3은 본 발명의 한 가지 실시예에 따른 형태소 분석용 다차원 해석 사전 구축 과정을 보여주는 흐름도이다.
도 4는 본 발명의 한 가지 실시예에 따른 문서 분류기의 구성을 보여주는 블록도이다.
이하에서는 첨부 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다. 이하의 설명은 본 발명의 이해를 돕기 위하여 주어지는 한 가지 예에 불과하여, 본 발명이 그에 제한되지 않는다는 점에 유의하여야 한다.
도 1에는 본 발명의 한 가지 실시예에 따른 문서 분류 시스템의 구조가 개략적으로 도시되어 있는데, 상기 문서 분류 시스템은 크게 형태소 분석기(100)와 문서 분류기(200)를 포함한다.
A. 형태소 분석기(morphological analyzer)(100)
본 발명은 기본적으로 문서를 구성하는 단어들의 형태소를 분석하고, 이를 기반으로 하여 문서를 어떠한 분류체계로 분류할지를 판단할 수 있는 문서 분류 시스템을 제공하는 것이다. 따라서, 이하에서는 본 발명의 한 가지 특징적 구성인 형태소 분석을 위한 해석 사전 구축 장치 및 그 방법에 대하여 먼저 설명하기로 한다.
1. 형태소 해석용 다차원 해석 사전 구축 장치(형태소 분석기)(100)
도 2는 본 발명의 일 실시예에 따른 한국어 형태소 해석용 다차원 해석 사전 구축 장치, 즉 형태소 분석기를 모식적으로 보여주는 도면이다. 본 발명에서 사용하는 형태소 분석용 다차원 해석 사전은 형태소와 그 형태소가 가질 수 있는 품사를 가진 어휘 사전, 시스템에서 사용하는 품사의 정보를 가지는 품사 사전, 그리고 품사 간의 연결 가능 여부를 표현하는 문법 사전, 그리고 특정 영역의 사용자 표현이나 예외적인 형태를 수용하는 사용자 사전을 포함한다.
본 발명의 한 가지 실시예에 따라 구성되는 다차원 해석 사전은 이전의 형태소 해석이 가지는 기능들에 임의의 온톨로지에 적응하기 위해 5차원의 벡터로 품사 정보를 표현하도록 되어 있다. 이전의 형태소 분석기에서는 단순히 두 품사들간의 연결 관계를 나열하는 형식의 연결 정보 방식을 이용하고 있지만, 본 발명의 일실시예에 따른 형태소 분석에서는 5차원의 값을 가지는 형태소들이 온톨로지 상에서 결합하는 관계와 형태소 해석에서 형태소들이 연결되는 관계를 표현하기 위해서 특수 문법 연산자를 이용하여 결합 문법을 최적화한다. 이처럼 본 발명에 따른 해석 사전은 기존의 해석 사전과는 달리 5차원의 벡터 정보를 부가하여 품사 정보 등을 기술하고 있으며, 따라서 다차원 해석 사전이라 명명하기로 한다.
1. 다차원 해석 사전(30)의 구성
(1) 품사 사전(32)
본 발명에 따른 다차원 해석 사전의 품사 사전(32)은 기본 형태소나 태스크 온톨로지에 정의된 표현에 대해서 어류 태그(word class tag) 정보, 형태적(morphological) 정보, 통사적(syntactical) 정보, 의미적(semantic) 정보 및 화용(pragmatic) 정보의 5가지 정보, 즉 5차원의 벡터로 정의되어 구성된다.  특히, 이중 본 발명에 있어서, '어류 태그'라고 하는 용어는 일반 언어학에서 정의내린 품사(part of speech)와는 다른 의미를 갖고 있다. 즉, 본 발명에서 '어류 태그'라는 것은 언어학적인 시각에서는 분류되지 못하는 단어 부류들이지만, 이하에서 더욱 상세히 설명하는 바와 같이, 전산상에서 형태소 분석 및 온톨로지와의 접근을 용이하기 위해 필요한 단어 부류 및 그 속성들을 정의해 놓은 것이다. 이에 본 발명에서는 본 형태소 분석기의 단어들의 분류를 일반 언어학의 품사와 구별하기 위해서 '어류 태그'라는 용어를 사용한다. 따라서 본 형태소 분석기의 어류 태그는  필요에 의해서 새로운 단어들의 부류를 자유롭게 확장하거나 축소하기 위해서 이용될 수 있다.
또한, 형태적 정보에는 형태음운적 정보(예를 들어, 마지막 음절의 종성 유무 {fc})도 함께 처리하였다. 이전의 방식들은 품사에 구문 및 의미 정보를 결합하여 1차원적으로 확장하였으나, 본 발명에 따르면, 품사에 해당하는 어류 태그를 최소한으로 유지하고 통사적인 정보와 의미 정보를 형태와 화용 정보처럼 5차원 벡터에서 별도의 차원으로 정의한다.  이는 총체적으로 품사(어류태그), 구문, 의미, 화용 정보들을 능률적으로 확장할 수 있는 이점을 제공한다. 
이를 구체적인 예를 들어 설명하면 다음과 같다.
<명사>
뉴딜 {ncn}{fc}{}{eco}{}
히스라불로토프 {nq_per}{fc}{}{pol}{}
객 {nc_one}{fc}{}{}{noidx}
<동사 pv>
무서워하 {pv}{ir_yeo}{tran}{}{}
열리 {pv}{rg}{intra}{}{}
상기한 바와 같이, 본 발명의 한 가지 실시예에 따르면 다차원 해석 사전에 형태소 해석을 위해 5차원의 벡터를 부여한다.  즉, 위의 명사를 표현하는 예에 있어서, '뉴딜'과 '히스라불로토프', '객'이라고 하는 명사를 표현하기 위한 5가지 정보가 표현되어 있는데, 좌측부터 각각 어류 태그 정보, 형태적 정보, 통사적 정보, 의미적 정보 및 화용 정보를 나타낸다.  이처럼, 단순히 기본 형태소 목록 또는 품사 간의 연결 가능 여부를 규정하고 있는 종래의 해석 사전과는 달리, 본 발명에서는, 소정의 형태소와 관련하여, 그 형태소를 어류 태그, 형태적, 통사적, 의미적 그리고 화용의 5가지의 정보 벡터로 구분하여 다차원 해석 사전의 데이터베이스를 구축한다. 이와 같이 함으로써, 형태소 정보가 태스크 온톨로지에 나타나는 의미 정보도 포함할 수 있어, 태스크 온톨로지의 변경이 있더라도 매핑 모델을 새로 재정의하는 등의 작업을 수행할 필요가 없게 된다.
좀 더 구체적으로 설명하면, 위의 기술 내용 중, <명사> 중에 '뉴딜'과 '히스라불로토프', '객'의 어류 태그는 각각 {ncn}와 {nq_per} 및 {nc_one}이며, {ncn}은 일반명사를, {nq_per}는 사람 고유명사를 {nc_one}은 한글자 명사임을 표시한다. 여기서, {fc}는 final consonant의 약자로 명사의 종성이 다음의 형태소와 결합에 영향을 미치는 어류태그들에 대해서만 이 정보를 이용한다. 본 발명에 따르면, 형태소의 마지막 음절에 따라서 'y'(유종성), 'n'(무종성), 'l'(ㄹ 종성), 'c'(don't care) 등의 값으로 시스템이 자동으로 구체화한다. {eco}와 {pol}는 의미적 정보로서 {eco}는 '뉴딜'이 '경제'와 관련된 것이며, '히스라불로토프'는 사람 고유명사 중에 '정치'와 관련된 사람임을 정의해 놓은 것이다. 특히, 한글자 명사인 '객'의 경우, 화용적 정보에 {noidx}가 있는데, 이 정보는 실제 데이터에서 많이 쓰이느냐 혹은 색인어(index word)로 가치가 있느냐 하는 정보에 대한 것이다. '객'의 경우, 복합 명사 분해시 '객'을 따로 분석해 내게 되면 오분석이 많으며, 실제 '객'으로 형태소 분석되어 쓰이는 일이 많지 않으므로, 이러한 한글자 명사들에 {noidx} 정보를 준다. 반면에, 한글자 명사인 '핵'과 같은 경우는 화용적 정보에 {idx}를 주어서 형태소 분석시 이 정보를 활용한다.
즉, 본 발명에 따르면, 사전을 구축함에 있어서, 단순히 형태소로 이루어진 목록만을 구축하는 것이 아니라, 실시예에 따라서는 각각의 형태소를 5개의 정보 벡터로 나누어 정의하고 각각의 정보 벡터에 그 형태소와 관련된 어류 태그 정보, 의미적 정보 등을 부여함으로써, 추후 형태소 해석시 이러한 부가적인 벡터 정보를 활용하여 정확한 형태소 분석을 수행할 수 있도록 한다.
<동사>의 경우, '무서워하'와 '열리'는 어류태그가 {pv}이며 이는 일반적인 동사를 나타내며, {rg}와 {ir_yeo}는 형태적 정보로 {rg}는 규칙동사를, {ir_yeo}는 여불규칙 동사라는 정보를 기술한 것이다. 한편, {tra}와 {intra}는 용언의 통사적 정보로서, 각각 타동사 및 자동라는 통사적 정보를 기술하는 것이다. 이와 같이 각 어류 태그 및 각각의 형태, 통사, 의미, 화용 정보는 각 단어들 부류를 나눌 때의 기준과 속성에 따라 임의적으로 정의할 수 있다.
한편, 언어에는 동음이의어(동형이의어)가 존재하는데, 이러한 동음이의어는 문서의 감성을 분석하는 데에 장애가 된다.
예를 들어, 幼稚의 의미를 가진 "유치_{ncp}{*}{*}{abs}{*}"와 乳齒인 "유치_{ncn}{*}{*}{con}{*}"가 있을 수 있다. 幼稚의 의미를 가진 "유치_{ncp}{*}{*}{abs}{*}"의 경우, 문서의 긍정/부정/중립 중에 "부정"의 가치를 가진 어휘가 될 수 있으나, 乳齒인 "유치_{ncn}{*}{*}{con}{*}"는 긍정/부정/중립 어느 가치에의 판별 기준이 될 수 없다. 따라서 이 두 어휘를 구분할 수 있다면, 문서를 분류할 때 그 오류를 줄일 수 있다.
幼稚의 의미를 가진 "유치_{ncp}{*}{*}{abs}{*}"의 경우, 문서에서 사용되는 예를 찾아보면, 동사화 접미사(vfix)인 "하다"와 함께 쓰이지 홀로는 쓰이지 않는다. 반면에, 乳齒인 "유치_{ncn}{*}{*}{con}{*}"는 동사화 접미사(vfix)인 "하다"와는 결코 쓰이지 않으며, 함께 쓰일 수 있는 서술어는 "나다, 뽑다, 썩다..." 등의 조사와 함께 사용되는 사실을 찾아낼 수 있다.
이와 같은 언어적 특성을 이용하여, 서술성 보통명사를 나타내는 태그 {ncp}를 이용하여 幼稚를 "유치_{ncp}{*}{*}{abs}{*}"의 형태로, 비서술성 보통명사를 나타내는 태그 {ncn}를 이용하여 乳齒의 의미를 갖는 "유치_{ncn}{*}{*}{con}{*}"로 구분하여 저장하여, 이하에서 설명하는 바와 같이, 문서를 분류할 때, 동음이의어인 경우에도, 각각의 빈도수를 별개로 계산할 수 있도록 함으로써, 분서 분류의 정확도를 더욱 높일 수 있다. 즉 본 발명에서는 단순히 단어 또는 용어(term)의 반복 빈도수만을 이용하는 것이 아니라, 형태소 분석시 형태소에 부가되는 이러한 태그를 활용하여 그 반복되는 빈도수를 활용하여, 문서를 분류한다.
한편, 어류 태그, 의미적 정보 등에 사용되는 각각의 약칭(예컨대, ncn, eco, pol, rg 등)은 사용자가 자신의 편의에 맞게 임의로 정하여 사용할 수 있는 것으로서, 본 발명은 이러한 개개의 약칭의 종류/형태에 제한되지 않는다는 점에 유의하여야 한다. 아울러, 각 태그의 순서가 상기한 것에 한정되는 것은 아니며, 사용자가 마찬가지로 자신의 편의에 맞게 임의로 정하여 사용할 수 있다는 것에 유의하여야 한다.
(2) 어휘 사전(Lexion)(34)
어휘 사전은 형태소와 그 형태소가 가질 수 있는 품사열의 리스트로 구성된다. 형태소는 일반적으로 의미를 가지는 최소한의 단위이다. 그러나 사용 영역에 따라서 의미를 가지는 최소한의 단위의 변화가 필요하다. 예컨대, 영화 정보를 검색할 수 있는 서비스에서는 영화명이 비록 여러 단어로 구성되어 있더라도 하나의 의미를 가지는 최소한의 단위로 파악되어야 정확한 검색 결과를 얻을 수 있다. 그러나, 종래의 형태소 분석에 따르면, 하나의 의미로 파악하는 것이 아니라 최소한의 단위에 대하여 형태소 분석을 수행하기 때문에, 사용자가 원하는 정확한 결과를 도출해낼 수가 없는 문제가 있다.
예를 들어 영화 제목이 포함된 문장 '나는 바람과 함께 사라지다가 좋아.'를 대상으로 기존 방식의 형태소 단위를 적용할 경우 '사라지다가'가 '사라+지다가'로 분석되어, 가능한 어떠한 형태소들의 결합도 '바람과 함께 사라지다'를 해석할 수 없다. 이에 따라, '바람과 함께 사라지다'를 영화명으로 가지고 있어도 검색할 수 없다. 그러나, 본 발명에 따른 다차원 해석 사전, 보다 구체적으로는 어휘 사전(34)은 상기한 바와 같은 기본적인 형태소를 벡터 정보를 이용하여 구축하는 것 외에, 이를 이용하여, 여러 형태소로 이루어지는 단어들을 하나의 의미를 갖는 것으로 규정해 놓고 소정의 시스템이나 서비스에서 정의하는 의미 단위를 반영하는 형태로 데이터베이스화한다. 이때, 본 발명에서 사용하는 어휘 사전의 하나의 형태소가 시스템이나 서비스에서 정의하는 의미 단위를 반영할 수 있도록 포함하는 단어의 개수에 제약이 없다. 예를 들어, 본 발명에 따른 다차원 해석 사전(30)의 어휘 사전(34)에는 '바람과 함께 사라지다'가 하나의 형태소로서 등록된다. 다시 말하면, 형태소 해석에서의 단위가 태스크 온톨로지에 정의된 정보의 단위와 일치되어 등록되고, 그 결과, 예컨대 영화명의 주위에 나타나는 정보를 형태소 해석 과정에서 사용할 수가 있게 된다.
한편, 각각의 형태소는 하나 이상의 관련 품사 정보를 가진다. 예를 들어 형태소 '가'는 명사, 조사 그리고 접미사와 관련된 5차원 값의 품사 정보를 가진다. 여기서의 품사열은 기술 순서에 따라서 분석 과정에 사용되는 순서를 뜻한다. 즉 '가'를 해석하기 위해 명사일 경우를 먼저 가정해서 살펴 보고 분석이 실패할 경우 조사 그리고 접미사의 순으로 해석을 시도한다. 본 발명에서는 이러한 관련 품사의 순서를 두 가지 레벨의 규칙을 이용하여 정의한다. 즉 품사들간의 우선 순위, 그리고 각 어휘별 품사 우선 순위 규칙을 이용한다. 한 형태소의 품사열 순위는 특정 어휘인 경우 사전 작성된 품사 선호 순위에 따라서 결정되며, 그 외의 어휘인 경우는 일반적인 품사들간의 우선 순위에 따라서 결정된다.
(3) 문법 사전(36)
본 발명은 상기한 바와 같이 실시예에 따라 5가지의 정보 벡터로 구분하여 구축되어 있는 기본 해석 사전을 활용하기 위하여, 그에 상응하는 형태로 형태소 분석을 위한 연결 문법을 구축한다.  즉, 주어진 2개의 형태소 또는 단위 정보가 연결이 가능한지를 표현하는 문법이다.  이러한 연결 문법은 5개의 정보로 구성되는 품사 사전 항목 간의 연결 여부 및 강도(예컨대, 0, 1, 2,...)를 기술한다.  이하에서는, 본 발명에 따른 문법 규칙을 구체적인 예를 통해 설명한다.
또한, 본 발명에 있어서, 이하의 문법 규칙에서 각 규칙의 뒤에 기술된 연결 강도 '1'은 앞의 정보와 뒤의 정보의 결합이 문법적임을 의미하는 것이며, '0'은 불가능하다는 것을 나타낸다. 이 이외에도 결합되는 형태소들간의 결합 강도 여부를 계층적으로 표현할 수 있어서, 띄어쓰기 오류(예컨대, 안먹는, 못가는 등등)처럼 국어 문법에서는 비문법적인 표현이지만, 실제적 사용에서는 잘못 쓰인 부분을 처리할 수 있다. 연결 강도가 1인 규칙이 제일 우선시되고, 그 다음 강도를 가지는 규칙을 우선하여 적용한다.
가. 동사와 어미의 연결 가능함을 표현하는 문법 규칙
{pv}{*}{*}{*}{*}    <->         {ef}{*}{*}{*}{*} 1
({pv}는 동사임을, {ef}는 어미에 대한 어류태그)
나. 조사와 조사는 연결 가능하지 못함을 표현하는 문법 규칙
{j}{*}{*}{*}{*}              <->         {j}{*}{*}{*}{*} 0
({j}는 조사에 대한 어류태그)
다. 종성의 여부에 따라서 연결 가능한 조사의 형태가 달라짐을 뜻하는 형태에 따른 연결 여부를 표현하는 문법 규칙
{*}{n}{*}{*}{*}     <->         {j}{n}{*}{*}{*} 1
{*}{y}{*}{*}{*}     <->         {j}{y}{*}{*}{*} 1
({n}은 종성이 없는 형태소이며. {y}는 종성이 있는 형태소인 것에 대한 정보)
라. 허용되는 문법 규칙
많은 데이터에서 '안먹는다, 잘간다, 못놀겠다'와 같이 띄어쓰기 오류인 어절들을 많이 찾아 볼 수 있다. 이와 같은 어절들은 한국어 문법에 의하면 '안 먹는다, 잘 간다, 못 놀겠다'와 같이 써야 한다. 그래서 아래의 예1)처럼 형태소 분석에 실패하게 된다.
예1) 안먹는다 안먹는다_{unk}
잘간다 잘간다_{unk}
못놀겠다 못놀겠다_{unk}
({unk}는 미등록어라는 정보를 나타낸다)
이러한 어절을 해결하기 위해서, 본 발명에 따르면 아래와 같은 허용 문법 규칙을 적용할 수 있다.
{ad}{fc_adpred}{*}{*}{*} <-> {pv}{*}{*}{*}{*} 2
{ad}{fc_adpred}{*}{*}{*} <-> {pa}{*}{*}{*}{*} 2
({ad}는 부사, {adpred}는 용언과 잘 쓰이는 부사에 대한 정보를 나타낸다)
위의 문법을 적용한 후에, 아래의 예2)처럼 '안먹는다, 잘간다, 못놀겠다'와 같이 띄어쓰기 오류인 어절들에 대해 분석이 가능하게 된다.
예2) 안먹는다 안_{ad} + 먹_{pv} + 는다_{ef}
잘간다 잘_{ad} + 가_{pv} + ㄴ다_{ef}
못놀겠다 못_{ad} + 놀_{pv} + 겠다_{ef}
마. 상기 문법 규칙 이외에, 연결의 제한/특수성을 표현하기 위하여 양방향 화살표가 아닌 단방향 화살표를 허용한다.  예를 들어, 오른쪽 화살표(->)의 경우, 화살표 왼쪽의 복합 품사는 화살표 오른쪽의 복합 품사와만 연결이 가능함을 나타낸다.  왼쪽 화살표(<-)는 반대 의미를 나타내며, 이는 연결 문법을 넓은 품사 영역에서 좁은 품사 영역으로 효과적으로 제한하며 기술하는 것을 가능하게 해준다.
보다 구체적인 예를 들어 설명하면,
{nq_per}{*}{*}{*}{*}        <->         {j}{*}{*}{*}{*} 1
{ncn}{*}{*}{*}{*}           <->         {j}{*}{*}{*}{*} 1
{nfix}{*}{*}{*}{*}          <->         {j}{*}{*}{*}{*} 1
({nq_per}는 사람 고유명사, {ncn}는 일반명사, {nfix}는 명사화 접미사에 대한 어류태그)
위의 표현은 {nq_per}, {ncn}, {nfix}의 어류 태그를 가진 단어들은 {j} 어류 태그를 가진 형태소와 결합이 가능함을 의미한다.  즉, 의미적 정보에 {per}를 가지고 있는 어류 태그는 명사, 접미사 등 여러 어류 태그가 있다.  이들 어류 태그는 통사적 정보에 {accu}를 가지고 있는 조사{j} 이외의 다른 조사와 자유롭게 결합할 수 있다.  반면에, 통사적 정보가 {accu}를 가진 조사{j}는 의미적 정보에 {per}를 가진 어류 태그와 결합이 가능하다.  이를 문법에서 표현하면 다음과 같다.
{nq_per}{*}{*}{per}{*}     <-          {j}{*}{accu}{*}{*} 1
{nfix}{*}{*}{per}{*}       <-          {j}{*}{accu}{*}{*} 1
({per}는 사람의 의미적 정보, {accu}는 여격에 대한 통사적 정보)
위의 표현의 경우, 통사적 정보에 {accu}를 가지고 있는 조사는 어류 태그 중에 의미적 정보가 {per}인 명사류와만 결합될 수 있음을 의미한다.
예를 들어, 조사{j}의 부류에 속하는 '에게'는 통사적 정보가 {accu}인 조사이다.  이 경우, '에게'는 '책상에게', '의자에게', '텔레비젼에게', '창문에게', '군대에게'처럼 의미적 정보에 {per}가 아닌 경우는 '에게'와 결합할 수 없으나, '선생님에게', '어머니에게', '의사에게'처럼 의미적 정보가 {per}인 명사군들과는 결합할 수 있다.  {accu}의 통사적 정보를 가지는 조사{j}는 일반적인 다른 조사와는 달리 명사의 정보에 따라 선택적으로 결합함을 위와 같이 표현할 수 있다.
(4) 사용자 사전(38)
일반적인 형태소 분석 시스템에서 어휘 사전은 언어학 전문가에 의해 구축되는데, 이에 따라, 한번 구축되면 계속 발생하는 신조어나 형태소 분석기가 적용되는 사이트만의 요구를 자주 반영하기 쉽지 않다. 그러므로, 본 발명에 따르면, 형태소 분석기에 대한 전문 지식이 없는 사용자도 쉽게 신조어를 등록할 수 있도록 사용자 사전(38)이 제공된다. 본 발명의 사용자 사전(38) 역시 동일한 기능을 가지며, 사용자 사전에 등록된 형태소들은 어휘 사전에 존재하는 형태소들보다 우선적으로 적용되게 구성된다. 사용자가 품사를 특별히 지정하지 않는 한, 가장 많이 나타나는 품사인 명사를 품사값으로 갖도록 구성된다.
2. 임포터(20)를 이용한 다차원 해석 사전(30)의 자동 구축
도 3은 본 발명의 한 가지 실시예에 따른 임포터를 이용한 다차원 해석 사전의 구축 과정을 보여주는 도면이다.
임포터(20)는 온톨로지 데이터베이스(10)에 저장되어 있는 정보, 즉 태스크 온톨로지로 작성된 데이터 엔트리(어휘나 표현)들과 그것들의 의미 정보 및 의미 정보간의 관계를 추출하여 다차원 해석 사전에 반영하는 역할을 한다. 예를 들어, 쇼핑몰을 위한 태스크 온톨로지에는 제품명이 데이터 엔트리에 해당하며, '가전', '의류', '화장품'과 같은 각 제품이 가질 수 있는 제품 분류가 의미 정보에 해당하고, '가전'이 '생활가전', '영상가전', '음향가전' 등으로 구성되는 것과 같은 분류 간의 포함관계 등이 의미 정보간의 관계에 해당한다. 즉, 하나의 데이터 엔트리는 하나 이상의 온톨로지에 정의된 의미 정보를 가진다. 임포터는 이러한 데이터 엔트리가 가지는 의미 정보를 형태소 해석시 같이 출력할 수 있게 온톨로지 데이터베이스를 분석해서 다차원 해석 사전에 적용하는 역할을 수행한다.
먼저 데이터베이스 형태로 저장되어 있거나 텍스트 형태로 저장되어 있는 태스크 온톨로지에서 정보를 하나씩 가져온다(S10). 가져온 정보들은 의미 정보를 가지는 하나의 표현인지 혹은 의미 정보간의 관계(엔트리 사이의 관계)를 나타내는 지에 따라서 차별적으로 처리한다(S11).
데이터 엔트리에 대한 내용일 경우 어휘 사전에 반영하는데, 데이터 엔트리 사이에 관계가 있는 경우(S21), 품사 사전과 문법 사전에 다음과 같은 분석 과정을 통해서 반영된다.
우선 태스크 온톨로지에 사용되는 모든 의미 정보의 부류는 5차원의 품사 정보 중 의미 정보 필드에 기입한다. 의미 정보 필드에 태스크 온톨로지의 의미 정보 부류를 지시하는 명칭을 삽입하는 형태로 새로운 품사를 품사 사전(32)에 추가한다. 그리고, 태스크 온톨로지에 작성되어 있는 2개의 의미 정보 간의 연결 가능 여부는 문법 사전에 반영한다(S22). 예를 들어, 고객 주소를 나타내는 태스크 온톨로지를 반영할 경우, {city}, {street}, {zipcode} 등과 같은 의미 정보 분류를 지시하는 표현을 의미 정보 필드에 삽입한 품사를 생성해서 품사 사전에 추가한다. 또한, 도시명 다음에 동명이 올 수 있고 도시명 다음에 우편번호가 올 수 없다는 정보는 다음과 같은 문법 규칙을 문법 사전에 추가해서 반영한다.
{*}{*}{*}{*city}{*}        <->         {*}{*}{*}{*street}{*} 1
{*}{*}{*}{*city}{*}        <->         {*}{*}{*}{*zipcode}{*} 0
이러한 분석 및 규칙 삽입은 대상 태스크 온톨로지의 표현 형태에 따라서 자동 및 수동으로 반영한다. 각각의 데이터 엔트리가 가지는 온톨로지에서의 의미 정보는 다차원 해석 사전의 품사로 유추가 가능하다.
데이터 엔트리인 경우에는(S11, Yes), 형태소 분석(S12)을 통해서 삽입 대상 표현에 대한 정보를 자동으로 추출한다. 형태소 분석이 실패한 경우(S13, No), 이는 형태소 분석기가 분석할 수 없는 신조어로서 표현 전체를 하나의 단위로 간주하여 사용자 사전에 온톨로지에서의 의미 정보를 지칭하는 필드값을 삽입한 품사를 가지도록 해서 삽입한다(S16). 형태소 분석이 성공한 경우(S13, Yes), 이는 현재 다차원 해석 사전에 존재하는 표현이거나 다차원 해석 사전에 존재하는 표현들의 결합으로 구성되는 표현인 것을 의미한다. 해석 결과가 하나의 용언일 경우에는(S14, Yes) 다차원 해석 사전에서 가지던 원래 품사값에서 태스크 온톨로지에서 가지는 의미 분류를 지칭하는 값을 추가한 품사를 가지게 하여 삽입하고 사전에 반영한다(S15, S20). 즉, 현재 다차원 해석 사전에서 가지고 있던 다차원 품사 정보에서 의미 정보를 변경하여 온톨로지에서 사용되는 의미 정보를 지칭할 수 있는 필드값을 삽입하는 형태로 변경한다.
해석 결과가 여러 개의 단어로 구성된 경우에는(S14, No), 사용된 품사 형태에 따라서 선별적으로 삽입한다. 즉, '먹+다', '입+다', '노랗+다'와 같이 용언의 원형과 형식 형태소의 결합인 경우는, 형식 형태소를 제외한 실질 형태소('먹', '입', '노랗')만을 삽입한다. 그리고, '007 카지노 로얄'과 같은 명사들의 결합인 경우는 단어 전체를 어휘 사전에 반영한다. 모든 삽입 과정에서 현재 다차원 해석 사전에 존재하는 경우에는(S17, Yes) 기존 품사에서 의미 정보 필드값만 변경하여 삽입하며 그렇지 않은 경우에는 명사의 품사에 의미 정보 필드값을 추가한 품사를 삽입한다. 그리고, 현재 다차원 해석 사전에 존재하지 않는 표현인 경우(S17, No), 대상 항목을 분석하여 마지막 음절의 종성 여부(fc), 불규칙 활용 여부(ㅂ 불규칙, ㄹ 불규칙 등), 마지막 음절의 음운적인 특성(양성, 음성) 등을 추출하여, 어류 태그와 품사 항목을 작성하여 삽입하고(S18), 형태적 정보를 추가한다(S19).
이와 같이 태스크 온톨로지에 작성되어 있는 표현과 의미 정보를 다차원 해석 사전에 반영하여 형태소 분석시 인식 및 추출이 가능해진다. 예를 들어, '바람과 함께 사라지다'가 영화명으로 삽입된 경우, 이는 하나의 명사와 비슷한 품사값을 가져 '나+는 바람과_함께_사라지다+가 좋+아'로 분석되며, '바람과_함께_사라지다'가 가지는 품사의 의미 정보 필드를 통해서 영화명임을 확인할 수가 있게 된다.
B. 의미적 자질을 이용한 문서 분류 시스템
본 발명에서는 연관어 추출 또는 문서의 의미적 범주 및 특성 등을 찾아내기 위해서 문서에 나타나는 각각의 형태소의 빈도수뿐만 아니라, 형태소들이 가지고 있는 의미적 속성의 범주를 이용한다. 즉 의미적 자질(의미자질, 의미 태그)은 한국어 기본 어휘에 대한 개념 지식을 구축하는 데 기본이 될 뿐만 아니라, 문장 분석시의 구조적 모호성과 단어 의미모호성을 해소하는 중요한 단서를 제공할 수 있다.
국어사전의 뜻풀이에서의 상위 개념을 표제어의 상위어로 선정하는 bottom-up 방식으로 구축하였던 한국어 명사 의미체계는 근본적으로 비일관적인 뜻풀이말의 기술에 따른 여러 문제점이 있다.
광범위한 데이터 처리가 필요하고, 의미 태그가 부착된 코퍼스(corpus, 말뭉치)가 필요하며, 의미 태그는 하나의 어휘가 나타내고자 하는 의미와 관련된 정보로서 의미 해석 시에 해당 어휘의 의미를 구분하는 역할을 한다. 이러한 의미 태그는 한국어 기본 어휘에 대한 개념 지식을 구축하는 데 기반이 된다.
본 발명에서는 이와 같은 개념을 기준으로 의미 자질을 추출하고 이를 이용하여 다양한 애플리케이션을 구축하는 시스템을 제공하는데, 이를 위해서 상기의 형태소 분석기(100)를 이용한다.
상기한 바와 같이, 본 발명의 형태소 분석기(100)의 태그(벡터 정보)는 사용자의 목적에 따라 유연하게 첨가하거나 삭제하여 사용할 수 있고, 또 계층적으로 태그를 줄 수 있다.
예컨대,
소닉_{nq_bran}{}{}{elec}{}
미놀타_{nq_gro}{}{}{com_elec}{}
상기 태그에서, "소닉"의 {nq}는 "고유명사"를, {bran}은 "브랜드명"을, {elec}은 "전기/전자"의 의미적 자질을 나타내는 태그들이다.
상기 태그에서, "미놀타"의 {nq}는 "고유명사"를, {gro}은 "단체명"을, {com}은 "회사"를, {elec}은 "전기/전자"의 의미적 자질을 나타내는 태그들이다.
이와 같은 태그들은 계층적으로 그 개념을 정의해서 형태소들간의 의미 관계를 결정하거나, 계층적인 개념 구조를 이루어 사용할 수 있다. 즉, 예컨대 명사를 다음과 같이 계층적으로 구분할 수 있다.
고유명사{nq}_단체{gro}_회사{com}_전기/전자{elec}
_인터넷{inter}
_인명{per}
_브랜드{bran}_전기/전자{elec}
_인터넷{inter}
........
이와 같이 태그를 이용해서 개념의 계층적 구조를 용이하게 구축할 수 있다.
한편, 본 발명에 따르면, 형태소 분석기(100)에서 직접 태그를 부여해서 연관어 추출 또는 문서 범주 분류 및 특성 등을 결정할 수 있다. 뿐만 아니라, 이미 존재하는 온톨로지의 의미적 정보를 이용하고자 하는 경우, 연관어 추출, 문서 범주 분류 및 특성들을 결정하도록 본 발명에서 제시한 방식을 이용할 수 있다. 다시 말하면, 본 발명의 형태소 분석기를 이용하여 그 분석에 따른 형태소 분석 결과로 바로 의미적 자질을 부여할 수도 있고, 또는 경우에 따라서는 기존의 온톨로지를 이용하고자 하는 경우에도, 본 발명의 형태소 분석기에서 제안한 외부 온톨로지 연결 방식을 이용해서 문서 분류를 할 수도 있다. 이는 사용자의 문서의 특성에 따라 의미적 자질, 즉 태그를 특성화하여 문서를 분석할 수 있도록 유연성을 부여한다. 즉 본 발명의 형태소 분석기 역시 사용자가 원하는 의미적 자질을 임의적으로 추가하거나 삭제하여 문서의 특성을 추출하는 데 적용할 수 있다.
많은 상위 개념들은 동일한 의미적 자질을 공유한다는 것을 알 수 있다. 이는 다음 개념들간에도 동일한 의미적 자질에 의해 분류될 수 있으며, 나아가서는 의미적 자질의 공유 정도에 따라서 개념들간의 상/하위 개념을 설정할 수 있는 가능성이 있다. 즉, 데이터에서 추출 가능한 의미적 자질의 공유 정보를 계산하여 개념들간의 계층 구조를 구축하는데 이용한다.
따라서, 개념은 동일 속성을 가진 대상으로부터 추상화되고 일반화된 관련으로 정의되는데, 핵심적인 단어는 기초 어휘를 형성하는 것이고, 주변적인 단어들은 보다 일반적인 지식들을 표현한 것으로써, 이들 어휘간의 연관도를 측정하면 분류들 간의 경계에 유연성을 준다.
본 발명에서는 의미적 자질로 활용할 수 있는 태그(벡터정보)를 이용하여 문서를 클러스터링하는데 이용한다.
또한, 같은 클러스터 내에 있는 형태소(어휘)들 간의 연관도를 계산하여 각 형태소에 대한 연관어들을 추출한다.
또한, 이러한 문서들의 연관성으로 문서에 나타나는 사전에 등록되어 있지 않은 미등록어에 대한 그 형태소의 품사 및 의미적 자질을 추측하여 제공한다.
본 발명에서는 문서에 나타나는 단어들의 태그들과 단어들간의 관계(빈도수, 문장 내에서 다른 단어와의 관계 등)를 통해 의미적 자질들을 추출하여, 문서를 분류하고(clustering), 형태소 및 태그를 관리하고, 트렌드를 분석한다. 이하에서는 본 발명에 따라 이러한 문서 분류를 수행하는 문서 분류기(200)의 구성을 구체적으로 설명한다.
1. 문서 분류기(200)
본 발명에서는 문서 중의 단어(키워드)와 각각의 단어가 가진 의미적 자질(semantic feature, tag), 즉 형태소 분석기에 의한 형태소 분석을 기반으로 하여, 문서를 분류한다. 또한, 키워드에 주어지는 의미적 자질은 기본 의미적 자질을 이용하고, 자주 나타나는 의미적 자질들 간의 공통 부류를 새롭게 분류한다.
본 발명에 따라 문서를 분류할 때, 형태소의 TF*IDF 값(이에 대해서는 후술한다)을 이용할 수 있다. 한편, 하나의 단어가 여러가지 의미를 갖는 경우가 있다. 예를 들어, 사전에서 "정부"의 의미를 찾아보면, 최소 5가지의 의미를 갖고 있다(정부(政府), 정부(情夫), 정부(正否) 등). 따라서, 형태소 분석시, "정부"를 분석하면, 예컨대 다음과 같이 다른 의미적 자질의 태그를 갖게 된다.
-예) 정부 정부_{ncn}{}{}{pol}{}
정부_{ncn}{}{}{con}{}
따라서, 문서를 분류하기 위해서 단순히 형태소의 TF*IDF 값만을 이용하여 문서를 분류하면 한계가 나타날 수 있는데, 이는 언어에 "동형이의어"가 많기 때문이다.
또한, 문서를 분류하다 보면, 아래와 같이 의미적으로 같은 그룹으로 분류되는 것들이 다른 분류에 속해서 섞여 있는 경우가 있다. 그 이유는 본 발명에서와 같은 분류가 없으므로, 적절한 분류를 형성하여 적절한 그룹에 속하지 못하기 때문이다.
구체적으로, 아래의 문서들의 키워드는 "전통의학, 전통지식"이다. 그러나, 문서 제목이나 초록을 보아도, "전통의학, 전통지식"인 키워드가 없으므로, 문서를 분류함에 있어서, 이들 문서를 분류할 수가 없게 된다. 이것을 일반 분류표에서 적절한 분류를 찾아보면, "의약학-한의학"으로 분류가 가능하다. 따라서, 아래의 문서를 분석하게 되면, (1)~(5)와 (6)은 다른 분류체계에 속하게 되어야 하며, (1)~(5)의 문서가 속하게 될 분류 체계를 의미적 자질을 이용하여 구성할 수 있도록, 그 의미적 자질을 찾아내어 분류체계를 구축한다.
(예)
Figure pat00001
즉 위의 문서를 본 발명에 따른 형태소 분석기(100)를 이용하여 형태소 분석된 결과에서, 주어지는 모든 태그들을 이용할 수 있고, 아래와 같이 키워드에서, 의미적 자질을 나타내는 네 번째 태그(의미적 정보 태그)로서 문서의 특성을 나타낼 수 있는 "{med}, {chem}, {plant}, {bacte}"들이 키워드와 태그들을 이용하여 새롭게 문서 분류를 할 수 있다.
예) 당뇨병_{ncn}{}{}{med}{} + 성_{nfix}{}{}{}{}
세균_{ncn}{}{}{bacte}{}
이소_{ncn}{ }{}{con}{} + 플라본_{ncn}{}{}{chem}{}
녹농균_{ncn}{}{}{bacte}{}
느타리_{ncn}{}{}{plant}{} + 버섯_{ncn}{}{}{plant}{}
시스플라틴_{ncn}{}{}{med}{}
작약_{ncn}{}{}{plant}{}
글리코사_{ncn}{}{}{chem}{}
골아_{ncn}{}{}{med}{} + 세포_{ncn}{}{}{med}{}
테르펜_{ncn}{}{}{chem}{}….
본 발명에서는 형태소 분석기(100)로 분석된 결과인 형태소와 태그를 직접 활용하거나 또는 형태소 분석기로 분석된 결과인 형태소와 태그를 온톨로지에 연결하여, 온톨로지의 정의된 형태소와 태그를 활용한다.
본 발명에서는 일반 카테고리를 이용하는 클러스터에 적용할 수 있고, 각 카테고리의 이름을 자동으로 추출하며(클러스터링된 각 그룹에서 각 그룹명을 만들어 주고, 각 계층의 묶여지는 각 카테고리의 제목 및 이름을 자동으로 생성), 카테고리의 상하 계층을 유동적으로 자동 구축한다, 예컨대, 문서의 태그의 빈도와, TF*IDF를 이용하여 클러스터를 구성할 수 있으므로, 각 클러스터의 대표 태그 및 term의 중요도에 따라 다시 클러스터링할 수 있다. 예를 들어, 사용자가 "경제"를 중심으로 클러스터링하게 되면, "경제"를 중심으로 해서 전체 문서를 재클러스터링할 수 있다. 어떤 문서는 "경제"에 포함되기도, "정치"에 포함될 수도 있고, "교육"과 관련될 수도 있으므로, 사용자의 요구 또는 필요성에 따라 문서들의 가중치를 달리해서 문서들을 사용자의 의도나 직관에 보다 적절한 클러스터링한 결과를 생성한다. 예를 들어, 경제를 중심으로 클러스터링 하고자 하는 경우, 경제에 해당하는 의미자질에 대해 가중치를 부여하면 경제에 해당하는 자질을 포함한 문서들이 더 잘 클러스터링되는 효과를 볼 수 있다.
이하에서는 보다 구체적인 예를 참조하여, 본 발명에 따라 문서를 분류하는 과정을 설명한다.
먼저, 본 발명에서 사용하는 용어를 정의하면 다음과 같다.
TF(Term/Tag Frequency)는 한 형태소+태그가 한 문서 내 출현하는 빈도(즉, 형태소뿐만 아니라, 그 형태소의 의미적 자질, 즉 태그의 출현 빈도도 포함한다. 그러나, 본 발명이 이에 한정되는 것은 아니며, 형태소의 빈도(term freqeuncy)만 또는 태그의 빈도(tag frequency)만을 이용할 수도 있다. 그러나, 보다 정확한 문서 분류를 위해 형태소와 그 의미적 자질의 출현 빈도 모두를 이용하는 것이 바람직하다.)
DF(Document Frequency)는 해당 태그를 포함하는 전체 문서 수
IDF(Inverse Document Frequency)는 DF의 역수
tfDB : 문서별로 생성되며 (key:태그명(자질), value:TF) 정보를 담는 데이터베이스
dfDB : 전체에 하나 생성되며 (key:태그명(자질), value:DF) 정보를 담는 데이터베이스이다.
먼저, 본 발명에 따르면, 텍스트 문서를 입력받아서(예컨대, 문서 파일들이 들어 있는 디렉토리가 주어지면 그 디렉토리 안의 모든 문서들 불러와 처리하게 된다), 형태소 분석기(100)에서 행태소를 분석한다. 예컨대, 다음과 같은 텍스트 문서의 형태소 분석 결과는 다음과 같다.
Figure pat00002
상기와 같이 형태소 분석기(100)에 의해 분석된 형태소 분석 결과는 문서 분류기(200)로 전달된다. 이후의 과정을 도 4를 참조하여 설명하면, 다음과 같다. 도 4는 본 발명의 한 가지 실시예에 따른 문서 분류 시스템에 제공되는 문서 분류기(200)의 구성을 블록도 형태로 도시한 도면이다.
도시한 바와 같이, 상기 형태소 분석 결과는 문서 분류기(200)의 형태소 분석 결과 수신부(210)를 통해 수신됨과 아울러 메모리(도시 생략)에 일시적으로 저장된다.
이어서, 문서 분류기(200)의 형태소 분석 결과 처리부(210)는 상기 수신부(210)에 의해 수신된 형태소+태그 형태로 분석된 결과를 불용어 처리, 즉 문서 분석에 필요없는 형태소 및 태그를 제거하는 처리를 하여, 문서 분류에 사용할 자질(의미적 자질, 의미적 정보 태그)들을 추출한 후, 그 형태소 및 태그가 상기 문서 중에서 출현하는 빈도, 즉 TF 값을 구해 tfDB(230)에 저장하고, dfDB(240)에 현 문서에서 추출한 자질의 값을 하나씩 증가시킨다. 예컨대, 추출된 자질이 {med}, {pol}, {law}, ...라고 한다면, tfDB 및 dfDB는 예컨대, 다음의 표 1과 같이 구성될 수 있다.
tfDB(230) dfDB(240)
자질 TF 자질 DF
med 6 med 750
org 2 org 2000
law 3 law 300
pol 2 pol 10000
... ... ... ...
(한 문서에 대한 처리 결과이지만, DF 값은 한 문서씩 처리될 때마다, 계속 누적되어 증가되므로, 어느 시점에서는 상기와 같이 큰 값을 갖게 되며, 상기 표는 바로 이러한 상황을 반영한 것이다.)
이어서, 모든 문서에 대해 형태소 분석기 및 문서 분류기는 상기 형태소 분석 및 자질 추출/저장 과정을 반복하여, 각 문서별로 추출된 의미적 자질의 TF*IDF 값을 구해, tfidf DB(250)에 저장하는데, 그 한 가지 예시를 들면 다음과 같다.
tfDB(230) dfDB(240) tfidfDB(250)
자질 TF 자질 DF 자질 TF*IDF
med 6 med 750 med 0.008
org 2 org 2000 org 0.001
law 3 law 300 law 0.01
pol 2 pol 10000 pol 0.0002
... ... ... ... ... ...
상기와 같이, 모든 문서들의 자질들에 대한 TF*IDF 값이 구해진 후, 그 결과를 이용하여 문서를 분류하며, 본 발명의 한 가지 실시예에 있어서, 다음과 같은 절차에 따라 문서를 분류한다.
(1) 예컨대, 사용자가 100개의 클러스터를 의도한 경우, 형태소 분석 결과 처리부(220)는 모든 문서를 임의로 100개의 그룹으로 나눈다. 이때, 각 그룹이 클러스터가 된다. 각 클러스터에 포함된 문서들의 자질별 TF*IDF 값을 상기와 같이 구한 후, 형태소 분석 결과 처리부(220)는 그 평균값을 구해서 평균 TF*IDF 값을 생성한다.
예) 클러스터 1- 문서 1(med: 0.008, law: 0.123, ...)
클러스터 1- 문서 2(med: 0.034, law: 0.045, ...)
클러스터 1- 평균(med: 0.021, law: 0.084, ...)
(2) 또한, 형태소 분석 결과 처리부(220)는 클러스터별로 해당 클러스터에 속한 문서들의 의미적 자질별 TF*IDF 값을 이용하여 클러스터별 의미적 자질의 TF*IDF 값의 평균값을 계산하여, 이를 clmeans(클러스터별 평균값을 의미) DB(260)에 저장한 후, 클러스터별 의미적 자질간 평균값 간의 거리를 공지의 Euclidean distance 또는 City-block distance 등 다양한 종래의 거리 계산법을 이용하여 계산하여, 별도의 clDistance DB(270)에 저장한다. 이하에, 이러한 clmeansDB(260) 및 의 한 가지 구성예를 나타낸다. 한편, Euclidean distance 또는 City-block distance 등을 이용하여 거리를 계산하는 방식 자체는 이미 널리 알려진 공지의 구성이므로, 이와 관련한 추가의 설명은 생략한다. 그러나, 이러한 설명을 생략하더라도, 당업자라면 Euclidean distance 또는 City-block distance 등을 이용하여 거리를 계산하는 방식, 그에 따른 결과의 의미를 쉽게 이해할 수 있을 것이다.
(clmeansDB(260)의 예)
클러스터 No. med law pol ....
클러스터1 0.021 0.084 0.001 ....
클러스터2 0.0 0.821 0.123 ....
.... .... .... .... ....
(즉, 클러스터 1의 경우, 여러 의미적 자질의 벡터 정보, 즉 의미적 자질 태그 중 med가 나타나는 각 문서들(문서1, 문서2, ...)의 med의 TF*IDF의 평균값이 0.021이다)
(clDistanceDB(270)의 예)
클러스터간 거리의 합 1345678.2345
(3) 이어서, 형태소 분석 결과 처리부(220)는 한 문서 내의 각 의미적 자질(예컨대, med, law, pol, ...)별 TF*IDF 값과 clmeansDB(270)에 저장된 각 클러스터의 해당 의미적 자질의 평균값과의 거리를 상기 Euclidean distance 또는 City-block distance 등 다양한 종래의 거리 계산법을 이용하여 계산한 다음(다음의 예 참조), 해당 문서와 가장 거리가 가까운 클러스터를 찾아 해당 문서를 포함시킨다. 이어서, 해당 문서가 속해 있던 클러스터에서는 해당 문서 정보를 제거한다. 이러한 작업을 모든 문서에 대해 반복 수행하여, 각 클러스터에 문서들을 재배열하여 포함시킨다.
예) 문서 1과 클러스터 1간의 거리 계산 예시
med law pol ...
문서1 0.0 0.34 0.4
클러스터1 0.12 0.578 0.0
거리=
Figure pat00003

(4) 모든 문서에 대해 상기 처리를 통해 클러스터 재배치를 마치면, 형태소 분석 결과 처리부(220)는 각 클러스터별 각 의미적 자질들의 평균값을 상기 과정에 따라 다시 산출하여 clmensDB(260)에 저장한 후(clmeansDB의 업데이트), 클러스터별 의미적 자질간 평균값들 간의 거리를 Euclidean distance 또는 City-block distance 등 종래의 거리 계산법을 이용하여 다시 계산한 다음, 이 거리의 총합이 예컨대, 표 4의 clDistance DB(270)에 저장되어 있는 값보다 큰 경우, 그 큰 값을 clDistance DB(270)에 저장한다(이때, 한 번의 계산 결과, clDistance DB(270)에 저장된 값보다 작은 값이 산출된 경우, 이는 상기 재배열 전의 클러스터에 적정하게 문서들이 분류되어 있다는 것을 의미하므로, 재배열 전의 클러스터별 문서 분류 정보를 최종 결과로 이용한다. 그러나, 임의로 문서들을 각 클러스터에 분류한 것이 적정한 문서 배열 결과로 되는 것은 사실상 상정하기가 힘들므로, 이러한 경우는 사실상 고려 대상이 되기가 힘들다.). 이로써, 클러스터별 문서의 분류를 종료할 수 있지만, 올바르게 각 클러스터에 문서가 올바르게 재분류되었는지를 다시 검증하기 위하여, 각 문서별로 (3) 및 (4)의 과정을 반복하여, 거리의 총합이 clDistance DB(270)에 저장되어 있는 값보다 작은 값이 도출될 때까지 반복한다. 즉, 금번의 거리의 총합이 직전의 clDistance DB(270)에 저장되어 있는 값보다 작다는 것, 즉 직전의 clDistance DB(270)에 저장되어 있는 값이 가장 크다는 것은 그때의 클러스터간 거리가 가장 멀고, 클러스터내 문서간 거리는 가장 가깝다는 것을 의미하고, 이는 다시 말하면, 각 클러스터 사이의 문서들의 연관성이 가장 작다는 것을 의미하며, 따라서 최적으로 문서들이 클러스터별로 분류되어 있다고 할 수 있다. 즉 애초에 클러스터를 임의로 설정하고 각 클러스터에 임의로 문서를 배치하였기 때문에, 각 클러스터에 포함되는 문서 분류에 오류가 있을 수 있으므로, 이러한 과정을 한 번 이상 더 반복하여, 문서 분류의 오류 가능성을 줄인다.
이어서, 형태소 분석 결과 처리부(220)는 상기와 같은 과정을 통해 분류된 각 클러스터 내 의미적 자질들의 출현 빈도를 이용하여 클러스터의 대표 자질을 선정한다.
예) 클러스터 1번에 속한 문서들의 자질별 TF*IDF 값이 다음과 같다고 하자.
클러스터 번호 문서 번호 law med org
1 문서 1 0.146 0.058 0.053
1 문서 2 0.169 0.052 0.030
1 문서 3 0.155 0.057 0.041
1 문서 4 0.165 0.078 0.026
이어서, 형태소 분석 결과 처리부(220)는 각 클러스터에 속한 문서 내 자질의 TF*IDF 값 중 가장 높은 값의 자질(즉, law)을 대표 자질로 선정한다. 이러한 과정을 반복하여, 각 클러스터의 대표자질을 선정한다.
클러스터 번호 대표자질(대표 카테고리)
1 law
2 pol
3 law
4 law
... ...
이어서, 형태소 분석 결과 처리부(220)는 대표자질을 기준으로 보았을 때, 상기 예에서 대표 카테고리가 같은 클러스터들이 존재하므로, 대표 카테고리가 같은 클러스터들을 통합한다.
대표자질(대표 카테고리) 클러스터들
law 1, 3, 4, ..
pol 2, ...
... ...
이와 같은 과정을 통해 수 많은 문서들을 가장 대표적인 복수 개의 카테고리들을 카테고리별로 분류할 수 있게 된다.
한편, 상기와 같이 복수의 문서들을 카테고리별로 분류한 후, 사용자의 목적 및 의도에 따라 각 카테고리 내의 문서들에 대해 하위체계 분류를 할 수도 있다. 예컨대, 상기와 같은 과정에 따라 "법률" 카테고리가 만들어진 경우, 그 카테고리에 속한 문서들에 대하여 상기 일련의 과정을 반복하여, "이혼", "소송" 등과 같은 하위체계로 보다 세분화된 문서분류를 수행할 수 있다. 그와 같이 세분화된 문서 분류과정은 상기 과정과 동일하므로, 중복되는 설명은 생략한다.
한편, 도 1에 도시된 바와 같이, 본 발명의 시스템에는 신규문서 처리기(300)가 포함될 수도 있다. 즉, 상기 과정에 따라 분류된 문서들의 정보에 신규 문서가 투입되는 경우, 상기 과정에서 한 문서에 대한 처리와 동일하게 신규 문서에 대해 형태소 분석을 수행한 후, 신규 문서 처리기(300)는 그 분석 결과를 이용하여 불용어 처리를 수행한 후 의미적 자질별 TF 값을 구한다. 이어서, 신규 문서 처리기(300)는 신규 문서의 의미적 자질별 TF 값과 상기 전체 문서 분류시 저장된 dfDB(240)의 DF 값을 이용하여, TF*IDF 값을 구한 후, 신규 문서의 의미적 자질별 TF*IDF 값과 전체 문서 분석시 저장된 clmeansDB(260)의 클러스터별 TF*IDF 평균값과의 거리를 마찬가지로, Euclidean distance 또는 City-block distance 등 다양한 종래의 거리 계산법을 이용하여 계산한 다음, 신규 문서와 가장 거리가 가까운 클러스터를 찾아 신규 문서를 포함시킨다.
이상 본 발명을 바람직한 실시예를 참조하여 설명하였지만, 본 발명이 상기 실시예에 제한되지 않는다는 것을 이해하여야 한다. 즉 상기 실시예는 후술하는 특허청구범위 내에서 다양하게 변형 및 수정할 수 있으며, 이들 역시 본 발명의 범위 내에 속하는 것이다. 따라서, 본 발명은 특허청구범위 및 그 균등물에 의해서만 제한된다.
100: 형태소 분석기
200: 문서 분류기
210: 형태소 분석 결과 수신부
220: 형태소 분석 결과 처리부
300: 신규 문서 처리기

Claims (16)

  1. 사용자가 입력한 복수의 문서의 특성을 분류하기 위한 문서 분류 시스템으로서,
    사용자가 입력한 문서의 형태소를 분석하는 형태소 분석기로서, 상기 형태소 분석기는 상기 분석된 형태소에 그 형태소의 속성을 나타내는 n차원의 벡터 정보를 부가하여 형태소 분석을 수행하는 것인 상기 형태소 분석기와;
    상기 형태소 분석기로부터 상기 분석된 형태소 및 그에 부가된 벡터 정보를 함께 수신하고, 그 수신된 결과 중 문서 분석에 사용되지 않는 형태소 및 벡터 정보를 제거하여, 상기 n차원 벡터 정보 중 문서 분류에 사용할 의미적 자질의 벡터 정보를 각 형태소별로 추출하고, 그 추출된 의미적 자질의 벡터 정보 각각에 대응하는 형태소 및 해당 의미적 자질의 벡터정보가 상기 문서에서 출현하는 빈도값(TF 값)을 각각 계산하여 문서를 분류하는 수단과,
    상기 수단에 의해 계산된 상기 빈도값을 저장하는 제1 데이터베이스로서, 이 제1 데이터베이스에는 상기 추출된 의미적 자질의 벡터 정보별로 상기 빈도값이 저장되는 것인, 상기 제1 데이터베이스와,
    상기 수단에 의해 추출된 의미적 자질의 벡터 정보를 포함하는 전체 문서 수(DF 값)를 저장하는 제2 데이터베이스로서, 이 제2 데이터베이스에는 상기 추출된 의미적 자질의 벡터 정보별로 상기 전체 문서값(DF 값)이 저장되는 것인, 상기 제2 데이터베이스
    를 포함하는 것을 특징으로 하는 문서 분류 시스템.
  2. 청구항 1에 있어서, 상기 형태소 분석기와 수단은 상기 형태소 분석 및 의미적 자질의 벡터 정보 추출 과정을 상기 입력된 모든 문서에 대해 반복하고,
    상기 수단은 각 문서별로 추출된 의미적 자질의 벡터 정보에 대한 상기 TF 값과 상기 의미적 자질의 벡터 정보를 포함하는 전체 문서 수의 역수인 IDF 값의 곱을 구해 제3 데이터베이스에 저장하도록 구성되는 것을 특징으로 하는 문서 분류 시스템.
  3. 청구항 2에 있어서, 상기 수단은,
    (1) 상기 복수의 문서를 임의의 M개의 클러스터로 분류하고, 각 클러스터에 포함된 문서들의 의미적 자질 각각에 대하여 상기 TF 값과 IDF 값의 곱을 상기 제3 데이터베이스에서 추출한 후, 그 각각의 의미적 자질의 평균값을 구하여 클러스터별로 제4 데이터베이스에 저장하며,
    (2) 상기 클러스터별 의미적 자질간 평균값 사이의 거리의 제1 총합을 계산하여, 제5 데이터베이스에 저장하고,
    (3) 한 문서 내의 각 의미적 자질별 TF*IDF 값과 상기 제4 데이터베이스에 저장된 각 클러스터의 해당하는 각 의미적 자질의 평균값과의 거리를 계산하고, 이 계산 결과에 기초하여, 해당 문서와 가장 거리가 가까운 클러스터에 해당 문서를 포함시키고, 해당 문서가 속해 있던 클러스터에서는 해당 문서 정보를 제거하는 문서 재배열 과정을 모든 문서에 대해 반복 수행하도록 구성되는 것을 특징으로 하는 문서 분류 시스템.
  4. 청구항 3에 있어서, 상기 수단은, 상기 문서 재배열 과정 후에,
    (4) 각 클러스터별 각 의미적 자질들의 평균값을 상기 (1)의 과정에 따라 다시 산출하여 제4 데이터베이스에 저장하여 제4 데이터베이스를 업데이트하고,
    (5) 상기 클러스터별 의미적 자질간 평균값 사이의 거리를 다시 계산하고, 이 거리의 제2 총합을 계산한 다음, 그 제2 총합의 거리를 상기 제5 데이터베이스에 저장된 거리의 제1 총합과 비교하며,
    (6) 상기 제2 총합의 거리가 상기 제1 총합의 거리보다 큰 경우, 그 큰 값을 상기 제5 데이터베이스에 저장하도록 구성되는 것을 특징으로 하는 문서 분류 시스템.
  5. 청구항 4에 있어서, 상기 수단은 상기 제2 총합의 거리가 상기 제1 총합의 거리보다 큰 경우, 금번의 거리의 총합인 제2 총합의 거리가 직전의 제5 데이터베이스에 저장된 거리의 총합인 제1 총합의 거리보다 작은 값이 도출될 때까지 (3) 내지 (5)의 과정을 반복하도록 구성되는 것을 특징으로 하는 문서 분류 시스템.
  6. 청구항 3 내지 청구항 5 중 어느 한 항에 있어서, 상기 수단은 상기 거리 계산시 Euclidean distance 또는 City-block distance와 같은 거리 계산법을 이용하는 것을 특징으로 하는 문서 분류 시스템.
  7. 청구항 5에 있어서, 상기 수단은 각 클러스터에 속한 문서 내 의미적 자질의 TF*IDF 값 중 가장 큰 값의 의미적 자질을 해당 클러스터의 대표 카테고리로 선정하도록 구성되는 것을 특징으로 하는 문서 분류 시스템.
  8. 청구항 7에 있어서, 상기 수단은 각 클러스터에 대한 대표 카테고리 선정 후, 대표 카테고리가 동일한 클러스터들을 통합하도록 구성되는 것을 특징으로 하는 문서 분류 시스템.
  9. 청구항 3에 있어서, 신규의 한 문서에 대하여 상기 수단과 동일한 과정에 따라 해당 신규 문서를 특정의 클러스터에 포함시키도록 구성된 신규 문서 처리기를 더 포함하는 것을 특징으로 하는 문서 분류 시스템.
  10. (1) 분류하고자 하는 복수의 문서를 입력받는 단계와,
    (2) 상기 입력된 문서의 형태소를 분석하는 단계로서, 형태소를 분석함과 아울러 그 분석된 형태소에 그 형태소의 속성을 나타내는 n차원의 벡터 정보를 부가하는 것인 형태소 분석 단계와;
    (3) 상기 분석된 형태소 및 그에 부가된 벡터 정보에 기초하여, 그 분석 결과 중문서 분석에 사용되지 않는 형태소 및 벡터 정보를 제거하여, 상기 n차원 벡터 정보 중 문서 분류에 사용할 의미적 자질의 벡터 정보를 각 형태소별로 추출하고, 그 추출된 의미적 자질의 벡터 정보 각각에 대응하는 형태소 및 해당 의미적 자질의 벡터정보가 상기 문서에서 출현하는 빈도값(TF 값)을 각각 계산 및 저장하는 단계로서, 상기 빈도값은 상기 추출된 의미적 자질의 벡터 정보별로 제1 데이터베이스에 저장되고, 상기 추출된 의미적 자질의 벡터 정보를 포함하는 전체 문서 수(DF 값)가 상기 추출된 의미적 자질의 벡터 정보별로 제2 데이터베이스에 저장되는 것인, 상기 단계
    를 포함하는 것을 특징으로 하는 문서 분류 방법.
  11. 청구항 10에 있어서, 상기 형태소 분석 단계 및 의미적 자질의 벡터 정보 추출 과정을 상기 입력된 모든 문서에 대해 반복하고,
    상기 (3)의 단계에서, 각 문서별로 추출된 의미적 자질의 벡터 정보에 대한 상기 TF 값과 상기 의미적 자질의 벡터 정보를 포함하는 전체 문서 수의 역수인 IDF 값의 곱을 구해 제3 데이터베이스에 저장하는 것을 특징으로 하는 문서 분류 방법.
  12. 청구항 11에 있어서, 상기 (3)의 단계에서,
    (A) 상기 복수의 문서를 임의의 M개의 클러스터로 분류하고, 각 클러스터에 포함된 문서들의 의미적 자질 각각에 대하여 상기 TF 값과 IDF 값의 곱을 상기 제3 데이터베이스에서 추출한 후, 그 각각의 의미적 자질의 평균값을 구하여 클러스터별로 제4 데이터베이스에 저장하며,
    (B) 상기 클러스터별 의미적 자질간 평균값 사이의 거리의 제1 총합을 계산하여, 제5 데이터베이스에 저장하고,
    (C) 한 문서 내의 각 의미적 자질별 TF*IDF 값과 상기 제4 데이터베이스에 저장된 각 클러스터의 해당하는 각 의미적 자질의 평균값과의 거리를 계산하고, 이 계산 결과에 기초하여, 해당 문서와 가장 거리가 가까운 클러스터에 해당 문서를 포함시키고, 해당 문서가 속해 있던 클러스터에서는 해당 문서 정보를 제거하는 문서 재배열 과정을 모든 문서에 대해 반복 수행하는 것을 특징으로 하는 문서 분류 방법.
  13. 청구항 12에 있어서, 상기 (3)의 단계에서, 상기 문서 재배열 과정 후에,
    (D) 각 클러스터별 각 의미적 자질들의 평균값을 상기 (A)의 과정에 따라 다시 산출하여 제4 데이터베이스에 저장하여 제4 데이터베이스를 업데이트하고,
    (E) 상기 클러스터별 의미적 자질간 평균값 사이의 거리를 다시 계산하고, 이 거리의 제2 총합을 계산한 다음, 그 제2 총합의 거리를 상기 제5 데이터베이스에 저장된 거리의 제1 총합과 비교하며,
    (F) 상기 제2 총합의 거리가 상기 제1 총합의 거리보다 큰 경우, 그 큰 값을 상기 제5 데이터베이스에 저장하는 것을 특징으로 하는 문서 분류 방법.
  14. 청구항 13에 있어서, 상기 (3)의 단계에서, 상기 제2 총합의 거리가 상기 제1 총합의 거리보다 큰 경우, 금번의 거리의 총합인 제2 총합의 거리가 직전의 제5 데이터베이스에 저장된 거리의 총합인 제1 총합의 거리보다 작은 값이 도출될 때까지 (C) 내지 (E)의 과정을 반복하는 것을 특징으로 하는 문서 분류 방법.
  15. 청구항 13에 있어서, 각 클러스터에 속한 문서 내 의미적 자질의 TF*IDF 값 중 가장 큰 값의 의미적 자질을 해당 클러스터의 대표 카테고리로 선정하는 단계를 더 포함하는 것을 특징으로 하는 문서 분류 방법.
  16. 청구항 15에 있어서, 각 클러스터에 대한 대표 카테고리 선정 후, 대표 카테고리가 동일한 클러스터들을 통합하는 단계를 더 포함하는 것을 특징으로 하는 문서 분류 방법.
KR1020110101055A 2011-10-05 2011-10-05 의미적 자질을 이용한 문서 분류 시스템 및 그 방법 KR101339103B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110101055A KR101339103B1 (ko) 2011-10-05 2011-10-05 의미적 자질을 이용한 문서 분류 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110101055A KR101339103B1 (ko) 2011-10-05 2011-10-05 의미적 자질을 이용한 문서 분류 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20130036863A true KR20130036863A (ko) 2013-04-15
KR101339103B1 KR101339103B1 (ko) 2013-12-09

Family

ID=48438031

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110101055A KR101339103B1 (ko) 2011-10-05 2011-10-05 의미적 자질을 이용한 문서 분류 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101339103B1 (ko)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101507355B1 (ko) * 2013-08-08 2015-04-01 중앙대학교 산학협력단 벡터 분류 장치 및 방법
KR20160039273A (ko) * 2013-07-26 2016-04-08 그린에덴 유.에스. 홀딩스 Ii, 엘엘씨 컨셉 검색 및 탐색 시스템 및 방법
WO2016093532A1 (ko) * 2014-12-10 2016-06-16 주식회사 와이즈넛 정규화된 키워드 가중치에 기반한 연관 키워드 추출 방법
KR20160086255A (ko) * 2015-01-09 2016-07-19 한국과학기술원 개체의 표면형 문자열 용례학습기반에 의한 텍스트에서의 개체 범위 인식 장치 및 그 방법
CN107451168A (zh) * 2016-05-30 2017-12-08 中华电信股份有限公司 基于词汇统计的档案分类系统及方法
KR20180110713A (ko) * 2017-03-29 2018-10-11 중앙대학교 산학협력단 문서 유사도 분석 장치 및 방법
KR101985903B1 (ko) * 2019-02-14 2019-06-04 (주)아크릴 텍스트 콘텐츠를 문장 단위로 분할하여 작성자의 메타정보를 추론하는 방법 및 컴퓨터 프로그램
KR101985904B1 (ko) * 2019-02-14 2019-06-04 (주)아크릴 텍스트 콘텐츠를 소정의 단위로 분할하여 작성자의 메타정보를 추론하는 방법 및 컴퓨터 프로그램
KR101985902B1 (ko) * 2019-02-14 2019-06-04 (주)아크릴 형태소 특징 및 음절 특징을 고려한 텍스트 콘텐츠 작성자의 메타정보를 추론하는 방법 및 컴퓨터 프로그램
KR101985901B1 (ko) * 2019-02-14 2019-06-04 (주)아크릴 텍스트 콘텐츠 작성자의 메타정보 추론 서비스 제공 방법 및 컴퓨터 프로그램
WO2019112117A1 (ko) * 2017-12-05 2019-06-13 (주)아크릴 텍스트 콘텐츠 작성자의 메타정보를 추론하는 방법 및 컴퓨터 프로그램
KR102004981B1 (ko) * 2018-03-07 2019-07-30 주식회사 한글과컴퓨터 선택된 단어에 대한 자동 설명 삽입이 가능한 전자 문서 편집 장치 및 그 동작 방법
KR20190093439A (ko) * 2018-02-01 2019-08-09 (주)아크릴 텍스트 콘텐츠의 장르를 추론하는 방법 및 컴퓨터 프로그램
KR102052315B1 (ko) * 2018-05-28 2019-12-04 주식회사 에이브레인 실시간으로 색인어 연관도가 업데이트되는 자동 문서 분류 시스템

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095196B (zh) * 2015-07-24 2017-11-14 北京京东尚科信息技术有限公司 文本中新词发现的方法和装置
WO2018101506A1 (ko) * 2016-11-30 2018-06-07 주식회사 와이즈넛 문장을 구성하는 단어들의 의미범주를 재구성한 어휘의미패턴을 이용하여 하나의 문서를 복수의 카테고리로 분류하는 문서의 다중분류 장치 및 다중분류 방법
KR102069101B1 (ko) * 2018-03-26 2020-01-22 주식회사 와이즈넛 고객의 소리 데이터로부터 주요 자질 추출 방법 및 이를 이용한 데이터 유형 분류 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100816923B1 (ko) * 2006-04-13 2008-03-26 엘지전자 주식회사 문서 분류 시스템 및 그 방법
KR100842216B1 (ko) * 2006-12-08 2008-06-30 포항공과대학교 산학협력단 연관규칙 탐사 기법을 이용하여 추출한 다수의 연관분류규칙에 의한 다중범주 문서의 자동 분류 방법 및 장치
KR100858035B1 (ko) * 2007-03-13 2008-09-10 서승현 형태소 분석용 다차원 해석 사전 구축 방법 및 그 다차원해석 사전 구축 장치
KR101035038B1 (ko) 2010-10-12 2011-05-19 한국과학기술정보연구원 분류기의 동적 결합에 의한 대용량 분류기 자동 생성 시스템 및 방법

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160039273A (ko) * 2013-07-26 2016-04-08 그린에덴 유.에스. 홀딩스 Ii, 엘엘씨 컨셉 검색 및 탐색 시스템 및 방법
KR101507355B1 (ko) * 2013-08-08 2015-04-01 중앙대학교 산학협력단 벡터 분류 장치 및 방법
WO2016093532A1 (ko) * 2014-12-10 2016-06-16 주식회사 와이즈넛 정규화된 키워드 가중치에 기반한 연관 키워드 추출 방법
KR20160086255A (ko) * 2015-01-09 2016-07-19 한국과학기술원 개체의 표면형 문자열 용례학습기반에 의한 텍스트에서의 개체 범위 인식 장치 및 그 방법
CN107451168A (zh) * 2016-05-30 2017-12-08 中华电信股份有限公司 基于词汇统计的档案分类系统及方法
CN107451168B (zh) * 2016-05-30 2023-08-04 台湾中华电信股份有限公司 基于词汇统计的档案分类系统及方法
KR20180110713A (ko) * 2017-03-29 2018-10-11 중앙대학교 산학협력단 문서 유사도 분석 장치 및 방법
WO2019112117A1 (ko) * 2017-12-05 2019-06-13 (주)아크릴 텍스트 콘텐츠 작성자의 메타정보를 추론하는 방법 및 컴퓨터 프로그램
KR101985900B1 (ko) * 2017-12-05 2019-09-03 (주)아크릴 텍스트 콘텐츠 작성자의 메타정보를 추론하는 방법 및 컴퓨터 프로그램
KR20190093439A (ko) * 2018-02-01 2019-08-09 (주)아크릴 텍스트 콘텐츠의 장르를 추론하는 방법 및 컴퓨터 프로그램
KR102004981B1 (ko) * 2018-03-07 2019-07-30 주식회사 한글과컴퓨터 선택된 단어에 대한 자동 설명 삽입이 가능한 전자 문서 편집 장치 및 그 동작 방법
KR102052315B1 (ko) * 2018-05-28 2019-12-04 주식회사 에이브레인 실시간으로 색인어 연관도가 업데이트되는 자동 문서 분류 시스템
KR101985901B1 (ko) * 2019-02-14 2019-06-04 (주)아크릴 텍스트 콘텐츠 작성자의 메타정보 추론 서비스 제공 방법 및 컴퓨터 프로그램
KR101985902B1 (ko) * 2019-02-14 2019-06-04 (주)아크릴 형태소 특징 및 음절 특징을 고려한 텍스트 콘텐츠 작성자의 메타정보를 추론하는 방법 및 컴퓨터 프로그램
KR101985904B1 (ko) * 2019-02-14 2019-06-04 (주)아크릴 텍스트 콘텐츠를 소정의 단위로 분할하여 작성자의 메타정보를 추론하는 방법 및 컴퓨터 프로그램
KR101985903B1 (ko) * 2019-02-14 2019-06-04 (주)아크릴 텍스트 콘텐츠를 문장 단위로 분할하여 작성자의 메타정보를 추론하는 방법 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
KR101339103B1 (ko) 2013-12-09

Similar Documents

Publication Publication Date Title
KR101339103B1 (ko) 의미적 자질을 이용한 문서 분류 시스템 및 그 방법
CN106844658B (zh) 一种中文文本知识图谱自动构建方法及系统
Bharti et al. Sarcastic sentiment detection in tweets streamed in real time: a big data approach
KR101136007B1 (ko) 문서 감성 분석 시스템 및 그 방법
US10198491B1 (en) Computerized systems and methods for extracting and storing information regarding entities
US8751218B2 (en) Indexing content at semantic level
KR101661198B1 (ko) 단문/복문 구조의 자연어 질의에 대한 검색 및 정보 제공 방법 및 시스템
US10387469B1 (en) System and methods for discovering, presenting, and accessing information in a collection of text contents
US20100077001A1 (en) Search system and method for serendipitous discoveries with faceted full-text classification
US20020188586A1 (en) Multi-layered semiotic mechanism for answering natural language questions using document retrieval combined with information extraction
EP2410445A1 (en) A method for creating a dynamic relationship
Cagliero et al. ELSA: A multilingual document summarization algorithm based on frequent itemsets and latent semantic analysis
EP2206057A1 (en) Nlp-based entity recognition and disambiguation
CN103229162A (zh) 使用候选答案逻辑综合提供问题答案
WO2008046104A9 (en) Methods and systems for knowledge discovery
CN110162768B (zh) 实体关系的获取方法、装置、计算机可读介质及电子设备
US9940355B2 (en) Providing answers to questions having both rankable and probabilistic components
US20090112845A1 (en) System and method for language sensitive contextual searching
JP2011118689A (ja) 検索方法及びシステム
Yi et al. Revisiting the syntactical and structural analysis of Library of Congress Subject Headings for the digital environment
Dorji et al. Extraction, selection and ranking of Field Association (FA) Terms from domain-specific corpora for building a comprehensive FA terms dictionary
KR101478016B1 (ko) 공기 정보를 이용한 문장 클러스터 기반의 정보 검색 장치 및 방법
EP2184685A1 (en) Method for semantic processing of natural language using graphical interlingua
Rao et al. Enhancing multi-document summarization using concepts
KR100703193B1 (ko) 비음수 행렬 인수분해를 이용한 문서요약 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161202

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171203

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181124

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191202

Year of fee payment: 7