跳到主内容

course materials · 2026 秋季本科

练习六:用文献核验技能查参考文献

Week 7 · 2026-10-20 · 上机材料

返回本周材料

课上演示 4:WorkBuddy 装 bib-citation-validator 核 5 条参考文献,再读摘要判断论断有没有依据。

切换上机材料(7 篇)
本页目录

上机导航 · 常见问题 · 工具说明总览

材料在学生材料包的 06_文献核验技能/ 里。

这个练习做什么

一篇短论文草稿引用了 5 篇文献。交稿前要确认三件事:文献是不是真的,信息写对没有,正文引用它们说的那句话在原文里有没有依据。

  1. 让 WorkBuddy 装上 bib-citation-validator 技能,用它逐条对照 Crossref、OpenAlex 两个国际文献库,出一份核验报告。
  2. 再让它读每篇能找到的摘要,判断正文那句话有没有依据,写成 核验表.md。
项内容
客户端WorkBuddy(录屏用 5.8.3,macOS)
工作区一个新文件夹,放 材料包/ 里的 paper.tex、refs.bib
工具bib-citation-validator 技能(Python 脚本,按固定规则判 PASS/WARN/FAIL)
录屏长度5 分 2 秒,等待段加速播放

🎬 讲解录播

录播 5 分 2 秒,带讲解和字幕,播放器右下角可以全屏。

准备

  • 新建一个文件夹,把 材料包/paper.tex、材料包/refs.bib 拷进去。
  • 把 材料包/bib-citation-validator/ 整个文件夹放进电脑的“下载”文件夹。

先装技能

新建一个任务,在输入框下面点工作空间,选“打开本地文件夹”,选中放草稿的文件夹。然后发送:

把下载文件夹里的 bib-citation-validator 文献核验技能装到项目里,缺的 Python 包用清华源装好,告诉我怎么确认

它会读技能说明,把技能复制到项目自己的技能目录,用清华源装 requests 和 rapidfuzz,再拿两条文献试跑一次。录屏里这一步约 2 分钟,没有弹沙箱确认。

指令原文

指令一:跑技能,看报告

新建一个任务,工作空间再选一次同一个文件夹(新任务会把工作空间重置)。在输入框里打 /bib,列表里出现 bib-citation-validator,点它,把技能挂到这次任务上。然后发送:

用 bib-citation-validator 检查 paper.tex 和 refs.bib 里的参考文献是不是真的,把报告打开给我看,告诉我哪几条有问题、问题在哪。

指令二:读摘要,判论断

在同一个任务里发送:

报告只核对了题名、作者、年份这些信息。请再读一下每篇能找到的摘要,判断正文里引用它的那句话有没有依据,写进 核验表.md:已核实/信息有误/论断未核验。

看点

  • 技能按固定规则核对:DOI 能不能解析,题名相似度、年份、第一作者对不对得上。同样的输入,每次结果一样。
  • 报告里的 PASS 只说明题名、作者、年份对得上,不说明正文那句话有依据。这要读摘要才知道。
  • 中文期刊文献,国际库里大多没有,查不到不等于假。
  • 报告给出的“建议更正”是规则找到的最接近候选,是不是同一篇,要人来判断。

✅ 自查

  1. 看调用记录:展开 WorkBuddy 的执行过程,指令一里有运行 validate_refs.py 的命令;指令二里有取摘要的步骤(调 OpenAlex、Crossref 接口或网页搜索)。
  2. 看报告:工作区里有 report.md、report.csv、report.json。五条都有 PASS/WARN/FAIL 结论;每条 WARN、FAIL 都写了原因(如 DOI 解析失败、年份差几年、题名相似度多少)。
  3. 自己抽查:挑一条 FAIL 或 WARN,把 DOI 粘到 https://doi.org/ 打开,或在 Crossref、知网等平台按题名搜一下,看和报告说的是否一致。
  4. 看核验表:核验表.md 五条都有判断和理由;每条“已核实”都能指出摘要里的哪句话支持正文;查不到摘要的,写明了是在哪里查的。
  5. 看原文件没被改:paper.tex、refs.bib 内容不变。要改的地方由你决定后再改。

常见问题

报告里“建议更正”列出的论文能不能直接抄进 bib? 不能。查不到时,规则会给出题名最接近的候选,录屏里就出现过把一篇无关论文列成“建议更正”的情况。先核对题名、作者、期刊是不是同一篇,确认后再改。

中文文献在报告里是 FAIL,是不是假的? 不一定。Crossref、OpenAlex 收录的中文期刊很少,查不到不等于假。到知网、万方或期刊官网按题名、作者查,找到原文和摘要再下结论。

核验表里三个标签用得和我想的不一样。 “已核实/信息有误/论断未核验”这三个词,指令里没有给定义,WorkBuddy 会自己定口径,写在核验表前面;它还可能另加标签。想统一用法,就在指令里写清每个标签的定义,例如“信息有误:题名、作者、年份、期刊、DOI 有错;论断未核验:摘要不支持正文那句话,或者找不到摘要”。

report.md 末尾有一节“人工复核补充”。 那一节是 WorkBuddy 自己追加的复核,不是脚本输出。脚本的原始结论以 report.csv、report.json 和 report.md 前面几节为准。WorkBuddy 的复核可以参考,但要分清哪些是规则判的、哪些是它判的。

装依赖时提示找不到包,或者装好了脚本仍报缺 requests、rapidfuzz。 WorkBuddy 有自带的 Python 环境,它会把包装进那里。你自己在终端用系统的 python3 运行脚本时,系统环境里可能没有这两个包,要另外装(用清华源)。

报告里 Zotero 一项显示 0/5、每条都是“not found”。 脚本会先查本机的 Zotero 文献库,没有装 Zotero 就跳过这一步,属正常,不影响 Crossref、OpenAlex 的核对。

Crossref、OpenAlex 国内能不能访问? 录屏时在国内网络下直连两个接口,都能正常返回。偶尔超时就让它重跑一次;脚本有缓存,重跑很快。

用 Windows 能不能照做? 录屏在 macOS 上完成。脚本只用 Python 和两个常见包,Windows 上照这套指令做,未实测。