- 감정 분석: 사람들의 의견, 리뷰가 긍정 정보인지 부정 정보인지 구별하고 분석하는 것. 자연어 처리의 하위분야. 문서성향분석
=> 대표적 작업: 특정 주제에 대해 표현한 의견이나 감정을 기반으로 문서를 분류하는 것
BoW 모델
- 텍스트나 단어 같은 범주형 데이터는 알고리즘에 주입하기 전에 수치 형태로 변환해야 된다!
- 텍스트를 수치 특성 벡터로 표현하는 BoW 모델
- 전체 문서에 대한 고유한 토큰, ex) 단어로 이루어진 어휘사전 생성
- 문서를 토큰화하는 한 가지 방법은 공백 문자를 기준으로 개별 단어로 나누는 것
- 특정 문서에 각 단어가 얼마나 자주 등장하는지 헤아려 문서의 특성 벡터 생성

- 어휘 사전은 고유 단어와 정수 인덱스가 매핑된 파이썬 딕셔너리에 저장.
- 위 숫자는 인덱스 아래 숫자는 단어가 나타난 빈도!를 의미함
tf-idf를 사용한 단어 적합성 평가
- tf-idf: 특성 벡터에서 자주 등장하는 단어의 가중치는 낮추는 기법
- TF (Term Frequency): 문서 내에서 단어의 중요도. 자주 등장할수록 중요하다고 간주
- IDF (Inverse Document Frequency): 여러 문서에 흔히 등장하는 단어의 중요도를 낮춰야 함!
why? 자주 등장하는 단어의 가중치를 낮추는 걸까?
- 불용어(the, is, has ...아무의미없는)는 거의 모든 문서에 등장하므로 정보량(구분력)이 낮다!
=> TF-IDF는 IDF를 통해 이러한 단어들의 가중치를 낮추고, 특정 문서를 잘 나타내는 고유한 단어에 높은 가중치를 부여함!
텍스트 데이터 정제
- ex) 분석에 불필요한 html 마크업언어 제거
- :) 같은 이모티콘 문자는 냅둔다! 이런 이모티콘은 확실히 감정 분석에 유용하기 때문
- 한글은 영어와 달리 조사와 어미가 발달해 있기 때문에 BoW나 어간 추출보다 표제어 추출 방식이 적합 = 형태소 분석
대용량 데이터 처리: 외부 메모리 학습
- 5만 개의 영화 리뷰를 위한 특성 벡터를 만드는 계산 비용 많이 소요 -> 대량의 메모리 필요
-> 외부 메모리 학습 : 작은 배치로 나누어 분류기를 점진적으로 학습. 쉽게 말하자면 데이터가 너무 커서 한 번에 메모리에 올릴 수 없는 경우, 데이터를 작은 청크(chunk) 단위로 나누어 처리하며 학습하는 방법
토픽 모델링
레이블이 없는 텍스트 문서에 토픽을 할당하는 광범위한 분야.
ex) 대량의 뉴스기사 카테고리 분류. 아 이 기사는 스포츠 기사구, 정치 기사구나 등
-> 비지도 학습의 클러스터링으로 생각할 수 있음!
대표 토픽 모델링 ex) 잠재 디리클레 할당