R - 감성분석

감성분석에 대해서

Posted by Yan on March 28, 2021

감성분석 Sentiment Analysis

  • 이성보다는 감성에 의존한 개인의 생각이나 의견, 견해 등을 분석하는 것

  • 객관적 사실 보다는 주관적인 견해를 분석하는 방법론 (Opinion Mining)

  • 의견에 관련된 내용을 자동 추출하는 것

종류

주관성 분석

  • 주관적 견해가 들어간 글을 찾아내는 방법론

극성분석 Polarity analysis

  • 좋다 싫다 양 극의 극성을 분석하는 것

단계

단어 기반

  • 단어에 따라서 그 단어가 어떤 감성을 가지고 있는지, 어떤 극성값을 가지고 있는지 살펴봄.
  • 유니그램단위, Ngram단위로 감정분석을 할 수 있음

문장 기반

  • 문장별로 감성분석해서 감성판별

감성분석에서의 해석 방법

Bag of words (IR)

  • bag를 만들어서 정보 검색론에서 사용. Bag안에 들어있는 단어들이 어떤 감성값을 가지고 있는지 감성값들의 합을 가지고 그 글의 감성을 추적하는 방법론

어휘사전 기반

  • 온톨로지나 시소러스와 같은 어휘 사전을 바탕으로 사전 기반 감성분석 가능

구문 패턴

  • Part of speech tagging같은 방법

문장 구조

  • 심도있게 NLP를 할 수 있는 문장구조를 트리구조로 만들어서 감성분석

감성분석의 적용

  • 정치 : 사람들이 이 후보나 이슈에 대해 어떻게 생각하는가?
  • 상품 : 사람들이 신제품에 대해 어떻게 생각하는가?
  • 영화 : 이 리뷰가 긍정적인가, 부정적인가?
  • 예측 : 선거결과나 시장 트렌드를 감성분석으로 예측

사업과 조직에서

  • 상품과 서비스 벤치마킹, 시장 정보, 상담가, 설문조사, 포커스 그룹을 선정하는 데 적용 가능

개인의 레벨에서

  • 상품 구매, 서비스 이용, 정치적 주제에 대한 견해 찾기, 기타 의사결정에 적용 가능

광고 배치에서

  • 상품의 광고를 어디에 배치할지, 비판적 입장이라면 경쟁사의 광고를 배치할지 결정하는데 적용

의견 검색의 측면에서

  • opinion을 위한 개괄적 검색 기능을 제공하고, 관점 지향 감성 분석(제품의 특정 측면이나 관점을 검색하고 싶을 때)에 적용 가능

지도 학습 (Supervised Learning)

  • 기존의 텍스트마이닝 기법처럼 지도학습과 비지도 학습으로 분류해서 접근할 수 있음
  • 데이터에서 특정 데이터(영화평, 상품평 등)를 수집

    -> 그 특정 데이터에 대한 각각의 감성 평가가 이미 구축되어 있고(학습데이터) 학습데이터를 기반으로 특정 분류기를 학습시킴

    -> 평이 존재하지 않는 새로운 데이터에 대해서 그 데이터의 감성이 어떤지 의견의 좋고 나쁨을 예측할 수 있는 방법론

비지도 학습(Unspervised Learning)

  • 데이터의 클래스 레이블이 알려져 있지 않음
    • 데이터 클래스 : 좋다, 나쁘다 혹은 5개의 스케일같은 것(매우 좋다, 좋다, 중간, 나쁘다, 매우 나쁘다)
  • 테스트 데이터셋이 주어졌을 때 데이터에서 클래스나 클래스터들의 존재를 확고히하는 것이 문제
  • 대표적인 예: 사전기반. 사전이나 어휘집(온톨로지)기반의 감정분석

준지도 학습

  • 적은 양의 학습데이터와 대량의 텍스트데이터가 존재할 때 소량의 학습데이터로 분류기를 학습한 다음에

    -> 대량의 텍스트 데이터를 쪼개서

    -> 각각의 쪼개진 텍스트 데이터로 학습될 모델을 예측한 다음

    -> 그 결과로 실험자나 평가자가 일일이 확인해서

    -> 다시 그것을 학습 데이터에 포함시킴.


감정분석 방법 - 지도학습 기반

단계

훈련데이터 -> 학습 알고리즘 -> 모델 -> 테스트 데이터 -> 정확도

학습

  • 훈련 데이터를 이용해 모델을 학습함

  • 학습이 끝난 다음 학습 분류기 또는 여러가지 지도학습에서 쓰이는 Classification 알고리즘을 사용해서 분류모델을 만듦

테스트

  • 모델의 정확성을 평가하기 위해 처음 보는 테스트 데이터(라벨이 달려있지 않은 데이터)를 이용해 모델을 테스트함

  • 정확도 = 정확한 분류 수/전체 테스트 수

  • 정확도, 재현율, 정확률, F measure를 써서 성능 판단

기준치 알고리즘

토큰화

  • 분리 어휘 항목으로 구두점 사용
  • 스테밍이나 불용어는 사용되지 않음

특징 추출

  • 유니그램, 바이그램, POS, 특징 결합

다른 분류사를 이용한 분류

  • Naive Bayes
  • MaxEnt
  • Support Vector Machines

감정분석 방법 - 비지도학습 기반

  • 사전 기반의 접근법이 기본적

  • 영어의 감성 사전 - General Inquirer, LIWC, MPQA(주관성에 관련된 사전), SentiWordNet

  • 한글은 공개된 감성사전이 없음

말뭉치 기반 접근법

  • 텍스트의 말뭉치에서 전문적인 감성사전을 구축하는 것
  • 예를 들어 말뭉치를 개별적 그룹으로 만들거나 개별로 만들어서, 특정 문장에 어떤 단어가 쓰였을 때, 특정 단어가 부정적인 뜻을 가진다는 학습 데이터 또는 Annotate된 Corpus데이터를 만드는 것이 중요
  • 알고리즘을 평가하는 것이나 군집화하는 것 모두 입력된 텍스트의 감성을 결정하는 데 사용됨

사전 기반 감성 분석의 한계

  • 그 단어에 해당하지 않는 단어들로 이루어진 감성들을 판단하기 어렵다.
  • 문맥적인 맥락을 알 수 없다.

  • 문맥을 찾아내기 위해 사용된 방법 : 거대한 말뭉치에서 단어와 단어 사이의 유사성을 가지고 극성을 판별하는 방법 또는 같은 방향을 가지는 형용사가 결합되는 접속사로 문맥 판단.

참고자료

텍스트 마이닝 실전 및 분석