Community研究与数据分析github.com

Bibliometria: 产生错误数字的陷阱

用于构建、测量或审查文献集合,在 PubMed、OpenAlex、Crossref、DOAJ、ERIC、SciELO 等数据库中进行检索,支持计数、交集、缺口分析、筛选、共引、共著、叙词表以及 Zotero。包含那些导致错误结论的陷阱:数字正确但理由错误。在断言某事物在文献中不存在之前,请先咨询此技能。如需在获得数据后绘制地图,请参阅 vosviewer 技能。

Bibliometria: 产生错误数字的陷阱 是什么?

此技能并非教授文献计量学,而是揭示文献计量中最常见且最隐蔽的错误模式——这些错误都呈现相同特征:一个看似正确但实际上错误的数字。这些错误不会在阅读时显现,只会在测量中暴露。技能的核心原则是:“永远不要在未测量存在的情况下断言缺失。”零值有六种可能的成因,只有一种是真正的缺失,而其余五种需要不同的诊断和补救方法。该技能支持在 PubMed、OpenAlex、Crossref、DOAJ、ERIC 和 SciELO 等多个平台上进行检索,并提供处理字符串匹配、变体融合、计数验证以及全文和补充材料检索等具体陷阱的指导。它特别强调了 OpenAlex 的按请求计费模型可能导致的 429 错误,以及技术限制(如脚本上限)如何系统地低估文献规模。技能还涵盖了伦理和实践边界,包括禁止自动化访问受版权保护的数据库(如 Scopus 和 Web of Science)以及安全处理 Zotero 数据库。最终目标是帮助用户产出可验证、可反驳的声明,而非不可辩护的泛化结论。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ricamesq/docencia-com-ia/tree/main/skills/bibliometria

Installed? Explore more 研究与数据分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Bibliometria: 产生错误数字的陷阱 是做什么的?

此技能并非教授文献计量学。它教授的是最常见的具体错误,这些错误都具有相同特征:一个看似正确但实际上错误的数字。 这些错误都不会在阅读时出现;它们都出现在测量中。

组织其余内容的一条规则:

永远不要在未测量存在的情况下断言缺失。 零是一个强有力的断言, 意味着“我在正确的地方、以正确的方式寻找过,并且没有找到”。但几乎总是意味着别的什么。


1. 零有六种成因。只有一种是真正缺失。

这些成因分为两类,验证方式不同。

其中四种可以通过查询消除

每种都有具体的测试方法,只需一次调用,结果客观。

成因测试方法示例
数据库错误在不同覆盖范围的数据库中重复检索(OpenAlex, Crossref, DOAJ)"maçonaria": PubMed 中为 0,OpenAlex 中为 1,529
字段错误在其他索引字段中重复检索术语:[Author], [Journal], topics.id"amilton iatecola"[tw] = 0; "iatecola amilton"[Author] = 11
查询失败读取错误处理:是否存在某个路径在 except 中返回 0?OpenAlex 的 429 错误变成零
算术错误检查交集中的因子是否都 > 0交集为 0 是因为其中一项已经为 0

作者姓名: PubMed 按 姓 名 索引;人们通常写成 名 姓。在断定作者没有发表文章之前,请测试这两种顺序。

另外两种无法消除,只能声明

没有通用的测试方法,假装存在比承认更糟糕。

  • 语言错误,要证明需要检索所有语言。需要声明的是:检索使用了哪种语言,以及数据库的控制词汇是否属于另一种语言。(MeSH 是英文的;葡萄牙语术语会落入自由文本,从而丢失索引的同义词。)
  • 策略不完整,要证明完整性需要知道完整的策略,而这正是未知的。需要声明的是:使用了哪种策略,并完整陈述,以便他人可以反驳。

后果关乎可用语句的力度

消除了前四种原因并声明了后两种原因之后,可以这样写:

“此数据库、此策略、此时间范围内没有记录。”

绝不要:

“关于此事不存在文献。”

前者是可持续的并且是可反驳的,有人可以改变策略并展示相反的结果,这才应该是正确的做法。后者是无法辩护的,因为它断言了所有未被查询过的事物。

关于 OpenAlex 的说明

它按请求收费(US$ 0.001),每日预算在 UTC 午夜重置。预算用完后,会返回 429 并附带信息 Insufficient budget (...) Resets at midnight UTC 和一个长达数小时的 Retry-After。因此,那里的 429 有两种成因,需要相反的应对措施:请求过快(等待解决)和每日配额耗尽(无法解决)。在反应之前先读取响应体;一次密集的会话会耗尽配额。

2. 表面匹配大多正确,但错误率足以造成问题

所有基于字符串的匹配都需要完全包含,绝不能是共享单词。真实案例:

  • MeSH 对“diabetic retinopathy”返回了 Hypoglycemia, Neonatal, Simulating Foetopathia Diabetica,这是一个合法的描述符,但疾病错误,因为它包含了“diabetic”。
  • Wikipedia 将 Escala de Equilíbrio de Berg 作为“teleconsulta”的翻译返回,因为那篇文章提到了 teleconsulta。导致查询变成了 "teleconsulta" OR "Berg Balance Scale":在一项关于远程咨询的检索中得到了 2,456 条关于平衡量表的记录。
  • 一篇文章因为标题中含有 SHIMMER 而被纳入语音检索,但 SHIMMER 是病历索引的缩写,而不是声学参数。

规则: 相关性检索 ≠ 概念同一性。模糊检索的第一个结果不是翻译、同义词或同一实体。

3. 变体融合:错误在于融合,而不在于保持分离

根据相似性提出融合建议,在一次测试中产生了十一个提案,几乎全是错误的:

  • Type 1 diabetes → Type 2 diabetes(不同的疾病;数字本身就是全部差异,而过滤器丢弃了 ≤2 个字符的 token)
  • Diabetes mellitus → Type 2 Diabetes Mellitus(属变成种)
  • University of Baltimore → University of Maryland, Baltimore(两所不同的大学)

规则: 数字绝不是短 token;包含 适用于作者和机构,绝不适用于概念(其中子字符串表示层次结构);要求相等的区分性单词,而非子集。错误地融合过多比过少代价更高;将一个错误的融合放入地图看起来像正确。最终决定始终由人做出。

4. 通过两种方式检查求和

采集器将标识符截断为 24 个字符以生成键。同一出版商的 DOI 共享前缀,导致冲突,一个覆盖了另一个,输出显示 "54 条新记录" 但语料库中只有 49 条。五篇文章静默消失了。

如果没有任何核对,错误就会被忽略。始终:之前 + 新记录 == 之后 且 新记录 + 已存在 == 已读取。如果对不上,请说明对不上。

5. 脚本上限 ≠ 字段大小

在一个定向检索脚本中,使用 per_page=25 + rows=20。13 个查询中的任何一个在报告中都没有超过 45 条结果,因为 45 是上限。实际覆盖率跨越三个数量级:在 data literacy teacher education 中为 0.2%,在 DigCompEdu validation 中为 83%。

这并不否定定向检索,它的存在是为了找到关键作品。但这个数字不足以支持关于规模或覆盖范围的断言。如果存在截断,请说明有多少被排除在外。

6. 始终声明范围

“整个语料库”的指标和“已包含”的指标不可比较。一个主题有 53 篇被收集,0 篇被筛选,回答“没有记录包含 DOI”,按计数是真实的,但意义具有误导性。在每次输出中都声明范围。

7. 全文和补充材料:路径取决于文章类型

在查找 Benke 等人 (2025) 的寡核苷酸序列时:Claude Science 尝试了 PMC 的 OA 服务和 FTP,三条路径都返回 404,并且陷入了循环。补充材料确实存在;只是路径错了。这里的 404 表示路径错误,而不是缺失(这是第 1 节中的“查询失败”)。

有效的顺序:

  1. PMCID: elink.fcgi?dbfrom=pubmed&db=pmc&id=<PMID>。没有 PMCID,PMC 中就没有开放的全文;转到 DOI 并查看出版商是否提供开放获取。
  2. 全文: efetch.fcgi?db=pmc&id=<PMCID 号>&retmode=xml。适用于开放获取文章以及 NIH 作者的手稿。从中可以获取方法、表格和数字。
  3. 补充材料列表: 在同一 XML 中,带有 xlink:href 的 <supplementary-material> 标签给出每个文件的名称。在下载之前,先弄清楚你要找什么。
  4. 文章类型: 如果 XML 中包含 <article-id pub-id-type="manuscript-id">NIHMS...,则属于作者手稿,第 5 步的路径不适用于其补充材料。
  5. 出版商的开放获取文章的补充材料: Europe PMC,https://www.ebi.ac.uk/europepmc/webservices/rest/<PMCID>/supplementaryFiles,返回一个 zip 文件(PMC12904924:4.5 MB zip)。
  6. NIHMS 手稿的补充材料: Europe PMC 返回空响应(297 字节,PMC11700762),PMC 的 OA 服务 (/utils/oa/oa.fcgi) 和 FTP 返回 404,并且链接 pmc.ncbi.nlm.nih.gov/articles/instance/<id>/bin/<file> 打开一个“准备下载...”页面,这需要浏览器。这是针对机器人的障碍:不要绕过。 停下来,说明需要哪个文件,然后请用户在浏览器中下载并将其保存到包的文件夹中,使用你指定的名称。
  7. 在请求用户之前,先尝试出版商。 NIHMS 手稿也有出版商版本。在 Elsevier,Crossref 提供 PII(alternative-id),补充材料通常位于公共 CDN https://ars.els-cdn.com/content/image/1-s2.0-<PII>-mmc1.pdf(如果 404 则更改扩展名)。Benke 2025(PII S0956566324010595)在 13/10/2026 年通过此方式获取:200,1.5 MB PDF,无阻碍。

千万不要做: 因为补充材料未打开而凭记忆重建序列、目录号、体积或温度。未从文件中获取的内容保留为“待定”,并附上缺失文件的名称。

在陷入路径循环之前: 如果同一文件的两条不同路径都返回 404,请停下来检查文章类型(第 4 步),而不是尝试第三条路径。


无法绕过的限制

  • CAPES 第 275/2023 号法令,第 50 条 禁止使用机器人或智能代理访问或下载合同内容,并且该禁令适用于授权用户。Scopus、Web of Science、CAPES 门户、Google Scholar:构建检索字符串,在侧边打开数据库,接收导出。永远不要自动化接口。
  • 永远不要写入 zotero.sqlite。 仅使用 mode=ro&immutable=1 读取。
  • 永远不要覆盖筛选决定。 元数据可以重建;人类判断则不能。
  • 永远不要在不通过 API 验证的情况下引用标识符。 伪造的 DOI 通过阅读无法与真实的区分。

在交付之前

  1. 每个零是否都已通过六种成因之一得到解释?
  2. 每个求和是否都通过两种方式闭合?
  3. 每个截断是否都说明了有多少被排除在外?
  4. 每个范围是否都已声明?
  5. 每个变体融合是否都经过了人类决策?

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能