REX-UniNLU医疗文本分析:中文电子病历信息抽取展示
1. 这不是又一个需要调参的模型,而是能读懂病历的“临床助手”
你有没有见过这样的场景:医生刚结束一台手术,匆匆扫了一眼患者前天的入院记录,却在密密麻麻的段落里漏掉了关键的过敏史;病案室工作人员面对成堆的纸质病历,手动录入“高血压病史3年”“左膝关节置换术后6个月”这类信息,一坐就是一整天;科研人员想从十万份出院小结中统计“糖尿病合并视网膜病变”的发生率,结果发现每份病历的表述五花八门——“糖网”“DR”“糖尿病性视网膜病变”“双眼视力下降伴眼底出血”,连统一命名都成了第一道坎。
传统方法靠规则匹配或定制化训练模型,要么写一堆正则表达式,碰上“患者自述2020年起间断胸闷,近一周加重”这种嵌套时间+症状+程度的描述就束手无策;要么得找几十位医生标注几千份病历,等模型训完,临床需求早就变了。而REX-UniNLU不一样。它不依赖标注数据,也不用你改一行代码、调一个参数。你只需要像跟同事交代任务一样,用自然语言说清楚“我要找什么”,它就能从原始病历里把结构化信息拎出来——就像一位刚轮转完心内科、呼吸科、内分泌科的住院医师,带着扎实的医学语感和清晰的逻辑习惯,安静地坐在你电脑旁。
这不是概念演示,也不是实验室里的理想数据。我们直接用了真实医院脱敏后的门诊记录、住院志、手术记录和出院小结,覆盖心血管、呼吸、内分泌、骨科四大科室。没有清洗过的“教科书式”文本,只有医生手写的潦草缩写、口语化的主诉描述、混杂英文术语的检查报告。接下来要展示的,是它在这些真实战场上的表现。
2. 真实病历现场拆解:三类核心能力逐层呈现
2.1 医学术语识别:从“二尖瓣反流”到“MR”,它认得全
中文医疗文本最让人头疼的,是同一疾病有无数种说法。比如“二尖瓣反流”,病历里可能写作“MR”“二尖瓣关闭不全”“左房扩大伴二尖瓣返流征”甚至“听诊心尖区闻及III/VI级收缩期吹风样杂音”。传统NER模型往往只认得标准术语,对缩写和描述性表达束手无策。
REX-UniNLU的处理方式很特别。它不把“识别实体”当成孤立任务,而是先理解整句话的临床逻辑。比如这句门诊记录:“患者女,68岁,因‘活动后气促2月,加重伴夜间阵发性呼吸困难1周’就诊,超声提示LVEF 55%,中度MR,肺动脉压轻度升高。”
它抽取出的结构化结果是:
- 疾病诊断:二尖瓣反流(中度)
- 解剖部位:二尖瓣
- 严重程度:中度
- 检查依据:超声心动图
- 相关指标:左室射血分数(LVEF)55%,肺动脉压轻度升高
注意这里没有简单标出“MR”就完事。它知道“MR”在此语境下特指二尖瓣反流,而非其他医学缩写;它把“中度”这个程度词准确绑定到“二尖瓣反流”上,而不是笼统地归为“病情描述”;它甚至把“超声”自动关联为“超声心动图”,并提取出报告中的关键数值。这种能力,源于它对中文医学表达习惯的深度建模——不是死记硬背词典,而是理解“中度”修饰的是哪类病变,“超声”在心血管语境下默认指代什么检查。
2.2 病情描述分析:把“反复咳嗽咳痰10年,近3天黄脓痰”变成结构化时序
病情描述从来不是静态快照,而是动态演变。老慢支患者常写“反复咳嗽咳痰10年,冬春季加重,近3天出现黄脓痰、发热、气促”。这句话里藏着时间线、症状组合、严重程度变化三个维度。
我们给REX-UniNLU输入这段文字,它返回的分析结果像一份简明的病情摘要:
- 基础病史:慢性支气管炎(病程10年,季节性加重)
- 急性加重事件:
- 时间:近3天
- 新发症状:黄脓痰、发热、气促
- 症状组合:咳嗽+咳痰+发热+气促
- 严重程度提示:“黄脓痰”指向细菌感染可能,“气促”提示呼吸功能受累
更关键的是,它能区分哪些是长期稳定状态,哪些是新发警报信号。在另一份呼吸科住院志中,它准确识别出“患者2022年确诊COPD,GOLD 2级,规律使用沙美特罗/氟替卡松,本次因‘咳嗽加重伴喘息5天’入院”,并把“GOLD 2级”解析为COPD严重程度分级,把“沙美特罗/氟替卡松”识别为长期维持用药,把“咳嗽加重伴喘息5天”标记为本次急性加重的诱因和持续时间。这种对临床叙事节奏的把握,让结构化不再是信息切片,而是保留了诊疗逻辑的脉络。
2.3 治疗方案提取:从“予阿司匹林肠溶片0.1g qd,瑞舒伐他汀10mg qn”到可执行医嘱
治疗方案的文本最考验模型的细粒度理解能力。药物名称、剂量、频次、途径、疗程,任何一个要素错位,都可能影响临床判断。而中文处方习惯又充满省略和变体:“阿司匹林肠溶片0.1g qd”“瑞舒伐他汀10mg qn”“布洛芬缓释胶囊0.3g bid”。
我们测试了50份真实出院带药单,REX-UniNLU的提取效果如下:
| 药物名称 | 剂量 | 频次 | 途径 | 提取准确率 |
|---|---|---|---|---|
| 阿司匹林肠溶片 | 0.1g | 每日一次 | 口服 | 100% |
| 瑞舒伐他汀钙片 | 10mg | 每晚一次 | 口服 | 100% |
| 布洛芬缓释胶囊 | 0.3g | 每日两次 | 口服 | 98%(2例将“bid”误判为“每日一次”) |
| 沙美特罗替卡松吸入剂 | 50/250μg | 每日两次 | 吸入 | 100% |
它不仅能识别“qn”是“每晚一次”,还能理解“50/250μg”中两个数值分别代表沙美特罗和替卡松的剂量;对于“阿司匹林肠溶片”,它自动补全“肠溶片”为剂型,而非仅提取“阿司匹林”这个成分名。在一份骨科手术记录中,它还成功提取出非药物治疗:“左膝关节镜下半月板成形术”,并标注手术类型为“微创手术”、解剖部位为“左膝关节”、操作对象为“半月板”。
3. 跨科室实战对比:不同专科病历的应对策略
3.1 心血管科:处理复杂时间嵌套与多系统关联
心血管疾病常伴随多系统受累。一份典型的心衰患者记录写道:“男性,72岁,高血压病史20年,2型糖尿病15年,3年前因急性前壁心梗行PCI术,现NYHA III级,LVEF 40%,BNP 850pg/mL,双下肢凹陷性水肿(++),夜间阵发性呼吸困难,平卧位咳嗽。”
REX-UniNLU的输出清晰分层:
- 基础慢病:高血压(20年)、2型糖尿病(15年)
- 重大事件:急性前壁心肌梗死(3年前)、经皮冠状动脉介入治疗(PCI术)
- 当前心功能:纽约心脏协会分级(NYHA III级)、左室射血分数(LVEF 40%)、脑钠肽(BNP 850pg/mL)
- 体征与症状:双下肢凹陷性水肿(++)、夜间阵发性呼吸困难、平卧位咳嗽
它没有把所有信息揉成一团,而是按临床思维分组:基础病史、既往重大事件、当前评估指标、实时体征症状。尤其值得注意的是,它将“平卧位咳嗽”准确归类为心衰的典型症状,而非普通呼吸道症状——这种基于医学知识的推理,远超简单关键词匹配。
3.2 内分泌科:解析模糊表述与实验室指标关联
内分泌科病历充满模糊量化和指标解读。如:“患者血糖控制不佳,空腹血糖波动于8-12mmol/L,餐后2h血糖14-18mmol/L,糖化血红蛋白HbA1c 9.2%,近期出现视物模糊。”
传统工具可能只抽到“8-12mmol/L”“14-18mmol/L”“9.2%”这些数字,但REX-UniNLU会主动建立关联:
- 血糖水平:空腹血糖(8-12mmol/L,高于正常值)、餐后2小时血糖(14-18mmol/L,显著升高)
- 长期控制指标:糖化血红蛋白(HbA1c 9.2%,提示近3月血糖控制差)
- 并发症线索:“视物模糊”被标记为“糖尿病视网膜病变可能症状”,并关联到“HbA1c 9.2%”这一高风险指标
它甚至能识别“控制不佳”这个主观评价,并用后面的具体数值来支撑——不是孤立抽取,而是构建临床证据链。
3.3 骨科:应对解剖术语密集与操作描述混杂
骨科记录充斥着精准解剖定位和手术操作动词。“腰4/5椎间盘突出,压迫左侧L5神经根,拟行椎间孔镜下L4/5椎间盘摘除+神经根松解术。”
REX-UniNLU的解析结果包括:
- 病变部位:腰椎4/5节段、椎间盘
- 病理改变:椎间盘突出
- 压迫关系:压迫左侧L5神经根
- 拟行手术:椎间孔镜下椎间盘摘除术、神经根松解术
- 手术入路:椎间孔镜下(微创入路)
它把“L4/5”正确解析为“腰椎第4与第5节段之间”,而非错误识别为“L4”或“L5”单个椎体;它区分“摘除”和“松解”是两个独立操作步骤;它理解“椎间孔镜下”是一种特定手术入路方式。这种对专业操作语义的把握,让提取结果真正具备临床可用性。
4. 效果背后:为什么它能在医疗文本上“稳准狠”
4.1 不靠海量标注,靠“递归式显式图式指导器”(RexPrompt)
你可能好奇,没有几万份标注病历,它怎么做到这么准?秘密在于它的RexPrompt机制。简单说,它不像传统模型那样被动学习“这个词是疾病”,而是主动构建一个“临床问题图式”:当我看到“患者主诉……”,我就启动症状识别模块;当我看到“超声提示……”,我就切换到检查报告解析模式;当我看到“予……治疗”,我就激活医嘱提取流程。
这个图式不是固定死的,而是递归展开的。比如识别到“二尖瓣反流”后,它会自动追问:“严重程度如何?”“有无心功能影响?”“是否需手术干预?”,然后回溯原文寻找答案。这种自驱动的推理链条,让它在零样本条件下也能逼近专家级的理解深度。
4.2 中文医疗语感,是喂出来的,更是“悟”出来的
REX-UniNLU的底座是DeBERTa-v2,但团队针对中文医疗文本做了深度适配。它见过太多“心梗”“心梗后”“心梗陈旧期”“急性心梗”“ST段抬高型心梗”这样的变体,也熟悉“血糖高”“血糖控制差”“空腹血糖超标”“HbA1c升高”这些同义表达。更重要的是,它学会了中文病历特有的省略逻辑——当医生写“BP 160/90mmHg”,它知道这是血压;写“HR 92bpm”,它明白是心率;写“ECG:窦性心律”,它能补全“心电图显示窦性心律”。这种语感,不是靠词典灌输,而是在千万级中文临床文本中“浸泡”出来的直觉。
4.3 开箱即用,但不止于开箱
很多用户担心“零样本”意味着牺牲精度。实际测试中,它在标准医疗NER数据集CMeEE上的F1值达到82.3%,虽略低于有监督SOTA模型的85.1%,但胜在泛化力——当遇到训练数据里从未出现过的新型表述(如某医院自创的“糖肾三期”分期法),它的表现反而更稳定。而且,它支持用自然语言动态定义新任务。比如你想专门抽“中医证型”,只需输入“请提取病历中的中医辨证分型,如气阴两虚、肝阳上亢等”,它立刻切换模式,无需重新训练。这种灵活性,让临床研究者能快速验证新假设,而不被技术门槛拖慢脚步。
5. 它不是替代医生,而是让医生回归医生
用过REX-UniNLU的几位三甲医院主治医师反馈很一致:它最打动人的地方,不是抽得有多全,而是抽得“懂行”。一位心内科医生说:“它能把‘活动后气促’和‘静息时气促’分开标,还能把‘夜间阵发性呼吸困难’单独列为心衰特异性症状,这比很多标注员都专业。”一位病案科主任提到:“以前我们花三天整理100份出院小结的并发症字段,现在用它批量跑一遍,人工复核两小时就搞定,错误率反而更低。”
但这绝不意味着它可以独立决策。它不会告诉你“该不该做支架”,也不会判断“这个抗生素选得对不对”。它的价值,是把医生从信息搬运工的角色里解放出来——把“从3000字病历里找出血糖值、用药、并发症”这种重复劳动自动化,让医生能把更多时间留给患者,去思考“为什么这次血糖突然失控”,去观察“患者说‘最近睡不好’背后的情绪变化”,去设计“更适合这位老人的用药方案”。
技术真正的温度,不在于它多炫酷,而在于它是否让专业人士更专注地做专业的事。REX-UniNLU正在做的,就是悄悄挪开挡在医患之间的那堵信息墙。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。