我如何构建一个检测 AI 生成的虚假参考文献的工具
Source: Dev.to
引言
LLM 已经成为日常学术和技术写作的一部分。
但学术界已经指出了一个问题已有一段时间
(Rolling Stone article): LLM 非常擅长捏造引用。
它们看起来可信,几乎与真实论文相匹配,却自信地引用根本不存在的工作。学术界将这些捏造的引用称为 幽灵引用。
用期刊编辑的震惊收尾我的一年 🧵
“今天检查新稿件时,我审阅了一篇论文,里面把两篇我没有写的论文归给了我。作者这么做当然很愚蠢。但我很好奇,于是搜索了其中一个标题,结果变得非常怪异……” — Ben Williamson (@benpatrickwill.bsky.social) (2025‑12‑19)
正如Ben Williamson 教授和Aaron Tay所解释的,根本问题根深蒂固:
“幽灵引用问题是一种已经慢性化的疾病,现已急性化。
这种感染早于生成式 AI;技术只是降低了我们的免疫反应,同时加速了传播。”
问题更加严重,因为具备通用网络搜索能力的 LLM 可能无法可靠地验证引用——网络本身就包含假引用,形成了危险的反馈循环。即使这些来源是错误的,也常被视为真实;它们在已发表文献中出现得越多,可信度就越高。例如,针对 Williamson 教授工作的一个幽灵引用已经在 Google Scholar 中累计了43 次引用。
解决审稿人的负担
同行评审人员本已工作繁忙,而现在——由于虚假引用的激增——他们必须 手动将每一条参考文献复制粘贴到搜索引擎中 以验证其是否真实存在
(Jan Laksar 的 LinkedIn 帖子)。
这是一项枯燥、回报低的工作,往往会被跳过,而转而关注论文的实际内容。由此产生的 “验证缺口” 正是幽灵引用得以潜入的地方。
当它发生在我身上
当我发现 我的论文在一篇已发表的文章中被错误引用 时,这种抽象的担忧变成了具体的问题
(Lidian Y. C. S. 的 LinkedIn 帖子)。
在期刊中看到错误的元数据让我警醒,于是我创建了 CERCA,这是一款开源工具,旨在帮助研究者、审稿人和编辑快速核实参考文献的准确性。它的目标是提升学术写作的信任度、透明度和可靠性。
什么是 CERCA?
CERCA(Citation Extraction & Reference Checking Assistant,引用提取与参考文献检查助手)是一款轻量级的命令行工具,能够:
- 扫描 PDF 并提取参考文献列表。
- 查询可信的仓库(OpenAlex、Crossref、Zenodo)。
- 标记可能无效的引用,并给出置信度分数。
- 显示不匹配的元数据字段(作者姓名、标题、年份等)。
演示
在几秒钟内,CERCA:
- 从 PDF 中提取参考文献,
- 查询 OpenAlex、Crossref 和 Zenodo,
- 标记可疑的引用,
- 高亮显示哪些元数据字段不匹配。
与手动复制粘贴每条参考文献相比,您只需几分钟即可获得一份可供审阅的验证报告。
Development Insights
构建 CERCA 需要解决一些有趣的工程挑战,尤其是围绕 模糊匹配 和 书目解析 的问题。
1. 解析凌乱的引用
学术引用有数十种格式(APA、MLA、IEEE、ACM、Vancouver 等)。创建一个能够可靠提取参考文献且不产生误报的解析器是首个难点。我使用了 Cermine,这是一款能够处理 PDF 解析和元数据提取的 Java 库。
2. 验证逻辑
第二个挑战是判断 何时 引用是拼写错误还是幻觉。我实现了模糊匹配启发式算法,将提取的元数据与可信 API 返回的记录进行比对。该工具可以检测以下问题:
| 问题 | 示例(虚假引用) |
|---|---|
| 作者列表不匹配 | 6 位捏造作者,遗漏 9 位 |
| 标题不完整 | 标题被截断或更改 |
| 第一作者姓名不一致 | 拼写错误或错误的第一作者 |
示例
Cerqueira, M.; Tavares, A.; Couto, C.; Maciel, R.; Santos, D.; Figueira, A.
"Assessing software practitioners' work engagement and job satisfaction."
CERCA 检测到:
⚠️ 作者列表不匹配(6 位捏造,9 位遗漏)
⚠️ 标题不完整
⚠️ 第一作者姓名不一致
正确的参考文献:
Cerqueira, L., Nunes, L., Guerra, R., … & Mendonça, M. (2025). Assessing Software Practitioners’ Work Engagement and Job Satisfaction in a Large Software Company—What We Have Learned. SN Computer Science, 6(3), 273.
3. 可信来源
CERCA 查询 OpenAlex、Crossref 和 Zenodo——这些仓库提供 DOI 级别的元数据,较少出现“假引用”问题。该工具会聚合结果,计算置信度分数,并呈现简洁报告。
入门指南
# Clone the repository
git clone https://github.com/lidianycs/cerca.git
cd cerca
# Install dependencies (requires Python 3.9+)
pip install -r requirements.txt
# Run CERCA on a PDF
cerca check path/to/your-paper.pdf
输出为一个 Markdown 表格,汇总每个参考文献、其验证状态以及任何不匹配的字段。
为什么重要
- 减少审稿人工作量 – 再也不需要手动复制粘贴。
- 提升文献质量 – 在出版前捕获虚假引用。
- 增强信任 – 作者、编辑和读者可以依赖准确的参考文献。
加入行动
如果您在自己的工作中遇到幽灵引用,或想帮助改进 CERCA:
- 在 GitHub 上给仓库加星。
- 提交问题,并附上误报/漏报的示例。
- 贡献 代码或文档。
我们共同努力,遏制虚假引用的传播,确保学术交流的可信度。
🔍 手动备选
如果自动搜索失败,您可以右键手动搜索参考文献标题。
🔐 隐私优先设计 – PDF 文件永不上传,也永不离开您的机器。所有 PDF 解析和参考文献提取均在本地完成。
技术栈
- Java + JavaFX – 跨平台桌面应用
- Cermine – PDF 解析和元数据提取
- OpenAlex、Crossref、Zenodo API – 参考文献验证
- JavaWuzzy – 处理引用变体和拼写错误
我选择这套技术栈是为了使用 JavaFX 构建跨平台兼容的 Java 桌面应用(Windows、macOS、Linux)。
为什么开源?
因为该工具的目的在于透明。它解决了一个共同的问题,通过将 CERCA 开源,我邀请社区审计代码、改进解析器并集成更多数据库。
它采用 GNU Affero 通用公共许可证 (AGPL‑3.0) 授权。
谁可以使用 CERCA?
- 研究人员 进行最终稿件检查
- 审稿人 评估参考文献的一致性
- 编辑 支持编辑质量控制
- 元研究者 与可重复性工作流
再次加入行动
幽灵引用威胁学术信任。CERCA 是一个起点,但它需要你的专业知识。
立即尝试:
📥 下载 CERCA (v1.1‑alpha) – Windows | macOS | Linux
Cerca 并未完全解决幽灵引用的问题,仍在持续开发中。这是一个小而实用的步骤。如果它能帮助研究者捕捉到哪怕一个错误引用,节省审稿人的时间,或鼓励对 AI 生成文本进行更批判性的参与,那么它已经实现了自己的目的。
帮助改进它:
- 🐛 发现边缘案例?
- 💡 有想法?
- 🔧 想贡献代码?
👉🏾 下载工具并在此处查看仓库。
本项目邀请研究和开发社区一起实验、评估并共同构建更好的工具。
分享你的成果: CERCA 在你的工作中捕捉到了幽灵引用吗?欢迎在评论中告诉我。
