: 자연어 처리, text-mining 분야에서 딥러닝 기술이 적용되기 이전에 많이 활용된, 단어 및 문서를 숫자형태로 나타내는 가장 간단한 형태의 기술
step1) 문장에서 고유 단어를 뽑아 단어 모음집을 만든다.
sentences : “John really really loves this movie”, “Jane really likes this song”
vocabulary : {John, really, loves, this, movie, Jane, likes, song}
⇒ 각 단어를 범주형 변수로 볼수 있고 이를 one-hot-vector로 변환
step2) 고유 단어들을 one-hot-vector로 변환한다.
각 단어를 범주형 변수로 보고 이를 N(단어의 개수) dimmension vector로 encoding
ex. John : [1 0 0 0 0 0 0 0] ...
step3) one-hot vector의 합으로 각 문장이나 문서를 표현한다. (Bag-of-Words)
카테고리 개수 : C (정치, 경제, 사회...), 문서 : d
1) MAP (Maximum a posteriori)
: d given c(d 라는 문서가 c카테고리일 확률)
2) Bayes Rule
: c라는 카테고리가 주어졌을 경우에 d(문서)를 이루는 단어 하나하나의 확률을 더한 값(단어는 서로 독립이라고 가정) = 카테고리가 c일 확률
3) Dropping denominator
P(d) : 문서를 선택할 확률. 하지만 우리는 하나의 문서를 고정하고 있기 때문에 상수값으로 무시할 수 있다.
step1) 각 카테고리가 나올 확률을 구한다. (CV, NLP 각각 2개씩 가지고 있기 때문에 1/2)
step2) 각 단어가 카테고리 전체 단어에서 나올 확률을 하나씩 구한다.
ex. task는 CV의 14개 단어 중 1번, NLP의 10개의 단어중 2번 나오기 때문에 1/14, 2/10으로 구할 수 있다.
step3) 결과적으로 카테고리 확률 * 각 단어의 확률의 곱 = 해당 카테고리일 확률