Bag of words 정의 


Bag of words기법은 단어의 빈도수만을 고려하여 Vector화하는 Natural language Processing(NLP)의 기법입니다.
Bag of words는 문장내의 단어의 순서를 고려하지 않습니다.

아래의 예제의 문장1,2 에서 Token을 각각 단어로 지정 하였을 때, 
Bag of words 로 단어들을 벡터화 하면 아래와 같습니다.



예제를 보면 단어의 순서는 고려되지 않고 
  단어의 빈도수 만을 고려하여 벡터화가 된것을 볼 수 있습니다. 
이경우 단점으로 단어의 앞뒤의 맥락이 무시될 수 있습니다.
예제2에서 "맛있는" 뒤에 "요리"라는 단어가 자주 등장 하지만 이것이 무시되는 것입니다.
이를 보완하기 위해 N-gram 이라는 기법이 있습니다.

Bag of words : N-gram


N-gram은 특정한 갯수의 단어를 항상 묶어서 벡터화 합니다.
예를들어 예제2 에서 단어 2개를 항상 묶는다고 하면 아래와 같이 표현 할 수 있습니다.

이경우에는 단어 앞뒤의 맥락이 포함될 수 있으며 token은 2단어가 하나로 묶이게 됩니다.