[python] 파이썬을 이용한 영화 리뷰 감성 분석
영화 리뷰의 텍스트 데이터를 분석하여 그 감성을 판단하는 감성 분석은 텍스트 마이닝에서 중요한 주제 중 하나입니다. 이번 블로그에서는 파이썬을 사용하여 영화 리뷰의 감성을 분석하는 방법을 알아보겠습니다.
1. 데이터 수집
영화 리뷰 데이터를 수집하기 위해 웹 크롤링을 사용할 수 있습니다. 예를 들어, Beautiful Soup 라이브러리를 이용하여 웹페이지에서 리뷰를 수집하는 방법을 사용할 수 있습니다.
from bs4 import BeautifulSoup
import requests
url = '영화 리뷰 웹페이지 URL'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
reviews = []
for review in soup.find_all('div', class_='review'):
reviews.append(review.text)
2. 데이터 전처리
수집한 리뷰 데이터를 전처리하여 텍스트를 정제하고 정규화하는 작업이 필요합니다. 예를 들어, 특수 문자나 숫자를 제거하고 모든 단어를 소문자로 변환하는 등의 작업을 수행합니다.
import re
def preprocess_text(text):
text = text.lower()
text = re.sub(r'[^a-zA-Z\s]', '', text)
return text
3. 감성 분석 모델 구축
데이터를 전처리한 후, 감성 분석 모델을 구축합니다. 여기서는 간단한 머신러닝 모델인 로지스틱 회귀를 사용하여 감성을 분류하는 예제를 보여드리겠습니다.
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
X = [preprocess_text(review) for review in reviews]
y = [label for label in sentiment]
vectorizer = TfidfVectorizer()
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
X_train_tfidf = vectorizer.fit_transform(X_train)
X_test_tfidf = vectorizer.transform(X_test)
model = LogisticRegression()
model.fit(X_train_tfidf, y_train)
y_pred = model.predict(X_test_tfidf)
accuracy = accuracy_score(y_test, y_pred)
print(f'Accuracy: {accuracy}')
4. 모델 평가
마지막으로 구축한 감성 분석 모델을 평가합니다. 정확도나 혼동 행렬 등을 통해 모델의 성능을 평가할 수 있습니다.
이렇게 파이썬을 사용하여 영화 리뷰의 감성을 분석하는 방법을 알아보았습니다. 감성 분석은 텍스트 마이닝 분야에서 매우 중요한 주제이며, 다양한 방법과 모델을 통해 보다 정확한 감성 분석을 수행할 수 있습니다.