3. 生物医学实体与关系类型体系

在生物医学文本中,实体与关系构成了知识的最小骨架。实体是文本里被命名的“东西”,关系则是这些“东西”之间被断言的联系。实体关系抽取工程的第一步,不是急着上模型,而是先把“我们要抽什么”定义清楚——也就是建立一套可操作的实体类型体系与关系类型体系。类型体系一旦含糊,标注就会漂移,模型学到的边界也会随之模糊。

实体类型:从命名实体到语义角色

生物医学实体类型通常围绕基因、蛋白、疾病、药物、变异这几类核心对象展开,但它们在文本中的表现形式差异很大。基因常以符号出现,如 TP53、BRCA1;蛋白既可能写成基因符号,也可能写成全称,如 p53 protein;疾病既有标准术语,也有缩写和俗称,如 non-small cell lung cancer 与 NSCLC;药物包括通用名、商品名和化学名;变异则更复杂,可能是 p.V600E 这样的氨基酸替换,也可能是 c.1799T>A 这样的核苷酸变化,甚至只是 exon 19 deletion 这样的描述。

因此,实体类型体系不能只列类别名,还要为每类给出边界说明和典型示例。一个实用的做法是采用“类型—子类型—示例”的三层描述。例如变异可以细分为点突变、插入、缺失、融合、拷贝数变异;药物可以细分为小分子、抗体、疫苗、基因治疗产品。子类型不是必须全部抽取,但它能帮助标注者判断一个提及到底属于哪一类,减少“基因还是蛋白”这类高频歧义。

实体类型定义应遵循“可判定、可区分、可覆盖”三原则:任意一个提及都能被判定是否属于某类;相邻类型之间有明确区分依据;常见文本现象都能找到归属,而不是频繁落入“其他”。

关系类型:方向、语义与触发词

关系类型体系比实体类型更容易被低估。生物医学关系往往带有方向性和条件性,例如“A 导致 B”与“B 导致 A”完全不同,“A 治疗 B”和“A 与 B 相关”在临床证据强度上也有本质差异。常见关系包括:基因—疾病关联、蛋白—蛋白相互作用、药物—靶点结合、药物—疾病治疗、变异—疾病致病、变异—药物响应、基因—蛋白编码等。

定义关系时,至少要明确四件事:头实体类型、尾实体类型、关系方向、触发词或句法模式。以“治疗”关系为例,头实体通常是药物或治疗手段,尾实体是疾病,方向为“药物 → 疾病”,触发词包括 treats、is used for、effective in、therapy for 等。再如“相互作用”关系,头尾通常都是蛋白或基因,方向可以是对称的,触发词包括 interacts with、binds to、forms a complex with。

下面这张图展示了本节核心的实体类型与关系类型体系,以及它们之间的合法连接方式。图中用不同颜色区分实体类别,用带箭头的连线表示关系方向,箭头旁标注关系类型和典型触发词。

生物医学实体类型与关系类型体系 基因 Gene TP53 / BRCA1 蛋白 Protein p53 / EGFR 疾病 Disease NSCLC / 乳腺癌 药物 Drug 吉非替尼 / 曲妥珠单抗 变异 Variant p.V600E / exon19del 编码 encodes 关联 associated 治疗 treats 导致 causes 靶向 targets 响应 response 关系方向说明 编码:基因 → 蛋白 关联:蛋白 → 疾病 治疗:药物 → 疾病 导致:变异 → 疾病

类型体系落地:从定义到标注规范

有了类型清单,下一步是把它变成可执行的标注规范。规范中至少应包含:类型名称、定义、正例、反例、边界规则。以“基因—疾病关联”为例,正例是“BRCA1 mutations are associated with breast cancer”,反例是“BRCA1 and breast cancer were both studied in this cohort”——后者只是共现,没有断言关联。边界规则要说明:如果句子只提到“研究”“检测”“表达量”而不含关联断言,就不应标注为关联关系。

另一个关键问题是嵌套与重叠。一个提及可能同时是基因和蛋白,例如 EGFR 在“EGFR mutation”中是基因,在“EGFR inhibitor”中可能指蛋白。此时不应强行二选一,而应允许同一提及在不同上下文中被赋予不同实体类型,或在标注中记录“歧义标记”,供后续模型学习上下文消歧。

关系类型头实体尾实体方向典型触发词
编码基因蛋白基因 → 蛋白encodes, produces
相互作用蛋白/基因蛋白/基因对称interacts with, binds to
关联基因/蛋白疾病单向associated with, linked to
治疗药物疾病药物 → 疾病treats, effective in
导致变异疾病变异 → 疾病causes, leads to
靶向药物蛋白药物 → 蛋白targets, inhibits
响应变异药物变异 → 药物responds to, sensitivity

常见陷阱与工程建议

第一,不要把“关系类型”和“触发词”混为一谈。同一个关系可以由多个触发词表达,同一个触发词也可能对应不同关系,例如 inhibits 既可能是药物靶向蛋白,也可能是蛋白抑制另一个蛋白。第二,方向性关系必须显式定义,不能依赖模型自行猜测。第三,实体类型体系不宜过细,初期建议控制在 5~8 类核心实体、8~12 类核心关系,待标注一致性稳定后再扩展子类型。

如果标注者之间对某类关系的 Kappa 一致性低于 0.7,通常说明类型定义或边界规则存在问题,应先修订规范并重新培训,而不是继续增加标注量。

最后,类型体系不是一次成型的文档,而应随语料观察持续迭代。建议每完成一轮标注,就统计一次“其他”类占比和歧义提及频次,把高频歧义反哺到定义中。只有类型体系稳定、边界清晰,后续的模型训练和评估才有可靠的基础。