2. 生物医学文本特性与语料来源
实体关系抽取系统的上限,往往在选语料的那一刻就已经被决定了。生物医学文本不是一种文本,而是若干种差异极大的文本被统称为“医学文本”:PubMed 摘要追求信息密度,PMC 全文包含大量图表与嵌套结构,电子病历是临床工作流的副产品,临床指南则是经过反复凝练的规范性表述。把它们混在一起训练,模型学到的往往是格式噪声而非医学语义。因此本节的核心任务是:先看清每类语料的真实形态,再据此确定抽取任务对语料的具体要求。
四类语料的文本形态差异
PubMed 摘要是关系抽取最常用的起点。它通常 200~300 词,结构高度规整,大量出现“A inhibits B”“X is associated with Y”这类显式关系句。优点是标注成本低、公开可获取;缺点是只有结论没有证据链,且句子常省略主语、使用被动语态,例如“was significantly reduced in patients with…”中,真正的实体可能出现在前一句。摘要中的关系密度高,但共指和省略也最密集。
PMC 全文补充了方法、结果与讨论,实体出现次数多、上下文长,适合抽取“药物—靶点—疾病”这类需要跨句推理的关系。代价是结构复杂:正文中夹杂表格、图注、参考文献编号、基因符号与化学式,同一实体在不同段落可能写作 “TNF-α”“tumor necrosis factor alpha”“TNFα”。全文语料的实体规范化难度显著高于摘要。
电子病历(EMR)与文献语料的差异是根本性的。它由临床工作流产生,包含入院记录、病程记录、检验报告、医嘱、护理记录等异构片段。文本特点是:大量缩写与院内习惯用语(如“双肺呼吸音清”“NS 500ml ivgtt”)、时间信息密集、否定与不确定性表达频繁(“未见明显异常”“不排除肺炎”)、模板化与自由文本混杂。EMR 中的关系往往不是“A 导致 B”这样的知识性关系,而是“患者—用药—剂量—时间”这类事件性关系,抽取目标与文献完全不同。
临床指南是四类中语言最规范的,句式接近书面语,推荐强度与证据等级明确(如“推荐等级 I,证据水平 A”)。它的价值在于提供高质量的关系先验,例如“二甲双胍—一线治疗—2 型糖尿病”。但指南数量少、更新慢,且大量关系以表格和分级条目呈现,直接按句子抽取会丢失结构。
从文本特性推导语料要求
看清形态之后,语料要求就可以逐条推导出来,而不是凭经验罗列。
第一,实体边界必须可判定。在 PubMed 中,“IL-6”与“interleukin 6”是同一实体,但“IL-6R”是另一个实体;在 EMR 中,“阿司匹林”可能写作“ASA”“拜阿司匹灵”。如果语料中同一实体的写法过于发散,标注者之间的一致性会迅速下降。工程上的做法是先建立实体词典与规范化规则,再统计语料中未登录实体的比例,通常要求控制在 15% 以内,否则应先补充词典或做实体归一化。
第二,关系类型必须可定义且互斥。文献语料适合定义“治疗”“导致”“关联”“抑制”等知识型关系;EMR 则更适合“用药事件”“检验结果”“否定修饰”等事件型关系。两类关系不应混在同一套标签体系里,否则标注者会在“阿司匹林治疗头痛”与“患者服用阿司匹林”之间反复摇摆。建议按语料来源分设标签集,再通过统一的上层本体做映射。
第三,标注一致性必须可度量。常用指标是 Cohen's Kappa 或 F1 一致性。以 500 句双人标注为例,若 Kappa 低于 0.6,说明关系定义存在歧义,应先修订标注手册而非继续扩量。一个可操作的判断是:随机抽取 50 句做三人标注,若三人一致率低于 80%,则该关系类型需要重新界定边界。
第四,领域分布必须可覆盖。如果训练语料全部来自 PubMed 摘要,模型在 EMR 上的表现通常会明显下降,因为缩写、否定和时间表达分布完全不同。合理的做法是按目标应用场景确定语料配比,例如面向临床决策支持的系统,EMR 与指南的占比不应低于 40%。
一个可执行的语料准备示例
假设要构建“药物—疾病”关系抽取语料,来源为 PubMed 摘要与临床指南。可按以下参数执行:从 PubMed 检索式 ("diabetes"[Title/Abstract]) AND ("metformin"[Title/Abstract]) 获取 2000 条摘要,随机抽取 800 条;从 2 份 2 型糖尿病指南中提取推荐条目 300 条。实体类型定义为药物、疾病、人群;关系类型定义为“治疗”“禁忌”“联合用药”。标注前先由两名标注者各标 50 句,计算 Kappa;若低于 0.7,则补充边界示例后重标。最终语料按 7:1:2 划分训练、验证、测试集,并保证测试集中指南来源样本不少于 20%,以检验跨来源泛化能力。
需要强调的是,上述数量与阈值属于教学示例中的合理假设,实际项目中应根据标注预算与目标指标调整。真正不可省略的是:先理解语料形态,再定义标注体系,最后才进入模型环节。语料阶段的每一个模糊定义,都会在模型评估时以错误的形式被放大回来。