본문 바로가기
AI 공부/LLM

[LLM] 클로드 Claude AI를 이용해서 AI 감정 분석 봇을 만들어보자! AI Sentiment Bot Project

by 데이터 벌집 2024. 11. 8.
반응형

AI 학습을 위한 가장 좋은 방법은 직접 만들어보고 경험해 보는 것입니다. 📈 AI와 데이터 과학에 관심이 있다면, 복잡한 튜토리얼보다 실제 프로젝트를 통해 더 많은 성장을 이룰 수 있어요. 이번에는 주말 동안 완료할 수 있는 흥미로운 프로젝트, 바로 '감정 분석 봇'을 만들어 봅시다. 🤖✨

 

[LLM] 클로드 Claude AI를 이용해서 AI 감정 분석 봇을 만들어보자! AI Sentiment Bot Project

 

이 프로젝트를 통해 파이썬과 Claude API를 사용하여 텍스트 데이터를 분석하고, 그 감정을 긍정, 부정, 중립으로 분류하는 간단한 감정 분석기를 구축해볼 거예요. 💬 데이터 분석과 시각화를 결합해보는 좋은 기회가 될 것입니다!

 

프로젝트 목표: 감정 분석 봇 만들기 (초급)

사용자들이 다양한 주제에 대해 어떻게 생각하고 있는지 알 수 있다면 좋겠죠? 리뷰, 피드백 등 여러 텍스트 데이터를 실시간으로 수집하여 감정을 분석하는 이 프로젝트는 초보자에게도 적합합니다. Python과 Claude API를 이용해 간단하지만 강력한 감정 분석 봇을 직접 만들어 보세요. 😊

진행 방법:

  1. API 설정하기: Anthropic API 키를 활용해 Claude API를 설정합니다.
  2. 텍스트 데이터 수집: 분석할 텍스트 데이터를 준비합니다.
  3. 감정 분석 수행: Claude API를 통해 데이터를 분석하고 감정을 분류합니다.
  4. 결과 시각화: matplotlib을 사용하여 결과를 보기 좋게 시각화합니다.

예시 코드:

from anthropic import Anthropic
import matplotlib.pyplot as plt
from collections import defaultdict
import json

def analyze_text_sentiment(text, anthropic):
    """
    Claude API를 사용하여 텍스트의 감정을 분석합니다.
    """
    prompt = f"""다음 텍스트의 감정을 'positive', 'negative', 'neutral' 중 하나로 분류해주세요.
    응답은 감정 레이블만 반환해주세요.
    
    텍스트: "{text}"
    """
    
    response = anthropic.messages.create(
        model="claude-3-sonnet-20240229",
        max_tokens=1000,
        temperature=0,
        system="감정 분석을 수행하는 assistant입니다. 텍스트를 분석하여 positive, negative, neutral 중 하나로 분류합니다.",
        messages=[
            {"role": "user", "content": prompt}
        ]
    )
    return response.content

def analyze_multiple_texts(texts, api_key):
    """
    여러 텍스트의 감정을 분석하고 결과를 요약합니다.
    """
    anthropic = Anthropic(api_key=api_key)
    sentiments = defaultdict(int)
    
    for text in texts:
        try:
            sentiment = analyze_text_sentiment(text, anthropic)
            sentiments[sentiment.lower()] += 1
        except Exception as e:
            print(f"텍스트 분석 오류: {e}")
    
    return dict(sentiments)

def visualize_sentiments(sentiments, title="감정 분석 결과"):
    """
    감정 분석 결과를 파이 차트로 시각화합니다.
    """
    labels = sentiments.keys()
    sizes = sentiments.values()
    
    plt.figure(figsize=(10, 8))
    plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90)
    plt.title(title)
    plt.axis('equal')
    
    return plt

def main():
    # API 키 설정
    ANTHROPIC_API_KEY = 'your_api_key_here'
    
    # 분석할 텍스트 샘플
    sample_texts = [
        "이 제품은 정말 훌륭합니다! 매우 만족스럽습니다.",
        "서비스가 너무 실망스러웠습니다.",
        "일반적인 제품입니다.",
        "뛰어난 품질과 합리적인 가격!",
        "배송이 늦어서 아쉽네요."
    ]
    
    # 감정 분석 수행
    sentiments = analyze_multiple_texts(sample_texts, ANTHROPIC_API_KEY)
    
    # 결과 시각화
    plt = visualize_sentiments(sentiments)
    plt.show()
    
    # 결과 출력
    print("\n감정 분석 결과:")
    print(json.dumps(sentiments, indent=2, ensure_ascii=False))

if __name__ == "__main__":
    main()

 

이렇게 Claude API를 사용해 감정 분석을 수행하면 복잡한 과정 없이도 효과적인 결과를 얻을 수 있습니다. 이 프로젝트를 통해 실력을 키우고, AI의 매력을 느껴보세요! 🌟

반응형