Applied Data Analysis Study
Frequency-Based Method 본문
- 단어 횟수를 기반으로 표현하는 방식(Frequency-Based Method)은 문장에 있는 Token의 등장횟수를 세어서 표현하는 방식
- Token의 횟수에만 집중하기 때문에 주머니 같은 곳에 Token을 모아놓고 단어를 뽑아서 문장을 표현해서 "Bag of Word(BoW)" 이라고도 한다.
- Token을 세어서 표현했다고 해서 단어빈도(Term-Frequency, TF)를 이용한 방식이라고도 한다.(이부분 살짝 이상하다. 왜냐하면 TF는 하나의 문서 안에서 혹은 문장 안에서의 단어빈도로 제한하는 것으로 알고 있다. )
- Corpus의 모든 Token에 대해 문장(문단)을 위와 같이 BoW형태로 표현해 만든 Document-Term Matrix를 모델링에 사용하곤 했다. 이 방법에는 한가지 문제가 있는데 영어의 "a", "an", "of", "the"와 같이 특정 token은 문장이나 문단과 상관없이 많이 등장한다.(이를 불용어라고 한다.) 이 때문에 등장 빈도가 적은 Token을 잘 반영을 못한다.
- 이런 문제를 해결하기 위해TF-IDF(Term Frequency- Inverse Document Frequency)를 쓴다.
idf(t,S)=log(|S|/|{s∈S: t∈s}|+epsilon)/ (t: token, s: sentence, S: sentence set)
tf-idf=tf(t,s) x idf(t,S)
idf는 전체 문장의 개수을 token이 나타난 문장의 개수로 나눠준다. 입실론은 분모를 0으로 만들지 않기 위해서 더해주는 아주 작은 값이다. 즉, idf는 corpus 문장 수에서 해당 토큰이 등장하는 문장 수의 비율의 역수이다.
위에서 언급한 a, an, of 같은 불용어들은 tf가 높지만 다른 문장에서도 많이 나오는 단어들이기 때문에 IDF가 매우 작게 나올 것이다.
frequency based method는 문자를 비교적 쉽게 표현하고 특정 task에 대해 난이도 대비 좋은 성능을 보인다. (스팸메일에 자주 나오는 단어들만 걸러도 스팸메일 구분)
하지만 단어들의 순서가 우리가 사용하는 언어에서 중요한 맥락을 갖는데 단어의 순서가 생략되었다는 치명적인 단점이 있다.
'딥러닝 & 파이토치' 카테고리의 다른 글
one-hot encoding (0) | 2022.04.29 |
---|---|
딥러닝 논문 모아두는곳 (0) | 2022.04.29 |
문자를 숫자로 표현하는 방법 & Corpus & Out-of-Vocabulary(OOV) (0) | 2022.04.23 |
[NLP] n-gram Tokenization (0) | 2022.04.23 |
Byte Pair Encoding (0) | 2022.04.22 |
Comments