NLTK에 의한 대규모 트윗 데이터의 감정 분석

소개



이번에는 ICWSM-14에서 제안된 VADER라는 감정 분석 방법을 이용하여 약 1년간의 영어 트윗 데이터를 해석해 보았습니다. VADER에 대해서는 NLTK에 Sentiment Analysis가 왔습니다.이라는 기사를 참조했습니다. 감사합니다.

VADER



VADER는 Python의 자연 언어 처리 패키지 nltk에 구현됩니다.
사용해 보면.

In [1]: from nltk.sentiment.vader import SentimentIntensityAnalyzer

In [2]: analyzer = SentimentIntensityAnalyzer()

In [3]: analyzer.polarity_scores("I am happy!!!")
Out[3]: {'compound': 0.6784, 'neg': 0.0, 'neu': 0.179, 'pos': 0.821}

와 "compound", "neg"(nagative), "neu"(neutral), "pos"(positive)의 4종류가 0~1로 출력됩니다.

데이터 세트 및 실험



2014/10/31부터 2015/10/28까지의 Twitter Streaming API로 취득한 영어 트윗(을 선배로부터 받았습니다!). 하루에 1089358 트윗이있었습니다. 각 트윗에 대해 감정 분석하고 "pos"의 값을 매일 평균화했습니다. 또한 최종 데이터에 대해 평균 0, 표준 편차 1이되도록 기준화를 실시했습니다.

관련 연구 (?)



Twitter mood predicts the stock market이라는 논문에서 극성 분석 도구인 OpinionFinder와 6종류의 감정 인자를 분석하는 GPOMS를 사용하여 다음과 같은 결과를 얻을 수 있었습니다.

이번 "pos"의 값이 OpinionFinder와 GPOMS의 Happy의 결과에 가까워질 것으로 예상됩니다.

결과



결과는 시계열 그래프로 그려집니다.

몇 개나 위에 튀어나온 부분이 있으므로 주목한다.

추수 감사절 (2014/11/27)





크리스마스와 연말연시





발렌타인 데이





결론



즐거워지도록 이벤트가 있을 때는 모두 긍정이 되고 있군요! !
"neg"의 값이 큰 부분도 분석하고 싶었습니다만, 결국 원인을 몰랐습니다.

좋은 웹페이지 즐겨찾기