🚀 學生聊天毒性分類器
該模型是 s-nlp/roberta_toxicity_classifier
的微調版本,旨在將學生對話中的文本消息分類為有毒或無毒。它專門用於檢測和標記作弊建議、不道德建議或任何有毒的交流內容,同時鼓勵學生之間進行符合道德規範且積極的互動。
📚 模型詳情
屬性 |
詳情 |
語言 |
英語 (en ) |
基礎模型 |
s-nlp/roberta_toxicity_classifier |
任務 |
文本分類(二分類) - 類別 0:無毒 - 類別 1:有毒 |
✨ 主要特性
- 檢測宣揚作弊或違規行為的消息。
- 標記學生聊天中有害或不道德的建議。
- 鼓勵符合道德規範且有建設性的交流。
🔧 訓練細節
- 數據集:該模型在一個自定義數據集上進行微調,該數據集包含標記為有毒(作弊建議、有害建議)或無毒(積極且有建設性的交流)的學生對話示例。
- 預處理:
- 使用
RobertaTokenizer
進行分詞。
- 應用截斷和填充以確保輸入長度一致(
max_length=128
)。
- 框架:Hugging Face 的
transformers
庫。
- 優化器:
AdamW
- 損失函數:
CrossEntropyLoss
- 訓練輪數:3(根據收斂情況調整)
📋 預期用途
此模型適用於教育平臺、聊天審核工具和學生交流應用程序。其目的是:
- 檢測有毒消息,如作弊建議、有害建議或不道德的推薦。
- 為學生營造積極且相互尊重的聊天環境。
💻 使用示例
基礎用法
from gradio_client import Client
client = Client("Sk1306/Student_Ethics_Chat_Classifier")
result = client.predict(
text="you can copy in exam to pass!!",
api_name="/predict"
)
print(result)
高級用法
import torch
from transformers import RobertaTokenizer, RobertaForSequenceClassification
model_name = "Sk1306/student_chat_toxicity_classifier_model"
tokenizer = RobertaTokenizer.from_pretrained(model_name)
model = RobertaForSequenceClassification.from_pretrained(model_name)
def predict_toxicity(text):
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=128)
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
probabilities = torch.nn.functional.softmax(logits, dim=-1)
predicted_class = torch.argmax(probabilities, dim=-1).item()
return "Non-Toxic" if predicted_class == 0 else "Toxic"
message = "You can copy answers during the exam."
prediction = predict_toxicity(message)
print(f"Message: {message}\nPrediction: {prediction}")