4 분 소요

💡목표

  • 감성분석의 종류에 대해 이해하기.
  • 어휘사전에 의한 감성분석의 종류 알아보기.
  • 머신러닝/딥러닝에 대한 감성분석 알아보기.

Sentiment Analysis(감정분석)이란?

  • 텍스트 마이닝 및 오피니언 마이닝의 한 기법으로써 데이터로부터 소비자의 감성 관련 정보를 추출하는 방식

  • 주로 데이터를 작성한 사용자의 감정,태도,의견,성향 같은 주관적인 데이터를 추출하고자 하는 방법으로써 컴퓨터언어 및 자연어처리를 해서 분석결과들을 분류, 정량화하는 방법이다.

Sentiment Analysis 적용분야
  • 감정분석은 다양한 분야에 적용될 수 있음
분야 활용
영화 영화에 대한 리뷰가 긍정적인가? 부정적인가?
브랜드/제품 자사/경쟁사의 제품에 대해서 소비자들은 어떻게 생각하는가?
공공 감성 시민들의 공공기관/지자체에 대한 신뢰도는 어떤 수준인가?
정치 후보자 또는 정책이슈에 대해 사람들은 어떻게 생각하는가?
예측 선거결과 또는 출시제품 어떻게 될 것 같은가?
Sentiment Analysis 분석유형
  • 복잡한 분류일 경우 머신러닝/딥러닝의 알고리즘 또는 정교한 어휘사전 필요함
난이도 결과
단순한 감정분석 이분적 분류: 부정적인가? 긍정적인가?
다소 복잡한 감정분석 평점화 분류: 1점~5점으로 분류하는 몇 점인가?
심화된 감정분석 감정의 대상 및 원천을 감지하고 감정의 유형을 분

예시로, 배달의 민족 앱의 리뷰로 “어디서든 배달을 시킬 수 있다는 건 좋지만, 배달팁이 점점 부담된다.”라고 했을때

  • 단순한 감정분석 은 긍정적인 표현엔 긍정적인 점수를 부정적인 표현에는 부정적인 점수를 부여해준다
    긍정적(“좋다”) = 1점, 부정적(“부담”) = -1점, 총 = 0점

  • 다소 복잡한 감정분석 은 같은 긍정적인 표현에서도 단어마다의 감정 정도에 따라 가중치를 부여해서 계산한다
    좋다(긍정적: +4점), 부담(부정적: -2점), 총 = 2점

  • 심화된 감정분석 은 단순한 점수에서 그치는 것이 아닌 어떤 유형에 감정인가, 그리고 그 유형은 어떤 원천에 대한 어떤 대상에 대한 것인지.

    앱 사용성 : 긍정적이지만, 서비스의 비용 : 부정적.

이런 것들은 연구자의 노력이 더 중요하다. 왜냐하면, 감정 분석 기준에 대한 어휘사전을 먼저 연구자가 만들어야 하기 때문이다. 시중의 오픈화되어 있는 사전들로 분석할 수 있지만 내 분야에 맞는 분석을 하기 위해선 따로 사전을 정리해야 정교한 감정분석이 가능하다.

어휘사전에 의한 Sentiment Analysis
[단순한 감성분석]
  • 단순한 감정분석을 한다고 했을때 어휘사전에 의한 감정분석을 해보자면, 먼저 아래의 문서2개를 가지고 어휘사전과 단어를 매칭하게 된다.
문서1 : 이번 영화는 재미있었다. 배우들의 **뛰어난** 연기와 환상적인 CG가 압권이었다. 다만 영화관이 좀 춥고 쾌적하지 못했다는 점이 아쉽다.
문서2 : 연기력과 CG는 만점을 주고 싶다. 그러나 시나리오와 연출은 그에 비해 다소 부족하다는 생각이 든다.
단어 분류 단어 분류
재미 POSTIVE(긍정적) 춥다 NEGATIVE(부정적)
뛰어난 POSTIVE(긍정적) 아쉽다 NEGATIVE(부정적)
환상적 POSTIVE(긍정적) 만점 POSTIVE(긍정적)
압권 POSTIVE(긍정적) 부족 NEGATIVE(부정적)
  • 이때, 기준이 되는 사전을 연구자가 가지고 있어야지 매칭을 시켜서 사람들이 평가한 문서를 점수화시킬 수 있다.

  • 이렇게 매칭시킨 토대로 점수화를 해보면 밑의 표와 같다.

      긍정 부정 SCORE(총점)
    문서1 4 2 2
    문서2 1 1 0
  • 이러한 감정분석이 단순한 감정분석이다.

[다소 복잡한 감성분석]
  • 아까와 같은 문서1과 문서2를 예시로 다소 복잡한 감성분석을 해보자면 맨 아래와 같은 단어에 점수가 부여된 사전을 사용하게 된다.
문서1 : 이번 영화는 재미있었다. 배우들의 뛰어난 연기와 환상적인 CG가 압권이었다. 다만 영화관이 좀 춥고 쾌적하지 못했다는 점이 아쉽다.
문서2 : 연기력과 CG는 만점을 주고 싶다. 그러나 시나리오와 연출은 그에 비해 다소 부족하다는 생각이 든다.
단어 분류 단어 분류
재미 1 춥다 -1
뛰어난 2 아쉽다 -2
환상적 3 만점 5
압권 5 부족 -2
  • 이때, 점수화를 해보면 아래와 같이 단순한 감성분석보다 문서에 대해 좀 더 정확한 평가를 할 수 있게 된다.
  긍정 부정 SCORE(총점)
문서1 11 -3 8
문서2 5 -2 3
[심화된 감정분석]
문서1 : 이번 영화재미있었다. 배우들의 뛰어난 연기와 환상적인 CG압권이었다. 다만영화관이 좀 춥고 쾌적하지 못했다는 점이 아쉽다.
문서2 : 연기력과 CG만점을 주고 싶다. 그러나 시나리오연출은 그에 비해 다소 부족하다는 생각이 든다.
단어 분류 단어 분류
재미 1 춥다 -1
뛰어난 2 아쉽다 -2
환상적 3 만점 5
압권 5 부족 -2
  • 심화된 감정분석은 문서1과 문서2에서 나온 단어를 유형별로 나누어서 분류한 후 점수화 시키게 된다.
  문서1 문서2
영화 1 0
연기 2 5
CG 3 5
영화관 -1 0
시나리오 0 -2
연출 0 -2
SCORE(총점) 5 6
  • 이때 중요한 것은 SCORE(총점)이 아니라 각 속성에 대한 총점을 줄 수 있다는 것이다. (ex: 이 영화는 총 11점인데 CG에 대한 평가는 총 8점 시나리오와 연출은 -2점이다.)
머신러닝/딥러닝에 의한 Sentiment Analysis
  • 머신러닝/딥러닝에서는 어떠한 사전이 주어진 형태가 아닌 사람들의 평가를 가지고 긍정적인지 부정적인지 분류하고 예측할 수 있다.
단어 분류
이번 영화는 재미있었다. 배우들의 뛰어난 연기와 환상적인 CG가 압권이었다. 다만 영화관이 좀 춥고 쾌적하지 못했다는 점이 아쉽다. POS
연기력과 CG는 만점을 주고 싶다. 그러나 시나리오와 연출은 그에 비해 다소 부족하다는 생각이 든다. POS
생각보다는 재미가 없었다. 전반부는 CG가 인상적이었지만 끊기는 몰입감. 시나리오가 좀 더 충실했어야 했다 NEG
인생 최악의 영화였다. ㅜㅜ. 돈이 아깝다는 생각이 10분 지나면서 들었다. 돈 때문에 나오지도 못하고 NEG
  • 이때는 문장이 독립변수로 input이 되어 분류(감정)이 종속변수로 output이 되어 관계를 파악하게 된다. 긍정적인 단어가 나왔을 때는 POS가 나오는 확률을 높여주고, 부정적인 단어가 나왔을 때는 NEG가 나오는 확률을 높여주게 되는 것이다.
  • 그래서 향후에 새로운 평가가 들어왔을 때는 긍정적인지 부정적인지 예측 분류하는 머신러닝/딥러닝 기법을 사용할 수 있다. 이때 사전에 의한 감정분석과 다른 점은 연구자가 주어진 사전을 만드는 것이 아닌 원자료를 가지고 긍정,부정의 관계를 가지고 알고리즘이 스스로 만들어진다는 것이다.
  • 여기서 중요한 점은 위 표와 같은 원데이터가 방대 해야한다. 그래야 다양한 상황들과 단어들이 잘 반영되어 예측할 수 있기 때문이다.
Sentiment Analysis의 활용
  • 트렌드 분석

    • 트위터 등 SNS의 반응과 리뷰를 분석해 브랜드에 대한 긍정/부정 추세분석에 활용
    • Twitter sentiment와 Galup의 미국 Consumer Confidence간 지표 비교(두 단어의 감정분석을 통한 상관관계 분석)
  • 디지털마케팅

    • 구글의 Prodcut Search는 리뷰를 점수화하여 상품에 대한 점수를 계량화하여 고객에게 제공
  • 주가 예측

    • 주식 시장 참여자들의 리뷰 또는 반응을 주기별로 감정분석한 score는 실제 주가를 선행하는 지표로 확인됨.

[ 다음챕터 바로가기(14.Sentiment Analysis 실습]

댓글남기기