Pandas + OpenAI API 활용 ( 데이터 요약, 텍스트 분석 )
Pandas는 데이터 분석을 위한 필수 라이브러리이며, OpenAI API를 활용하면 자연어 처리와 데이터 요약과 같은 다양한 기능을 쉽게 적용할 수 있습니다. 이번 포스팅에서는 Pandas와 OpenAI API를 함께 활용하여 데이터 요약과 텍스트 분석을 수행하는 방법을 살펴보겠습니다.
1. OpenAI API 설정하기
OpenAI API를 사용하려면 API 키가 필요합니다. OpenAI 공식 웹사이트에서 API 키를 발급받은 후, 아래와 같이 openai
라이브러리를 설치하고 API 키를 설정할 수 있습니다.
!pip install openai pandas
이제 OpenAI API 키를 설정합니다.
import openai
import pandas as pd
# OpenAI API 키 설정
openai.api_key = "your_openai_api_key"
API 키는 보안상의 이유로 환경 변수 또는 별도의 설정 파일에서 로드하는 것이 좋습니다.
2. 데이터 요약하기
OpenAI의 GPT 모델을 활용하여 데이터의 텍스트 컬럼을 요약하는 방법을 살펴보겠습니다. 예제 데이터는 Pandas의 DataFrame을 사용하여 생성합니다.
data = {
"ID": [1, 2, 3],
"Review": [
"이 제품은 정말 훌륭합니다! 성능이 빠르고 디자인도 멋져요.",
"사용해 보니 별로였습니다. 기대했던 것보다 기능이 부족하네요.",
"가격 대비 만족스럽습니다. 기본적인 기능은 잘 작동합니다."
]
}
df = pd.DataFrame(data)
이제 OpenAI API를 사용하여 각 리뷰를 간단히 요약하는 함수를 작성하겠습니다.
def summarize_text(text):
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[
{"role": "system", "content": "다음 텍스트를 짧게 요약해 주세요."},
{"role": "user", "content": text}
]
)
return response["choices"][0]["message"]["content"].strip()
df["Summary"] = df["Review"].apply(summarize_text)
print(df)
위 코드 실행 후, Summary
컬럼에 각 리뷰의 요약 결과가 저장됩니다.
3. 감성 분석 수행하기
OpenAI API를 이용하여 리뷰 데이터의 감성을 분석할 수도 있습니다. 다음 함수는 리뷰가 긍정적인지, 부정적인지를 판별합니다.
def sentiment_analysis(text):
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[
{"role": "system", "content": "다음 텍스트의 감성을 긍정, 부정 또는 중립으로 분류해 주세요."},
{"role": "user", "content": text}
]
)
return response["choices"][0]["message"]["content"].strip()
df["Sentiment"] = df["Review"].apply(sentiment_analysis)
print(df)
이제 Sentiment
컬럼에 각 리뷰의 감성 분석 결과가 저장됩니다.
4. OpenAI API와 Pandas를 활용한 텍스트 분석 응용
위에서 설명한 데이터 요약과 감성 분석을 조합하여 실제 데이터 분석에 활용할 수 있습니다. 예를 들어, 특정 제품의 리뷰를 긍정/부정으로 구분하여 분석할 수 있습니다.
positive_reviews = df[df["Sentiment"] == "긍정"]
negative_reviews = df[df["Sentiment"] == "부정"]
print("긍정적인 리뷰들:")
print(positive_reviews)
print("부정적인 리뷰들:")
print(negative_reviews)
이러한 분석을 통해 특정 제품에 대한 사용자 피드백을 효과적으로 정리하고 인사이트를 얻을 수 있습니다.
5. 결론
이번 포스팅에서는 Pandas와 OpenAI API를 활용하여 데이터 요약과 감성 분석을 수행하는 방법을 살펴보았습니다. OpenAI API는 자연어 처리에 강력한 기능을 제공하며, Pandas와 결합하여 데이터를 효과적으로 분석할 수 있습니다.
앞으로 OpenAI API의 추가 기능을 활용하여 더욱 정교한 분석을 수행할 수도 있습니다. 예를 들어, 키워드 추출, 문서 분류, 자동 보고서 생성 등의 응용이 가능합니다.
이를 통해 데이터 분석의 효율성을 높이고, 더욱 의미 있는 인사이트를 도출할 수 있습니다.
'Python Pandas' 카테고리의 다른 글
Pandas로 웹 스크래핑한 데이터 분석 (0) | 2025.02.25 |
---|---|
Pandas Kaggle 데이터셋 활용 실습 (0) | 2025.02.24 |
Pandas Seaborn을 활용한 고급 시각화 (0) | 2025.02.23 |
Pandas Matplotlib을 이용한 데이터 시각화 (0) | 2025.02.22 |
Pandas 내장 시각화 기능 (plot()) 활용하기 (0) | 2025.02.21 |