석사만세 2023. 2. 17. 16:52

6. TDM(Term Document Matrix) 구축
   - 머신러닝이나 딥러닝 알고리즘을 활용하여 텍스트를 분석하기 위해서는 먼저 텍스트 데이터를 수치형 데이터로 변환해야 한다. 공백이나 숫자를 제거하고 어간을 추출하는 등의 전처리 과정을 완료한 이후 각 문서와 단어의 사용 여부를 이용하여 만들어진 매트릭스를 TDM(Term Document Matrix)이라고 한다. TDM을 통해 각 단어의 빈도수를 쉽게 파악할 수 있다.
   - Bag of words는 모든 문서를 개별적인 단어의 집합으로 생각하며 문법, 단어순서, 구두점 등을 무시한다.

     예를 들어 Bag of words에서 John is quicker than Mary와 Mary is quicker than John은 같은 벡터를 가지게 된다.
   - Term Frequency는 특정 단어가 특정 문서에 등장하는 빈도를 나타낸다. 문서 안에서 단어의 등장 횟수에 따라 해당 단어의 중요도가 증가하게 된다. 그러나 빈도수는 타당성과 반드시 비례하지는 않는다. 문서의 길이가 길다면 단어가 나오는 횟수가 증가할 수 있기 때문에 문서 길이를 기준으로 정규화한 빈도수가 사용되기도 한다.
   - 단어의 비중을 결정할 때 전체 코퍼스 안에 이 단어가 얼마나 흔하게 나오는지에 대해서도 신경을 써야 한다. 단어가 너무 희귀하거나 반대로 너무 흔해도 안 된다. 모든 문서에 반복적으로 나오는 단어는 분류에 도움이 되지 않는다. 따라서 지나치게 흔한 단어는 제거되는 것이 일반적이다. 단어 빈도에 대한 상한과 하한을 설정하는 것 이외에 코퍼스 안에서의 단어의 분산도 고려해야 한다. 단어가 나온 문서의 수가 적을수록 단어가 해당 문서에서 중요할 가능성이 더 크기 때문이다. 어떤 단어 t의 희박성은 역문서 빈도(IDF)로 측정한다.
   - 텍스트에 대해서는 단어 빈도와 역문서 빈도를 곱한 TFIDF 값이 널리 사용된다. 
   - Bag of words는 모든 단어를 개별적으로 처리하며 순서를 완전히 무시한다. 그러나 단어순서가 중요한 경우에는 표현 방법 안에 단어순서에 대한 정보도 보관해두어야 한다. 인접한 단어들의 순서까지 포함시키면 단어 주머니보다 한 단계 높은 복잡도를 갖게 된다.

     예를 들어 인접한 단어들을 쌍으로 묶으면 문서에 들어있는 “The Quick brown fox jumps.” 문장은 구성 단어 집합 {quick, brown, fox, jumps}와 quick_brown, brown_fox, fox_jumps 3개의 토큰으로 변환된다. 이렇게 표현하는 기법을 n그램이라고 부르고 인접한 쌍을 바이그램이라고 한다.
   - 토픽 모델링은 문서 집합의 추상적인 주제를 발견하거나 텍스트 본문의 숨겨진 의미구조를 발견하기 위해 사용된다. 토픽 모델을 만드는 방법에는 LSA(Latent Semantic Analysis)과 같은 행렬 인수분해 기법과 LDA(Latent Dirichlet Allocation)와 같은 확률적 토픽 모델이 있다. 토픽 모델링에서는 단어들이 토픽에 연관되며 단어들의 가중치는 토픽 모델링 프로세스에서 학습한다. 군집과 마찬가지로 토픽은 데이터에 있는 통계적 규칙성에서 나온다.