7. 텍스트 분류

김지우·2023년 7월 30일

NLP_Basic

목록 보기
7/9

해당 글은 자연어 처리 바이블 (임희석 저) 에서 참고하여 작성되었음을 알려 드립니다.

딥러닝 알고리즘과 관련된 부분은 추후 추가적으로 다룰 예정입니다.

목차
1. 지도학습기반 텍스트 분류
2. 비지도학습기반 텍스트 분류

1. 지도학습기반 텍스트 분류

프로세스
1. 데이터 준비
2. 데이터 전처리

  • 오탈자 교정
  • 띄어쓰기
  • 불용어 제거

3. 토큰화

  • 품사태깅
  • 개체명 인식
  • 구문 분석기
  • N-Gram

4. 특징 값 추출

  • Bag of Words => 단어들의 순서는 고려하지 않고, 단어들의 출현 빈도에만 집중하는 텍스트 데이터의 수치화 방법

  • TFIDF => 텍스트를 실수 벡터화 시키는 또 다른 과정

    • 사용시기

      	- 문서의 유사도를 구해야 할 때
      	- 검색 결과의 중요도를 정할 때
      	- 특정 단어의 중요도를 구할 떄
    • 개념

      • df(t) : 특정단어 t가 등장한 문서의 수
      • tf(d,t) : 특정 문서 d에서의 특정 단어 t의 등장 횟수
      • idf(d,t) : df(t)에 반비례하는 수. 식(16.1)
        idf(d,t)=log(n1+df(t))idf(d,t) = log(\frac{n}{1+df(t)})
  • 기타 Feature Extraction 방법들

    • DicVectorizer => 각 단어의 수를 세어놓은 사전에서 BOW 벡터를 만든다.
    • CountVectorizer => 문서 집합에서 단어 토큰을 생성하고 각 단어의 수를 세어 BOW 인코딩한 벡터를 만든다.
    • TfidVectorizer => CountVectorizer와 비슷하지만 TF-IDF 방식으로 단어의 가중치를 조정한 BOW 벡터를 만든다.
    • HashingVectorizer => 해시 함수를 이용하여 적은 메모리와 빠른 속도로 BOW 벡터를 만든다.

5. 학습
대표 알고리즘
NB

  • Naive Bayes 알고리즘이란?
    • 특성들 사이의 독립을 가정하는 Bayes 정리를 적용한 확률 분류기
    • P(yX)=P(Xy)P(y)P(X)P(y|X) = \frac{P(X|y)P(y)}{P(X)}
  • 종류
    • 다중분포 나이브 베이즈

      • 문서 분류 문제에서 주로 사용(스포츠, 정치, 기술 등등)
    • 베르누이 나이브 베이즈

      • 다중분포 나이브 베이즈와 비슷하지만 예측 변수를 Boolean으로 사용
    • 가우시안 나이브 베이즈

      • 예측 변수가 연속값을 취하고 불연속적이지 않은 경우에 사용

SVM

  • 주어진 데이터 집합을 바탕으로 하여 새로운 데이터가 어느 카테고리에 속할지 판단하는 비확률적인 이진 선형 분류 모델을 만든다.
  • 초평면(hyperplane)의 법선 벡터 'w'와 편향 값 'b'로 표현되는 분류기를 찾는다.
  • 초평면은 가능한 최대 오차로 각기 다른 클래스를 분류

기타 알고리즘들

  • KNN
  • Decision Tree
  • Random Forest

2. 비지도학습기반 텍스트 분류

대표 군집화 알고리즘
K-means clustering

  • 주어진 데이터를 k개의 클러스터로 묶는 알고리즘
  • 각 클러스터와 거리차이의 분산을 최소화하는 방식

나중에 다시 정리하면 좋은 내용들

  • 그냥 위에 언급한 알고리즘들 다 한번씩 살펴봐
profile
프로그래밍 기록 + 공부 기록

1개의 댓글

comment-user-thumbnail
2023년 7월 30일

잘 봤습니다. 좋은 글 감사합니다.

답글 달기