일반 대화 감정 분류 모델 (General Chat Emotion Classifier)
이 모델은 일반적인 대화에서 사용자의 감정 반응을 예측하는 분류 모델입니다.
대화에서 사용자의 반응이 긍정적(썸 성공), 중립적(썸 유지), 부정적(썸 실패)인지 예측할 수 있습니다.
✅ 모델 정보
- Base Model: KLUE-BERT
- 입력 형식:
"Q: 질문 A: 답변" - 출력 라벨:
0: 부정적 반응 (썸 실패)1: 중립적 반응 (썸 유지)2: 긍정적 반응 (썸 성공)
🛠 사용 방법
from transformers import AutoModelForSequenceClassification, AutoTokenizer
import torch
model_name = "kelly9457/general-chat-classifier-v1"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
def predict_label(question, user_answer):
input_text = f"Q: {question} A: {user_answer}"
inputs = tokenizer(input_text, return_tensors="pt", padding=True, truncation=True, max_length=128)
with torch.no_grad():
outputs = model(**inputs)
probs = torch.nn.functional.softmax(outputs.logits, dim=-1)
pred_label = torch.argmax(probs, dim=-1).item()
return pred_label
# 예제 테스트
question = "주말에 영화 보러 갈래?"
answer = "응, 좋아!"
print("예측된 라벨:", predict_label(question, answer))
🖥 주피터 노트북에서 모델 사용하기
모델을 주피터 노트북에서 사용하려면 아래 단계를 따라주세요:
환경 준비:
주피터 노트북이나 Google Colab 환경에서 아래 명령어로 필요한 라이브러리를 설치합니다.!pip install transformers torch모델 불러오기 및 테스트:
아래 코드를 주피터 노트북 셀에 복사해 실행하여, 모델과 토크나이저를 불러오고 예제 입력을 통해 예측을 확인할 수 있습니다.from transformers import AutoModelForSequenceClassification, AutoTokenizer import torch model_name = "kelly9457/bindly-simul-v2" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSequenceClassification.from_pretrained(model_name) def predict_label(question, user_answer): input_text = f"Q: {question} A: {user_answer}" inputs = tokenizer(input_text, return_tensors="pt", padding=True, truncation=True, max_length=128) with torch.no_grad(): outputs = model(**inputs) probs = torch.nn.functional.softmax(outputs.logits, dim=-1) pred_label = torch.argmax(probs, dim=-1).item() return pred_label # 예제 실행 question = "주말에 영화 보러 갈래?" answer = "응, 좋아!" print("예측된 라벨:", predict_label(question, answer))인터랙티브 테스트 (선택 사항):
반복적으로 사용자 입력을 받아 모델을 테스트하고 싶다면 아래와 같이 인터랙티브 셀을 구성할 수 있습니다.while True: user_question = input("📝 질문 입력: ") if user_question.lower() == "exit": break user_answer = input("💬 답변 입력: ") if user_answer.lower() == "exit": break pred_label = predict_label(user_question, user_answer) print("🔥 예측된 라벨:", pred_label) print("-" * 50)
📊 평가 결과 (Validation Set)
| Metric | Score |
|---|---|
| Accuracy | 0.9754 |
| Macro F1 Score | 0.9767 |
🚀 Hugging Face 업로드
모델을 Hugging Face에서 사용하려면 아래 명령어를 실행하세요.
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model.push_to_hub("kelly9457/bindly-simul-v2")
tokenizer.push_to_hub("kelly9457/bindly-simul-v2")
- Downloads last month
- -
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support
Model tree for kelly9457/bindly-simul-v2
Base model
klue/bert-base