中文医疗NER技术简介
中文医疗NER技术简介
病历、检查报告里的实体通常是疾病、症状、药品、检查、手术、部位等。NER 仍然只回答「文中写了哪些词」,不负责诊断对错、时间换算和国标编码。本文说明医疗文本的难点、标注类型,以及抽完 mention 之后临床流水线还要接什么。非诊疗建议,亦非编码实施手册。
目录
一、病历 NER 相对新闻文本的难点
| 难点 | 例子 | 后果 |
|---|---|---|
| 口语与标准名混用 | 高血压 / 血压高 / 原发性高血压 | 同一概念多种写法 |
| 修饰很长 | 右肺下叶背段磨玻璃结节 | 切长切短都可能错 |
| 复合病名 | 高血压性心脏病、2型糖尿病伴肾病 | 子串被单独切出 |
| 否定与家族史 | 否认肝炎、母亲有高血压 | 抽出来 ≠ 患者本人患病 |
| 检查用语像病名 | 钙化结节、Lung-RADS 4a、同前 | 影像所见被当成诊断 |
| 缩写与符号 | AMI、COPD、CA125、Ⅰ级 | 大小写、罗马数字、检验代号 |
因此要用 医疗语料微调(或医疗 NER 开源权重再加本院精标),不能直接套新闻人名地名模型。
嵌套在病历里很常见,如「左肺上叶腺癌」里既有部位又有疾病。扁平 BIO 一次只标一层,指南必须规定取外层还是拆开。
二、常见实体类型
| 类型 | 说明 | 例子 |
|---|---|---|
| 疾病 / 诊断 / 证候 | 诊断名、综合征 | 2型糖尿病、焦虑症 |
| 症状 / 体征 | 主观不适 vs 查体 | 心悸、双下肢水肿 |
| 药品 | 通用名、商品名 | 硝苯地平 |
| 手术 / 操作 | 治疗性操作 | 结肠癌根治术 |
| 检查 / 检验 | 影像、化验 | 冠脉CTA、CEA |
| 部位 / 器官 | 解剖位置 | 右肺下叶 |
| 微生物 / 病理 | 病原、组织学 | 腺癌 |
| 损伤中毒 | 外伤、中毒 | 股骨颈骨折 |
类型要和下游一致。 只要「患者诊断列表」,应丢掉症状和检查,否则「咳嗽」「磨玻璃结节」会进统计。时间、剂量、否定词有的方案另标,有的单独做时间识别和断言分类,不要和疾病标签混成一套又说不清。
三、医疗数据来源与标注规范
微调必须用 带疾病等跨度的医疗文本。百科、文献全文没有「这是药品」的标签,不能当 NER 训练集。
| 来源 | 注意 |
|---|---|
| 公开评测(CMeEE、CCKS 电子病历 NER、CHIP 等) | 类型体系和真实入院记录仍有差距 |
| 院内入院记录、出院小结、门诊、检查报告 | 最有效;必须脱敏 |
| 用 ICD / 药名表自动扫 | 易把「高血压危象」标成「高血压」,只能预标 |
本院缩写多、要进编码统计时,常见做法是公开集热身 + 脱敏后 500~3000 份本院文书精标。
指南里建议写死:
- 「胸闷」症状,「冠心病」疾病。
- 否定句:要么仍标出「肝炎」再加断言
negated,要么规定否认后一律不标——全员只能选一种。 - 「结肠癌根治术」标手术整体,还是内含「结肠癌」,扁平任务通常只标一层。
- 「2型糖尿病」整段标疾病,不要拆成数字 + 病名。
四、标注示例
原文(虚构):既往高血压病史20余年,否认肝炎。3年前因结肠癌手术。
按「扁平、否定里的疾病仍标出」:
1
2
3
4
5
6
7
8
9
10
11
{
"text": "既往高血压病史20余年,否认肝炎。3年前因结肠癌手术。",
"entities": [
{"start": 2, "end": 5, "label": "DIS", "text": "高血压"},
{"start": 16, "end": 18, "label": "DIS", "text": "肝炎"},
{"start": 24, "end": 27, "label": "DIS", "text": "结肠癌"}
],
"assertions": [
{"span": [16, 18], "status": "negated", "cue": "否认"}
]
}
BIO 时「病史」「20余年」「3年前」「手术」标 O;肝炎 仍是 B-DIS I-DIS,由断言告诉下游丢掉。
多类型:口服硝苯地平控制血压,右膝骨关节炎。 → 硝苯地平 药品,右膝骨关节炎 疾病(或按指南把「右膝」拆成部位)。
常见错标:只标「癌」、把「冠脉CTA」标成疾病、把「高血压危象」拆成「高血压」、否定策略内部不统一。
五、抽取 mention 之后的医疗流水线
产品要的往往是「哪一年、得了编码意义上的什么病」,NER 只提供跨度。
1
2
3
4
5
6
病历
→ NER:疾病/症状/药 …
→ 断言:否认、拟诊、家族史
→ 时间:2021年、3年前、病史20余年(需就诊日作锚点)
→ 链接:口语 → 标准名 → ICD-10 或 GB∕T 14396 等
→ 按标准码去重、按章/节统计
否定可用「否认 / 无 / 未见」左侧窗口或单独分类器。时间不要塞进 NER 分类头。链接优先精确别名表(别名全局唯一),未登录口语再用医学实体向量 Top-K,并防「高血压危象 → 高血压」。口语「高血压」常落到类目,而不是某个亚目。
同一「高血压」可在主诉、既往史、出院诊断各出现一次:统计人数用标准码去重;要保留多次必须带时间,否则只是重复提及。
六、评测口径与局限
公开集 F1 不能代替本院文书。业务上更要看 假阳性会不会写进患者诊断:否定句、家族史、影像「结节」是重灾区。疾病远多于设备时,微平均会掩盖稀有类型很差。
局限:不是诊断引擎;否定和影像描述仍易假阳;过长修饰与嵌套会切错;分数高 ≠ 医学正确;门诊 / 入院 / 影像跨院掉点明显,需要本院校准。
七、小结
| 要点 | 结论 |
|---|---|
| NER 的边界 | 只圈 mention,不做诊断、时间换算和国标编码 |
| 数据 | 公开评测可热身,本院脱敏精标决定线上效果 |
| 流水线 | 断言、时间、实体链接必须接在 NER 之后 |
| 评测 | 看假阳性是否进诊断列表,公开集 F1 不能直接当产品指标 |
