SemMedDB — 1.3 亿语义谓词织成的文献知识图谱

NLM LHNCBC 用 SemRep 1.8 全自动抽取 MEDLINE 3723 万篇引文标题与摘要的语义谓词数据库:130,480,195 条 predications、六表结构、30 种语义谓词、UMLS Metathesaurus 许可,semmedVER43_R 为官方声明的最终版

来源 MEDLINE BASELINE 2022 + PubMed Update Files(through 2024-05-08)经 SemRep 1.8 Regular 全自动抽取:SENTENCE 263,160,520 句 / ENTITY 1,982,424,585 实体提及 / PREDICATION 130,480,195 语义谓词,六表 MySQL 转储与 CSV.gz 双格式发布时间: 2026-10-04最后更新: 2026-10-20 阅读 52
SemMedDB — 1.3 亿语义谓词织成的文献知识图谱

信息速览

数据集名称SemMedDB — 1.3 亿语义谓词织成的文献知识图谱
数据类型自动抽取,知识图谱,原始数据
规模不适用:37,233,341 篇 MEDLINE 引文级文献记录,非患者队列
接入方式MEDLINE BASELINE 2022 + PubMed Update Files(through 2024-05-08)经 SemRep 1.8 Regular 全自动抽取:SENTENCE 263,160,520 句 / ENTITY 1,982,424,585 实体提及 / PREDICATION 130,480,195 语义谓词,六表 MySQL 转储与 CSV.gz 双格式
AI 就绪度

INFOBOX — SemMedDB 一屏速览

维度 内容
本质 NLM 用 SemRep 对 MEDLINE 全量引文标题+摘要全自动抽取的「主语-谓词-宾语」语义谓词(semantic predication)数据库——文献级知识图谱的数据库形态
团队 NLM Lister Hill 国家生物医学传播中心(LHNCBC);Halil Kilicoglu(架构师)、Graciela Rosemblat 等
论文 Bioinformatics 2012;28(23):3158-3160(创刊);BMC Bioinformatics 2016;17:163(2.0);BMC Bioinformatics 2020;21:188(SemRep 评估)
版本 semmedVER43_R:MEDLINE BASELINE 2022 + PubMed 更新至 2024-05-08——官方声明最终版,此后停止更新
规模 37,233,341 引文 / 130,480,195 predications / 263,160,520 句 / 1,982,424,585 实体提及
谓词 30 种语义谓词(TREATS/CAUSES/INHIBITS/INTERACTS_WITH 等);语义类型来自 UMLS Semantic Network
质量 SemRep 严格匹配 F1=0.42 / 宽松匹配 F1=0.52(2020 评估);全自动、零人工标注——规模换精度
修饰 PREDICATION_AUX 提供 NEGATION_FLAG / UNCERTAIN_FLAG;正式库 anaphora(指代消解)关闭
获取 UTS 账号登录后下载;MySQL 转储 + CSV.gz 双格式;旧入口 /project/semmeddb 已重定向(坑 3)
许可 UMLS Metathesaurus License(非商业)——biothings 曾错标 CC BY 4.0 后修正(坑 4)
状态 VER43_R 后不再更新;旧版 VER31/40/41/42 已被官方删除
量级坐标 断言 1.3 亿 / 句子 2.6 亿 / 实体 20 亿——三层口径勿混(坑 1,§2.8 坐标系)
库内互链 umls(558)、bc5cdr(415)、biored(457)、drugcentral(344)、disgenet(449) 等 16 条

SemMedDB(Semantic MEDLINE Database,语义 MEDLINE 数据库)是美国国家医学图书馆(NLM)Lister Hill 国家生物医学传播中心(LHNCBC)生产的「文献级知识图谱」:用自研的 SemRep 信息抽取系统把 MEDLINE/PubMed 全部引文的标题与摘要逐句读一遍,把自然语言句子里的生物医学断言抽成「UMLS 概念 A - 语义谓词 - UMLS 概念 B」的三元组,落成六张关系表。最终版 semmedVER43_R 含 37,233,341 篇引文与 130,480,195 条语义谓词——平均每篇引文约 3.5 条三元组,且每一条都能回溯到原文的具体句子。

三个关键认知先行:

  1. 它是全自动的:从实体识别到谓词判定没有任何人工标注环节,精度上限被 SemRep 系统本身封顶(严格匹配 F1=0.42)——这是它与 bc5cdr、biored 等人工标注关系语料的本质分野,也是 1.3 亿行规模的直接代价。
  2. 它是静止的:官方下载页明示 VER43_R 是 “the final update for the SemMedDB Database”,此后不再更新;一切引用与工程决策都要带上「数据截止 2024-05-08」这个时点(坑 2)。
  3. 它是受限开放的:数据免费但绑定 UMLS Metathesaurus License(非商业用途),下载需 UTS 账号——「免费」与「无门槛」是两件事,第三方镜像的许可标注还曾出错(坑 4)。

导语读法三则:

  1. 只想下数据:直奔 §5——注意 UTS 账号门槛与非商业限制,别被「NLM 免费」四个字误导。
  2. 关心数据质量:直奔 §4——SemRep 评估、错误来源分解与「分层使用」策略三段连读。
  3. 做知识图谱或药物重定位:直奔 §6——下游生态与通行使用策略可直接对标。

§0 导读:这个数据集解决什么问题

生物医学知识的主要载体是句子,不是表格。MEDLINE 每年新增一百多万篇引文,几乎每篇摘要都藏着若干条「X 导致 Y」「Z 治疗 W」式的断言。要把这些断言变成机器可计算的知识,有两条路:一条是人工标注——精度高,但成本高到只能覆盖百篇量级(库内 bc5cdr、biored 都是数百篇规模);另一条是全自动抽取——精度打折,但能把语料铺满整个 MEDLINE。SemMedDB 走的是第二条路:NLM 用 SemRep 系统对 3723 万篇引文逐句抽取,产出 1.3 亿条语义谓词,建成一个「句子里有什么就存什么」的文献级知识图谱。

它的价值分三层。第一层是数据本身:六张关系表把「哪篇文章的哪个句子里、谁对谁做了什么」存成可 SQL 查询的结构,PREDICATION 主表 1.3 亿行可直接 JOIN 回溯到引文与原句——可溯源性是它区别于黑盒知识图谱的核心资产。第二层是方法样本:SemMedDB 展示了一条全自动流水线如何工程化地跑完整个 MEDLINE,包括哪些功能(anaphora,指代消解)因为维护代价被正式版关闭——这些取舍本身就是文献挖掘工程的一手教材。第三层是生态位:NCATS Translator、Every Cure、biothings 等下游系统都把它当知识底座;但它没有自带基准、没有 leaderboard——它不是考卷,是矿。

§0 读法三则:

  1. 条目主线是「规模换精度」:1.3 亿三元组的每一行都带着 F1≈0.42-0.52 的出厂折扣,使用前必读 §4.5 统计卫生守则。
  2. 全文统计数字均出自官方下载页与三篇论文(2012 创刊、2016 2.0、2020 SemRep 评估);数字口径冲突处(brief 2.7 亿 vs 实核 1.3 亿等)已在 §9 双口径登记表与坑 1 存照。
  3. 检索时注意官方项目页已迁移:/project/semmeddb 会重定向,当前活跃入口在 /temp/SemRep_SemMedDB_SKR/ 路径下(坑 3)——「temp」只是 NLM 服务器目录名,不代表数据是临时资源。

本条目结构地图(按阅读目的选择路径):

你想知道 去哪
这库里有什么、长什么样 §2(六表/谓词/溯源体系)
这些数据怎么来的、为什么有的功能没有 §3(SemRep 流水线/anaphora 取舍)
数据多可靠、错了怎么办 §4(评估数字/错误分解/统计守则)
怎么拿到手、能拿去商用吗 §5(UTS 门槛/许可链/DAIMS)
别人都拿它做什么 §6(下游生态)+ §7(库内组合用例)
有哪些前人踩过的坑 §9(双口径存照)+ §10(八个坑)
快速决策 §11.4 决策卡 + 附录 C 决策树

§1 数据集速览:十问十答

Q1:SemMedDB 到底是什么?
NLM LHNCBC 维护的语义谓词数据库:SemRep 系统对 MEDLINE/PubMed 引文的标题与摘要逐句抽取「UMLS 概念 - 语义谓词 - UMLS 概念」三元组并全量入库。数据形态是六张关系表(MySQL 转储 + CSV.gz 双格式发布),不是 API 服务,也不是图数据库导出文件。

Q2:规模有多大?
最终版 semmedVER43_R:37,233,341 篇引文(CITATIONS 表)、263,160,520 个句子(SENTENCE 表)、1,982,424,585 个实体提及(ENTITY 表)、130,480,195 条语义谓词(PREDICATION 表)。注意:曾有「约 2.7 亿 predications」的说法在流传——那是句子数(2.63 亿)的量级,谓词实核 1.3 亿(坑 1)。

Q3:一条 predication 记录什么?
一条主谓宾断言:主语与宾语各带 UMLS 概念标识与语义类型(如 Pharmacologic Substance、Disease or Syndrome),谓词是 30 种语义谓词之一(TREATS、CAUSES、INHIBITS、INTERACTS_WITH 等),并经 SENTENCE_ID 与 PMID 回链到原句与引文——每个三元组都能溯源。

Q4:谁生成的,可靠吗?
SemRep 1.8 Regular 全自动生成,零人工标注。SemRep 2020 评估:严格匹配 P=0.55/R=0.34/F1=0.42,宽松匹配 P=0.69/R=0.42/F1=0.52。可靠性的正确打开方式是「分层使用」:按谓词白名单+频次过滤(下游 Every Cure 的通行实践),而不是全量直用。

Q5:覆盖哪些语义谓词?
30 种,覆盖治疗(TREATS)、诊断(DIAGNOSES)、病因(CAUSES)、抑制(INHIBITS)、相互作用(INTERACTS_WITH)、过程(PROCESS_OF)等关系族;主宾语义类型取自 UMLS Semantic Network(2020 版 127+ 语义类型)。

Q6:怎么下载?
官方下载页(lhncbc.nlm.nih.gov/temp/SemRep_SemMedDB_SKR/SemMedDB_download.html)→ UTS(Unified Medical Language System)账号登录 → 下载 MySQL 转储或 CSV.gz。旧入口 /project/semmeddb 已重定向(坑 3)。

Q7:许可是什么?
UMLS Metathesaurus License(数据跟随 UMLS 术语许可,UTS 账号签署即覆盖)+ 非商业用途(2012 创刊论文口径)。biothings 镜像曾错标 CC BY 4.0、后经 PR 修正——引用许可时以 UMLS 口径为准(坑 4)。

Q8:还在更新吗?
不。官方下载页明示 VER43_R 是 “the final update for the SemMedDB Database”(数据截止 2024-05-08),旧版 VER31/40/41/42 已从官网删除。任何「持续更新」的表述都与官方口径相反(坑 2)。

Q9:谁在用?
NCATS Translator(NIH 知识图谱计划,官方 wiki 有专页)、Every Cure(药物重定位,给出明确使用建议)、biothings/semmeddb(API 化镜像,2025-05-07 更新至 43_2024R 口径)、PARMESAN(提示语料生成管线),以及大量把 SemMedDB 当弱监督源的研究。

Q10:为什么它对 AI-Ready 重要?
它是「全自动抽取 + 术语许可绑定 + 版本静止」三特征叠加的独特样本:AI-Ready 得分高在机器可读、体量巨大、结构规整(PMID+CUI 双外键体系);失分在许可门槛(UTS 账号+非商业)与精度折扣(无人工标注)。它是库内第一个纯文献级知识图谱条目,与人工标注关系语料家族(bc5cdr/biored/chemprot 等)构成光谱的两端。

§1.5 三个易混概念辨析

检索与阅读 SemMedDB 相关资料时,有三对概念最容易被搅在一起:

易混对 辨析
SemMedDB vs PubMed/MEDLINE PubMed/MEDLINE 是文献库(存文章);SemMedDB 是谓词库(存从文章里抽出的断言)。前者 3700 万篇是「文章数」,后者 1.3 亿条是「断言数」——两者经 PMID 外键连接,但内容层完全不同
SemMedDB vs UMLS UMLS 是概念体系(什么是「阿司匹林」、它属于什么类别);SemMedDB 是断言集合(「阿司匹林-TREATS-头痛」)。SemMedDB 的每个论元都是 UMLS 概念——没有 UMLS,SemMedDB 只是字符串对
SemMedDB(库)vs SemRep(引擎) SemRep 是抽取系统(程序),SemMedDB 是其输出的数据库(数据)。引擎版本(1.8 Regular)与库版本(VER43_R)是两个独立编号;引擎的评估数字(§4)适用于库,但库是静态快照、引擎仍可演化

外加一个常见的时间线混淆:SemMedDB 的论文有三个关键年份(2012 创刊/2016 2.0/2020 SemRep 评估),库版本也有三代口径(schema 2.0→3.0→VER43_R)——论文年代表方法演进,版本年代表数据演进,两轴不要互相代入(§2.1 版本链与附录 P 时间线分轴呈现)。

§2 数据构成与规格

2.1 版本与语料口径

最终版 semmedVER43_R 的三个定位参数:

参数 值 说明
版本号 semmedVER43_R R 对应 SemRep Regular 版输出;官方声明 “This is the final update for the SemMedDB Database”
语料快照 MEDLINE BASELINE 2022 + PubMed Update Files through May 8, 2024 语料日期是数据覆盖的硬边界——2024-05-08 之后的文献不存在于此库
抽取引擎 SemRep version 1.8 Regular 全自动流水线;anaphora(指代消解)功能关闭

版本链(新→旧):

版本 状态 备注
semmedVER43_R 在发布(最终版) 数据截止 2024-05-08;官方声明不再更新
semmedVER43_2023_R 已被取代 PARMESAN 语料基于其 PREDICATION CSV(文件名含 116080 分片号)
semmedVER43_2022_R 已被取代 biothings 引用的 CSV 直链即此版本(路径含 umls-restricted)
VER30+(schema 3.0 起) 历史版本 表结构重构:删除 CONCEPT/CONCEPT_SEMTYPE/PREDICATION_ARGUMENT/SENTENCE_PREDICATION 四表,新增 GENERIC_CONCEPT(259 行)
2.0 时代(VER31/40/41/42 等) 已从官网删除 老 2.0 表结构文档存于 dbinfo20.html(UMLS 2006AA 概念 + EntrezGene 口径);直链已失效

2.0 到 3.0 的 schema 重构值得专门记一笔:老结构里「概念—句子—谓词」的关联被拆在四张表中,3.0 把它们收拢进 ENTITY/PREDICATION 并引入 GENERIC_CONCEPT。下游若有按 dbinfo20.html 建模的老代码,直接接 VER43_R 会在表结构层面报错——迁移成本要在选型时算进去。

2.2 六表总览

官方下载页逐表给出行数与体量(MySQL 与 CSV 双格式发布):

表 行数 MySQL 体量 CSV 体量 内容层
CITATIONS 37,233,341 177M — 引文层:PMID 与题录
SENTENCE 263,160,520 16G — 句子层:被抽取处理的每个句子
ENTITY 1,982,424,585 46G 48G 实体层:句中的实体/概念提及
PREDICATION 130,480,195 3.1G 3.2G 主表:语义谓词三元组
PREDICATION_AUX 130,480,181 4.0G 4.2G 谓词扩展:否定/不确定性等修饰
GENERIC_CONCEPT 259 — — schema 3.0 新增;确切语义官方未详注(坑 7)

三个读表要点:

  1. 比例关系是理解这个数据库的钥匙:平均每篇引文约 7.1 个句子(263,160,520/37,233,341)、约 53 个实体提及(1,982,424,585/37,233,341)、约 3.5 条谓词(130,480,195/37,233,341)。谓词数远少于实体提及数——大部分句子抽不出可入库的谓词关系,这与 SemRep 召回率 0.34 的评估结果(§4.1)互为印证。
  2. PREDICATION 与 PREDICATION_AUX 差 14 行(130,480,195 对 130,480,181):官方页原样数字,未见解释文字。工程上按「AUX 为主表的近似全集」处理即可,别当成数据损坏去修(坑 5)。
  3. MySQL 与 CSV 体量不一致是正常的(ENTITY 46G 对 48G 等):两种导出格式的编码与存储差异所致,行数口径一致(坑 6)。

2.3 PREDICATION 主表结构

PREDICATION 每行一条三元组。以下为结构示意(带 * 号者为 FACTS 实核字段;其余槽位名按官方文档口径示意,精确列名以 UTS 登录后的库结构文档为准):

PREDICATION(每行一条语义谓词)
  PREDICATION_ID     主键(示意)
  PMID               回链 CITATIONS——引文层
  SENTENCE_ID        回链 SENTENCE——三元组的原文句子出处
  PREDICATE          语义谓词,30 种之一(TREATS/CAUSES/INHIBITS/…)
  SUBJECT_*          主语槽位:UMLS 概念、名称、语义类型等
  SUBJECT_NOVELTY*   主语新颖性标记(schema 3.0 起,与 GENERIC_CONCEPT 联动)
  OBJECT_*           宾语槽位:UMLS 概念、名称、语义类型等
  OBJECT_NOVELTY*    宾语新颖性标记(schema 3.0 起,与 GENERIC_CONCEPT 联动)

PREDICATION_AUX(修饰扩展表)
  NEGATION_FLAG*     否定标记
  UNCERTAIN_FLAG*    不确定性标记

这张表的工程价值在于双外键溯源体系:PMID 让你回到论文,SENTENCE_ID 让你回到具体句子。做知识清洗或抽样质检时,任何一条可疑三元组都能在原文里找到它的出生地——这是许多黑盒知识图谱产品不具备的透明度。

2.4 修饰标记与 factuality 研究链

PREDICATION_AUX 的两个标记直接决定了三元组的「语气」:

  • NEGATION_FLAG:句子表达的是否定(「X 不导致 Y」)——不做过滤就会把否定的断言当正向知识用,这是文献级知识图谱最经典的翻车点。
  • UNCERTAIN_FLAG:句子表达不确定(「可能」「推测」层面)——弱证据信号。

在这两个 flag 之外,NLM 团队有一条持续细化「断言修饰」的研究线,但都停留在论文层面、未并入正式库:

年份 工作 内容 出处
2016 SemMedDB 2.0 / sortal anaphora 指代消解实验与 2.0 库发布 BMC Bioinformatics 17:163,PMID 27080229
2017 factuality 把修饰细化到事实性维度 PLoS One,PMID 28678823
2019 contradictions 文献间矛盾关系检测 Rosemblat 等,PMID 31473364
2024 修饰扩展 Kilicoglu 团队后续工作 J Biomed Inform,PMID 38782169

对使用者的含义:正式库里你能用的修饰信息就是两个 flag——别在文档里找 factuality 字段,它不在 VER43_R 的产品形态里。

2.5 谓词体系与语义类型

  • 语义谓词 30 种:这是 PREDICATE 字段的封闭取值集。FACTS 实核的示例谓词包括 TREATS(治疗)、DIAGNOSES(诊断)、CAUSES(导致)、INHIBITS(抑制)、INTERACTS_WITH(相互作用)、PROCESS_OF(过程)。官方完整清单以 UTS 登录后的文档为准——本条目不凭记忆罗列全表,构建白名单的方法见附录 E。
  • 语义类型来自 UMLS Semantic Network(2020 版 127+ 语义类型):主宾概念的语义类型(如 Pharmacologic Substance、Disease or Syndrome)决定了三元组的「词性」——按语义类型对组合过滤,是比逐条检查更高效的粗筛手段(§4.2 的错误分解支持这一点)。
  • 谓词与语义类型是两层不同的约束:谓词管「关系是什么」,语义类型管「论元是什么」。白名单+类型对过滤的组合是下游的通行实践(§6.3 Every Cure 口径)。

2.6 一条 predication 的完整旅程

以创刊论文所举示例「Infection-CAUSES-Guillain-Barre Syndrome(感染导致格林-巴利综合征)」为例,一条三元组在库中的完整旅程:

  1. 句子层:SemRep 读到某个含该断言的句子(SENTENCE 表落行)。
  2. 实体层:句中「Infection」「Guillain-Barre Syndrome」被识别为实体提及(ENTITY 表落行),各自带上语义类型。
  3. 归一化:实体提及映射到 UMLS 概念(CUI),从文本变体收敛到标准概念。
  4. 谓词判定:触发词与句法分析判定 CAUSES 关系成立,PREDICATION 表落行。
  5. 修饰赋值:句子若含否定/不确定表达,PREDICATION_AUX 相应置位。
  6. 消费:下游经 SQL JOIN 或 biothings API 取数,按白名单与频率过滤后进入知识图谱或模型训练。

这条旅程解释了为什么 SemMedDB 的规模是「引文的 3.5 倍」而不是「实体的几十分之一」:关系成立的门槛远高于实体识别的门槛——每一行谓词背后都站着约 15 个被识别但未被装配进关系的实体提及。

2.7 与 UMLS 的绑定关系

SemMedDB 对 UMLS 的依赖是结构性的,不是可选的:

  • 概念与语义类型全部来自 UMLS:没有 UMLS,主宾概念就没有锚点——库里的三元组是「CUI-谓词-CUI」的骨架,UMLS 才给它们血肉。
  • license 绑定:正因为概念体系是 UMLS 的,数据许可跟随 UMLS Metathesaurus License(§5.3)——这是「数据免费但受限」的根源。
  • UTS 账号是唯一正规入口:下载需 UTS 登录(§5.1);用库时应配对加载对应版本的 UMLS Metathesaurus,把 CUI 解析回人类可读的概念名。
  • 版本耦合:UMLS 语义网络自身在演进(老版本 2.0 库甚至绑定 UMLS 2006AA 与 EntrezGene)——跨版本对比 SemMedDB 时,先确认各自绑定的 UMLS 口径。

2.8 数据规模的三层量级坐标系

SemMedDB 有三个容易混淆的「亿级」数字,建立量级坐标系后再读任何二手资料都不会迷路:

量级 数字 所在表 语义
L1 断言层 130,480,195 PREDICATION 机器读出的「主谓宾」——知识的原子
L2 句子层 263,160,520 SENTENCE 被处理过的句子——L1 的原料
L3 实体层 1,982,424,585 ENTITY 实体提及——L1/L2 的零件

三层坐标系的三个用法:

  1. 定锚:见到任何关于 SemMedDB 规模的表述,先问它在哪一层——「2.7 亿谓词」是 L2 口径误传(坑 1)、「20 亿关系」是 L3 口径的夸张转述,只有 1.3 亿是谓词。
  2. 换算:层间比例(谓词/句子≈0.50、实体/句子≈7.5)本身就是流水线效率的画像——每两个句子产出一条谓词、每句 7.5 个实体提及。
  3. 验数:下游论文若给出 SemMedDB 的行数,拿三层坐标系一对照就知道它用的是哪个表——数字打架往往是层口径打架,不是数据造假。

把坐标系记成一句话:断言 1.3 亿、句子 2.6 亿、实体 20 亿——层低数字小,层高数字大,混层必错。

2.9 怎么读官方下载页:逐区块导读

官方下载页(/temp/SemRep_SemMedDB_SKR/SemMedDB_download.html)是本条目最重要的单一事实来源,逐区块的读法:

页面区块 内容 读法要点
版本声明区 “This is the final update…” 与语料口径(BASELINE 2022 + updates through May 8, 2024) 先读这里定版本边界(坑 2)——后面所有数字都属于这个版本
逐表披露区 六表的行数与 MySQL/CSV 体量 本条目 §2.2 全表的来源;行数是硬数字,体量按格式分列(坑 6)
引擎说明区 SemRep 1.8 Regular 与 anaphora turned off 引擎版本号引用处;anaphora 口径决定指称类噪声预期(§3.4)
下载入口区 UTS 登录链接与文件下载 未登录时只能看元数据,登录后才有完整包清单(§5.1 待核项)
文档链接区 库结构文档与老版本文档(dbinfo20.html) 新老结构分界——接老文档建模会在 schema 3.0 上翻车(§2.1)

读页面的三条纪律:一是把页面日期与自己抓取日期存照(页面内容会随 NLM 调整变动,本条目抓取时点 2026-10-04);二是官方页只承诺「此版本是什么」,不承诺「与旧版差异」——版本差异要靠版本链(附录 P)自行对齐;三是页面路径里的 /temp/ 不影响权威性(坑 3),NLM 内容以该路径为准。

§3 生成流水线:SemRep 如何造出 1.3 亿三元组

3.1 SemRep 与 SemMedDB 的关系

SemRep 是抽取系统,SemMedDB 是其全量输出的数据库化——两者是「发动机」与「整车」的关系。SemRep 2020 主论文原文明言:“It also underpins SemMedDB, a literature-scale knowledge graph”。VER43_R 使用的引擎版本是 SemRep 1.8 Regular;Regular 版与 anaphora 版的取舍见 §3.4。

理解这层关系有两个实际好处:一是 SemRep 的系统评估(§4)直接适用于 SemMedDB 的质量预期——库就是引擎输出的快照;二是引擎版本(1.8 Regular)与库版本(VER43_R)是两个独立编号,引用时都要写全,只写其一不算完整引用。

3.2 从句子到三元组的环节

按 SemRep 2020 评估的错误来源分解倒推,流水线的关键环节与质量瓶颈一一对应:

MEDLINE 引文(标题+摘要)
  → 分句与预处理            (SENTENCE 层落行)
  → 实体识别 + 语义类型赋值   (错误来源 1:NER/归一化 26.9%)
  → 概念归一化到 UMLS CUI    (同上——NER 与归一化合并计)
  → 谓词触发词识别           (错误来源 2:触发词 12.5%)
  → 论元判定与关系装配       (错误来源 3:论元 14%)
  → 修饰赋值(否定/不确定性)  (PREDICATION_AUX 落行)
  → PREDICATION 落行,全库 130,480,195 条

三个错误来源的分布本身就是质量地图:概念归一化是最大瓶颈(26.9%)——这是绑定 UMLS 的结构性代价(一个表面形式对多个候选概念);论元识别(14%)与触发词识别(12.5%)次之。三个环节合计约 53.4%,意味着一半以上的系统误差集中在「把词映射到概念、把概念配成关系」这两步。

环节与六张表的映射关系(工程视角的流水线-存储对照):

流水线环节 落表 错误来源占比
分句与预处理 SENTENCE —
实体识别+语义类型 ENTITY 26.9%(NER/归一化,与下一步合并计)
概念归一化到 CUI ENTITY 同上
谓词触发词识别 PREDICATION 12.5%
论元判定与关系装配 PREDICATION 14%
修饰赋值 PREDICATION_AUX —

这张映射表的用途是反向的:当你对某类三元组的质量不满意时,可以按其错误模式定位到环节,再定位到表——比如主宾概念张冠李戴查 ENTITY 归一化、谓词语义偏移查 PREDICATION 触发词、语气反转查 AUX。存储层由此变成了诊断层。

3.3 全自动:与人工标注语料的对照

SemMedDB 与库内人工标注关系语料(bc5cdr/415、biored/457、chemprot/753、drugprot/827)是关系抽取光谱的两端:

维度 SemMedDB(本条目) 人工标注关系语料(bc5cdr 等)
标注者 SemRep 1.8 Regular 全自动 训练有素的人工标注者+专家校验
规模 130,480,195 条谓词 / 3723 万篇引文 数百篇量级(文献级相差三个数量级)
精度 严格匹配 F1=0.42(引擎出厂值) 通常显著更高(金标准用途)
覆盖 全 MEDLINE,谓词 30 种封闭集 按语料设计的窄关系集
典型用途 弱监督/距离监督、知识图谱底座、假设生成 训练与评测金标准
溯源 PMID+SENTENCE_ID 双外键回原句 标注文档级对照

两种资源不是竞争关系而是上下游关系:人工语料太贵无法铺满文献,自动语料太噪无法当真值——正确姿势是用人工语料校准自动语料(抽样质检、训练过滤模型),用自动语料给模型供规模(§8.2 的四步过滤)。

3.4 anaphora 的历史与关闭决定

anaphora(指代消解)是这条流水线唯一有明确「从有到无」历史的功能,值得完整存照:

  1. 2016 年 SemMedDB 2.0 引入 sortal anaphora:处理「该药物」「this compound」一类指称,把代词指称归并到具体概念。
  2. 当时的评估(BMC Bioinformatics 17:163):320 篇摘要测试集上 F1=59.6;影响当时约 8200 万条关系中的约 1.5%。
  3. 影响的三分结构:约 50% 的无信息关系被替换为更有信息量的表述、约 35% 无实质影响、约 15% 反而引入负面变化。
  4. 正式库的最终决定:VER43_R 官方口径为 anaphora feature turned off——指代消解关闭;官方也不再发布 anaphora 版年度库(2.0 时代曾并行发布)。

取舍解读:1.5% 的增量覆盖不值得双线发布的维护成本,何况三分结构里还有 15% 的负面变化。这个决定是「全自动流水线的功能取舍」的活教材——不是所有技术上可行的东西都值得进产品线(§8.3 进一步讨论)。

对使用者的实际含义:VER43_R 里,「this drug」这类指称不会被归并到具体概念——涉及指称的断言要么缺主语/宾语侧概念而无法成行,要么按表面形式落行。用 ENTITY/PREDICATION 做跨句聚合时要把这一层噪声算进去。

3.5 修饰扩展的研究线(未并入正式库)

NLM 团队围绕「断言修饰」的后续研究——factuality(2017,PMID 28678823)、contradictions(2019,PMID 31473364)、修饰扩展(2024,PMID 38782169)——构成了一个清晰的方法演进序列,但都停在论文与原型层面。这与 §2.4 的结论一致:产品库里可用的修饰信息就是 NEGATION_FLAG 与 UNCERTAIN_FLAG 两个开关。研究线与产品线的这种「温差」在 NLM 的工程文化里是常态——文献是文献,产品是产品。

3.6 语料范围与数据覆盖面

VER43_R 的语料口径(MEDLINE BASELINE 2022 + PubMed Update Files through May 8, 2024)背后是 MEDLINE 的标准分发机制:

  1. BASELINE(年度基线):每年 12 月发布的完整引文快照——VER43_R 以 2022 基线为主干,含截至该时点的全部存量引文。
  2. Update Files(增量更新包):基线之后的每日/每周增量——VER43_R 追加到 2024-05-08 为止。
  3. 抽取对象:引文的标题与摘要——这是 SemRep 的处理范围,也是「平均每篇 3.5 条谓词」的分母口径。

覆盖面的三个推论:

  • 时间边界是硬的:2024-05-08 之后发表的文献不存在于库中——引用时把这一天当作「知识的knowledge cutoff」(坑 2 的数据层含义)。
  • 语料是引文层不是全文层:标题与摘要承载了文献的主要断言,但全文正文里的细节不在语料范围——「SemMedDB 覆盖了这篇论文」的准确含义是「覆盖了它的题录与摘要」。
  • BASELINE 机制决定体量形态:整库以年度快照+增量包的方式发布,这与持续服务的数据库(API 型)截然不同——快照思维(§8.3)由此而来。

§4 质量与评估:F1=0.42 的正确读法

4.1 SemRep 2020 评估总表

SemMedDB 的质量就是 SemRep 的质量——库是引擎输出的快照。SemRep 2020 主论文(BMC Bioinformatics 21:188,doi 10.1186/s12859-020-3517-7)给出的系统评估:

评估设置 精确率 P 召回率 R F1
严格匹配(概念+论元+谓词全对) 0.55 0.34 0.42
宽松匹配 0.69 0.42 0.52
CDR 语料(化学-疾病窄域) 0.90 0.24 0.38
CDR 语料(句界口径) — 0.35 0.50

怎么读这张表(三个层次):

  1. 严格与宽松的差是「抽对还是抽歪」的量度:宽松匹配放宽了判对标准(如概念粒度、论元边界),F1 从 0.42 升到 0.52——说明相当一部分输出「方向对但细节歪」,这类三元组适合当线索,不适合当结论。
  2. CDR 窄域的高 P 低 R 是个性状画像:在化学-疾病关系(CDR 语料)上精确率冲到 0.90 但召回率只有 0.24——系统倾向「少报但报得准」。这提示按关系族分层看质量:某些谓词组合上 SemMedDB 比平均印象可靠得多。
  3. 召回率 0.34 是规模故事的另一面:全库 1.3 亿谓词听起来很多,但按严格口径它只捞到了理论上可抽关系的三分之一——文献级知识图谱的「全」是相对于人工标注而言的,相对于语言中的断言总量,它漏掉了约三分之二。

4.2 错误来源分解:质量地图

2020 评估同时给出错误来源分解(占比合计约 53.4%,其余为多因素混合):

错误来源 占比 对应环节 使用者对策
NER/概念归一化 26.9% 实体识别+映射到 UMLS CUI 按语义类型对组合粗筛,避开 NER 弱区
论元识别 14% 判断谁是施动者谁是受动者 对主宾可互换的关系(如 INTERACTS_WITH)宽容,对方向性关系(CAUSES)严格
触发词识别 12.5% 判定谓词类型 用谓词白名单,收窄触发词歧义暴露面

这张分解表的实际价值超过单一 F1 数字:它告诉你误差不是均匀洒在库里的,而是集中在特定环节、特定谓词、特定语义类型组合上。过滤器建在这三个环节对应的维度上(语义类型对、谓词白名单、方向性校验),比全局抽样质检的性价比高得多。

语义类型对过滤的三个示例组合(基于实核的语义类型示例构造):

组合 过滤条件(示意) 用途 预期质量
药-病治疗 PREDICATE=TREATS 且宾语语义类型=Disease or Syndrome 药物适应证线索 方向性强、触发歧义少——Every Cure 首选档
病-病因果 PREDICATE=CAUSES 且主宾语义类型均为疾病类 并发症/病因网络 触发词歧义高(导致/相关混写)——需频率过滤加压
药-药相互作用 PREDICATE=INTERACTS_WITH 联合用药警示 主宾可互换——方向性宽容、但归一化噪声需防(坑 1 的 NER 层根源)

三个组合共用一条元规则:先按语义类型对收窄论元空间,再按谓词收窄关系空间,最后按频率收窄证据空间——三维收窄后剩下的行数远小于全表,但质量密度高一个量级。

4.3 F1=0.42 对使用者意味着什么

把评估数字翻译成工程决策语言:

  1. 单条三元组的默认置信度:严格口径下,一条被抽出的谓词约有一半概率完全正确(P=0.55)——任何把单行数据当真值的用法都是错的。
  2. 频率是免费的置信度代理:同一三元组(同概念对+同谓词)在多篇文献中独立重复出现时,抽取错误的概率不相关叠加,高频三元组的实际可靠性显著高于单次出现。这是「按频率过滤」的统计学依据。
  3. 下游 Every Cure 的使用建议原文:“only use curated subsets (e.g., TREATS, INHIBITS) and filter by frequency/confidence”——只用品质子集(如 TREATS、INHIBITS 这类方向性强、噪声低的关系族),并按频率/置信度过滤。这是目前下游生态里最清晰的使用策略声明。
  4. AUX 修饰过滤是零成本的第一道闸:排除 NEGATION_FLAG=1 的行(把否定当肯定是最不该犯的错),视用途排除或降权 UNCERTAIN_FLAG=1 的行。

4.4 SemMedDB 无自带基准

与挑战赛数据集不同,SemMedDB 没有 leaderboard、没有官方评测任务——它的定位是知识底座而非考卷。社区对它的「评测」以两种变体存在:

  1. 当弱监督源用:如 biorxiv 2025 的 cell-cell 关系抽取用例——用 SemMedDB 谓词做远监督信号,同时指出 SemRep 存在谓词选择偏差(某些关系族被系统性高估/低估)。这是 1.3 亿行的正确打开方式:模型从噪声分布中学信号,而不是把每行当真值。
  2. 经 biothings API 消费:轻量查询场景绕过本地建库(§6.4)。

想评测自己的关系抽取器或知识图谱构建器:用人工标注语料(库内 bc5cdr/415、biored/457),不要用 SemMedDB——拿噪声源当金标准,评出来的数字没有解释力。

4.5 统计卫生守则:读这组数字的四条规矩

  1. 别把宽松口径的 0.52 当精度用。你的应用(建图谱、做证据)大多需要严格口径——0.55 的 P 才是单条三元组的默认置信画像。两个口径在文献里常被混引,引用时注明设置。
  2. CDR 的 0.90 P 不能外推。那是化学-疾病窄域、且配着 0.24 的低召回——「SemMedDB 在某关系族上很准」成立,「SemMedDB 很准」不成立。
  3. 平均数之下藏着分层差异。26.9% 的错误来自 NER/归一化——意味着按语义类型组合分层的质量差异远大于平均数;任何认真一点的用法都该先做分层抽样质检,建立自己用例下的谓词级质量画像。
  4. 句界与文档级口径别混。CDR 句界口径(R=0.35/F1=0.50)与文档级是两种测量——引用时写明口径,否则数字不可比。

这四条同样适用于审稿:看到有人引用 SemMedDB 而不说明谓词集合、频率过滤与口径设置,其结论的可信度应打折。

4.6 三类常见误用与对策

从下游文献与社区讨论反推,SemMedDB 的误用集中在三类,每类都有对症解法:

误用 典型场景 后果 对策
全量当真值 直接把 PREDICATION 全表当知识图谱节点边 半数断言不完全正确,错误随规模放大 §8.2 四步过滤,白名单起手
忽视否定 不挂 AUX 表,NEGATION_FLAG=1 的行照用 「X 不导致 Y」被当成「X 导致 Y」——方向性反转 强制 JOIN PREDICATION_AUX,NEGATION 过滤写进管线
跨层引数 把句子数(2.6 亿)或实体数(20 亿)当谓词数引用 规模虚报一个数量级以上,审稿即翻车 §2.8 量级坐标系定锚(坑 1)

三类的共同根源是把「数据库行数」当成了「知识质量」——行数只承诺存在性,不承诺正确性。对审稿人的建议:凡见到引用 SemMedDB 的工作,先查其过滤链描述(谓词集合/修饰处理/频率阈值),再查其规模口径在哪一层——两处都干净,结论才值得读。

§5 获取与许可:免费但有门槛的门怎么进

5.1 下载入口与 UTS 门槛

事项 内容
活跃下载页 https://lhncbc.nlm.nih.gov/temp/SemRep_SemMedDB_SKR/SemMedDB_download.html
旧入口 lhncbc.nlm.nih.gov/project/semmeddb——已重定向至通用项目列表页(坑 3)
门槛 UTS(Unified Medical Language System)账号登录——官方页明示;注册免费但需签署 UMLS 许可协议
格式 MySQL 转储 + CSV.gz 双格式(六表,体量见 §2.2)

两处实操细节:

  1. CSV 直链的可用性别依赖:biothings 引用过的直链形如 data.lhncbc.nlm.nih.gov/umls-restricted/ii/tools/SemRep_SemMedDB_SKR/semmedVER43_2022_R_PREDICATION.csv.gz——路径中的 umls-restricted 已明示其许可属性。这类直链随 NLM 服务器策略波动,工程上应走 UTS 门户为主路径。
  2. 完整下载包清单需登录后可见:官方页对包清单与单包体量的完整披露在 UTS 登录之后——沙箱环境无法注册 UTS,本条目按下载页公开部分收录,完整清单列入待核(§9.2)。

5.2 版本链与下载包

可下载的当前资产是 VER43_R 一套:六表 MySQL 转储 + CSV.gz(行数与体量全表见 §2.2)。三个版本管理要点:

  1. 旧版本已删:VER31/40/41/42 从官网消失,历史直链失效——不要在任何工程文档里引用旧版本号。
  2. 下游版本口径不一:PARMESAN 基于 VER43_2023_R、biothings 更新至 43_2024R 口径、官方终版为 VER43_R——引用下游工作时先核对其版本(坑 8),跨版本数字不能混表。
  3. schema 3.0 是分水岭:VER30+ 起表结构重构(删四表、加 GENERIC_CONCEPT),更老的 2.0 结构文档(dbinfo20.html)只作考古用途。

5.3 许可细读

层 许可口径 来源
数据本体 UMLS Metathesaurus License(跟随 UMLS 术语许可) 官方获取要求;UTS 账号签署即覆盖
用途限制 non-commercial use(非商业) 2012 创刊论文 Data availability 口径:“available as a MySQL database for non-commercial use”
概念体系 UMLS Metathesaurus 本身的许可条款另行适用 UTS 协议
论文 各期刊版权 Bioinformatics 2012 / BMC Bioinformatics 2016、2020

三条推论:

  1. 商用接入前先过法务:非商业限制写在创刊论文里,商用管线(产品、商业分析服务)接入前需核对 UMLS 协议的商用条款,必要时向 NLM/UTS 渠道书面确认。
  2. 衍生知识图谱的再分发同受约束:从 SemMedDB 派生的三元组集合继承了 UMLS 许可属性——再分发派生库时不能自选宽松许可。
  3. 「免费」的真实含义:无需付费,但需要签署协议+遵守用途限制——它是「受限开放」,不是「开放数据」。

5.4 biothings license 修正史(坑 4 详档)

biothings/semmeddb(BioThings API 化镜像)的 manifest 曾把许可标为 “licence”: “CC BY 4.0”,后经 GitHub PR(#8/#9)修正为 “UMLS Metathesaurus License”。这个修正史有三层教训:

  1. 第三方镜像的许可字段不可直接采信:镜像方对上游许可的理解可能出错,引用前回溯官方许可链(UTS 协议+创刊论文声明)。
  2. CC BY 4.0 是错误标注:如果看到二手资料称 SemMedDB 为 CC BY 4.0,其源头大概率是这个已修正的 manifest——按 UMLS 口径纠正。
  3. 许可纠错的正确方向:从宽松错误标纠正到严格真标——宁可高估限制,不可低估。

5.5 AI-Ready 评估:DAIMS 表

以库内 AI-Ready 检查单过一遍:

维度 评分(1-10) 依据
D 可发现性 7 NLM 官方页+KG Registry 收录+三篇论文可索引;但项目页迁移造成老链接失效(坑 3),「temp」路径名易误导读
A 可获取性 5 免费但需 UTS 账号+签 UMLS 许可;无 API 直链依赖;ENTITY 48G 级大文件的下载与入库成本高
I 可互操作 7 MySQL/CSV 标准格式+PMID/UMLS CUI 双外键体系;无图数据库原生导出、无官方 Python 客户端
M 元数据质量 6 官方下载页逐表行数/体量披露完备;但口径不齐处存在(PREDICATION/AUX 差 14 行、GENERIC_CONCEPT 语义未详注、双格式体量不一)
S 可持续性 4 官方声明停止更新(final update);旧版本已删;服务器路径已现迁移迹象(/project/ → /temp/)
综合评级 5.8/10(中) 结构规整、规模巨大、可 SQL;被许可门槛+精度折扣+版本静止三重压制

DAIMS 的综合画像一句话:这是一个「矿藏级」而非「商品级」的 AI-Ready 资产——原材料极其丰富、结构清晰,但你需要自备工具(UTS 账号、数据库工程、过滤流水线)才能开采。

5.6 获取实操清单:从账号到可查询

把 §5.1-§5.3 收拢为一条可执行路径(配合附录 C 决策树使用):

步骤 动作 产出/验证
1 UTS 注册(免费)+ 签署 UMLS Metathesaurus License UTS 账号可用登录
2 到官方下载页核对 VER43_R 口径与包清单 版本号、数据截止日、六表文件名在案
3 下载 PREDICATION(3.1G/3.2G)与 PREDICATION_AUX(4.0G/4.2G)优先 主表+修饰表落盘
4 按需下载 CITATIONS(177M)、SENTENCE(16G)、ENTITY(46-48G)、GENERIC_CONCEPT 完整六表或最小可用集
5 CSV.gz → PostgreSQL COPY(或 MySQL 转储直导),行数对账 导入行数 = 官方披露行数(130,480,195 等)
6 建索引:PMID/SENTENCE_ID/PREDICATE JOIN 查询可用
7 跑一条示例查询(如谓词=TREATS 计数)+ 抽 10 条回 PubMed 核对原句 溯源动线走通(Q41)
8 记录 md5 与版本号入工程文档 复现基线固化(§8.3 推论 3)

两个止损点:第 3-4 步之间先验证小表行数再下大表(ENTITY 48G 下载成本高,行数不对说明口径错了);第 7 步的溯源抽检若连续失败,先怀疑加载路径(CSV 编码/转义)而不是数据本身——官方数字与第三方旁证一致,错更可能在你这边。

5.7 双格式入库路线对比

MySQL 转储与 CSV.gz 两条入库路线的取舍:

维度 MySQL 转储路线 CSV.gz 路线
适用栈 MySQL/MariaDB 生态 PostgreSQL/ClickHouse/DuckDB 等一切能吃 CSV 的引擎
导入方式 mysql 客户端直导(SOURCE/piping) COPY / INSERT 批量装载
体量口径 46G(ENTITY)/3.1G(PREDICATION)等 48G(ENTITY)/3.2G(PREDICATION)等(坑 6)
字符集风险 随转储声明(含 SET NAMES 等语句) 需自行确认 UTF-8 与转义(摘要文本含特殊字符)
行数校验 导入后 SELECT COUNT 对账 同左——官方行数是唯一真值
下游灵活性 锁定 MySQL 生态 高——分析型引擎可互换

推荐:分析与建模场景走 CSV 路线(列存引擎对 1.3 亿行谓词的扫描快得多);只有当下游已经是 MySQL 服务时才走转储直导。无论哪条路线,行数对账(步骤 5)与溯源抽检(步骤 7)都是不可省略的验收动作。

§6 生态与影响:一个 NLM 内线项目的知识版图

6.1 上下游全景

方向 资产 关系
上游(语料) MEDLINE / PubMed 3723 万篇引文的标题与摘要是全部原料
上游(概念体系) UMLS Metathesaurus + Semantic Network 概念归一(CUI)与语义类型的唯一来源;license 绑定源头
下游(知识图谱计划) NCATS Translator 文献级知识底座之一,官方 wiki 专页
下游(药物重定位) Every Cure 给出最清晰的使用策略声明(§6.3)
下游(API 镜像) biothings/semmeddb 六表 API 化;2025-05-07 更新至 43_2024R 口径
下游(语料生成) PARMESAN_SemMedDB 基于 VER43_2023_R PREDICATION CSV 生成提示语料
下游(KG 登记) KG Registry w3id.org/information-resource-registry/semmeddb 收录

上游两条腿(语料+概念体系)决定了两件事:内容边界由 MEDLINE 决定(§5.2 的数据截止),许可与概念锚点由 UMLS 决定(§5.3)。下游四路则展示了同一份原矿的四种吃法:整库入图(Translator)、白名单过滤(Every Cure)、API 化轻查询(biothings)、抽子集造语料(PARMESAN)。

6.2 NCATS Translator 与 KG Registry:权威背书

对选型者的含义:当你需要向上级或审稿人论证「文献级知识图谱选型」的正当性时,Translator 的采用是最直接的先例引用。

6.3 Every Cure:药物重定位的用法范本

Every Cure(药物重定位非营利计划)对 SemMedDB 的使用声明是目前下游生态中最完整的策略范本,两个要点:

  1. 规模口径旁证:“over 130 million semantic predications…more than 37 million PubMed citations”——与官方下载页数字一致(130,480,195/37,233,341),第三方互证通过。
  2. 使用策略原文:“only use curated subsets (e.g., TREATS, INHIBITS) and filter by frequency/confidence”——只用品转子集+频率/置信度过滤。

这条策略把 §4 的质量数字变成了可执行清单:谓词白名单(TREATS/INHIBITS 这类方向性强的关系族)→ 频率过滤(重复出现才采信)→ 修饰过滤(AUX flag)。药物重定位是最吃「证据强度」的用例——连它都只用品质子集,说明全量直用在任何严肃场景都不成立。

6.4 biothings:API 化镜像与 license 修正史

biothings/semmeddb 把六表做成 BioThings API 镜像,两个存照点:

  1. 版本口径:GitHub 仓 2025-05-07 更新至 43_2024R 口径——注意这不是官方终版号 VER43_R,引用经 biothings 取的数时版本口径要单独注明(坑 8)。
  2. license 修正史:manifest 曾错标 CC BY 4.0、后经 PR#8/#9 修正为 UMLS Metathesaurus License(§5.4 详档)——第三方镜像的元数据要带批判性引用。

工程定位:biothings 适合轻量查询与原型验证;重工程(全库分析、模型训练)仍应回官方下载本地建库——API 的查询吞吐撑不起 1.3 亿行的批量消费。

一个实用的分工判断:如果你的查询模式是「按概念/谓词查几百条」(如给 LLM 补证据、给应用做联想),biothings 的 API 形态最省事;如果是「全表扫描+统计建模」(如训练关系分类器、构建子图),必须本地建库——两种模式没有对错,选错形态才会浪费时间。

6.5 PARMESAN 与弱监督研究

  • PARMESAN_SemMedDB:基于 semmedVER43_2023_R_PREDICATION.116080.csv.gz 生成的提示(prompt)语料管线——SemMedDB 的谓词句子对被拿去喂大模型,做关系抽取的上下文学习素材。
  • 弱监督用例:biorxiv 2025 的 cell-cell 关系抽取研究把 SemMedDB 当远监督信号源,同时指出 SemRep 的谓词选择偏差——这不是缺陷报告,而是弱监督方法论的常规操作:先摸清信号源的偏差结构,再设计训练策略。

这两条线的共同点:都不把 SemMedDB 当真值,而是当先验。这正是「弱监督」与「监督」一词之差的工程含义。

6.6 在文献知识图谱景观中的位置

以库内同类生态位对照,文献知识的生产链分三层:

层 代表(库内 rid) 特征
原矿层(自动抽取) SemMedDB(本条目) 全 MEDLINE 覆盖、无人工策划、F1 0.42-0.52
精炼层(文献挖掘+人工策划) DisGenet(449)、DrugCentral(344) 从文献来但经专家策划,关系数百万级、置信度分级
应用层(知识图谱/重定位) NCATS Translator、Every Cure 消费前两层,面向发现与决策

SemMedDB 的生态位是最上游的原矿:DisGenet、DrugCentral 这类策划型知识库的早期版本同样以文献挖掘为底、人工审核为面——SemMedDB 与它们不是竞争者,而是供应链的上下游。用矿的比喻收束:SemMedDB 是露天矿(谁都能挖、含杂质),策划库是精选厂(有质检、产量小),应用系统是工厂(两者都要用)。

6.7 下游生态时间线

把 §6.1-§6.6 的生态事实按时间轴重排,能看到「库在收官、生态在生长」的剪刀差:

时点 事件 生态含义
2012 创刊论文(Bioinformatics 28(23):3158-3160) 库立项:PubMed-scale 谓词仓库成型
2016 SemMedDB 2.0(anaphora 实验) 最后一次大功能尝试(后关闭)
2017-2019 factuality/contradictions 研究线 修饰理论推进(停在论文层)
2020 SemRep 主论文+系统评估 质量数字定标(F1=0.42/0.52)
2022-2023 VER43_2022_R/VER43_2023_R 年度版 biothings/PARMESAN 等下游分别挂靠
2024-05-08 VER43_R 数据截止(final update) 库层收官
2025-05-07 biothings 更新至 43_2024R 口径 镜像层仍在生长

时间线的读法:库的生命周期(2012-2024)与其生态生命周期(2012-至今)已经解耦——这既是「final update 不等于项目死亡」的证据,也是依赖者必须自建快照治理的理由(官方不再有新快照,下游口径开始各自漂移,坑 8 的根源即在此)。

§7 与库内条目的关系

7.1 家族图谱:16 条互链分四组

第一组:术语系统(上游同源)

  • umls(rid 558):概念归一与语义类型的直接上游;license 同源(UMLS Metathesaurus License)——两库应配对使用,umls 条目是理解 CUI 体系的前置阅读。
  • snomed-ct(rid 557)/ meddra(rid 579):同层医学术语系统,经 UMLS 映射可与 SemMedDB 的 CUI 体系互转。

第二组:人工标注关系语料(光谱另一端)

  • bc5cdr(rid 415)/ biored(rid 457):化学-疾病、生物-化学-疾病的人工标注金标准——SemRep 精度上限的反差参照,也是给 SemMedDB 做抽样校准的现成标尺。
  • chemprot(rid 753)/ drugprot(rid 827)/ ddi(rid 171)/ pharmaconer(rid 504):药物/化学实体关系语料族——与 SemMedDB 的药物类谓词(TREATS/INHIBITS/INTERACTS_WITH)覆盖面重叠,可用于分层校准。
  • bc2gm(rid 434)/ ncbi-disease(rid 425):基因/疾病 NER 语料——SemMedDB 错误来源第一大户(NER 占 26.9%)的直接对照。

第三组:PubMed 文献 NLP 下游(同饮 MEDLINE 之水)

  • pubmedqa(rid 49)/ mednli(rid 648)/ biosses(rid 750):文献问答、自然语言推理、句子相似度——语义层的文献理解任务,与 SemMedDB 的谓词层互补。

第四组:文献挖掘型知识库(同类生态位)

  • disgenet(rid 449)/ drugcentral(rid 344):经策划的疾病-基因、药物-疾病关联库——SemMedDB 的「精炼版」同侪(§6.6 供应链关系)。

7.2 检索路径建议

  • 检索词组合:“SemMedDB”(精确短语)+ “semantic predication” + “SemRep”。泛搜 “Semantic MEDLINE” 会混入不相关结果。
  • 版本对齐:引用下游工作先核对其库版本(PARMESAN=VER43_2023_R、biothings=43_2024R 口径、官方=VER43_R)——坑 8。
  • 按需分流:要高精度金标准关系 → bc5cdr/biored;要文献级覆盖 → SemMedDB+过滤;要策划过的疾病/药物关联 → disgenet/drugcentral;要概念体系本身 → umls(558)。

7.3 四个跨条目组合用例

单条互链是点,组合用例是网。四个常见的跨条目组合方案:

  1. 构建疾病-药物知识图谱:semmeddb(本条目,谓词原矿)+ umls(558)(概念解析)→ 过滤后的 TREATS/INHIBITS 白名单子集;用 disgenet(449)/drugcentral(344) 做策划层交叉验证——三层供应链的完整落地。
  2. 评测关系抽取器:bc5cdr(415)/biored(457) 金标准做测试集 + semmeddb 做预训练/远监督语料——先在噪声上学覆盖,再在金标准上验精度。
  3. 药物实体与关系流水线:pharmaconer(504)/chemprot(753)/drugprot(827) 训练 NER 与关系模型 → 模型输出与 semmeddb 的药物类谓词互检——人工语料校准自动语料的典型闭环。
  4. 文献问答系统:pubmedqa(49) 做问答评测 + semmeddb 做证据索引(谓词三元组当候选证据句)+ mednli(648) 做推理一致性——语义层文献理解的三件套。

组合的共同原则:每个条目只用在它的质量档位上——金标准档做评测、原矿档做规模、策划档做验证,跨档使用(拿原矿当金标准)是组合方案里唯一被禁止的动作。

组合方案外的两条延伸建议:其一,组合不限于上述四例——16 条互链条目的两两组合有上百种,选型时先写清你的质量档位需求,再回本节对号;其二,组合引入的版本口径会叠加(每个条目有自己的版本状态),跨条目组合的报告里要为每个数据源单独标注版本与时点,否则整个结论的可复现性会塌缩到口径最模糊的那个源上。

§8 方法学启示:五条可迁移的经验

8.1 全自动 vs 人工标注:成本-质量光谱的极值点

光谱两端各有一个极值样本:人工标注端是 bc5cdr(数百篇、金标准、成本线性增长),全自动端是 SemMedDB(3723 万篇、F1=0.42、边际成本近零)。SemMedDB 的启示不是「自动好」也不是「人工好」,而是先把自动流水线建好跑满全量,让精度提升变成增量改进而非准入门槛——1.3 亿行的不完美底座,比 500 行的完美金标准能支撑更多类型的工程。

8.2 弱标签分层使用:四步过滤方法论

从 §4 的质量数字与 §6.3 的下游实践,可以提炼一套适用于一切弱监督知识库的过滤方法论:

  1. 谓词白名单:只用品子集(TREATS/INHIBITS 等方向性强、触发歧义少的关系族)——Every Cure 口径。
  2. 频率过滤:同一三元组多文献重复出现才采信——频率是免费的置信度代理。
  3. 修饰过滤:排除 NEGATION_FLAG=1,视用途处理 UNCERTAIN_FLAG=1——零成本的第一道闸。
  4. 独立校准:用小规模人工语料(bc5cdr/biored)对过滤后的子集做抽样质检——建立自己用例下的实际精度估计。

四步的成本递增、收益也递增;最省事的第 1+3 步就能砍掉大部分显性噪声。

8.3 版本静止的可持续性教训

NLM 用十余年把库建到 1.3 亿行后宣布收官(final update)——维护成本与机构优先级变化是真实约束,公共科研基础设施没有「永远在线」的承诺。三条工程推论:

  1. 把「永不更新」当设计输入:依赖 SemMedDB 的系统,其数据层应设计为「快照+版本号」而非「活水」。
  2. 镜像不等于延续:biothings 镜像仍在更新口径(43_2024R),但其版本号与官方终版(VER43_R)的差异本身就是需要存照的不一致——镜像的口径治理是独立于官方的。
  3. 旧版本会消失:VER31/40/41/42 已删——需要长期可复现的项目应自存数据副本并记录 md5,不能依赖官方长期托管。

8.4 与「承认真值的分布性」思想的呼应

库内 PANDA-PLUS 条目讨论过「标签以概率分布存在」——把分级真值从单值改为分布。SemMedDB 走的是另一个方向:真值不确定但规模碾压——把不确定性交给下游过滤,把确定性留给结构(PMID+SENTENCE_ID 的溯源骨架永不模糊)。两者合读得到数据集工程的一条普遍原理:规模、精度、成本三者没有免费午餐,但溯源结构是唯一不加成本也能提升可信度的资产——无论标签多噪,能回到原句的知识就可审计。

8.5 给数据集工程者的三条反直觉教训

从 SemMedDB 十余年的生命周期里,提炼三条与直觉相反的工程教训:

  1. 「先跑满全量」优于「先追求完美」:SemRep 的 F1 只有 0.42,但 NLM 没有等它变好再发布——1.3 亿行的噪声底座激活了整个下游生态(Translator/Every Cure/biothings),而精度改进(anaphora、factuality)反而多数没进产品线。数据集的生态价值在发布时就开始复利,完美主义是发布的天敌。
  2. 关闭功能是产品决策,不是技术退步:anaphora 技术上成功(F1=59.6)、业务上微弱(1.5%)、维护上双倍——关闭它是三者加权的正确答案。工程叙事里「我们关掉了能用的功能」值得公开存照,而不是藏着掖着。
  3. 收官也是一种负责:与其让库在低维护下慢慢腐烂(版本混乱、链接失效),不如宣布 final update 并删净旧版——清晰的死亡好过含糊的半死。下游因此获得了明确的「快照契约」:VER43_R 之后不会再变,你的复现基线从此稳定。

这三条与库内其他条目的工程叙事(PANDA-PLUS 的「先发布再补精度」、版本静止条目的快照治理)共同指向一个元原则:数据集是活的生态而非死的文件,发布策略本身就是数据工程的一部分。

§9 双口径与存照登记

9.1 双口径登记表

# 项 口径 A 口径 B 处理
1 predications 规模 约 2.7 亿(任务 brief 流传口径) 130,480,195(官方下载页 PREDICATION 行数) 按实核 1.3 亿成稿;2.7 亿≈SENTENCE 句数(263,160,520)量级(坑 1)
2 license CC BY 4.0(biothings 旧 manifest) UMLS Metathesaurus License(官方) 按 UMLS 口径;CC BY 4.0 为已修正的错误标注(坑 4)
3 谓词表行数 PREDICATION 130,480,195 PREDICATION_AUX 130,480,181 差 14 行为官方原样数字,不强行解释(坑 5)
4 ENTITY 体量 46G(MySQL) 48G(CSV) 格式差异,行数口径一致(坑 6)
5 下游版本口径 VER43_R(官方终版) 43_2024R(biothings)/VER43_2023_R(PARMESAN) 引用下游先核版本(坑 8)

9.2 存照清单(含使用者影响)

  • final update 声明在案:官方下载页明示 VER43_R 为最终版,本条目全篇不出现「持续更新」表述(坑 2)。→ 使用者影响:工程规划把 2024-05-08 当永久数据边界;不期待补丁版。
  • 官方项目页迁移:/project/semmeddb 重定向至通用项目列表页;当前活跃入口为 /temp/SemRep_SemMedDB_SKR/ 下的下载页与工具页(坑 3)。→ 使用者影响:文档与代码里的链接全部改指 /temp/ 路径;对老链接做重定向兜底。
  • anaphora 正式库关闭:anaphora feature turned off;2016 的 anaphora 版年度库仅存于历史版本序列,已停发(§3.4)。→ 使用者影响:涉及指称的断言统计要声明该口径;跨句聚合的噪声预算里含指称层。
  • GENERIC_CONCEPT 259 行语义未详注:推测为 schema 3.0 的通用概念/语义类型层表,但官方未逐字说明——条目按「语义未详注」存照,不臆测用途(坑 7)。→ 使用者影响:该表不进关键路径;NOVELTY 字段的口径在 UTS 登录后核实再用。
  • PREDICATION 与 PREDICATION_AUX 行数差 14:130,480,195 对 130,480,181,官方原样数字,未见解释文字——按近似全集处理,不当作数据错误修复(坑 5)。→ 使用者影响:主表 LEFT JOIN AUX,不假设一一对应。
  • 沙箱证据环境备注:官方工具页 curl 直抓失败(沙箱出网限制)、WebFetch 经 archive.org 代理限流——官方页内容经 WebSearch 三次命中且相互一致;核心数字(130,480,195/37,233,341 等)均有官方下载页、创刊/评估论文、第三方(Every Cure)三源互证。→ 使用者影响:本条目的数字可信度建立在三源互证上;UTS 登录后可进一步实抓核对(附录 O 待核项)。

§10 避坑清单:八个已踩过的坑

坑 1:2.7 亿不是 predications 数。 任务 brief 曾写「约 2.7 亿 predications」,与官方下载页实核 130,480,195 不符——2.7 亿接近 SENTENCE 表 263,160,520 的句子数量级。凡见「SemMedDB 有 2.7 亿谓词」的表述,按句子数口径误传处理,引用谓词一律 1.3 亿。

坑 2:VER43_R 是最终版,别写「持续更新」。 官方下载页明示 “This is the final update for the SemMedDB Database”,数据截止 2024-05-08;旧版 VER31/40/41/42 已删除。「持续更新」「最新文献覆盖」类表述都与官方口径相反。

坑 3:官方项目页已迁移。 /project/semmeddb 重定向至通用项目列表页;活跃入口是 /temp/SemRep_SemMedDB_SKR/ 路径。「temp」只是服务器目录名,不代表临时资源;老链接失效不是资源消失。

坑 4:license 别抄 biothings 旧 manifest。 其 “licence”: “CC BY 4.0” 是已修正的错误标注,正确口径为 UMLS Metathesaurus License+非商业。二手资料称 CC BY 4.0 的,源头大概率是这个 manifest。

坑 5:PREDICATION 与 PREDICATION_AUX 差 14 行不是数据损坏。 130,480,195 对 130,480,181——官方原样数字未见解释,工程上按 AUX 为主表近似全集处理,别试图「修复」。

坑 6:MySQL 与 CSV 体量不一致是格式差异。 ENTITY 46G(MySQL)对 48G(CSV)等——两种导出的编码与存储差异,行数口径一致,按你所用的加载路径取对应体量。

坑 7:GENERIC_CONCEPT 259 行语义未详注,别臆测。 它是 schema 3.0 新增表,官方未逐字说明用途;条目只存照行数与「与 NOVELTY 字段联动」的口径,不编造语义。

坑 8:版本链多口径,引用下游先对齐版本。 VER43_R(官方终版)、VER43_2022_R(biothings CSV 直链)、VER43_2023_R(PARMESAN)、43_2024R(biothings 更新口径)并存——跨版本的行数/口径差异不是矛盾,是版本不同;混表引用是最常见的翻车方式。

§11 总结

11.1 三句话总结

  1. SemMedDB 用全自动 SemRep 把 3723 万篇 MEDLINE 引文变成 1.3 亿条可溯源三元组——文献级知识图谱的原矿,规模与精度的权衡被官方数字明码标价(严格 F1=0.42、宽松 F1=0.52)。
  2. 六表结构以 PMID+CUI 双外键贯通「引文-句子-实体-谓词」四层,任何一行都能回到原句——可溯源性是它区别于黑盒知识图谱的核心资产。
  3. VER43_R 是官方声明的最终版:许可绑 UMLS(非商业+UTS 账号门槛),使用前先做谓词白名单+频率+修饰三层过滤(Every Cure 口径)——全量直用是唯一被明确劝退的用法。

11.2 适合谁

  • 弱监督/远监督研究者:1.3 亿弱标签做预训练信号,配合偏差结构(§4.2)设计训练策略。
  • 知识图谱工程团队:Translator 式底座建设,或为策划型知识库(disgenet/drugcentral 式)供原矿。
  • 药物重定位团队:白名单谓词+频率过滤的假设生成(Every Cure 范本)。
  • NLP 教学与教材作者:全自动抽取流水线取舍(anaphora 关闭、双口径存照)的一手工程案例。
  • LLM 应用开发者:1.3 亿可溯源断言当检索增强证据库或幻觉对照底座(Q49)。

11.3 不适合谁

  • 需要高精度金标准关系的团队:转 bc5cdr(415)/biored(457)——SemMedDB 的单行数据默认只有约一半完全正确。
  • 商用产品直接接入:非商业限制在先(UMLS 口径),先过法务再动工。
  • 需要 2024-05-08 之后文献覆盖的项目:版本静止是硬边界,别期待后续更新。
  • 需要全文级细节挖掘的项目:语料是标题与摘要层(§3.6),正文里的细节不在覆盖范围。

11.4 30 秒决策卡

你的情况 行动
只想快速查几条关系 走 biothings API 镜像(注意 43_2024R 版本口径,坑 8)
要全库分析/模型训练 UTS 注册 → 下载 VER43_R → PostgreSQL/MySQL 入库 → 按 §8.2 四步过滤
要商用接入 先核对 UMLS 协议商用条款,必要时书面确认——数据层先按非商业设计
要训练/评测关系抽取器 用 bc5cdr(415)/biored(457) 金标准;SemMedDB 只当预训练/弱监督源
要引用 SemMedDB 引创刊论文(Bioinformatics 2012)+ 引擎评估(BMC Bioinformatics 2020),注明版本号与谓词集合
要理解 CUI/语义类型 先读库内 umls(558) 条目再回来——概念体系是前置知识
要给团队做内训 按 Q59 四段排课,教材即本条目

11.5 一分钟电梯陈述

把整个条目压缩成一段可以在电梯里讲完的话:

SemMedDB 是 NLM 用自己的抽取系统 SemRep 把 3700 多万篇 MEDLINE 文献的标题和摘要逐句读了一遍,把读出来的生物医学断言存成了 1.3 亿条「谁-做了什么-对谁」的三元组,每条都能追溯回原文的那个句子。它是全自动的,所以没有人工标注那么准——官方评估严格口径 F1 是 0.42,意思是单条数据约一半不完全正确;但它免费、体量巨大、结构规整,下载只要注册一个 UTS 账号。正确用法不是全量当真值,而是挑关系类型(比如 TREATS)、按出现频率过滤、排除否定句之后再用——药物重定位组织 Every Cure 就是这么用的。要注意两件事:一是官方已经宣布 VER43_R 是最后一版,数据停在 2024 年 5 月;二是它的许可跟着 UMLS 走,非商业用途,商用要先过法务。一句话收尾:它是文献知识的露天矿——杂质不少,但谁都能挖,而且每块矿石都刻着出处的坐标。

FAQ(高频问答 60 问)

A. 基础认知

Q1:SemMedDB 是数据库还是知识图谱?
两者都是:物理形态是六张关系表(MySQL/CSV),逻辑形态是以谓词为边的文献级知识图谱。创刊论文自称 repository(仓库),SemRep 2020 论文称它为 literature-scale knowledge graph——数据库是它的身体,知识图谱是它的灵魂。

Q2:SemRep 和 SemMedDB 什么关系?
发动机与整车。SemRep 是 NLM 的语义谓词抽取系统(2020 主论文的系统主体),SemMedDB 是 SemRep 跑完整个 MEDLINE 后输出的数据库化快照。VER43_R 用的引擎是 SemRep 1.8 Regular——引擎评估(§4)直接适用于库的质量预期。

Q3:「predication」这个词到底指什么?
语义谓词:一句自然语言里「主语概念-谓词-宾语概念」的完整断言,如 Infection-CAUSES-Guillain-Barre Syndrome。它比「三元组」多了语言学出身——先有句子,再有断言。库里 PREDICATION 表每行一条,且保留回链句子的能力。

Q4:SemMedDB 的 S 和 semmedVER43_R 的 R 分别是什么?
S 指 Semantic(语义);R 指 SemRep 的 Regular 版本输出(区别于曾并行发布过的 anaphora 版年度库)。引用时版本号写全:semmedVER43_R。

Q5:谁在维护它?
NLM 的 Lister Hill 国家生物医学传播中心(LHNCBC)——SemRep 与 SemMedDB 都是它的内线项目。核心人物:Halil Kilicoglu(创刊论文、2.0 论文、SemRep 主论文一作,架构师)、Graciela Rosemblat(contradictions 研究)等;Marcelo Fiszman 出现在创刊论文作者栏。

Q6:它免费吗?
免费但不无门槛:下载需 UTS 账号(注册免费、需签 UMLS 许可协议),用途受非商业限制(2012 论文口径)。把它描述成「开放数据」是错的,描述成「收费数据」也是错的——准确说法是「免费+许可约束+账号门槛」。

Q7:它和 UMLS 是什么关系?
结构性依赖:概念(CUI)与语义类型全部来自 UMLS Metathesaurus 与 Semantic Network,没有 UMLS 它就是无锚点的字符串对。也因此许可与 UMLS 绑定(§5.3)——用库必须配对加载 UMLS。

Q8:最大的卖点一句话?
3700 万篇文献、每条断言可溯源到原句——目前公开世界里覆盖面最大的可 SQL 生物医学语义知识库。

Q9:最大的局限一句话?
全自动抽取没有人工标注兜底,严格口径 F1=0.42——单行数据默认约一半不完全正确,全量直用等于把噪声当知识。

Q10:它现在还活着吗?
数据层已收官(VER43_R 为官方声明最终版,2024-05-08 数据截止),生态层仍活跃(biothings 2025-05 还在更新镜像口径、Translator/Every Cure 持续使用)——「库不再长,用途还在长」。

B. 数据与获取

Q11:下载要几步?
三步:注册/登录 UTS 账号 → 到官方下载页(lhncbc.nlm.nih.gov/temp/SemRep_SemMedDB_SKR/SemMedDB_download.html)→ 下载 MySQL 转储或 CSV.gz。旧入口 /project/semmeddb 已重定向(坑 3)。

Q12:六张表里最该先加载哪张?
PREDICATION(3.1G/3.2G)——主表最小、信息密度最高;再按需 JOIN CITATIONS(177M)与 SENTENCE(16G)。ENTITY 48G 级别,除非做实体级分析否则可后置;GENERIC_CONCEPT 259 行秒级加载但语义未详注(坑 7)。

Q13:CSV 和 MySQL 格式怎么选?
Linux 工程链选 CSV.gz(导入 PostgreSQL/ClickHouse 方便);MySQL 生态选转储直导。行数两格式一致(坑 6 的体量差异是格式编码所致,非数据差异)。

Q14:直接从 data.lhncbc.nlm.nih.gov 的 CSV 直链下载可行吗?
biothings 引用过此类直链(路径含 umls-restricted),但直链可用性随 NLM 服务器策略波动——工程主路径应走 UTS 门户,直链只作参考。

Q15:完整下载包清单哪里看?
官方下载页在 UTS 登录后披露完整包清单与单包体量——本条目成稿时(沙箱无法注册 UTS)按公开部分收录,完整清单列入待核(附录 O)。

Q16:VER43_R 能和哪些 UMLS 版本配对?
官方未在公开页明示逐版本配对表(老 2.0 库曾绑定 UMLS 2006AA+EntrezGene)。实操:下载时记录官方页对 VER43_R 的 UMLS 口径说明,用 UTS 登录后的文档确认;跨版本对比前先对齐概念体系版本。

Q17:旧版本还能下到吗?
官方渠道不能——VER31/40/41/42 已从下载页删除。个别第三方镜像(如 biothings 的历史 CSV)留有中间版本(2022_R/2023_R),但引用旧版本需注明来源与版本号(坑 8)。

Q18:商用要钱吗?
非商业用途限制在先(2012 论文口径)——商用前需核对 UMLS Metathesaurus License 的商用条款,必要时向 UTS/NLM 渠道书面确认。这不是钱的问题,是许可边界问题。

C. 质量与统计

Q19:F1=0.42 会不会太低,根本不能用?
取决于用法。当金标准用——不能用;当弱监督信号、证据线索、假设生成源——正是设计用途。1.3 亿行 × 半数正确率 ≈ 6500 万条正确断言,仍是人类史上最大的生物医学断言集合之一,关键是过滤(§8.2)。

Q20:严格匹配和宽松匹配差在哪?
判对标准不同:严格要求概念、论元方向、谓词全对;宽松放宽细节(如概念粒度、边界)。0.42→0.52 的提升说明大量输出「方向对细节歪」——当线索可以,当结论不行。

Q21:CDR 语料上 P=0.90 意味着 SemMedDB 很准吗?
不。那是化学-疾病窄域+低召回(R=0.24)的特定画像——少报但报得准。不能外推到全谓词(§4.5 守则 2)。

Q22:最大的错误来源是什么?
NER/概念归一化(26.9%)——把词映射到 UMLS 概念是结构性难点。对策是按语义类型对组合粗筛,避开 NER 弱区。

Q23:怎么把 1.3 亿行快速变干净?
§8.2 四步过滤:谓词白名单 → 频率过滤 → NEGATION/UNCERTAIN 修饰过滤 → 人工语料抽样校准。前三步纯 SQL 可完成,能砍掉大部分显性噪声。

Q24:NEGATION_FLAG 为什么必须过滤?
文献里否定句常见(「X 无显著差异」「X 不导致 Y」)——不过滤就把反证当正据,是文献级知识图谱最经典的系统性错误。这是零成本过滤,没有任何理由跳过。

Q25:anaphora 关闭对我有什么实际影响?
指称(「该药物」「this compound」)不被归并到具体概念——涉及指称的断言要么无法成行(缺概念锚点),要么按表面形式落行。做跨句聚合、实体级统计时要算上这层噪声(§3.4)。

Q26:PREDICATION 和 PREDICATION_AUX 行数为什么差 14?
官方原样数字,未见解释。按「AUX 为主表近似全集」处理,JOIN 时用左连接防丢行——别当数据损坏去修(坑 5)。

Q27:能拿 SemMedDB 当评测基准吗?
不能——它无自带基准与 leaderboard。评测你的关系抽取器用 bc5cdr(415)/biored(457);拿噪声源当金标准,评出来的数字没有解释力(§4.4)。

D. 下游与生态

Q28:NCATS Translator 怎么用它?
Translator 把 SemMedDB 作为文献级知识来源之一整合进 NIH 知识图谱计划(官方 wiki 专页在案)。对普通用户的意义:联邦级计划的采用是选型时最有力的先例背书。

Q29:Every Cure 的「白名单+频率过滤」具体怎么做?
其使用建议原文:“only use curated subsets (e.g., TREATS, INHIBITS) and filter by frequency/confidence”。落地:建谓词白名单(TREATS/INHIBITS 等方向性强的关系族起家)→ 按(主宾概念对+谓词)分组计数 → 设频率阈值 → AUX 修饰过滤。

Q30:biothings 镜像和官方库什么关系?
BioThings API 化镜像:六表转 API 服务,2025-05-07 更新至 43_2024R 口径(注意非官方终版号 VER43_R,坑 8);其 manifest 的 license 字段曾错标 CC BY 4.0 后修正(坑 4)。轻查询用它,重工程回官方。

Q31:PARMESAN 拿它做什么?
基于 semmedVER43_2023_R 的 PREDICATION CSV 生成提示语料(PARMESAN_SemMedDB)——把谓词句子对喂给大模型做关系抽取的上下文学习素材。这是 SemMedDB 在 LLM 时代的典型再利用。

Q32:弱监督研究怎么处理 SemRep 的偏差?
先测偏差再用信号:biorxiv 2025 的 cell-cell 关系抽取用例指出 SemRep 存在谓词选择偏差(某些关系族被系统性高/低估)。正确姿势是把偏差结构建模进训练策略(加权、去偏),而不是假装信号无偏。

Q33:SemMedDB 和 DisGenet/DrugCentral 重复吗?
不重复、是供应链上下游(§6.6):SemMedDB 是未策划原矿(1.3 亿谓词、无审核),DisGenet(449)/DrugCentral(344) 是策划精炼层(关系分级、专家审核)。原矿供规模,精炼层供置信度。

Q34:有商业化实体吗?
没有——NLM 官方项目,免费+许可约束。所有下游商业化(Translator 计划、Every Cure、biothings)都是在许可框架内的消费方,不是 SemMedDB 本身的商业化。

E. 生产与库内

Q35:本条目为什么 slug 是 semmeddb?
官方名即 SemMedDB,slug 取小写。查重结论:库内 url_name 无 semmed/semrep/medline 命中、writing/ 目录 733 个无同名——无冲突。

Q36:本条目与 umls(rid 558)条目什么关系?
上游与概念体系前置阅读:SemMedDB 的 CUI 与语义类型全部来自 UMLS,license 同源。读懂 umls 条目是读懂本条目 §2.5/§5.3 的前提。

Q37:本条目与 bc5cdr(rid 415)/biored(rid 457)什么关系?
关系抽取光谱两端:bc5cdr/biored 是人工标注金标准(数百篇、高精度),SemMedDB 是全自动原矿(3723 万篇、F1=0.42)。两者互为校准工具——金标准给原矿做抽样质检,原矿给金标准供规模外推。

Q38:brief 里的 2.7 亿怎么处理了?
存照为句子数口径误传:130,480,195(谓词)才是 PREDICATION 表行数,263,160,520(句子)才是 2.7 亿量级的来源(坑 1)。条目全篇按实核 1.3 亿成稿,§9.1 双口径登记表存档。

Q39:条目抓取时点的证据环境有什么限制?
沙箱 curl 直抓官方工具页失败(出网限制)、WebFetch 经 archive.org 代理限流——官方页内容经 WebSearch 三轮命中且一致;核心数字均有官方下载页、论文、第三方(Every Cure)三源互证。完整下载包清单需 UTS 登录,列入待核(附录 O)。

F. 工程与复现

Q40:入库 PostgreSQL 的推荐路径?
CSV.gz → COPY 直导(PREDICATION 3.2G 最先)→ 建 PMID/SENTENCE_ID 索引 → 按需挂 CITATIONS/SENTENCE。ENTITY 48G 后置,GENERIC_CONCEPT 一并导入。AUX 用左连接挂修饰。

Q41:一条可疑三元组怎么溯源?
PREDICATION 行取 PMID + SENTENCE_ID → JOIN SENTENCE 取原句 → PMID 回 PubMed 原文核对。双外键体系保证任何一行都能回到出生地——这是抽检质检的标准动线。

Q42:跨版本对比(如 2022_R vs 43_R)注意什么?
三件事:版本号口径(坑 8)、概念体系版本(UMLS 演进)、schema 世代(3.0 前后表结构不同,老代码直接报错)。对比结论必须绑定版本号表述。

Q43:想复现一条「过滤后的 TREATS 高频子集」要多久?
纯 SQL 一天内可完成:谓词=TREATS → NEGATION_FLAG=0 →(按需)UNCERTAIN_FLAG=0 → 按概念对聚合计数 → 阈值截断。第 4 步(人工校准)另计——用 bc5cdr 的化学-疾病子集或自标 100 条。

Q44:如果只记住一件事?
每一行都只有约一半概率完全正确,但每一行都能溯源到原句——用过滤兑现规模,用溯源兑现透明,用许可合规兑现可持续。

G. 进阶与辨析

Q45:SUBJECT_NOVELTY/OBJECT_NOVELTY 字段是干什么的?
schema 3.0 起新增的主/宾语新颖性标记,与 GENERIC_CONCEPT 表联动(依赖 GENERIC_CONCEPT 时置 0/1)。它给「这个概念是否以通用形式出现」提供了一个过滤维度——但 GENERIC_CONCEPT 本身语义未详注(坑 7),用前先在 UTS 登录后的文档里核实口径。

Q46:为什么 SemMedDB 不提供图数据库导出(Neo4j 之类)?
NLM 的产品形态是关系表(MySQL/CSV)——知识图谱是它的逻辑形态,不是交付格式。想要图视图:自行从 PREDICATION 表导(主宾概念为节点、谓词为边,一条 SQL 的事),或用 biothings API 拉取。社区没有官方 Neo4j 版本,见到第三方导出版先核版本口径(坑 8)。

Q47:CITATIONS 表既然只有题录,为什么还要单独一张?
它是溯源动线的起点与规模口径的锚:37,233,341 行定义了「库覆盖多少文献」;PMID 外键把谓词层接回 PubMed 原文。没有它,PREDICATION 就是无根的三元组——177M 的体量换来整个库的可回溯性,性价比极高。

Q48:频率过滤的阈值怎么定?
没有官方推荐值——按用例的精度/覆盖权衡自定。实操:对「概念对+谓词」分组计数后看分布(通常长尾),取能保留目标谓词集合 30-70% 行数的阈值作起点,再用 bc5cdr 等人工语料抽检校准(附录 E 第 5 步)。报告时必须写明阈值——不同阈值下的子集不可比。

Q49:LLM 时代 SemMedDB 还有价值吗?
价值反而上升:一是当远监督信号源训练/评测 LLM 的关系抽取(PARMESAN 已示范谓词句子对喂大模型);二是当 LLM 幻觉的对照底座——1.3 亿条可溯源断言是现成的「引用检查器」素材;三是当检索增强(RAG)的文献证据索引。它的问题是老(截止 2024-05-08)与噪(F1=0.42),不是过时。

Q50:SemMedDB 和「Semantic MEDLINE」是一个东西吗?
官方全称就是 Semantic MEDLINE Database,缩写 SemMedDB——是同一个东西。但泛搜「Semantic MEDLINE」会混入语义检索类无关工作,检索时用「SemMedDB」精确短语(§7.2)。二手资料里「Semantic MEDLINE 项目」有时指整个 SemRep/SemMedDB 工程群——读上下文分辨。

Q51:为什么谓词只有 30 种,会不会太少?
封闭集是设计而非缺陷:谓词集对应 UMLS Semantic Network 的关系定义,覆盖治疗/病因/抑制/相互作用等主干部位。少而稳的谓词集让 1.3 亿行有了统一语义、可枚举可过滤——这正是白名单实践可行的前提。开放域关系的抽取不是它的目标(那是开放信息抽取社区的领地)。

Q52:SENTENCE 表 263M 行太大了,能只加载一部分吗?
能——SENTENCE 只在溯源时需要。按需加载策略:先入库 PREDICATION+AUX+CITATIONS(最小可用集,~8G);跑过滤流水线时不 JOIN SENTENCE;只在抽样质检/溯源抽检时按 SENTENCE_ID 范围导入对应分片。ENTITY 同理(48G,仅实体级分析才需要)。

Q53:怎么判断下游论文用的是哪个库版本?
三条线索:一看数据文件名(含 VER43_2022_R/2023_R 等版本号的直接判定);二看行数(拿 §2.2 六表行数对号入座,行数对不上就是别的版本);三看引用(注 2012 论文未必说明版本——最终以文件名/行数为准)。都对不上时按「未知版本」处理,不要默认它是 VER43_R(坑 8)。

Q54:本条目和 disgenet(449)/drugcentral(344) 条目先读哪个?
先读本条目(原矿层),再读策划层——供应链从上游读下来最顺:SemMedDB 展示「文献怎么变成结构化断言」,disgenet/drugcentral 展示「断言怎么变成有置信度分级的知识」。反向读也可以(先看精炼产品再回溯原矿),但会错过「策划成本为什么这么高」的规模背景。

H. 对照与延伸

Q55:SemMedDB 能用来做命名实体识别训练吗?
间接可以:ENTITY 表的 1,982,424,585 个实体提及是天然的弱标注实体库(提及→CUI 对应)。但要注意两点:一是它出自同一个 SemRep 流水线,NER 层错误(占 26.9%)会内嵌其中——不适合当 NER 金标准;二是正经的 NER 训练/评测用 bc2gm(434)/ncbi-disease(425) 这类人工语料,SemMedDB 只当预训练与规模扩展源。

Q56:SemMedDB 和 MedlinePlus、PubMed Central 是什么关系?
都属 NLM 但分工不同:PubMed/MEDLINE 存引文(文章级)、PMC 存全文、MedlinePlus 面向大众健康科普;SemMedDB 存从 MEDLINE 引文标题与摘要里抽出的语义断言(断言级)——它是最「机器可算」的那一层。四者经 PMID 等标识符互通。

Q57:为什么不直接用 LLM 抽三元组,还要用 2012 年的 SemRep?
成本与可复现性:LLM 抽 3723 万篇的成本是天文数字且输出不可复现;SemRep 是规则+词典的确定性流水线,边际成本近零、同样输入永远同样输出——对 1.3 亿行的工业生产,确定性压倒一切。LLM 时代的正确姿势是把 SemMedDB 当评测底座/弱监督源(Q49),而不是推倒重来。

Q58:库内同类条目里,谁和 SemMedDB 的「全自动+规模」路线最像?
没有完全同型的——这正是它「库内第一个纯文献级知识图谱条目」的原因。最接近的形态对照:disgenet(449)/drugcentral(344)(文献挖掘但经策划)、bc5cdr(415)/biored(457)(关系抽取但人工标注)——SemMedDB 独占「全自动+文献级」象限,其他条目各占一端。

Q59:想给团队做一次 SemMedDB 内训,怎么排课?
半日课的四段排法:① 一小时讲定位与量级坐标系(§0/§2.8/坑 1);② 一小时讲流水线与质量(§3/§4,重点 F1=0.42 的含义与错误分解);③ 一小时动手:UTS 注册+CSV 入库+跑 §8.2 四步过滤(附录 C/E 配合);④ 半小时讲许可与坑(§5/§10)。教材直接用本条目——它就是按可教学结构写的。

Q60:这条目一年后最可能过时的是哪一段?
两处:一是 biothings 口径(43_2024R)可能再变——镜像层活跃(附录 I 触发点 3);二是 biorxiv 2025 之后的弱监督用例会持续累积——生态层仍在生长(§6.7 剪刀差)。相对最不会过时的是核心硬数字(六表行数/评估数字/许可链)——它们属于已收官的 VER43_R,官方不会再改。


事实清单(硬事实 43 条)

  1. SemMedDB 全称 Semantic MEDLINE Database,维护方为 NLM Lister Hill 国家生物医学传播中心(LHNCBC)。
  2. 创刊论文:Kilicoglu H, Fiszman M, Powell A, et al. SemMedDB: a PubMed-scale repository of biomedical semantic predications. Bioinformatics 2012;28(23):3158-3160;doi 10.1093/bioinformatics/bts591;PMID 23044550;PMCID PMC3509487。
  3. 创刊论文 Data availability 口径:以 MySQL 数据库形式对 non-commercial use 开放,需 UMLS Metathesaurus license。
  4. SemMedDB 2.0 / sortal anaphora 论文:BMC Bioinformatics 2016;17:163;doi 10.1186/s12859-016-1009-6;PMID 27080229。
  5. SemRep 主论文:BMC Bioinformatics 2020;21:188;doi 10.1186/s12859-020-3517-7;原文明言 “It also underpins SemMedDB, a literature-scale knowledge graph”。
  6. 方法链补充:factuality(Kilicoglu 2017,PLoS One,PMID 28678823);contradictions(Rosemblat 2019,PMID 31473364);修饰扩展(Ming/Zhang/Kilicoglu 2024,J Biomed Inform,PMID 38782169)。
  7. 最终版 semmedVER43_R:MEDLINE BASELINE 2022 + PubMed Update Files through May 8, 2024;引擎 SemRep 1.8 Regular。
  8. 官方下载页明示 “This is the final update for the SemMedDB Database”——VER43_R 为最终版,此后停止更新。
  9. 旧版本 VER31/40/41/42 已从官网下载页删除,直链失效。
  10. 规模:37,233,341 citations;130,480,195 predications。
  11. 六表行数/体量(官方下载页口径):CITATIONS 37,233,341 行/177M;SENTENCE 263,160,520 行/16G;ENTITY 1,982,424,585 行/46G(MySQL)/48G(CSV);PREDICATION 130,480,195 行/3.1G(MySQL)/3.2G(CSV);PREDICATION_AUX 130,480,181 行/4.0G(MySQL)/4.2G(CSV);GENERIC_CONCEPT 259 行。
  12. 平均比例:每篇引文约 7.1 句、约 53 实体提及、约 3.5 条谓词。
  13. PREDICATION 与 PREDICATION_AUX 行数差 14 行(130,480,195 vs 130,480,181)——官方原样数字未见解释。
  14. MySQL 与 CSV 双格式行数一致、体量不一致(如 ENTITY 46G vs 48G)——格式编码差异。
  15. 语义谓词 30 种(TREATS/DIAGNOSES/CAUSES/INHIBITS/INTERACTS_WITH/PROCESS_OF 等为实核示例)。
  16. 主宾语义类型来自 UMLS Semantic Network(2020 版 127+ 语义类型),如 Pharmacologic Substance、Disease or Syndrome。
  17. 论文示例三元组:Infection-CAUSES-Guillain-Barre Syndrome。
  18. PREDICATION 含 SUBJECT_NOVELTY/OBJECT_NOVELTY 字段(schema 3.0 起,与 GENERIC_CONCEPT 联动)。
  19. PREDICATION_AUX 提供 NEGATION_FLAG(否定)与 UNCERTAIN_FLAG(不确定性)修饰标记。
  20. 正式库 anaphora feature turned off(指代消解关闭);官方不再发布 anaphora 版年度库。
  21. anaphora 2016 评估:320 篇摘要测试集 F1=59.6;影响当时约 82M 关系中的约 1.5%;约 50% 无信息关系被替换/35% 无影响/15% 负面。
  22. schema 3.0 重构:删除 CONCEPT/CONCEPT_SEMTYPE/PREDICATION_ARGUMENT/SENTENCE_PREDICATION 四表,新增 GENERIC_CONCEPT。
  23. 老 2.0 表结构文档存于 dbinfo20.html(UMLS 2006AA 概念 + EntrezGene 口径)。
  24. SemRep 2020 评估:严格匹配 P=0.55/R=0.34/F1=0.42;宽松匹配 P=0.69/R=0.42/F1=0.52。
  25. CDR 语料评估:P=0.90/R=0.24/F1=0.38;句界口径 R=0.35/F1=0.50。
  26. 错误来源分解:NER/归一化 26.9%、论元识别 14%、触发词识别 12.5%。
  27. Every Cure 旁证口径一致:“over 130 million semantic predications…more than 37 million PubMed citations”。
  28. Every Cure 使用建议原文:“only use curated subsets (e.g., TREATS, INHIBITS) and filter by frequency/confidence”。
  29. 下载门槛:UTS 账号登录(官方页明示);格式为 MySQL 转储 + CSV.gz。
  30. 活跃下载页:https://lhncbc.nlm.nih.gov/temp/SemRep_SemMedDB_SKR/SemMedDB_download.html。
  31. biothings 引用的 CSV 直链形如 data.lhncbc.nlm.nih.gov/umls-restricted/ii/tools/SemRep_SemMedDB_SKR/semmedVER43_2022_R_PREDICATION.csv.gz——路径含 umls-restricted,仍受 UMLS 许可约束。
  32. 官方项目页 /project/semmeddb 重定向至通用列表页;活跃入口在 /temp/SemRep_SemMedDB_SKR/ 路径下。
  33. biothings/semmeddb manifest 曾标 CC BY 4.0,后经 PR#8/#9 修正为 UMLS Metathesaurus License。
  34. biothings/semmeddb 2025-05-07 更新至 43_2024R 口径。
  35. PARMESAN_SemMedDB 基于 semmedVER43_2023_R_PREDICATION.116080.csv.gz 生成提示语料。
  36. NCATS Translator 官方 wiki:github.com/NCATSTranslator/Translator-All/wiki/SemMedDB。
  37. KG Registry 收录:w3id.org/information-resource-registry/semmeddb。
  38. SemMedDB 无自带基准/leaderboard;biorxiv 2025 cell-cell 关系抽取用例将其作弱监督源并指出 SemRep 谓词选择偏差。
  39. 版本链:VER30+(schema 3.0 重构)→ VER43_2022_R → VER43_2023_R(PARMESAN 口径)→ VER43_R(终版)。
  40. GENERIC_CONCEPT 仅 259 行,确切语义官方未详注——推测为 schema 3.0 通用概念/语义类型层。
  41. UTS 账号注册流程是否要求机构信息、完整下载包清单与单包体量——需 UTS 登录后核实(沙箱无法注册,列入待核)。
  42. 查重与锁存照:库内 url_name 查询 semmed/semrep/medline 均 0 行命中;writing/ 733 目录无同名;.lock 由 agent-c-semmeddb 持有(2026-10-04T05:02)。
  43. 语义谓词为 30 种封闭集,对应 UMLS Semantic Network 的关系定义——封闭集是谓词白名单实践可行的前提(Q51)。

术语表(46 条)

术语 释义
SemMedDB Semantic MEDLINE Database——NLM 的文献级语义谓词数据库
SemRep NLM 的语义谓词抽取系统,SemMedDB 的生成引擎(VER43_R 用 1.8 Regular)
语义谓词(semantic predication) 「主语概念-谓词-宾语概念」形式的断言,库里 PREDICATION 表每行一条
三元组(triple) 主-谓-宾结构的知识表示,知识图谱的原子单位
UMLS Unified Medical Language System,NLM 的统一医学语言系统(概念体系+词典+语义网络)
Metathesaurus UMLS 的概念库——SemMedDB 主宾概念的来源,license 绑定源头
Semantic Network UMLS 的语义类型体系(2020 版 127+ 类型),如 Disease or Syndrome
CUI Concept Unique Identifier,UMLS 概念的唯一标识——库内归一化的锚点
语义类型(semantic type) 概念的类别标签(如 Pharmacologic Substance),粗筛过滤的第一维度
谓词(predicate) 30 种封闭关系集之一(TREATS/CAUSES/INHIBITS 等),PREDICATE 字段取值
MEDLINE NLM 的文献引文数据库,SemMedDB 的全部语料来源
PubMed MEDLINE 的免费检索界面;引文以 PMID 标识
PMID PubMed 唯一标识号——PREDICATION 回链引文层的外键
LHNCBC Lister Hill 国家生物医学传播中心,NLM 内部研发机构,SemMedDB 维护方
UTS Unified Medical Language System 的注册系统——下载 SemMedDB 的账号门槛
NER 命名实体识别——SemRep 流水线第一环节,也是最大错误来源(26.9%)
概念归一化(concept normalization) 把文本实体映射到 UMLS 概念(CUI)的过程
否定标记(NEGATION_FLAG) PREDICATION_AUX 字段:该断言在原句中被否定
不确定性标记(UNCERTAIN_FLAG) PREDICATION_AUX 字段:该断言在原句中带不确定语气
factuality 事实性维度——把修饰细化为多层的研究线(Kilicoglu 2017),未并入正式库
anaphora 指代消解——2016 引入实验、正式库关闭的功能
sortal anaphora 「该药物」一类带类别限制的指称,anaphora 版处理的对象
schema 3.0 表结构重构世代:删四表、加 GENERIC_CONCEPT,VER30+ 起
GENERIC_CONCEPT schema 3.0 新增表(259 行),确切语义官方未详注
distance supervision / 远监督 用知识库自动对齐文本生成训练标签的方法——SemMedDB 的典型用法
弱监督(weak supervision) 用噪声标签源训练模型——1.3 亿行的正确打开方式
literature-based discovery 文献间发现——Swanson 式的跨文献假设生成,SemMedDB 的设计用途之一
curated subset 品质子集——按谓词白名单等规则过滤后的高置信子集(Every Cure 口径)
NCATS Translator NIH 国家转化科学促进中心的知识图谱计划,SemMedDB 的下游消费者
Every Cure 药物重定位非营利计划,给出最清晰的 SemMedDB 使用策略声明
biothings BioThings API 框架的 SemMedDB 镜像(2025-05 更新至 43_2024R 口径)
KG Registry 知识图谱登记服务,收录 w3id.org/information-resource-registry/semmeddb
schema(表结构世代) SemMedDB 库结构的版本分界:2.0 结构(老四表)vs 3.0 结构(现六表)
快照(snapshot) 年度 BASELINE+增量包的分发形态——「数据不再变化」的工程契约
置信度代理(confidence proxy) 用出现频率等间接信号估计可靠性——频率过滤的统计学基础
长尾分布 「概念对+谓词」计数分布的形态——阈值过滤所以要看的对象
白名单(whitelist) 预先批准的谓词集合——弱标签过滤的第一道闸
证据句(evidence sentence) 三元组的原文出处句——SENTENCE_ID 指向的对象
knowledge cutoff 数据覆盖的时间终点(本库为 2024-05-08)
远监督(distant supervision) 用知识库自动对齐文本生成训练标签——与近监督(人工标注)相对
实体提及(entity mention) 文本中实体的每一次具体出现——ENTITY 表的基本单位
触发词(trigger word) 句中触发谓词判定的核心词——12.5% 错误来源对应环节
论元(argument) 谓词的主语/宾语角色——14% 错误来源对应环节
开放信息抽取(Open IE) 不预设关系集的抽取范式——与 SemMedDB 的 30 种封闭谓词集相对
Update Files MEDLINE 基线之间的增量引文包——VER43_R 追加至 2024-05-08 的增量层

附录

附录 A:条目信息速查卡

项 值
条目名 SemMedDB
url_name semmeddb
类型 文献级语义知识图谱(数据库形态)
维护方 NLM LHNCBC
论文 Bioinformatics 2012;28(23):3158-3160(创刊)+ BMC Bioinformatics 2016;17:163(2.0)+ 2020;21:188(SemRep 评估)
规模 37,233,341 引文 / 130,480,195 predications(semmedVER43_R)
版本状态 VER43_R 为官方声明最终版(数据截止 2024-05-08)
许可 UMLS Metathesaurus License + 非商业(UTS 账号下载)
抓取时点 2026-10-04
库内互链 umls(558)/snomed-ct(557)/meddra(579)/bc5cdr(415)/biored(457)/bc2gm(434)/ncbi-disease(425)/chemprot(753)/drugprot(827)/ddi(171)/pharmaconer(504)/pubmedqa(49)/mednli(648)/biosses(750)/disgenet(449)/drugcentral(344)

附录 B:逐项证据链自证

关键数字/事实 来源 位置
130,480,195 predications / 37,233,341 citations 官方下载页逐表披露 SemMedDB_download.html
六表行数与 MySQL/CSV 体量 官方下载页 同上
SemRep 1.8 Regular + 语料口径(BASELINE 2022 + updates through 2024-05-08) 官方下载页 同上
“This is the final update” 声明 官方下载页 同上
严格 P=0.55/R=0.34/F1=0.42;宽松 P=0.69/R=0.42/F1=0.52 SemRep 2020 论文 BMC Bioinformatics 21:188
CDR P=0.90/R=0.24/F1=0.38;句界 R=0.35/F1=0.50 SemRep 2020 论文 同上
错误来源 26.9%/14%/12.5% SemRep 2020 论文 同上
anaphora F1=59.6/320 摘要/1.5%/50-35-15 SemMedDB 2.0 论文 BMC Bioinformatics 17:163
non-commercial + UMLS license 要求 创刊论文 Bioinformatics 28(23):3158-3160
anaphora turned off(正式库) 官方下载页说明 SemMedDB_download.html
UTS 账号门槛 官方下载页 同上
biothings 43_2024R 口径 + license 修正史(PR#8/#9) biothings/semmeddb GitHub 仓 manifest 与 PR 记录
PARMESAN 用的 2023_R CSV 分片 PARMESAN 仓库 数据文件名
Every Cure 130M/37M 旁证+使用建议 Every Cure 文档 第三方互证

附录 C:数据获取决策树

需求是什么?
├── 快速查几条关系 / 原型验证
│   └── biothings API 镜像(注意 43_2024R 版本口径,坑 8)
├── 全库分析 / 模型训练
│   ├── 1) UTS 注册+签署 UMLS 许可
│   ├── 2) 官方下载页下 VER43_R(先 PREDICATION 3.2G,后按需挂表)
│   ├── 3) CSV.gz → PostgreSQL COPY / MySQL 转储直导
│   └── 4) §8.2 四步过滤后再消费
├── 高精度金标准关系
│   └── 不用本库 → bc5cdr(415) / biored(457)
├── 商用接入
│   └── 先核对 UMLS Metathesaurus License 商用条款(非商业限制在先)
└── 概念体系本身
    └── umls(558) 条目 + UTS 配套下载

附录 D:六表数据字典(官方口径+示意)

表 关键内容 行数 消费建议
CITATIONS 引文层(PMID/题录) 37,233,341 JOIN 锚点,轻量
SENTENCE 句子层 263,160,520 溯源用(16G,按需加载)
ENTITY 实体提及层 1,982,424,585 实体级分析才加载(48G)
PREDICATION 语义谓词主表 130,480,195 首选加载;含 NOVELTY 字段
PREDICATION_AUX 修饰扩展 130,480,181 NEGATION/UNCERTAIN 过滤必挂;行数差 14 按近似全集处理(坑 5)
GENERIC_CONCEPT schema 3.0 新增 259 秒级加载;语义未详注(坑 7),勿臆测

精确列名以 UTS 登录后的库结构文档为准;本条目实核字段为 SUBJECT_NOVELTY/OBJECT_NOVELTY/NEGATION_FLAG/UNCERTAIN_FLAG。

附录 E:谓词白名单构建指引

SemMedDB 的谓词是 30 种封闭集,本条目仅收录 FACTS 实核的六个示例(TREATS/DIAGNOSES/CAUSES/INHIBITS/INTERACTS_WITH/PROCESS_OF),不凭记忆罗列全表。构建白名单的可执行流程:

  1. 拿全表:UTS 登录后从官方文档或 VER43_R 库内 SELECT DISTINCT PREDICATE FROM PREDICATION(示意)取全部 30 个取值——以库内实际为准,不靠二手清单。
  2. 按用例分组:治疗/药理类(TREATS/INHIBITS/INTERACTS_WITH 型)、病因/风险类(CAUSES 型)、诊断类(DIAGNOSES 型)、过程/其他。
  3. 先收方向性强的:TREATS、INHIBITS 这类主宾角色固定的关系族噪声低(Every Cure 起手式);主宾可互换的关系族(如 INTERACTS_WITH)单独标记、宽容使用。
  4. 按语义类型对加约束:谓词×主宾语义类型对的二维过滤(如 TREATS 且宾语为 Disease or Syndrome),比单维谓词过滤更精细。
  5. 抽样校准:对每个入选谓词抽 50-100 条人工判读,估算用例内精度——把 §4 的全局 F1 换成你自己的谓词级数字。

附录 F:许可条款细读

  1. 数据本体:UMLS Metathesaurus License——随 UTS 账号签署的 UMLS 术语许可覆盖;非商业用途限制来自创刊论文声明(“available as a MySQL database for non-commercial use”)。
  2. 概念体系:UMLS Metathesaurus 本身的许可条款另行适用——用 CUI 就在 UMLS 许可的射程内。
  3. CSV 直链:路径含 umls-restricted 即许可属性的明示;直链可用性不作工程依赖。
  4. 派生物:从 SemMedDB 派生的三元组集合继承 UMLS 许可属性——再分发派生库不能自选宽松许可(CC BY 4.0 之类标注属 biothings 旧 manifest 式错误,坑 4)。
  5. 论文:各期刊版权分别适用(Bioinformatics/BMC Bioinformatics),引用观点引论文、用数据循数据许可。

附录 G:坑点档案对照表

坑 一句话档案 触发场景
坑 1 2.7 亿是句子数量级,谓词实核 130,480,195 规模引用
坑 2 VER43_R 为官方声明最终版,非持续更新 版本描述
坑 3 /project/semmeddb 重定向,活跃入口在 /temp/ 路径 链接检索
坑 4 biothings 旧 manifest 的 CC BY 4.0 是错误标注 许可引用
坑 5 PREDICATION 与 AUX 差 14 行,非数据损坏 入库质检
坑 6 MySQL 与 CSV 体量不一致是格式差异 存储规划
坑 7 GENERIC_CONCEPT 259 行语义未详注 表结构理解
坑 8 版本链多口径(43_R/2022_R/2023_R/43_2024R),混表是高频翻车点 下游引用

附录 H:检索决策树

你想找什么?
├── SemMedDB 本体/下载
│   └── 官方下载页(/temp/SemRep_SemMedDB_SKR/SemMedDB_download.html)+ UTS 登录
├── 抽取系统的评估数字
│   └── SemRep 2020 论文(BMC Bioinformatics 21:188,doi 10.1186/s12859-020-3517-7)
├── 库的历史与结构演进
│   └── 创刊论文(2012)+ 2.0 论文(2016)+ dbinfo20.html(老结构考古)
├── 轻量 API 查询
│   └── biothings/semmeddb(注意版本口径与 license 修正史)
├── 下游使用范本
│   └── Every Cure 使用建议 / NCATS Translator wiki / PARMESAN
└── 高精度关系金标准
    └── 库内 bc5cdr(415)/biored(457)——不用 SemMedDB 评金标准任务

附录 I:维护计划与触发点

触发点 条件 动作 优先级
官方口径变化 NLM 页面撤下 final update 声明或发布新版本 改写 §2.1/§5.2/坑 2,重评 S 维度 1
UTS 注册流程确认 取得 UTS 账号后实抓下载包清单 补 §5.1/§9.2 待核项、附录 D 列名 2
biothings 口径变化 镜像更新版本或 license 字段再变 更新 §6.4 与坑 8 3
下游大规模采用 Translator/Every Cure 发布新评估或指南 §6.2/§6.3 追记 4
GENERIC_CONCEPT 语义澄清 UTS 登录后库结构文档明确其用途 解除坑 7 存照 5

附录 J:引文规范

@article{kilicoglu2012semmeddb,
  title   = {SemMedDB: a PubMed-scale repository of biomedical semantic predications},
  author  = {Kilicoglu, Halil and Fiszman, Marcelo and Powell, A. and others},
  journal = {Bioinformatics},
  volume  = {28},
  number  = {23},
  pages   = {3158--3160},
  year    = {2012},
  doi     = {10.1093/bioinformatics/bts591}
}

@article{kilicoglu2016semmeddb2,
  title   = {SemMedDB 2.0 (sortal anaphora processing)},
  author  = {Kilicoglu, Halil and others},
  journal = {BMC Bioinformatics},
  volume  = {17},
  pages   = {163},
  year    = {2016},
  doi     = {10.1186/s12859-016-1009-6}
}

@article{kilicoglu2020semrep,
  title   = {Overview of BioMed (SemRep system evaluation)},
  author  = {Kilicoglu, Halil and others},
  journal = {BMC Bioinformatics},
  volume  = {21},
  pages   = {188},
  year    = {2020},
  doi     = {10.1186/s12859-020-3517-7}
}

注:2016/2020 两篇的完整作者列表以期刊页为准(本条目 FACTS 只实核到一作与 et al. 层级);2012 论文作者按 FACTS 收录 Kilicoglu/Fiszman/Powell 及后续作者。数据引用同时注明库版本号 semmedVER43_R 与数据截止日 2024-05-08。

附录 K:FAIR/AI-Ready 检查单

检查项 状态 说明
F1 全局唯一标识 ✅ 官方项目名+DOI(论文)+KG Registry 收录
F2 富元数据 ✅ 官方下载页逐表行数/体量+三篇论文
A1 可访问协议 ⚠️ 免费但需 UTS 账号+签许可;非商业限制
A2 元数据可访问 ✅ 下载页公开层(行数/体量/版本声明)无需登录
I1 互操作格式 ✅ MySQL/CSV 标准格式;PMID/CUI 双外键
I2 词汇表引用 ✅ UMLS Metathesaurus+Semantic Network 即其词汇体系
R1 来源溯源 ✅ PMID+SENTENCE_ID 回链原句——溯源能力为库的核心资产
R3 可复现流程 ✅ SemRep 1.8 Regular+语料快照日期明确
AI-Ready 综合 中 结构与溯源优;许可门槛+精度折扣+版本静止三重压制(DAIMS 5.8/10)

附录 L:缩写速查

缩写 全称
SemMedDB Semantic MEDLINE Database
SemRep Semantic Representation(NLM 语义谓词抽取系统)
NLM National Library of Medicine(美国国家医学图书馆)
LHNCBC Lister Hill National Center for Biomedical Communications
UMLS Unified Medical Language System
UTS UMLS Terminology Services(UMLS 注册与下载服务)
CUI Concept Unique Identifier
NER Named Entity Recognition(命名实体识别)
IE Information Extraction(信息抽取)
PMID PubMed Identifier
DAIMS Discoverability/Accessibility/Interoperability/Metadata/Sustainability
KG Knowledge Graph(知识图谱)
NCATS National Center for Advancing Translational Sciences
Open IE Open Information Extraction(开放信息抽取,与封闭谓词集相对)

附录 M:基于 SemMedDB 的研究检查清单(12 项)

  1. 版本与截止日:写明 semmedVER43_R 与数据截止 2024-05-08;不写「持续更新」。
  2. 谓词集合:报告你用了哪些谓词(白名单)——全量直用不是方法,是事故。
  3. 过滤链:报告 NEGATION/UNCERTAIN 处理与频率阈值——可复现性依赖过滤参数。
  4. 精度预期:引用 SemRep 评估注明严格/宽松口径;不拿 0.52 当精度。
  5. 修饰语义:确认你的下游理解了「否定行不是正据」。
  6. 溯源习惯:抽样结论必须回 SENTENCE/原文核对——双外键是为此而设。
  7. 许可合规:UTS 协议签署;商用前核对非商业边界。
  8. 版本混表禁令:不与 2022_R/2023_R/43_2024R 口径数字直接混比(坑 8)。
  9. anaphora 知情:涉及指称的统计要声明「正式库指代消解关闭」。
  10. 校准义务:用 bc5cdr/biored 或自标小样本给出用例内精度估计。
  11. ER 图现实:PREDICATION/AUX 差 14 行按近似全集处理(坑 5);GENERIC_CONCEPT 勿臆测(坑 7)。
  12. 引用完整:数据引创刊论文+版本号;质量结论引 SemRep 2020 评估;生态引用注明抓取时点。

附录 N:检索路径示范(关键词组合与查询式)

目标 推荐查询式 预期命中
本体与下载 “SemMedDB” AND (“download” OR “VER43”) 官方下载页(/temp/ 路径)
创刊论文 “SemMedDB” AND “semantic predications” AND doi 10.1093/bioinformatics/bts591 Bioinformatics 2012;28(23):3158-3160
引擎评估 “SemRep” AND “semantic predications” AND (evaluation OR F1) BMC Bioinformatics 2020;21:188
下游范本 “SemMedDB” AND (“drug repurposing” OR “Translator”) Every Cure/NCATS wiki
镜像与 API biothings semmeddb github biothings/semmeddb 仓
弱监督用例 “SemMedDB” AND (“weak supervision” OR “distant supervision”) 各年文献(含 biorxiv 2025)
反例(勿用) “Semantic MEDLINE” 泛搜 / 「2.7 亿谓词」类二手表述 噪声结果与口径误传(坑 1)

检索卫生两条:一、凡引用规模数字,先区分「谓词/句子/实体」三个量级(1.3 亿/2.6 亿/20 亿);二、凡引用许可,回溯 UTS 协议与创刊论文声明,不采信二手 manifest。

附录 O:本条目生产档案

  • 生产通道:RSI 闭环写手代理 agent-c-semmeddb(教训 12 纪律:brief「2.7 亿」经三源互证证伪为句子数口径,按实核 130,480,195 成稿)
  • 事实研究:三轮精确搜索三源互证(官方下载页口径/三篇论文/第三方 Every Cure 与 biothings)+ 库内 SQL 互链排查(827 条目全量导出筛选 16 条)
  • FACTS.md:writing/semmeddb/FACTS.md 九节
  • 成稿方式:五块直写拼接(part1-5 写入私有区后 cat),全程不用 Edit 追加
  • 坑点:§10 八则(坑 1-8「坑 N:」编号制)
  • description:成稿时即 ≤170 字符
  • 待核清单:① 完整下载包清单与单包体量(需 UTS 登录);② UTS 注册是否要求机构信息;③ CSV 与 MySQL 行数一致性的第三方独立验证;④ GENERIC_CONCEPT 259 行确切语义
  • 互链计划:正文内链 16 条(umls 558/snomed-ct 557/meddra 579/bc5cdr 415/biored 457/bc2gm 434/ncbi-disease 425/chemprot 753/drugprot 827/ddi 171/pharmaconer 504/pubmedqa 49/mednli 648/biosses 750/disgenet 449/drugcentral 344)
  • 沙箱证据环境备注:官方工具页 curl 直抓失败(出网限制)、WebFetch 经 archive.org 代理限流——核心数字以 WebSearch 三轮一致命中+论文+第三方三源互证

附录 P:库版本时间线总表

时点 版本/事件 口径与状态
2012 创刊论文发表(Bioinformatics 28(23):3158-3160) MySQL 数据库、non-commercial、需 UMLS license
2.0 时代 VER31/40/41/42 等年度版(含并行 anaphora 版) 老表结构(dbinfo20.html;UMLS 2006AA+EntrezGene)——已全部从官网删除
schema 3.0 VER30+ 表结构重构 删 CONCEPT/CONCEPT_SEMTYPE/PREDICATION_ARGUMENT/SENTENCE_PREDICATION 四表,新增 GENERIC_CONCEPT
2022 semmedVER43_2022_R biothings CSV 直链挂靠口径
2023 semmedVER43_2023_R PARMESAN 挂靠口径(PREDICATION.116080 分片)
2024-05-08 semmedVER43_R 数据截止 官方声明最终版——“This is the final update”
2025-05-07 biothings 更新至 43_2024R 口径 镜像层事件(非官方新版本)

版本史一句话:官方只有一条主线且已停在 2024-05-08;之后的所有「新版本号」都来自下游镜像的口径管理——引用任何版本号先问它是官方发布还是下游口径。

附录 Q:三类使用者的配置建议

使用者 建议路径 最小配置 预算量级
学生/入门者 biothings API 查询 + 论文阅读 无需建库 零存储,纯查询
研究者(弱监督/评测) 下载 PREDICATION+AUX+CITATIONS,PostgreSQL 建库 ~8G 存储 + 1 天工程 单机可行
工程团队(KG/重定位) 全六表入库 + 过滤流水线 + 抽样校准 ~70G 存储 + 索引 + 校准集 单台高配服务器

三类使用者的共同红线:不要跳过 §8.2 过滤直接消费全表;不要在许可上有任何侥幸(UTS 协议在先)。

附录 R:常见误传对照表(凭印象必错清单)

误传 事实 出处
「SemMedDB 有约 2.7 亿 predications」 谓词 130,480,195;2.7 亿≈句子数(263,160,520)量级 官方下载页(坑 1)
「SemMedDB 采用 CC BY 4.0 许可」 UMLS Metathesaurus License + 非商业;CC BY 4.0 是 biothings 旧 manifest 的错误标注 创刊论文+biothings PR 修正史(坑 4)
「SemMedDB 持续更新/覆盖最新文献」 VER43_R 为官方声明最终版,数据截止 2024-05-08 官方下载页(坑 2)
「20 亿条关系」 20 亿是 ENTITY 实体提及层;关系(谓词)是 1.3 亿 官方下载页+§2.8 坐标系
「SemMedDB 是人工标注的数据集」 全自动 SemRep 抽取,零人工标注 创刊/评估论文+§3.3
「SemMedDB 是挑战赛/有 leaderboard」 知识底座,无自带基准与评测任务 §4.4
「项目页在 /project/semmeddb」 已重定向;活跃入口在 /temp/SemRep_SemMedDB_SKR/ 路径 官方页迁移存照(坑 3)
「PREDICATION 和 PREDICATION_AUX 行数不一致说明数据有问题」 差 14 行为官方原样数字,按近似全集处理 官方下载页(坑 5)

此表可直接用于二手资料质检:见到上述任何一句,按「事实」列纠正并回溯「出处」列。

附录 S:条目自检问答(写作者视角的十问)

本条目成稿后按库内质检惯例自检的十个问题与答案:

  1. 规模数字用哪个? 130,480,195(PREDICATION 实核),全篇不用 2.7 亿(坑 1 存照)。
  2. 版本状态怎么写? VER43_R 为官方声明最终版;「final update」原文引用在案,不写持续更新(坑 2)。
  3. 许可是什么口径? UMLS Metathesaurus License + 非商业;CC BY 4.0 只作为错误标注存照出现(坑 4)。
  4. 精度数字什么口径? 严格 F1=0.42/宽松 F1=0.52 分列,引用处注明口径;CDR 0.90 P 单独标注窄域。
  5. 每个坑都有编号吗? 坑 1-8 编号制,正文引用与 §10 详文对齐。
  6. 每条三元组能溯源吗? PMID+SENTENCE_ID 双外键体系已写入 §2.3/§2.6/Q41——溯源是本条目的核心叙事之一。
  7. 互链条目都实核过 rid 吗? 16 条互链 rid 全部来自库内 status=1 条目全量导出(附录 O),无凭印象。
  8. 遗留疑点存照了吗? GENERIC_CONCEPT 语义、下载包清单、UTS 注册要求、双格式独立验证——四项待核入附录 O。
  9. frontmatter 双引号纪律过了吗? YAML 双引号内无英文直引号;description ≤170 字符;title/subtitle/data_source ≤255 字符。
  10. 抓取时点在案吗? 2026-10-04 写入 frontmatter(lastReviewed)、附录 A、附录 O 三处。

尾注

本条目为 AI-Ready Wikipedia 数据集条目,生产于 2026-10-04,抓取与核验时点见附录 A/O。事实陈述以官方下载页(lhncbc.nlm.nih.gov/temp/SemRep_SemMedDB_SKR/SemMedDB_download.html)、三篇论文(Bioinformatics 2012;28(23):3158-3160、BMC Bioinformatics 2016;17:163 与 2020;21:188)及第三方互证(Every Cure、biothings)为源;规模口径误传(2.7 亿 vs 1.3 亿)、许可错误标注(CC BY 4.0 vs UMLS)、行数差 14、版本链多口径等原始文档缺陷已在坑点与 §9 存照。条目与库内 umls(558)、bc5cdr(415)、biored(457)、disgenet(449)、drugcentral(344) 等 16 个条目互链,构成「术语系统—文献知识图谱—人工标注语料—策划知识库」家族的完整检索面。SemMedDB 已宣布收官,但 1.3 亿条可溯源断言仍将持续供血于文献挖掘、弱监督与药物重定位的下游生态——矿不再开采,冶炼与使用还在继续。后续维护触发点见附录 I。


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • biored — 共享标签:医疗NLP / 生物医学文献 / 关系抽取 / 知识图谱 / 命名实体识别
  • pubtator-central — 共享标签:医疗NLP / 生物医学文献 / 关系抽取 / 知识图谱 / 命名实体识别
  • ddi-corpus — 共享标签:医疗NLP / 生物医学文献 / 关系抽取 / 知识图谱 / 命名实体识别
  • medmentions — 共享标签:医疗NLP / 生物医学文献 / 知识图谱 / 命名实体识别
  • bc5cdr — 共享标签:医疗NLP / 生物医学文献 / 关系抽取 / 命名实体识别
  • craft — 共享标签:医疗NLP / 生物医学文献 / 知识图谱 / 命名实体识别
  • genia — 共享标签:医疗NLP / 生物医学文献 / 关系抽取 / 命名实体识别
  • disease-ontology — 共享标签:医疗NLP / 生物医学文献 / 知识图谱 / 命名实体识别
  • medlexsp — 共享标签:医疗NLP / 生物医学文献 / 知识图谱 / 命名实体识别
  • europepmc — 共享标签:医疗NLP / 生物医学文献 / 知识图谱 / 命名实体识别

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集