자연어의 의미를 분석하여 컴퓨터가 처리할 수 있도록 하는 일
기계에게 인간의 언어를 이해시키는 인공지능의 한 분야
음성인식, 내용요약, 번역
사용자의 감정분석, 질의 응답 시스템
1. 데이터 정제 및 전처리
텍스트를 정제하여 신호와 소음 구분, 이상치로 인한 오버피팅 방지
2. 텍스트 데이터 전처리
3. 데이터 나누기
train_test_split
4. 텍스트 데이터 벡터화
BOW, TF-IDF
학습세트 X_train, y_train > 학습 fit(X_train, y_train)
예측세트 X_test, y_test > 예측 predict(X_test)
평가 evaluate(y_test, y_predict)
정규표현식(Regular Expression: re)
: 특정한 규칙을 가진 문자열의 집합
<정규표현식 참고>
토큰화(Tokenization)
: 문자열을 토큰으로 나누는 것
정제(Cleaning), 정규화(Normalization)
어간추출(Stemming), 표제어표기법(Lemmatization)
불용어(Stopword)
: 전처리 기준을 빈도수 기준으로 하면 조사, 접미사와 같이 의미가 없지만 빈도수는 높은 단어들을 일컫는 말
KoNLPy
soynlp
원핫인코딩(One-Hot Encoding)
BOW(Bag of Words)
N-gram 언어모델(N-gram Language Model)
문서 단어 행렬(DTM: Document-Term Matrix)
TF(단어빈도, Term Frequency)
feature_extraction.DictVectorizer()
: 특성-값 매핑 목록 벡터로 변환
feature_extraction.CountVectorizer()
: 텍스트 문서 모음 토큰 수의 행렬로 변환
feature_extraction.HashingVectorizer()
: 텍스트 문서 모음 토큰 발생 매트릭스로 변환
feature_extraction.TfidfTransformer()
: 카운트 행렬 정규화된 tf/tf-idf 표현으로 변환
feature_extraction.TfidfVectorizer()
: 문서 모음 TF-IDF 매트릭스로 변환