LLM提取临床文本信息,如何有效整合进因果推断流程?
1. 项目概述:当LLM遇见临床因果推断
在重症监护室(ICU)里,医生每天都要做出无数个可能关乎生死的决策。比如,对于一位刚被诊断为脓毒症休克的患者,是立即使用升压药,还是先进行充分的液体复苏?这个问题在医学界争论了多年,随机对照试验(RCT)如CLOVERS试验也未能给出确切的答案。于是,研究者们转向了海量的电子健康记录(EHR)数据,希望通过观察性研究来寻找线索。
然而,这条路布满荆棘。最大的障碍叫“未测量混杂偏倚”。简单来说,医生决定是否给患者早期使用升压药,不仅仅基于我们能在病历结构化表格里看到的生命体征、实验室指标,更基于那些写在病程记录、出院小结里的“潜台词”:这位患者入院前的生活自理能力如何?精神状态是否清醒?本人或家属的治疗意愿(如是否签署“拒绝心肺复苏”的DNR文件)是什么?这些关键信息,决定了患者的基线风险和医生的治疗倾向,却几乎从未被系统地录入过结构化的数据库。忽略它们,就像试图通过望远镜上的一个污点看星星,得到的效应估计必然是扭曲的。
过去,我们并非没有尝试从文本中挖掘信息。传统自然语言处理(NLP)方法,比如词袋模型(TF-IDF)或预训练模型(如BioClinicalBERT)生成的嵌入向量,确实能将文本转化为数字特征。但这些特征往往是高维、黑箱的,临床医生看不懂,统计模型也难以解释——我们无法指着模型里的某个维度说:“看,这个数值就代表了患者的‘衰弱程度’。” 这使得结果难以被临床审核和信任。
大语言模型(LLM)的突破性在于,它能够理解临床文本的语义,并以零样本或少样本的方式,直接输出我们预设好的、结构化的临床概念。比如,直接从一段描述中提取出“功能状态:完全依赖”、“精神状态:谵妄”、“代码状态:DNR”。这相当于为因果推断模型打开了一扇通往临床现实的新窗。
但问题随之而来:我们有了这些宝贵的、从文本中提取的协变量,下一步该怎么用?是简单地把它和其他结构化变量一起扔进倾向评分模型里,还是需要设计更复杂的集成策略?不同的用法,会不会对最终的因果效应估计产生天壤之别?这正是我们这项工程实践要解决的核心问题。我们以MIMIC-IV数据库中近2.2万名脓毒症患者为对象,系统性地比较了七种将LLM提取的协变量整合到因果推断流程中的策略,结果发现,最直观的方法往往最有效,而一些看似精巧的设计反而会弄巧成拙。
2. 核心思路与方案选型:为什么是“直接纳入”?
在开始动手之前,我们必须想清楚目标:利用LLM提取的文本协变量,尽可能准确地估计“早期使用升压药”对“28天死亡率”的平均处理效应(ATE)。这里的“准确”,意味着要最大限度地减少因忽略文本中隐藏的混杂因素而导致的偏倚。
2.1 潜在结果框架与识别假设
我们所有的分析都建立在鲁宾因果模型(潜在结果框架)之上。对于每位患者i,我们定义:
- 处理变量 Ti:是否在脓毒症发生4小时内开始使用升压药(1=是,0=否)。
- 结果变量 Yi:28天全因死亡率。
- 观测到的协变量 Xi:包括结构化数据(X_tab)和从文本中提取的数据(X_llm)。
我们关心的平均处理效应(ATE)是:τ = E[Yi(1) - Yi(0)],即如果所有人都早期用药与所有人都不早期用药,死亡率差异的期望。
要识别这个τ,必须满足三个关键假设:一致性、正性,以及最重要的条件可忽略性。这个假设是说,在给定所有观测到的协变量X的条件下,处理分配T与潜在结果Y(0), Y(1)是独立的。用公式表示就是:{Yi(0), Yi(1)} ⊥⊥ Ti | Xi。
问题的症结在于,如果我们只使用结构化数据X_tab,这个条件极可能不成立,因为决定医生用药决策的许多关键因素(如功能状态、治疗目标)只存在于文本中,构成了未测量的混杂。我们的核心假设是,通过LLM提取X_llm并与X_tab结合,能更逼近真正的条件可忽略性:{Yi(0), Yi(1)} ⊥⊥ Ti | (X_tab, X_llm)。
2.2 七种集成策略的战术考量
基于上述理论,我们设计并比较了七种具体的集成策略(M1-M7),它们可以划分为三大阵营:
第一阵营:基准方法(M1-M3)—— 没有LLM的世界
- M1(仅表格数据):这是当前大多数观察性研究的现状,仅使用26个结构化变量(人口学、严重程度评分、生命体征等)构建倾向评分。它作为基线,衡量不利用文本信息时的偏倚有多大。
- M2(TF-IDF + PS):将出院小结文本转化为TF-IDF特征(保留前500个特征),与表格数据拼接后建模。这代表了传统的“词袋”文本表示法。
- M3(BioClinicalBERT + PS):使用在临床文本上预训练的BioClinicalBERT模型生成文本嵌入(经PCA降至50维),与表格数据拼接。这代表了基于深度学习的“黑箱”文本表示法。
注意:M2和M3是重要的对照。它们回答了“用传统文本表示法行不