
이 글에서는 Python을 활용해 트위터(Twitter) 감성 분석(Sentiment Analysis)을 수행하는 방법을 단계별로 알아봅니다. 트위터 oAuth API 등록 방법, 필요한 라이브러리 설치 과정, 그리고 실제 감성 분석 스크립트를 작성하는 전체 흐름을 다룹니다.
API란 무엇인가?
API(Application Programming Interface, 응용 프로그래밍 인터페이스)는 외부 프로그램이 특정 서버(여기서는 트위터)의 내부 기능과 데이터에 접근할 수 있도록 해주는 통로입니다. 즉, 개발자는 API를 통해 트윗을 검색하거나 사용자 정보를 조회하는 등의 작업을 할 수 있습니다.
사전 준비 사항
감성 분석을 시작하기 전에 다음 두 가지가 준비되어 있어야 합니다.
- 전화번호 인증이 완료된 트위터 계정
- 트위터 개발자 앱 등록
트위터 웹사이트에 접속한 뒤 '새 앱 만들기(Create a new app)' 버튼을 클릭하고, 앱 이름 등 필수 정보를 입력한 후 개발자 이용 약관에 동의하고 생성 버튼을 누르면 앱이 만들어집니다.
앱이 생성되면 상단 메뉴에서 Keys(키) 탭을 클릭합니다. 이곳에서 oAuth 인증에 필요한 각종 키와 토큰 정보를 확인할 수 있습니다.
필요한 라이브러리 설치
감성 분석에 필요한 의존성 모듈 두 가지를 설치합니다.
1. tweepy 모듈
>>> pip install tweepy
tweepy는 트위터 API를 Python에서 손쉽게 사용할 수 있게 해주는 대표적인 라이브러리입니다.
2. textblob 모듈
>>> pip install textblob
TextBlob이란?
TextBlob은 감성 분석에 널리 사용되는 Python 라이브러리로, 텍스트의 감성 점수를 -1부터 1까지의 범위로 계산해주는 내장 메서드를 제공합니다.
token.sentiment.polarity
polarity 값이 1에 가까울수록 긍정적이며, -1에 가까울수록 부정적인 감성을 나타냅니다.
인증 설정하기
먼저 트위터 개발자 사이트에서 발급받은 액세스 키들을 변수로 저장합니다.
# 트위터 앱 인증 정보 consumer_key = 'xxxxx' consumer_secret = 'xxxx' access_key = 'xxxx' access_secret = 'xxxx'
다음으로 이 인증 정보를 스크립트를 통해 검증해야 합니다. 이를 위해 인증 변수 auth를 생성합니다.
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
인증 변수를 이용해 액세스 토큰을 설정합니다.
auth.set_access_token(access_token, access_token_secret)
그리고 실제 작업을 수행할 API 객체를 생성합니다.
api = tweepy.API(auth)
감성 분석 코드 작성
search 메서드를 사용해 공개 트윗을 검색하고, 결과를 리스트 형태로 저장합니다.
public_tweet = api.search('Tutorialspoint')
for tweet in public_tweet:
print(tweet.text)
analysis = TextBlob(tweet.text)
print(analysis)실행 결과에서는 polarity(극성)와 subjectivity(주관성) 두 가지 값을 확인할 수 있습니다.
- Polarity(극성): 텍스트가 얼마나 긍정적인지 또는 부정적인지를 측정합니다.
- Subjectivity(주관성): 텍스트가 사실에 기반한 내용인지, 아니면 개인적인 의견이 담긴 내용인지를 측정합니다.
결론
이렇게 만든 감성 분석기를 활용하면 방대한 소셜 미디어 데이터 속에서 사람들의 감정과 반응을 추출하고 이해할 수 있습니다. 이는 여론 조사, 제품 평판 분석, 마케팅 인사이트 도출 등 다양한 분야에서 유용하게 활용될 수 있습니다.