ex. 뉴스가 주어질 때 뉴스의 카테고리를 정치 or 스포츠로 분류한다
feature representation을 통해 카테고리에 대한 결정 경계를 학습하고 분류 결과를 도출한다
text가 주어질 때 주제별로 비슷한 text를 군집화(Clustering)을 통해 분류한다
대부분의 자연어처리 문제들은 분류 문제 로 해결 가능하다
①Term extraction:문서를 term단위로 분해하여 term을 추출하는 것
②Vocabulary Generation: 추출한 Term으로 Term Vocabulary를 생성하여 Term ID로 변환한다
Stop word list:너무 자주 출현해서 문서를 변별하는 특색이 없어 쓸모없는 단어를 제외한다. 단, 의미상 관련된 용어는 포함시켜야된다
③Document Transformation
Term을 ID로 바꿔 Vocabulary에 없는 단어를 제거하고, Term의 문서 내 frequency를 센다
④Document Weighting
Weighting 기법: TF or TF x IDF, Probability
모델에 따라 term에 부여되는 가중치가 다르다
N: 문서집합(collection)의 총 문서수
df:문서 빈도(document frequency)
tf:용어 빈도(term frequency)
TF와 IDF를 결합하여 각 용어의 가중치를 계산한다
문서D에 나타난 용어t에 부여되는 가중치는 다음과 같다
TF-IDF(t,D)=TF x IDF
Document를 Term space의 Vector로 가정하여 벡터 간 유사도를 계산하여 유사성을 비교한다
문서 유사성 계산
KNN(k-Nearest Neighbors), Naive Bayes Classifier, Support Vector Machine, 딥러닝 기반의 CNN, RNN, BERT등
분류하고자 하는 데이터와 가장 가까운 k개의 데이터를 비교한다
x:분류될 문장, c:클래스(긍정, 부정, 중립), P(c|x):x가 출현했을 때 c일 확률
사후확률 P(c|x)는 계산하기 어려우므로 베이지안 룰로 확률을 계산한다
최종적으로 변형된 조건부 확률을 통해 가장 큰 확률을 얻는 클래스로 분류한다