# checkGPT **Repository Path**: appledogllll/checkGPT ## Basic Information - **Project Name**: checkGPT - **Description**: 自然语言处理课设:基于文本一致性的机器文本检测 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 0 - **Created**: 2024-10-25 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: 自然语言处理 ## README # 实验说明 天津大学2425学年NLP课程课设————基于文本一致性的机器文本检测 # 实验环境 window平台,python版本为3.12,实验运行所需的包已经列在requirements.txt文件中 实验中所使用的数据集和模型均从本地加载,如需使用可以自行下载或将加载代码改为从Hugging Face加载 # 文件架构 ## datasets 存放数据集 ## src ### generate.py 根据已有的人类文本生成机器文本的脚本文件 - `python generate.py --source_model_name gpt2-xl --n_samples 500 --dataset xsum` - `source_model_name:生成所使用的模型` - `n_samples: 生成的样本数量` - `dataset: 所使用的数据集` ### perturb.py 对文本进行分段并产生扰动 - `python perturb.py --dataset chinese --segment_length 35 --source_model_name qwen2.5-3b-chat` - `source_model_name:生成所使用的模型 如果该参数为空则默认是人类文本` - `dataset: 所使用的数据集` - `segment_length: 每个文本段最少的token数` ### score.py 调用模型对文本计算对数似然值 - `python score.py --source_model_name gpt2-xl --scoring_model_name gpt-neo-2.7B --only_LLMs --dataset xsum` - `source_model_name: 生成所使用的模型` - `scoring_model_name:计算所使用的模型` - `dataset: 所使用的数据集` - `--only_LLMs: 只对机器文本计算` - `--only_human: 只对人类文本计算` ### Z-score.py 计算Z分数方差,并将结果保存 - `python Z-score.py --source_model_name opt-2.7B --scoring_model_name gpt2-xl --dataset xsum` - `source_model_name:生成所使用的模型 如果该参数为空则默认是人类文本` - `scoring_model_name:计算所使用的模型` - `dataset: 所使用的数据集` ### main.py 机器文本检测系统行 - `python main.py` ## results 存放各个模块阶段的运行输出结果 - `generate` 存放源数据 - `xsum` - `human` 里面存放文本 - `{id}.txt` - `LLMs` - `gpt2-xl` - `{id}.txt` - `opt-2.7B` - `gpt2-neo-2.7B` - `prompt` 存放提示词 - `{id}.txt` - `chinese` - `其他数据集` - `perturb` 存放扰动后的结果 - `xsum` 数据集 - `human` - `{id}_og.pkl` - `{id}_sample.pkl` 一个二维的网格结构 (扰动样本数,分段数) - `LLMs` - `gpt2-xl` 源生成模型 - `{id}_og.pkl` - `{id}_sample.pkl` - `opt-2.7B` - `gpt-neo-2.7B` - `chinese` - `其他数据集...` - `score` 存放得到的ll结果 - `xsum` - `human` - `gpt2-xl` 得分模型 - `{id}_og.npy` - `{id}_sample.npy` - `gpt2` - `gpt-neo-2.7B` - `LLMs` 记录不同生成模型和不同得分模型下的实验数据 - `gpt2-xl` 得分模型 - `{source_model_name}_{id}_og.npy` - `{source_model_name}_{id}_sample.npy` - `gpt2` - `gpt-neo-2.7B` - `chinese` 同上 - `res` 存放结果截图 - `xsum` - `{time}_{source_model_name}_{scoring_model_name}` - `hist.png` - `auc.txt` - `chinese` 同上