Community研究與資料分析github.com

bibliometria

適用於建構、測量或審查書目資料庫時,協助在 PubMed、OpenAlex、Crossref、DOAJ、ERIC、SciELO 等資料庫中進行檢索、計數、交集、缺口分析、篩選、共被引、共同作者、主題詞表及 Zotero 操作。內含產生錯誤結論的陷阱:數字正確但理由錯誤。在斷言文獻中不存在某事物之前,請先查閱。如需在取得資料後繪製地圖,請參閱 vosviewer 技能。

bibliometria 是什麼?

此技能的核心目標並非教授書目計量學,而是識別並避免在書目分析過程中產生的特定、常見且具誤導性的錯誤。這些錯誤的共同特徵是:產生一個看似正確但實質錯誤的數字。技能文件詳述了七大類陷阱,包括「零」的六種可能成因(可能只是資料庫或檢索策略錯誤)、字串比對的表面符合性陷阱、變異合併的風險、以及腳本上限與實際欄位大小的差異等。每個陷阱都提供了具體的案例、測試方法與避免原則,例如:永遠不要聲稱文獻不存在,而應限定於「在此資料庫、用此策略、在此時間範圍內沒有記錄」。文件也涵蓋了與各大學術資料庫(如 PubMed、OpenAlex)互動的技術細節,特別是針對全文與補充資料的下載路徑(含 NIHMS 手稿的特殊處理),以及需遵守的法律限制(如 CAPES 法規禁止自動化爬取)。最終,此技能能在整理、計算、過濾、去重書目資料時,協助用戶生成穩固且可被反駁的結論,避免基於不完整的資訊做出錯誤推斷。

相容平台✓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. 「零」有六種原因,只有一種是真正不存在。

這些原因分為兩組,驗證方式不同。

四種可透過查詢消除

每種都有具體的測試方法。只需要一次 API 呼叫,結果是客觀的。

原因測試範例
資料庫錯誤在不同覆蓋範圍的資料庫(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 有兩個需要相反回應的原因:太快(等待就能解決)和當日配額用完(無法解決)。在做出反應之前先讀取訊息內容;密集的 session 會耗盡配額。

2. 表面比對大部分正確,但錯誤的部份足以造成影響

所有基於字串的比對都需要完整包含,絕不能僅靠共享的單字。真實案例:

  • MeSH 為 "retinopatia diabética" 回傳了 Hypoglycemia, Neonatal, Simulating Foetopathia Diabetica,這是合法的描述詞,但疾病是錯的,因為它包含了 "diabética"。
  • Wikipedia 將 Escala de Equilíbrio de Berg 作為 "teleconsulta" 的翻譯回傳,因為該文章提及了遠距醫療。前端變成了 "teleconsulta" OR "Berg Balance Scale":在一場關於遠距諮詢的搜尋中,出現了 2,456 筆關於平衡量表的記錄。
  • 一篇文章因為標題中含有 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 et al. (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 bytes,PMC11700762),PMC 的 OA 服務(/utils/oa/oa.fcgi)和 FTP 都回傳 404,而連結 pmc.ncbi.nlm.nih.gov/articles/instance/<id>/bin/<檔案> 會開啟一個顯示「Preparing to download...」的頁面,這需要瀏覽器。這是反機器人機制:不要繞過它。 請停止,說明需要哪個檔案,並要求使用者透過瀏覽器下載,然後將其以你指定的名稱儲存到套件的資料夾中。
  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.

相關技能