ml_model.py
1 from transformers import pipeline 2 3 # 한국어 감성 분석에 특화된 경량 모델 로드 4 # 모델이 처음 실행될 때 다운로드되므로 약간의 시간이 소요됩니다. 5 model_name = "jaehyeong/koelectra-base-v3-generalized-sentiment-analysis" 6 7 try: 8 sentiment_model = pipeline("sentiment-analysis", model=model_name) 9 except Exception as e: 10 print(f"모델 로드 실패: {e}") 11 # 모델 로드 실패 시를 대비한 기본 함수 12 sentiment_model = None 13 14 def analyze_sentiment(text: str): 15 if not text: 16 return "데이터 없음", 0.0 17 18 if sentiment_model: 19 result = sentiment_model(text)[0] 20 # 모델 결과: LABEL_0(부정), LABEL_1(긍정) 등 (모델마다 다름) 21 # 이 모델은 1이 부정, 0이 긍정인 경우가 많으니 결과를 매핑합니다. 22 label = result['label'] 23 score = result['score'] 24 25 # 단순화된 매핑 (실제 모델 출력 확인 후 조정 필요) 26 sentiment = "Positive" if "1" in label or "pos" in label.lower() else "Negative" 27 return sentiment, score 28 else: 29 return "Model Not Loaded", 0.0