13.Sentiment Analysis 개념 및 활용
💡목표
- 감성분석의 종류에 대해 이해하기.
- 어휘사전에 의한 감성분석의 종류 알아보기.
- 머신러닝/딥러닝에 대한 감성분석 알아보기.
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는 실제 주가를 선행하는 지표로 확인됨.
댓글남기기