사람들이 일상적으로 쓰는 언어
컴퓨터 자연어 이해 못함 => 벡터로 바꿔주는 과정
?전처리는 왜 할까요?
차원의 저주!
: 특성의 개수가 선형적으로 늘어날 때 동일한 설명력을 가지기 위해 필요한 인스턴스의 수는 지수적으로 증가한다 즉, 동일한 개수의 인스턴스를 가지는 데이터 셋의 차원이 늘어날 수록 설명력이 떨어진다
대소문자 통일
대소문자로 통일하여 같은 범주로 맞춰준다
정규표현식(Regex)
SpaCy로 쉽게 처리
: 문서 구성요소를 다양한 구조에 나누어 저장하지 않고 요소를 색인화 하여 검색 정보를 간단히 저장하는 라이브러리
불용어 처리
제품 리뷰를 이해하는데 있어 도움이 되지 않는 의미가 없는 단어들(the, and, i등등)
통계적 트리밍
:불용어 처리와 같이 직접 단어를 추가하여 제거하지 않고 말뭉치 내에서 너무 많거나 적은 토큰을 제거
어간추출
어간추출은 ing, ed, s등과 같은 단어의 앞/뒷부분을 단순히 제거
: 단어가 특정 문서(혹은 문장)에 들어있는 횟수를 바탕으로 해당문서를 벡터화 함
Bag of words(BoW): TF(term frequency)
: 문서 혹은 문장에서 문법이나 단어의 순서 등은 무시하고 단어드르이 빈도만 고려하여 벡터화
sklearn의 CounterVectorizer를 사용하면 TF방식으로 문서를 벡터화 함
Bag of words(BoW): TF-IDF(term frequency-inverse document frequency)