자동분류(Document Classification)

Saltlux

Jump to: navigation, 찾기

목차

개요

문서의 분류 및 범주화 (Document Classification/Categorization)는 문서의 내용을 기준으로 하여 하나 혹은 그 이상의 범주 (Category)에 할당하는 것입니다. 문서 분류 작업은 크게 두 종류로 나누어 생각해 볼 수 있습니다.

지도적 (Supervised) 문서 분류는 샘플 문서들에 대한 정확한 분류 결과를 외부의 정보로서 제공되어 이를 참고할 수 있고, 비지도적 (Unsupervised) 문서 분류의 경우는 외부의 정보를 참조하지 않고 수행해야만 합니다. 물론 반지도적 (Semi-supervised) 문서 분류가 있을 수 있습니다. 이 경우에는 문서의 일부분에 대하여 외부 메커니즘에 의해 분류되어 있을 수 있습니다. 기본적으로는 문서 분류를 정하고 (Categorization) 각각의 분류에 맞는 샘플 문서들을 다양한 가중치를 적용해서 학습시켜 최적의 분류 조건을 찾아 낼 수 있습니다.

자동 분류는 학습을 통해서 최적의 분류 조건에 대한 특성을 정한 후, 새로운 문서에 대하여 그 문서의 특성을 추출한 후 자동으로 정해진 분류에 맞게 분류를 하는 기능입니다.

소개

자동 분류 알고리즘들은 문서에 표현되는 단어로부터 문서 벡터를 생성하고, 벡터화된 훈련 문서들을 예제로 사용하여 학습함으로써 관련된 문서에 범주를 할당합니다. 일반적으로 자동 문서 분류는 자질 추출과정과 분류과정으로 나눌 수 있습니다.

추출과정은 전처리 과정과 자원 축소 과정을 거쳐서 문서에 나타나는 단어들을 기반으로 문서벡터를 만듭니다. 전처리 과정은 문서에서 태그와 불용어를 제거하고 형태소 분석 및 어간화 작업을 통해서 특정한 용어들을 추출합니다. 그리고 전처리 과정을 통해 추출된 자질을 축소하여 벡터 형식으로 표현하는데 사용하며, 차원 축소 과정을 거쳐 추출된 단어들은 문서를 얼마만큼 대표하는지에 대한 가중치와 같이 문서를 벡터 형식으로 표현됩니다.

문서 분류에 활용되는 여러 기법들 중에 널리 사용되고 있는 TFIDF에 대해 간략하게 설명하겠습니다. .

  • TFIDF (Term Frequency Inverse Document Frequency)

TFIDF는 각 문서에 존재하는 단어에 대해 가중치를 부여함으로써 문서의 특징을 표현한 후, 단어들 가중치의 벡터로 표현되는 두 문서간의 유사도 비교를 가능하게 하는 방법입니다.

벡터 모델 중의 하나로서 불리안 (Boolean) 모델의 0 또는 1의 가중치 한계를 극복하고, 질의문서와 검색문서 간의 부분 일치를 가능하게 하는 모델입니다. 다시 말하면, 질의문서와 검색문서의 단어들에 연속 형 수치의 가중치를 부여하고, 이 가중치를 이용하여 유사도를 계산합니다. 이 후 상위의 유사도를 갖는 문서들을 검색해오는 방법으로 정확하게 사용자의 정보 요구사항에 부합하는 문서들을 검색할 수 있다는 장점으로 널리 쓰이고 있습니다. TFIDF 모델이란 TF (Term Frequency) 와 IDF (Inverse Document Frequency)의 곱을 의미합니다. TF는 문서에서 단어가 나타나는 빈도를 의미합니다. 예를 들어, 한 검색 문서에서 가장 많이 나타난 단어인 ‘농사’가 25번 나왔고, 그 문서에서 ‘벼’ 라는 단어가 10번 나왔다면 그 검색 문서에서 ‘벼’의 TF 값은 10/25=0.4가 됩니다.

DF (Document Frequency)는 보유한 전체 문서 중 해당 단어를 갖고 있는 문서의 빈도를 의미합니다. 예를 들어, 보유 문서 1000개 중 ‘벼’라는 단어를 포함한 문서가 모두 550개라고 하면, ‘벼’의 DF값은 550/1000=0.55가 됩니다. TF의 경우에는 그 값이 크면 해당 단어가 그 문서에서 중요도가 높다고 할 수 있지만, DF는 해당 단어가 여러 문서에서 나타나므로 어떤 특정 문서를 분류할 때에 사용할 수 있는 단어로서의 가치는 떨어져 역수에 log를 취한 IDF를 사용합니다.
그 외 자연어 처리에 기반을 두고 있는 접근 방법으로는 하기와 같은 모델들이 있습니다.

  • 베이지안 확률분류 (Bayesian Classifier)
  • 결정 트리 (Decision Tree)
  • 최근접 이웃분류 (K-Nearest Neighbor Classification)
  • 규칙 학습 (Rule Learning Algorithm)
  • 인공 신경망 (Artificial Neural Networks)
  • 퍼지 알고리즘
  • SVM (Support Vector Machines)
  • LSI (Latent Semantic Indexing)
  • Concept Mining

사례 및 활용

가장 간단하게 이를 적용해 볼 수 있는 사례는 스팸 필터입니다. 메일의 헤더와 내용을 기반으로 문서가 스팸인지 아닌지에 대한 이항 (Binary) 분류를 적용하여 접근할 수 있으며, 뉴스그룹 문서의 분류에도 사용 될 수 있습니다. 또한, 사내 지식 자산을 통합하고 재 분류하고 초기에 구축한 분류체계에 따른 자료 검색이 어려운 정보에도 사용될 수 있습니다. Saltlux의 자동분류 기술은 KOTRA , LG전자, 특허청에 적용된 사례가 있습니다.

참고 자료

1) Bao, Y abd Ishii, N., “Combining Multiple K-Nearest Neighbor Classifiers for Text Classification by Reducts.” In proceeding of the fifth International Conference on Discovery Science, pp 340-347, 2002
2) http://en.wikipedia.org/wiki/Document_classification
3) 이재식, 이종운, “사례기반 추론을 이용한 한글 문서분류 시스템”, 경영정보학연구, 제12권 제 2호, 2002년 6월
4) 김진상, 신양규, “베이지안 학습을 이용한 문서의 자동분류”, Journal of the Korean, Data & Information Science Society, 2000, Vol. 11, No. 1, pp 19 ~ 30

콘텐트 히스토리