1. 药物实体关系抽取概述

大家好,我是这门课的讲师。先聊聊我对这个领域的理解。

药物实体关系抽取,说白了,就是要让机器读懂论文里的信息。不是看标题,而是把句子里的实体找出来,再把它们之间的关系标清楚。举个简单例子:

句子:“伊马替尼能抑制BCR-ABL融合蛋白。”

机器需要抽取:药物=伊马替尼,靶点=BCR-ABL融合蛋白,关系=抑制。

我习惯把这个过程拆成两个任务:

  • 实体识别:找到“伊马替尼”、“BCR-ABL”这些词。
  • 关系分类:判断它们之间是“抑制”、“激活”还是“副作用”。

1.1 药物实体关系抽取的定义

定义听起来简单,但实际很讲究。我个人习惯的完整定义是:

药物实体关系抽取:从非结构化生物医学文本中,自动识别药物相关的命名实体,并预测它们之间的语义关系。输出通常是一组三元组:(实体1, 关系, 实体2)。

三元组长什么样?看这张表:

实体1 关系 实体2
阿司匹林 治疗 头痛
华法林 相互作用 布洛芬
他莫昔芬 引起 血栓

你想想看,医生写病历不会说“药物X与疾病Y之间有治疗关系”。他们写“用阿司匹林缓解了他的头痛”。机器得从这种自然语言里抽结构。

1.2 发展历程

这个领域发展了差不多二十年。我记得早期大家都是靠词典和规则,非常辛苦。

药物实体关系抽取发展历程 词典与规则 ~2000-2008 统计ML ~2008-2014 深度学习 ~2014-2018 预训练 ~2018-2022 📍 词典+正则 手工编写规则 召回率低但精准 📍 CRF/ME 人工特征工程 依赖领域知识 📍 LSTM/CNN 端到端学习 需要大量标注 当前阶段:大模型 + 知识增强 GPT/BioBERT + 知识图谱 + 少样本学习 2022~至今:ChatGPT带来范式变革,但仍需领域专用优化

1.3 应用场景

这个技术不是实验室里的玩具。我自己的项目里,有三个场景最有价值:

📌 药物发现

从百万篇论文里自动抽候选靶点。我在一个项目中,就用这个技术把文献筛选时间从3个月压缩到了2周。

📌 药物重定位

老药新用。比如有人发现“雷公藤红素”能抗肥胖,就是从论文关系网里挖出来的。

⚠️ 不良反应监测

这个我觉得更重要。我曾经遇到一个真实案例:
句子:“患者服用奥司他韦后出现幻觉。”
如果系统漏掉了这个“引起”关系,后果很严重。

1.4 当前挑战

虽然技术进步了,但坑也不少。我踩过很多,跟你们说说:

  • 数据标注难:需要医学专家标注,成本极高。我见过一个标注团队,一整年只标了5000条。
  • 语言复杂:一篇论文里可能用5种不同说法描述同一个药物。比如“阿托伐他汀”也叫“立普妥”。
  • 关系嵌套:句子“阿司匹林通过抑制COX-1来减轻炎症”里,既有“抑制”又有“减轻”,关系是嵌套的。
  • 跨文档抽取:信息可能分散在引言、方法、结果里,模型要学会拼图。

我的建议:

入门不要贪多。先做单一关系抽取,比如只做“药物-靶点”的抑制关系。我早期项目就是这样起来的。把一个小场景做透,比大而全但做不深好得多。