Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

자동 문서 분류는 어떻게 수행될까? 핵심 원리와 절차 완벽 정리

자동 문서 분류(automated document classification)는 텍스트 마이닝에서 필수적인 서비스입니다. 온라인상에 존재하는 방대한 양의 문서를 감안할 때, 이러한 기록들을 자동으로 특정 클래스로 정리하는 능력은 문서 검색과 후속 분석을 지원하는 데 매우 중요합니다.

자동 문서 분류의 주요 활용 분야

문서 분류는 다음과 같은 다양한 용도로 활용되고 있습니다.

  • 자동 주제 태깅: 문서에 라벨을 자동으로 부여
  • 주제 디렉터리 구성: 문서를 주제별로 체계적으로 정리
  • 작성 스타일 식별: 문서의 글쓰기 스타일 판별
  • 하이퍼링크 목적 정의: 특정 문서 집합과 관련된 링크의 역할 규명

자동 문서 분류의 일반적인 절차

자동 문서 분류는 일반적으로 다음과 같은 단계로 진행됩니다.

  1. 사전에 분류된 문서 그룹을 훈련 집합(training set)으로 사용합니다.
  2. 훈련 집합을 분석하여 분류 체계(classification scheme)를 도출합니다.
  3. 도출된 분류 체계는 테스트 단계를 거쳐 정제(refinement)됩니다.
  4. 최종적으로 완성된 분류 체계를 활용해 온라인 문서들을 분류합니다.

관계형 데이터 분류와의 차이점

이 과정은 관계형 데이터(relational data)의 분류와 유사해 보이지만, 중요한 차이가 있습니다. 관계형 데이터는 잘 구조화되어 있어 각 튜플(tuple)이 속성-값(attribute-value) 쌍의 집합으로 표현됩니다.

예를 들어, {sunny, warm, dry, not windy, play tennis}라는 튜플에서 "sunny"는 날씨(weather outlook) 속성에 해당하고, "warm"은 온도(temperature) 속성에 해당하는 식입니다. 분류 분석은 어떤 속성-값 쌍의 조합이 '그 사람이 테니스를 칠 것인지'를 판단하는 데 가장 높은 판별력(discriminating power)을 갖는지를 결정합니다.

반면 문서 데이터베이스는 속성-값 쌍 구조로 되어 있지 않습니다. 문서는 키워드(keyword)의 집합으로 표현되며, 이 키워드들은 고정된 속성이나 차원으로 조직화되어 있지 않습니다. 만약 문서 내의 각각의 고유한 키워드, 단어 또는 특징(feature)을 하나의 차원으로 본다면, 하나의 문서 집합에는 수천 개의 차원이 존재할 수 있습니다.

따라서 의사결정나무(decision tree) 분석과 같은 관계형 데이터 지향의 분류 방법은 문서 데이터베이스의 분류에는 효율적이지 못한 경우가 많습니다.

벡터 공간 모델과 k-최근접 이웃(kNN) 분류기

벡터 공간 모델(vector-space model)에 따르면, 두 문서가 동일한 문서 벡터(document vector)를 공유하면 두 문서는 유사하다고 간주됩니다. 이 모델은 "유사한 문서는 동일한 클래스 라벨을 할당받을 것"이라는 직관에 기반한 k-최근접 이웃(k-nearest neighbor, kNN) 분류기의 구축을 촉진했습니다.

kNN 분류기의 작동 방식은 다음과 같습니다.

  1. 모든 훈련 문서를 색인(indexing)하고, 각 문서에 해당하는 클래스 라벨을 연결합니다.
  2. 테스트 문서가 제출되면, 이를 정보 검색(IR) 시스템에 대한 질의(query)로 취급합니다.
  3. 훈련 집합에서 질의와 가장 유사한 k개의 문서를 검색합니다. 여기서 k는 조정 가능한 상수입니다.
  4. 테스트 문서의 클래스 라벨은 k개의 최근접 이웃들의 클래스 라벨 분포에 따라 결정됩니다.

이때 클래스 라벨 분포는 단순 원시 카운트(raw count) 대신 가중치를 적용한 카운트(weighted count)를 사용하거나, 라벨이 붙은 문서의 일부를 검증(validation)용으로 따로 확보하는 방식 등으로 더욱 정교하게 개선할 수 있습니다.