AIGC_text_detector 论文复现 Multiscale Positive-Unlabeled Detection of AI-Generated Texts

AIGC_text_detector 论文复现 Multiscale Positive-Unlabeled Detection of AI-Generated Texts_第1张图片

0 相关资料

Multiscale Positive-Unlabeled Detection of AI-Generated Texts

论文:https://arxiv.org/abs/2305.18149

我的博客:https://blog.csdn.net/WhiffeYF/article/details/146434455

github:https://github.com/YuchuanTian/AIGC_text_detector

下载下面这个模型
AIGC_text_detector 论文复现 Multiscale Positive-Unlabeled Detection of AI-Generated Texts_第2张图片

1 检测代码

import argparse
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer, pipeline
import os

# 解析命令行参数
_PARSER = argparse.ArgumentParser('AI 生成文本检测评估')
_PARSER.add_argument(
    '-i', '--input', type=str, help='输入文本',
    default=None
)
_PARSER.add_argument('--cuda', '-c', type=str, default='0', help='GPU ID,如: 1,2,3')
_PARSER.add_argument('--max-length', type=int, default=512, help='最大文本长度')
_ARGS = _PARSER.parse_args()

# 设置 GPU 相关环境变量
os.environ['CUDA_VISIBLE_DEVICES'] = _ARGS.cuda
device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')

# 加载模型和分词器
model_path = "Chinese_v2"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForSequenceClassification.from_pretrained(model_path)
model.to(device)

# 定义预测函数
def predict_data(input_text):
    inputs = tokenizer(input_text, padding=True, truncation=True, max_length=_ARGS.max_length, return_tensors="pt")
    inputs = {k: v.to(device) for k, v in inputs.items()}
    with torch.no_grad():
        outputs = model(**inputs)
        logits = outputs.logits
        probs = torch.softmax(logits, dim=1)[:, 1].item()  # 获取为 AI 生成的概率,使用.item()获取单个值
    return probs

# 示例输入文本 人工
# input_text = "第二次世界大战结束以来,经济的全球化加速了国际贸易发展。"
# input_text = "经济全球化的一大表现即为生产全球化,世界各国和地区生产过程日益形成环环相扣的链条。"
# input_text = "生产全球化主要体现在国际分工地的细化和深化,尤其是在二战之后,跨国公司在世界范围内快速发展,进一步扩大了国际交往,国与国之间产业分工更为细化,一个国家的贸易不再是自我满足,而是组成了一个多边结构,互相服务,而其导致的必然结果就是国家间关税费用的降低,改变各种贸易政策,从而扫除之前存在的各类贸易壁垒与阻碍。"
# input_text = "这一系列连锁反应的结果就是国家间进出口贸易包括额度和数量种类的飞速增长。1990-2005 年,按全市场汇率计算,全世界范围内国内生产总值平均增长率达到了 2.4%,同时按购买力平价计算,世界 GDP 平均增长率为 4.1%,在国际贸易的数据表现上,制造业货物国际贸易出口额平均增长率为 6.1%,非商品的服国际贸易出口额平均增长率为 7%,1990 年到 2005 年 15 年间,国际贸易额占世界总 GDP 产出的比重从20%上升到 33%。据世界银行统计,2005 年发达国家的平均贸易额增长速度均超过了 10%,而发展中国家的一些大国,例如中国,印度,巴西等国,平均贸易额增长速度已超过 20%[1]。"
# input_text = "同时,由于石油和石油产品全球市场的扩大,极大的推动了一些产油国家的出口。"



# 示例输入文本 AI
# input_text = "二战后经济全球化对国际贸易的促进作用"
# input_text = "二战结束后,经济全球化浪潮席卷全球,深刻地改变了世界经济格局,对国际贸易产生了不可忽视的促进作用。"
# input_text = "其中,生产全球化作为经济全球化的核心表现之一,极大地推动了国际贸易的发展。"
# input_text = "随着经济全球化的深入,国际分工呈现出前所未有的细化与深化态势。跨国公司凭借其强大的资金、技术和管理优势,在全球范围内布局生产链条,使得国与国之间的产业分工愈发精细,逐渐形成复杂且紧密的多边结构。"
# input_text = "这种分工模式促使各国为了更好地融入全球生产体系,纷纷降低关税,积极调整贸易政策,全力扫除贸易壁垒。"
# input_text = "这一系列连锁反应带来了国家间进出口贸易在额度、数量和种类上的飞速增长。从数据层面来看,1990 - 2005 年期间,世界经济呈现出蓬勃发展的态势。世界 GDP 增长率保持着一定的上升趋势,这为国际贸易的发展提供了坚实的经济基础。"
# input_text = "与此同时,制造业及非商品服务国际贸易出口额增长率更是十分显著,反映出国际贸易在经济全球化背景下的强劲扩张动力。"
# input_text = "值得一提的是,国际贸易额占世界总 GDP 产出的比重也在不断攀升,进一步表明国际贸易在全球经济体系中的地位日益重要。"
# input_text = "在 2005 年,无论是发达国家还是发展中国家,一些大国的贸易额增长速度都十分可观。"
# input_text = "在发达国家中,美国、日本等国凭借其先进的技术和强大的产业优势,贸易额持续增长。"
# input_text = "而在发展中国家,中国、印度等新兴经济体的贸易额更是呈现出爆发式增长,在全球贸易格局中占据越来越重要的地位。"
# input_text = "此外,石油和石油产品全球市场的不断扩大,有力地推动了产油国的出口。"
# input_text = "中东地区的产油国凭借丰富的石油资源,在国际贸易中获得了巨额的出口收入,进一步促进了全球贸易的繁荣。"
# input_text = "经济全球化通过生产全球化等多种方式,极大地促进了国际贸易的发展,改变了全球贸易格局,推动世界经济不断向前发展。"
input_text = "本文旨在深入探讨二战结束后经济全球化对国际贸易的积极促进作用。"

print(input_text)
# 进行预测
prob = predict_data(input_text)

print(f"这段文字的 AI 生成概率: {prob}")


2 结果

AIGC_text_detector 论文复现 Multiscale Positive-Unlabeled Detection of AI-Generated Texts_第3张图片
5句有4句判断正确

AIGC_text_detector 论文复现 Multiscale Positive-Unlabeled Detection of AI-Generated Texts_第4张图片
15句,有11句正确

总结

这是目前找到的相对靠谱的AI生成文本检测工具。

你可能感兴趣的:(LLMs实践,LLMs-安全,人工智能,AIGC)