감성 분석

머신러닝

목록 보기
11/13
  • 감정 분석: 사람들의 의견, 리뷰가 긍정 정보인지 부정 정보인지 구별하고 분석하는 것. 자연어 처리의 하위분야. 문서성향분석
    => 대표적 작업: 특정 주제에 대해 표현한 의견이나 감정을 기반으로 문서를 분류하는 것

BoW 모델

  • 텍스트나 단어 같은 범주형 데이터는 알고리즘에 주입하기 전에 수치 형태로 변환해야 된다!
  • 텍스트를 수치 특성 벡터로 표현하는 BoW 모델
  1. 전체 문서에 대한 고유한 토큰, ex) 단어로 이루어진 어휘사전 생성
    • 문서를 토큰화하는 한 가지 방법은 공백 문자를 기준으로 개별 단어로 나누는 것
  2. 특정 문서에 각 단어가 얼마나 자주 등장하는지 헤아려 문서의 특성 벡터 생성

  • 어휘 사전은 고유 단어와 정수 인덱스가 매핑된 파이썬 딕셔너리에 저장.
  • 위 숫자는 인덱스 아래 숫자는 단어가 나타난 빈도!를 의미함

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) 잠재 디리클레 할당

profile
정리하는게 공부가 될 지 모르겠지만, 정리를 하면 마음만큼은 편해

0개의 댓글