#TIL
문서분류는 자연어 처리에서 가장 중요한 분야 중 하나라고 한다!
문서분류란?
텍스트를 입력으로 받아 텍스트가 어떤 종류의 범주에 속하는지를 구분하는 작업이다.
어떤 분류 문제들이 있을까?
예시
(감성분류하면 영화 리뷰 분류만 생각했었는데 이런 예시보니까 새롭고 왜 이 생각을 못했지싶고 재밌어 보인다...!!!!)
감성의 여러 측면이 있을 수 있지만 여기선 간단한 작업에 집중해서 본다.
문서 분류 방법들로 단어들의 조합을 사용한 규칙들을 사용한다.
스팸분류: black_list_address OR("dollars" AND "you have been selected")
사람이 만든 규칙으로 분류하기 때문에 정확도는 높으나 recall이 낮다.
간단한 조합으로 해결할 수 없는 애매한 상황이 생긴다면 난감...
그래서 나온 기법으로 snorkel
방법이 있다.
labeled data가 부족
하거나 클래스 정의 자체가 애매한 경우
에 매우 유용한 방법다양한 모델에 사용 가능하다.
그 중 Naive Bayes 분류기를 살펴보자.
Naive Bayes 가정과 Bag of Words 표현에 기반한 간단한 모델이다.
Bag of Words
-문서를 순서를 고려하지않은 단어들의 집합으로 만든 후 빈도수만 계산한다.
-|v|개의 원소를 가진 벡터가 만들어진다.
-벡터의 크기는 고정되어 있기 때문에 Logistic regression이나 NN에 input으로 쉽게 사용할 수 있다.
*Bag of words의 가정으로는 '위치가 확률에 영향을 주지 않는다' 는 것.
수식화를 해보자면, 문서 d와 클래스 c
즉, Naive Bayes 분류기는 입력값에 관한 선형 모델이다.
확률적 생성 모델에 대한 수식이 쭈우욱 있지만....
여기에 다 옮기기에는 무리니까 일단 핵심만!
Naive Bayes 분류기 수식화에 대한 내용도 많고, 확률적 생성 모델에 대한 수식도 많지만, 이건 내가 다시 연필로 끄적이면서 복습해야겠다.
수식을 다 빼고나니까 Naive Bayes 분류기에 대한 설명이 너무 심플하다못해 이게 설명인가 싶을정도가 되어버렸는데, 되도록 좀 더 정리해보는걸루..!