🚀 学生聊天毒性分类器
该模型是 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}")