감성분석 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데이터를 만드는 것이 중요
- 알고리즘을 평가하는 것이나 군집화하는 것 모두 입력된 텍스트의 감성을 결정하는 데 사용됨
사전 기반 감성 분석의 한계
- 그 단어에 해당하지 않는 단어들로 이루어진 감성들을 판단하기 어렵다.
-
문맥적인 맥락을 알 수 없다.
- 문맥을 찾아내기 위해 사용된 방법 : 거대한 말뭉치에서 단어와 단어 사이의 유사성을 가지고 극성을 판별하는 방법 또는 같은 방향을 가지는 형용사가 결합되는 접속사로 문맥 판단.
참고자료