language:
- en
base_model:
- s-nlp/roberta_toxicity_classifier
pipeline_tag: text-classification
library_name: transformers
学生聊天毒性分类器
该模型是基于s-nlp/roberta_toxicity_classifier
微调的版本,专门用于将学生对话中的文本信息分类为有毒或无毒。其特别设计用于检测并标记不当行为建议、不道德指导或任何有害交流,同时鼓励学生间建立道德且积极的互动关系。
🚀 点击体验Hugging Face Space在线演示 🚀
模型详情
- 语言: 英语(
en
)
- 基础模型:
s-nlp/roberta_toxicity_classifier
- 任务: 文本分类(二分类)
核心功能
- 识别鼓吹作弊或不当行为的信息
- 标记学生聊天中的有害或不道德建议
- 促进道德且建设性的交流
训练详情
- 数据集: 基于定制数据集微调,包含标注为有毒(不当行为建议、有害指导)或无毒(积极建设性交流)的学生对话样本
- 预处理:
- 使用
RobertaTokenizer
进行分词
- 采用截断和填充保持统一输入长度(
max_length=128
)
- 框架: Hugging Face的
transformers
库
- 优化器:
AdamW
- 损失函数:
CrossEntropyLoss
- 训练轮次: 3(根据收敛情况调整)
使用场景
本模型适用于教育平台、聊天审核工具及学生通讯类应用,主要用途包括:
- 检测有害信息(如作弊建议、有害指导或不道德提议)
- 营造积极健康的学生聊天环境
通过Gradio API调用:
from gradio_client import Client
client = Client("Sk1306/Student_Ethics_Chat_Classifier")
result = client.predict(
text="考试抄袭就能通过!!",
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 "无毒" if predicted_class == 0 else "有毒"
message = "考试时你可以抄袭答案"
prediction = predict_toxicity(message)
print(f"消息内容: {message}\n预测结果: {prediction}")