引用验证器Skill citation-verifier

引用验证技能专为自动化验证科学文档中的引用准确性而设计,帮助检测AI生成内容中的虚假引用。通过提取DOIs、URLs、arXiv IDs等标识符,并使用CrossRef API等权威源进行验证,它支持Markdown、LaTeX等多种格式,并能生成详细验证报告,提升学术诚信。关键词:引用验证、DOI检查、科学文档审核、虚假引用检测、学术验证工具、文献检索、引用核查。

文献检索 1 次安装 2 次浏览 更新于 3/12/2026

名称: 引用验证器 描述: | 验证科学文档中的引用和参考文献,以检测虚假或无效的来源。 从 Markdown、LaTeX、org-mode 和纯文本中提取 DOIs、URLs、arXiv IDs、PubMed IDs 和 ISBNs, 然后使用 API 查询和网络获取进行验证。

使用此技能时:

  • 审查 AI 生成内容的引用准确性
  • 验证论文、报告或文档中的参考文献
  • 检查 DOIs/URLs 是否解析到实际论文
  • 审核文档中的断裂或虚假引用

允许工具:

  • 读取
  • 网络获取
  • 网络搜索
  • Grep
  • Glob
  • 待办事项写入

引用验证器

检测和验证科学文档中的引用,以识别虚假、断裂或无效的参考文献。

目的

AI 生成内容有时包含看似合理但虚假的引用。此技能系统地从文档中提取所有引用标识符,并根据权威源验证每个标识符,生成详细的验证报告,包括验证状态和修复无效引用的建议。

何时使用

应调用此技能时:

  • 用户请求“验证文档中的引用”或“检查参考文献”
  • 用户怀疑 AI 生成内容中的虚假引用
  • 用户想验证论文中的 DOIs、URLs 或其他标识符
  • 用户请求审核文档中的断裂链接或虚假引用
  • 用户提到“引用验证”、“参考文献检查”或“DOI 验证”

支持的文档格式

  1. Markdown (.md):内联链接 [文本](url)、引用链接 [文本][引用]、裸 URL、DOIs
  2. LaTeX/BibTeX (.tex, .bib):\cite{}@article{}、DOI 字段、URL 字段
  3. Org-mode (.org):[[url][文本]] 链接、#+BIBLIOGRAPHY、引用链接
  4. 纯文本 (.txt):裸 URL、DOIs、arXiv IDs、作者-年份模式

检测的引用标识符

DOIs (数字对象标识符)

  • 模式:10.\d{4,}/[^\s]+doi.org/10.\d{4,}/[^\s]+
  • 示例:10.1038/nature12373https://doi.org/10.1126/science.abc1234
  • 验证:CrossRef API 在 https://api.crossref.org/works/{doi}

论文的 URLs

arXiv IDs

  • 模式:arXiv:\d{4}\.\d{4,5}(v\d+)?arxiv.org/abs/\d{4}\.\d{4,5}
  • 示例:arXiv:2301.07041https://arxiv.org/abs/2301.07041v2
  • 验证:arXiv API 或直接 URL 检查

PubMed IDs (PMIDs)

  • 模式:PMID:\s*\d+pubmed.ncbi.nlm.nih.gov/\d+
  • 示例:PMID: 12345678
  • 验证:PubMed URL https://pubmed.ncbi.nlm.nih.gov/{pmid}/

ISBNs

  • 模式:ISBN[:\s]*[\d-]{10,17} (ISBN-10 或 ISBN-13)
  • 示例:ISBN: 978-0-13-468599-1
  • 验证:Open Library API https://openlibrary.org/isbn/{isbn}.json

作者-年份引用

  • 模式:([A-Z][a-z]+(?:\s+(?:et\s+al\.?|and|&)\s+[A-Z][a-z]+)?,?\s*\d{4})
  • 示例:(Smith et al., 2023)(Johnson and Lee, 2022)
  • 验证:网络搜索以找到匹配论文(低置信度)

验证程序

步骤 1: 读取和解析文档

使用读取工具加载文档。使用模式匹配提取所有引用标识符:

DOI 模式:
- https?://(?:dx\.)?doi\.org/(10\.\d{4,}/[^\s\])"'>]+)
- doi:\s*(10\.\d{4,}/[^\s\])"'>]+)
- (10\.\d{4,9}/[-._;()/:A-Z0-9]+)  (裸 DOI)

arXiv 模式:
- arXiv:(\d{4}\.\d{4,5}(?:v\d+)?)
- arxiv\.org/abs/(\d{4}\.\d{4,5}(?:v\d+)?)

PubMed 模式:
- PMID:\s*(\d+)
- pubmed\.ncbi\.nlm\.nih\.gov/(\d+)

URL 模式:
- https?://[^\s\])"'<>]+  (过滤学术域名)

ISBN 模式:
- ISBN[:\s-]*((?:\d[-\s]?){9}[\dXx]|(?:\d[-\s]?){13})

步骤 2: 去重和分类

创建唯一标识符列表,按类型分类:

  • DOIs
  • arXiv IDs
  • PubMed IDs
  • ISBNs
  • URLs (学术)
  • 作者-年份引用 (基于文本)

步骤 3: 验证每个标识符

对每个标识符,按可靠性顺序执行验证:

DOI 验证

  1. 构建 CrossRef API URL:https://api.crossref.org/works/{doi}
  2. 使用网络获取检查 API
  3. 如果成功,提取:标题、作者、期刊、年份
  4. 如果 404 或错误:标记为无效

arXiv 验证

  1. 构建 URL:https://arxiv.org/abs/{arxiv_id}
  2. 使用网络获取验证页面存在
  3. 提取:标题、作者、摘要片段
  4. 如果 404:标记为无效

PubMed 验证

  1. 构建 URL:https://pubmed.ncbi.nlm.nih.gov/{pmid}/
  2. 使用网络获取验证
  3. 提取:标题、作者、期刊
  4. 如果 404:标记为无效

ISBN 验证

  1. 构建 URL:https://openlibrary.org/isbn/{isbn}.json
  2. 使用网络获取检查
  3. 提取:标题、作者、出版商
  4. 如果 404:标记为无效

URL 验证

  1. 使用网络获取访问 URL
  2. 检查 HTTP 200 和学术内容指标
  3. 查找:论文标题、作者、页面上的 DOI
  4. 如果不可访问或非学术:标记为可疑

作者-年份验证 (最低置信度)

  1. 使用网络搜索,查询:"{作者}" "{年份}" 论文
  2. 在结果中查找匹配论文
  3. 如果找到:标记为可能有效,并附上源
  4. 如果未找到:标记为未验证

步骤 4: 生成报告

生成结构化验证报告:

# 引用验证报告

**文档:** [文件名]
**日期:** [日期]
**找到的引用总数:** [数量]

## 摘要
- 有效: [数量]
- 无效: [数量]
- 可疑: [数量]
- 未验证: [数量]

## 详细结果

### 有效引用
| ID | 类型 | 标题 | 来源 |
|----|------|-------|--------|
| 10.1038/xxx | DOI | 论文标题 | CrossRef |

### 无效引用 (虚假)
| ID | 类型 | 错误 | 建议 |
|----|------|-------|------------|
| 10.9999/fake | DOI | 404 未找到 | 删除或找到正确的 DOI |

### 可疑引用
| ID | 类型 | 问题 | 建议 |
|----|------|-------|----------------|
| https://... | URL | 超时 | 手动验证 |

### 未验证引用
| 引用 | 类型 | 备注 |
|----------|------|-------|
| (Smith, 2023) | 作者-年份 | 通过搜索未找到匹配论文 |

验证状态定义

  • 有效:标识符解析到真实论文,并有匹配的元数据
  • 无效:标识符不存在或返回 404 (可能虚假)
  • 可疑:无法完全验证;可能是受速率限制、付费墙或暂时不可用
  • 未验证:基于文本的引用无法确认 (保守方法)

最佳实践

  1. 批量类似请求:将 DOI 检查分组以减少 API 调用
  2. 尊重速率限制:如果达到速率限制,添加请求之间的延迟
  3. 交叉引用:如果 URL 包含 DOI,直接验证 DOI
  4. 上下文重要:注意引用出现的位置 (方法与主张)
  5. 报告不确定性:始终区分“确认无效”和“无法验证”

无效引用的输出建议

对每个无效引用,提供可操作的建议:

  • 错误 DOI 格式:“DOI 格式错误。检查是否有拼写错误或额外字符。”
  • 不存在的 DOI:“未找到论文。这可能是虚假的。搜索实际论文标题。”
  • 死链 URL:“URL 返回 404。尝试在 Google Scholar 上搜索论文标题。”
  • 可疑期刊:“出版商不被识别。验证这是合法来源。”
  • 作者-年份未找到:“无法验证。添加 DOI 或 URL 进行确认。”

示例验证会话

用户请求: “验证 my-paper.md 中的引用”

预期行为:

  1. 读取 my-paper.md
  2. 提取所有 DOIs、URLs、arXiv IDs 等
  3. 报告:“找到 15 个引用:8 DOIs、5 URLs、2 arXiv IDs”
  4. 使用适当的 API/获取验证每个标识符
  5. 生成报告显示:
    • 10 个有效引用,带有元数据
    • 3 个无效引用 (404 错误),标记为可能虚假
    • 2 个可疑引用 (超时),需要手动检查
  6. 提供修复无效引用的建议

限制

  • 速率限制:CrossRef 和其他 API 可能限制请求速率
  • 付费墙内容:无法验证付费墙后的完整内容
  • 新论文:非常新的论文可能尚未被索引
  • 作者-年份引用:没有额外标识符时置信度低
  • 非英语来源:对非英语引用格式支持有限
  • 私有/机构 URLs:无法访问认证内容

相关技能

  • literature-review: 用于进行系统文献搜索
  • scientific-reviewer: 用于审查科学文档质量
  • scientific-writing: 用于使用适当引用进行写作