Downloads · 30 days
14
47% of all-time downloads
kelly9457/bindly-I-v4
bindly-I-v4 is a machine learning model from kelly9457. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
이 모델은 KoBERT를 기반으로 한 회귀 모델로, 대화 텍스트에서 화자 간의 친밀도를 예측합니다. - 베이스 모델: Klue BERT (klue/bert-base) - 모델 구조: BERT의 출력에 회귀용 선형 레이어를 추가하여 친밀도 점수를 예측합니다. - 출력: 친밀도 점수 (0 ~ 5 범위; sigmoid 함수를 통해 정규화) - 학습 손실 함수: nn.SmoothL1Loss (…
Downloads · 30 days
14
47% of all-time downloads
All-time downloads
30
Public
Parameters
111M
442 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors442 MB · 100%
From the Hugging Face model README
이 모델은 KoBERT를 기반으로 한 회귀 모델로, 대화 텍스트에서 화자 간의 친밀도를 예측합니다.
klue/bert-base)필요한 라이브러리를 설치합니다.
pip install torch transformers huggingface_hub jupyter
터미널 또는 명령 프롬프트에서 아래 명령어를 입력하여 주피터 노트북을 실행합니다.
jupyter notebook
새 노트북 파일을 생성한 후 아래 코드를 복사하여 실행합니다.
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
# 모델 이름 (Hugging Face Hub에 업로드된 모델 경로)
model_name = "kelly9457/bindly-I-v4"
# 모델과 토크나이저 로드
model = AutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# GPU 사용 여부 확인 및 모델 이동
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
# 예측할 텍스트 입력 (대화 텍스트)
text = "대화 텍스트를 입력하세요"
# 텍스트 전처리 및 토크나이즈
inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True, max_length=128)
inputs = {key: value.to(device) for key, value in inputs.items()}
# 모델 예측 수행
with torch.no_grad():
outputs = model(**inputs)
# 예측된 친밀도 점수 출력 (0 ~ 5 범위)
intimacy_score = outputs["intimacy_scores"].item()
print(f"예측된 친밀도 점수: {intimacy_score:.2f}/5.0")
텍스트 전처리 함수:
remove_kakao_patterns 함수를 사용하여 카카오톡 대화 텍스트의 날짜 및 “[이름] [시간]” 패턴을 제거할 수 있습니다.
import re
def remove_kakao_patterns(text):
"""카카오톡 특정 패턴을 제거합니다.
Args:
text (str): 카카오톡 대화 내용
Returns:
str: 특정 패턴이 제거된 텍스트
"""
# 날짜 패턴 제거
text = re.sub(r"--------------- \d{4}년 \d{1,2}월 \d{1,2}일 .*? ---------------\n", "", text)
# "[이름] [시간]" 패턴 제거
text = re.sub(r"\[.*?\] \[.*?\] ", "", text)
return text
모델 업로드:
upload_to_hub() 함수를 사용하면 모델, 토크나이저, README.md 파일을 Hugging Face Hub에 업로드할 수 있습니다. 업로드 전에 TOKEN 변수와 체크포인트 파일 경로를 올바르게 설정해야 합니다.
# 모델 업로드 함수
def upload_to_hub():
try:
# 저장소 생성
create_repo(REPO_NAME, private=False, exist_ok=True)
# 모델을 CPU로 이동 (업로드를 위해)
model.cpu()
# 모델 저장 및 업로드
model.push_to_hub(REPO_NAME, use_auth_token=TOKEN)
# 토크나이저 저장 및 업로드
tokenizer.push_to_hub(REPO_NAME, use_auth_token=TOKEN)
# README 파일 업로드
api = HfApi()
api.upload_file(
path_or_fileobj=readme_content.encode(),
path_in_repo="README.md",
repo_id=REPO_NAME,
token=TOKEN
)
# 모델을 다시 GPU로 이동
model.to(device)
print(f"모델이 성공적으로 업로드되었습니다: https://huggingface.co/{REPO_NAME}")
except Exception as e:
print(f"업로드 중 오류가 발생했습니다: {str(e)}")
model.to(device)
TOKEN 변수에 본인의 토큰을 입력하세요.model_path 변수를 본인의 파일 경로로 수정해야 합니다.