🚀 AI文本检测器
本模型是基于gpt2微调而来,专门用于文本分类。它支持三个类别,分别为AI生成的文本、知乎用户回答文本以及其他文本,能够精准地对不同来源的文本进行分类。
🚀 快速开始
本模型是gpt2的微调模型,用于文本分类。支持三个类别:AI、zhihu、other,分别代表AI生成的文本、知乎用户回答文本和其他文本。
✨ 主要特性
- 基于gpt2微调,具备良好的文本分类能力。
- 支持AI、zhihu、other三个类别,能有效区分不同来源的文本。
📦 安装指南
文档未提及具体安装步骤,故跳过该章节。
💻 使用示例
基础用法
通过 transformers.pipeline
预设的文本分类管线即可轻松使用:
from transformers import pipeline
classifier = pipeline("text-classification",model="./checkpoints",device="cuda")
text = "加密通信助长犯罪的说法并不成立,理由如下:隐私权的基本保障:加密技术保障了个人和组织的隐私权,这是基本人权的一部分。无论是个人的日常通信、商业机密,还是新闻记者的来源保护,加密通信都在确保合法和正当的隐私需求不被侵犯。"
print(classifier(text))
输出结果为
[{'label': 'AI', 'score': 0.9951270818710327}]
高级用法
使用模型本身进行推理的方法:
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained("hugfaceguy0001/AITextDetector")
model = AutoModelForSequenceClassification.from_pretrained("hugfaceguy0001/AITextDetector").to("cuda")
def detect_text(text):
with torch.no_grad():
inputs = tokenizer(text, return_tensors="pt").to("cuda")
logits = model(**inputs).logits
predicted_class_id = logits.argmax().item()
return model.config.id2label[predicted_class_id]
text = "黑神话这个游戏,你喷它优化、喷它地图、喷它空气墙、喷它战斗、喷它剧情;这些东西不管我自己觉得有没有喷一下的必要,可也都或多或少的能理解它为什么被喷的原因。"
print(detect_text(text))
输出结果为
zhihu
📚 详细文档
训练数据
使用 alpaca-data-gpt4-chinese
中的约52000条回答文本作为AI生成文本,Zhihu-KOL
中随机选择的约52000条回答文本作为知乎用户回答文本,SkyPile-150B
中随机选择的约52000条文本作为其他文本。共约15.6万条分类文本,组成数据集,其中80%用于训练,20%用于测试。
在测试集上的性能
分类准确率 accuracy = 0.9802627363024672
。各样本真实标签和检测结果组成的混淆矩阵为
|
AI |
zhihu |
other |
AI |
10325 |
326 |
18 |
zhihu |
143 |
9969 |
87 |
other |
0 |
42 |
10300 |
📄 许可证
本模型使用的许可证为OpenRAIL。
信息表格
属性 |
详情 |
模型类型 |
文本分类 |
训练数据 |
alpaca-data-gpt4-chinese 、Zhihu-KOL 、SkyPile-150B |
基础模型 |
openai-community/gpt2 |
语言 |
中文 |
标签 |
文本分类 |