| title | PaperGuard 论文体检 |
|---|---|
| emoji | 🛡️ |
| colorFrom | blue |
| colorTo | indigo |
| sdk | docker |
| app_port | 7860 |
| pinned | false |
| license | mit |
| short_description | 开源论文体检 — 统计自洽 / 数字一致 / 图片完整性的疑点扫描 |
给一份 PDF/TXT,自动扫描统计自洽性、数字一致性、图片完整性的潜在问题。
灵感来自 PubPeer、Elisabeth Bik、"耿同学讲故事"的工作方法。
定位: 辅助人工复核的疑点清单,不替代同行评审,不作为指控依据。所有报告附置信度,仅供参考。
- 本工具输出 "疑似" 而非 "定罪"。命中即可疑,不等于造假;未命中也不等于无问题。
- 任何争议必须以原始数据复核为准。作者可能在论文里做了正当的舍入/简化/数据加工。
- 请勿将本工具的输出作为公开指控他人学术不端的依据。如需举报,请走期刊、机构、PubPeer 等正规渠道。
- 上传他人论文请确认不侵犯版权。本服务不存储用户上传的 PDF,跑完即弃。
- 本工具按"现状"提供,不对检测结果的准确性、完整性作任何保证。使用者自行承担一切责任。
文本统计层
- ✅ StatCheck: t/F/χ²/r 与 p 值自洽,标决策反转
- ✅ GRIM Test: 均值 vs 样本量整数自洽
- ✅ dup_numbers: 段内 + 跨段数字雷同(完全相同序列、Jaccard)
图像层
- ✅ image_dup: pHash + ORB 二级验证,含水平/垂直翻转/180° 旋转复用
- ✅ wb_clone: 32×32 分块自相关,捕获 WB 条带 copy-move
通用
- ✅ CLI / Markdown / HTML / JSON 多格式报告(带图片缩略图和克隆块标注)
- ✅ Streamlit Web UI
- v0.1 — 文本统计校验 ✅
- v0.2 — 图片同图复用 / WB copy-move ✅
- v0.3 — Retraction Watch 数据集 + 回测框架 ✅
- v0.4 — 图表数值反向提取(WebPlotDigitizer 思路) + 相关性异常
- v0.5 — 引文/作者关联(论文工厂识别)
# 1. 从 Crossref Retraction Watch 拉退稿元数据(自动分类期望检测器)
python -m cases.fetch_retraction_watch --email [email protected] \
--keyword "Manipulation of Images" "Falsification" --limit 50
# 2. 把对应 PDF 通过合法渠道下到 cases/pdfs/<id>.pdf
# 3. 运行回测,输出 precision/recall/F1
python -m cases.benchmark当前指标:
| 子集 | 案例数 | precision | recall | F1 |
|---|---|---|---|---|
| 合成样本(假 vs 干净) | 5 | 100% | 100% | 100% |
| 真实 Frontiers(4 退稿 + 2 控制组) | 6 | 100% | 50% | 67% |
| 合计 | 11 (+5 PDF 待补) | 100% | 67% | 80% |
真实数据 0 个 false positive(对照组 risk 都是 0)— 当前 wb_clone 的"非显微图前置过滤" 把统计图 / 流程图 / 通路示意图都跳过,代价是 4 篇退稿里有 2 篇被一并跳过(risk=0)。 这是个精确度优先的取舍:宁可漏报也不要在普通图表上误报。
下一步:引入更专门的图像类型识别(先定位 WB / 凝胶 / 显微图区域,再做 copy-move), 目标是在不损失 P 的前提下把 R 提回 90%+。详见 v0.4 roadmap。
样本报告参见 cases/reports/frontiers_batch/。
# 1. 安装依赖
pip install -r requirements.txt
# 2. 命令行体检
python -m paperguard check samples/demo_fraud.pdf
# 3. Web 体检
streamlit run paperguard/web/app.pypaperguard/
core/ # PDF 文本抽取、数字清洗、共用类型
detectors/ # 各类检测器 (statcheck / grim / dup_numbers / ...)
report/ # JSON / Markdown / HTML 报告渲染
web/ # Streamlit 上传界面
tests/ # pytest 用例
cases/ # 真实退稿论文回测框架
samples/ # 论文样本(测试用)
- 🤗 Hugging Face Spaces: https://huggingface.co/spaces/hefs/paperguard
- 📦 GitHub: https://github.com/dongsheng123132/paperguard
欢迎 PR 和 issue。开始之前请:
pip install -r requirements.txt && pip install pytestpython -m pytest paperguard/tests/ -q必须全绿- 加新检测器请同时提供至少一个 positive + 一个 negative 测试,详见
ARCHITECTURE.md - 不要把任何真实他人论文 PDF 提交到仓库(版权 + 隐私)
MIT — 见 LICENSE。