자연어는 사람들이 일상적으로 쓰는 언어를 인공적으로 만들어진 언어인 인공어와 구분하여 부르는 개념으로 이런 자연어를 컴퓨터로 처리하는 기술이다.
텍스트를 컴퓨터가 계산할 수 있도록 수치정보로 변환하는 과정이다.
1) 등장 횟수 기반의 단어 표현(Count-based Representation)
단어가 문서(혹은 문장)에 등장하는 횟수를 기반으로 벡터화하는 방법
2) 분포 기반의 단어 표현(Distributed Representation)
타겟 단어 주변에 있는 단어를 기반으로 벡터화하는 방법
🔎 자세히 알아보기
[벡터화]
- 원-핫 인코딩(One-hot Encoding)의 단점?
단어 간 유사도를 구할 수 없다.
- 임베딩(Embedding)
토큰을 "고정 길이의 벡터"로 나타내는 방법으로 벡터 내의 각 요소가 연속적인 값을 가지게 되어, 단어 간 유사도를 구할 수 있다.
- 철자 단위 임베딩(Character level Embedding)
기존에 등장하지 않는 단어가 등장하는 문제인 OOV(Out of Vocabulary) 문제를 해결하였다.
데이터셋의 차원이 늘어날수록, 설명력이 떨어지게 되는 것을 의미한다.
단어 간 유사도를 구할 수 없다.
from sklearn.feature_extraction.text import TfidfVectorizer
TfidfVectorizer(stop_words='english',
ngram_range=(1,3),
max_df=.8,
min_df=5,
max_feature=800
)