다양한 단어의 표현 방법

이번 챕터의 제목은 카운트 기반의 단어 표현 방법이지만 먼저 카운트 기반의 단어 표현 방법 외에도 다양한 단어의 표현 방법을 공부해본다.

1. 단어의 표현 방법

단어의 표현 방법은 크게 두가지로 나뉜다.

  • 국소표현(Local Representation) : 해당 단어 그 자체만 보고, 특정값을 맵핑하여 단어를 표현하는 방법
  • 분산표현(Distributed Representation) : 그 단어를 표현하고자 주변을 참고하여 단어를 표현하는 방법

예를 들어 puppy(강아지), cute(귀여운), lovely(사랑스러운)라는 단어가 있을 때 각 단어에 1번, 2번, 3번 등과 같은 숫자를 맵핑(mapping)하여 부여한다면 이는 국소 표현 방법에 해당된다. 

 

반면, 분산 표현 방법은 해당 단어를 표현하기 위해 주변 단어를 참고한다. 

puppy(강아지)라는 단어 근처에는 주로 cute(귀여운), lovely(사랑스러운)이라는 단어가 자주 등장하므로, puppy라는 단어는 cute, lovely한 느낌이다로 단어를 정의한다.

 

즉, 국소 표현방법은 단어의 의미, 뉘앙스를 표현할 수 없지만, 분산 표현 방법은 단어의 뉘앙스를 표현할 수 있게 된다.

또한, 국소 표현 방법(Local Representation)을 이산 표현(Discrete Representation)이라하며 분산 표현(Distributed Representation)을 연속 표현(Continuous Represnetation)이라고도 한다.

2. 단어 표현의 카테고리화

이 글은 아래와 같은 기준으로 단어 표현을 카테고리화 하여 작성 되었다.

Bag of Words는 국소 표현에(Local Representation)에 속하며, 단어의 빈도수를 카운트(Count)하여 단어를 수치화하는 단어 표현 방법이다. 앞으로 BoW와 그의 확장인 DTM(또는 TDM)에 대해서 학습하고, 이러한 빈도수 기반 단어 표현에 단어의 중요도에 따른 가중치를 줄 수 있는 TF-IDF에 대해서 학습할 것이다.

 

그 다음에는 단어의 뉘앙스를 반영하는 연속 표현(Continuous Representation)의 일종LSA를 토픽 모델링이라는 주제로 학습할 것이다.

 

연속 표현(Continuous Representation)에 속하면서, 예측(prediction)을 기반으로 단어의 뉘앙스를 표현하는 워드투벡터(Word2Vec)와 그의 확장패스트텍스트(FastText)를 학습하고, 예측과 카운트라는 두 가지 방법이 모두 사용된 글로브(GloVe)에 대해서 학습할 예정이다.