[python] 파이썬에서 키 입력에 따른 감정 분석하기

이번 포스트에서는 파이썬을 사용하여 키 입력에 따라 감정을 분석하는 방법을 알아보겠습니다.

필요한 라이브러리 설치

감정 분석을 위해 우리는 nltktextblob 라이브러리가 필요합니다. 이 라이브러리들은 파이썬에서 자연어 처리와 감정 분석을 위해 사용됩니다.

아래의 명령어로 두 라이브러리를 설치합니다:

pip install nltk textblob

감정 분석을 위한 데이터 준비

감정 분석을 위해 훈련 데이터를 사용해야 합니다. textblob 라이브러리는 기본적으로 영어 감정 분석 데이터를 가지고 있습니다. 하지만 우리는 한글 감정 분석을 위해 한국어 데이터를 사용하겠습니다. 이를 위해 KoNLPy 라이브러리를 이용하여 한글 감정 분석 데이터를 설치합니다.

pip install konlpy

코드 작성

이제 실제로 파이썬 코드를 작성해보겠습니다.

import nltk
from textblob import TextBlob

# 한글 감정 분석을 위한 KoNLPy 라이브러리
from konlpy.tag import Kkma

kkma = Kkma()

def analyze_sentiment(text):
    # 문장을 단어로 분리
    words = kkma.nouns(text)
    
    # 단어를 문장으로 변환
    sentence = ' '.join(words)
    
    # TextBlob을 이용하여 감정 분석
    blob = TextBlob(sentence)
    
    # 감정 분석 결과 반환
    return blob.sentiment.polarity

# 키 입력 받기
while True:
    user_input = input("감정 분석할 문장을 입력하세요 ('exit'로 종료): ")
    
    if user_input == 'exit':
        break
    
    sentiment_score = analyze_sentiment(user_input)
    
    if sentiment_score > 0:
        print('Positive')
    elif sentiment_score < 0:
        print('Negative')
    else:
        print('Neutral')

위의 코드에서 analyze_sentiment 함수는 입력된 문장을 받아서 감정을 분석하는 역할을 합니다. 이 함수는 한글 문장을 전처리하는 데에도 Kkma를 사용합니다.

main 함수에서는 사용자로부터 키 입력을 받아서 감정 분석 결과를 출력합니다. 만약 사용자가 ‘exit’를 입력하면 프로그램이 종료됩니다.

실행

위의 코드를 실행하면 프로그램이 사용자로부터 문장을 입력받고, 입력된 문장의 감정을 분석하여 결과를 출력합니다.

예를 들어, “오늘 날씨가 정말 좋아요”라는 문장을 입력하면 ‘Positive’라는 결과를 출력할 것입니다.

결론

이번 포스트에서는 파이썬을 사용하여 키 입력에 따른 감정 분석을 하는 방법을 알아보았습니다. nltktextblob 라이브러리를 활용하여 한글 문장을 전처리하고, 감정을 분석하는 코드를 작성할 수 있었습니다. 이를 응용하여 다양한 감정 분석 프로젝트를 개발할 수 있을 것입니다.

참고 자료