多模态融合与预训练语言模型在死因自动分类中的应用
1. 项目概述:当AI医生解读“死亡故事”
在公共卫生领域,尤其是在医疗资源匮乏的地区,准确记录死因是评估人群健康状况、制定有效卫生政策的基础。然而,全球每年有近一半的死亡发生在没有医学证明或死亡登记系统不完善的环境中。这时,“口头尸检”便成为了一种至关重要的替代工具。它通过训练有素的访谈员询问逝者家属,收集逝者临终前的症状、体征和就医经历,形成一份包含结构化问卷和非结构化叙述文本的混合记录。
传统的自动化死因分类方法,如广泛使用的InSilicoVA,几乎完全依赖于结构化问卷的数据。这些问卷就像一份严谨的 checklist,将复杂的生命体征简化为“是/否”或分类选项。这种方法固然标准化,但也可能丢失关键信息——那些在自由叙述中才能体现的疾病发展脉络、文化特有的疾病表达方式以及未被标准问题覆盖的细微线索。想象一下,家属描述“他先是发烧,然后咳嗽越来越重,最后喘不上气”,这种带有时间顺序和严重程度变化的叙述,其信息密度远高于问卷上一个孤立的“有咳嗽症状”的勾选。
近年来,自然语言处理技术的突破,特别是像BERT这类预训练语言模型的出现,让我们看到了解锁这些叙述文本中隐藏信息的曙光。它们能理解上下文,捕捉“发烧后咳嗽”与“咳嗽后发烧”在医学推断上的潜在差异。然而,仅仅使用文本就像只听了故事的一半;而仅使用表格数据则可能错过了故事的灵魂。因此,一个很自然的想法浮现出来:能否将两者结合,让AI既看到严谨的“体检报告”(结构化数据),又听到生动的“病情口述”(叙述文本),从而做出更精准的判断?
这正是我们这项研究的核心:基于多模态融合与预训练语言模型的死因自动分类。我们不再将VA数据视为单一模态,而是将其作为一个包含文本和表格的天然多模态数据集来处理。我们系统性地探索了如何将领域知识丰富的预训练语言模型与多模态机器学习策略相结合,旨在验证一个假设:融合叙述与问卷信息,能否显著超越当前仅基于问卷的主流方法,为死因监测提供一个更准确、更可靠的自动化解决方案?
2. 核心思路与技术选型解析
面对VA数据这种文本与表格共存的特殊形态,如何设计一个有效的融合框架是首要挑战。我们的目标不是简单地将数据扔进一个复杂模型,而是基于数据特性,构建一个逻辑清晰、可解释性强的技术路线。
2.1 多模态融合的三条路径
多模态机器学习并非单一方法,而是一套策略体系。根据信息整合的阶段不同,主要可分为三种融合层级,我们为每种都设计了对应的实现方案:
数据级融合:最直观的思路,在输入层面就将不同模态的数据“揉”在一起。对于VA数据,这意味着将结构化问卷答案转化为自然语言句子,然后与原始的叙述文本拼接,形成一份更长的“增强版叙述”。例如,问卷中的“性别:女,年龄:35-49岁,发烧:是,发烧持续时间:>7天”被转化为“逝者为女性,年龄在15至49岁之间。在导致死亡的疾病期间,她曾有发热,且发热在死亡前持续超过一周。” 然后与原始叙述合并。这种方法的最大优势是直接利用了预训练语言模型强大的上下文理解能力,用一个模型处理所有信息,架构简洁。我们选用了能处理长序列的模型,如Longformer,来应对拼接后可能增长的文本长度。
特征级融合:这是一种更模块化的方法。我们为不同模态的数据分别搭建处理管道,将其转换为统一的“特征向量”表示,再将这些向量融合。具体来说:
- 文本模态:我们使用领域适应的PLMs(如BioClinicalBERT)对叙述文本进行编码,获取一个高维的、蕴含语义的文本特征向量。
- 表格模态:结构化问卷数据本身已是数值或类别特征。我们采用特征工程(如独热编码、目标编码)或轻量级神经网络(如FT-Transformer),将其转换为稠密的特征向量。
- 融合与降维:将两个特征向量直接拼接。这里有一个关键技巧:文本特征通常维度很高(如768维),而表格特征维度较低。直接拼接可能导致文本特征主导整个模型的学习信号。因此,我们引入降维技术,如奇异值分解,先将高维文本特征压缩到与表格特征相匹配的维度,再进行融合,确保两者对模型的贡献更加平衡。融合后的特征向量最终输入一个分类器(如多层感知机MLP)进行死因预测。
决策级融合:也称为模型集成或后期融合。我们为每个模态独立训练一个最优模型。例如,用一个BioClinicalBERT模型处理叙述,用一个XGBoost模型处理表格数据。在预测阶段,我们不是融合特征,而是融合这两个“专家”的预测结果。融合方式可以是简单的投票法(硬投票或软投票),也可以是训练一个元学习器(如逻辑回归),以前两个模型的预测概率作为输入,学习如何做出最终的、更准确的联合预测。这种方法灵活性极高,可以充分利用每个模态上最顶尖的模型,且模型之间互不影响,便于并行训练和单独调优。
2.2 为什么选择领域适应的预训练语言模型?
在文本处理部分,我们没有使用通用的BERT,而是选择了BioClinicalBERT、BlueBERT等在生物医学或临床文本上经过额外预训练的模型。这是基于VA叙述文本的特殊性:
- 领域术语:虽然来自非专业受访者,但叙述中仍会出现“HIV”、“结核病”、“糖尿病”、“中风”等大量医学术语。领域预训练模型在庞大的医学文献上学习过,对这些术语的向量表示更为精准。
- 语言风格:VA叙述混杂着口语化描述和医学术语(如将糖尿病描述为“sugar diabetes”)。临床PLMs接触过电子健康记录中类似的半结构化、非标准化的医生笔记,可能更适应这种风格。
- 上下文关联:疾病症状的描述往往需要结合上下文理解。例如,“咳嗽”在“HIV阳性患者出现咳嗽”和“老年人突发咳嗽后胸痛”的语境下,暗示的死因可能完全不同。Transformer架构的自注意力机制非常适合捕捉这种长距离依赖关系。
注意:选择具体哪个PLM(如BioClinicalBERT vs BlueBERT)并非一成不变。最佳选择可能因具体数据集的语言特点、疾病谱构成而异。在我们的实验中,在多个候选模型上进行快速的基准测试是必不可少的一步,这比盲目相信某个“明星模型”更可靠。
2.3 评估体系:从个体到群体
死因分类的评价不能只看单一的准确率。我们建立了一个双层评估体系:
- 个体层面:关注对每一个死亡个案的正确分类能力。我们采用准确率、精确率、召回率和F1分数。由于死因分布通常不均衡(如某些传染病病例很少),我们主要使用加权F1分数,它按类别样本量加权计算,能更好地反映模型在真实分布下的整体性能。
- 群体层面:公共卫生决策更关注人群层面的死因构成。我们计算死因别死亡率分数准确度(CSMF Accuracy),它衡量模型预测的各类死因比例与真实比例的接近程度。此外,还使用机会校正的CSMF准确度,以排除随机猜测带来的准确度虚高。
这套评估体系确保��我们的模型不仅在“诊断”单个病例时可靠,在“描绘”整个社区的疾病负担地图时也同样精准。
3. 实战:从数据到模型的全流程拆解
理论需要实践验证。下面,我将以我们在南非SANCOD数据集上的工作为例,拆解整个项目的实施流程。该数据集包含近5000份成人VA记录,包含叙述文本、结构化问卷和由医生复核的死因标签(金标准)。
3.1 数据预处理:为模型准备“食材”
高质量的输入是成功的一半。VA数据的预处理尤为关键,它直接影响了模型能否“读懂”故事。
叙述文本清洗:
- 纠错:VA叙述由访谈员现场记录,包含拼写错误、语法问题和不规范缩写。我们利用GPT-3.5 Turbo API进行初步的拼写和语法校正。例如,将“diabeti”纠正为“diabetes”,将“he decedent”纠正为“the deceased”。提示词(Prompt)需要精心设计,要求模型仅进行最小必要的语法修正,保留原始内容和风格。
- 标准化:对高频的非标准医学术语进行映射。例如,建立一个小型词典,将“sugar disease”、“sugar”统一映射到“diabetes mellitus”。
- 长度处理:统计叙述的词数分布。绝大部分叙述长度在BERT类模型的最大序列长度(如512个token)之内,这让我们可以直接使用标准模型,无需复杂的截断或分段策略,避免了信息丢失。
结构化数据转换:
- 对于数据级融合,我们需要将问卷答案转化为文本。我们的原则是生成通顺、包含完整信息的句子。例如,不仅将“发热:是”转化为“死者有发热”,还结合“发热持续时间”字段,生成“死者有发热,且发热持续超过一周”。这为PLM提供了更丰富的上下文。
- 对于特征级融合,我们需要对分类变量进行编码(如独热编码),对数值变量进行标准化或分箱。同时,需要处理大量的缺失值(在VA问卷中很常见)。我们采用了一种保守策略:将“不知道”或“未询问”单独作为一个类别进行处理,因为“缺失”本身可能包含信息(例如,家属对某个症状不确定)。
死因标签分组:
- 原始死因是ICD-10编码,过于精细(上万种)。我们根据世界卫生组织的标准死因分类,并结合数据集中各类别的样本量,将其聚合为不同粒度的类别。例如,Level 2包含18个类别(如HIV/结核病、循环系统疾病、肿瘤等),保证了主要公共卫生关注的重点死因都有足够的样本进行模型训练。
3.2 模型训练与超参数优化:寻找最佳“配方”
我们使用80%的数据进行训练,20%留作测试,并按照死因类别分层抽样,确保数据分布一致。
超参数优化:这是提升模型性能的关键步骤,但也是计算成本最高的部分。我们使用Optuna这一自动超参数优化框架。
- 搜索空间:我们对学习率(通常在5e-6到4e-5之间对数均匀搜索)、批次大小(8, 16, 32)、训练轮数、权重衰减、学习率预热比例等关键参数设定了搜索范围。
- 优化策略:采用“早停”策略,当连续若干轮验证集性能不再提升时,提前结束不理想的试验。我们使用5折分层交叉验证的平均加权F1分数作为优化目标,以确保模型的稳健性。
- 结果:通过30次试验,我们为每个PLM找到了最佳超参数组合。例如,BioClinicalBERT在较低的学习率(3.05e-05)、较小的批次(16)、较多的训练轮数(7)下表现最佳。值得注意的是,冻结PLM底层参数的尝试效果不佳,说明对于VA这个特定任务,微调所有层是必要的。
训练细节:
- 使用Hugging Face Transformers库作为基础框架。
- 采用带权重衰减的AdamW优化器,防止过拟合。
- 在训练过程中,持续监控验证集上的损失和F1分数。
3.3 多模态融合策略的实现细节
数据级融合实战:
- 我们将清洗后的叙述与转换生成的问卷文本用分隔符(如
[SEP])连接。 - 由于拼接后文本变长,我们选择了能处理更长序列(如4096个token)的Longformer模型。其滑动窗口注意力机制能高效处理长文档。
- 训练流程与单模态文本模型完全一致,相当于让模型阅读一份信息量加倍的“病历”。
- 我们将清洗后的叙述与转换生成的问卷文本用分隔符(如
特征级融合实战:
- 文本分支:输入叙述文本至BioClinicalBERT,取
[CLS]标记对应的输出向量作为整个文本的表示(768维)。 - 表格分支:我们将所有结构化问题特征(经过编码后约200维)输入一个简单的FT-Transformer或一个MLP,输出一个128维的稠密向量。
- 融合层:将文本向量(768维)通过一个全连接层压缩至128维,然后与表格向量(128维)进行拼接,得到一个256维的融合特征向量。
- 分类头:将256维的融合特征输入一个最终的MLP分类器(含Dropout层),输出各个死因类别的概率。
- 文本分支:输入叙述文本至BioClinicalBERT,取
决策级融合实战:
- 基模型训练:独立训练两个最优模型:一个BioClinicalBERT(处理叙述),一个XGBoost(处理表格特征)。XGBoost因其对表格数据强大的处理能力和对缺失值的鲁棒性而被选中。
- 预测拼接:在测试集上,分别运行两个模型,得到两个预测概率向量(每个向量维度等于死因类别数,如18)。
- 元学习器训练:将这两个概率向量拼接,作为新的特征,在一个小的逻辑回归模型(即元学习器)上进行训练。这个逻辑回归模型学习如何权衡两个“专家”的意见。例如,它可能学到:当文本模型对“结核病”非常确信,而表格模型不确定时,应更相信文本模型;当两者对“意外伤害”的判断一致时,则给予高置信度。
4. 结果分析与核心发现
经过系统性的实验,我们得到了一系列有启发性的结果,不仅验证了假设,也揭示了深层问题。
4.1 单模态叙述模型的性能基准
首先,仅使用叙述文本,领域适应的PLMs就展现出了巨大潜力。
- 个体层面:最佳模型(BioClinicalBERT)在18类死因分类上达到了64.6%的准确率,加权F1分数为63.8%。
- 群体层面:CSMF准确度高达0.937(机会校正后为0.828)。
- 对比基线:这显著超越了仅使用结构化问题的传统统计模型InSilicoVA(准确率47.0%,CSMF准确度0.819)。提升主要来自对非传染性疾病(如肿瘤、循环系统疾病、肝硬化)的识别能力增强。这说明,叙述文本中包含了问卷未能捕捉的、对诊断这些慢性病至关重要的细节(如疾病长期管理史、症状的渐进性描述)。
4.2 多模态融合:1+1>2?
我们比较了三种融合策略与单模态最佳模型的性能:
| 模型/策略 | 个体准确率 | 加权F1分数 | CSMF准确度 | 核心优势与观察 |
|---|---|---|---|---|
| 仅叙述 (BioClinicalBERT) | 64.6% | 63.8% | 0.937 | 基线,对非传染性疾病识别好 |
| 仅问卷 (XGBoost) | 58.2% | 57.1% | 0.901 | 对部分急性症状明确的疾病(如腹泻)识别稳定 |
| 数据级融合 (Longformer) | 66.1% | 65.3% | 0.945 | 性能最佳,模型统一,端到端学习交互信息 |
| 特征级融合 (BERT+XGB) | 65.4% | 64.7% | 0.941 | 性能提升明显,架构灵活,可解释性稍强 |
| 决策级融合 (Stacking) | 65.0% | 64.2% | 0.939 | 性能稳健,充分利用各模态最强模型,训练复杂 |
核心发现:
- 所有多模态方法均优于单模态最佳模型,证实了融合文本与表格信息的价值。
- 数据级融合表现最好。这表明,对于VA这种文本与结构化信息高度关联的数据,在输入层就让PLM同时看到所有信息,让它自己学习两者之间的深层关联,是最有效的方式。Longformer成功建模了“叙述中提到的长期咳嗽”与“问卷中‘咳嗽持续时间>2周’为是”之间的强关联。
- 特征级与决策级融合也带来了显著提升,且架构更灵活。例如,当未来加入第三模态(如音频)时,这两种方式更容易扩展。
4.3 深入诊断:模型在哪里成功了,又在哪里失败了?
通过混淆矩阵和类别级准确率分析,我们获得了更细致的洞察:
- 成功案例:模型在识别HIV/结核病、肿瘤、交通事故、他杀等类别上表现优异(准确率>75%)。这些类别要么在叙述中有相对特异的词汇(如“HIV阳性”、“化疗”),要么在问卷中有明确的暴力或伤害指向性特征。
- 挑战与失败:模型在区分肺炎、腹泻、脑膜炎等急性传染病时表现较差。这些疾病在早期症状上高度重叠(发热、咳嗽),而VA叙述往往缺乏关键的鉴别诊断细节(如痰的颜色、腹泻的性状、颈项强直等)。此外,这些类别在数据中属于“少数类”,样本量不足加剧了学习难度。
- 数据量的影响:敏感性分析显示,当训练数据量从500例增加到1500例时,模型性能提升最快;超过2000例后,提升曲线放缓。增加数据对提升少数类的识别能力尤为关键。
实操心得:不要只盯着整体准确率。深入分析混淆矩阵是理解模型局限、指导未来数据收集和模型改进的关键。例如,我们发现大量“肺炎”被误判为“HIV/结核病”,这可能提示我们需要在问卷或访谈指南中,增加针对呼吸道感染鉴别诊断的关键问题。
5. 避坑指南与未来方向
基于这次实战经验,总结出以下几点对后续研究和应用至关重要的建议:
数据质量是天花板:无论模型多先进,垃圾进,垃圾出。VA叙述的清洗和标准化是重中之重。基于规则的简单清洗结合大语言模型的智能纠错,是一个实用组合。对于结构化数据,谨慎处理缺失值,将“未知”视为一种有意义的状态进行编码。
领域适配不是银弹:我们的实验发现,在生物医学临床语料上预训练的模型(如BioClinicalBERT)整体表现优于通用BERT,但优势并非压倒性的。在某些类别(如“他杀”),通用BERT反而更好。这说明VA语言处于日常语言和医学语言的交界处。最稳妥的方案是准备一个小型测试集,快速验证几个候选PLM的表现,而不是盲目选择最“专业”的。
融合策略的选择:如果你的目标是追求极致性能且计算资源充足,数据级融合配合长序列模型是首选。如果你的系统需要高可解释性或模块化更新(例如,问卷部分经常变动),特征级或决策级融合更合适,因为你可以单独更新或调试其中一个分支。
应对类别不平衡:死因数据的天然不均衡是最大挑战之一。除了使用加权损失函数,未来可以探索文本数据增强技术,例如,利用语言模型为少数类死因的叙述生成语义相似的变体,以扩充训练数据。
超越分类:可解释性与不确定性:对于公共卫生应用,知道模型“为什么”做出某个预测,有时和预测本身一样重要。未来可以集成注意力可视化或事后解释方法(如LIME),让模型突出显示其做出判断所依据的文本片段或关键问题,这能极大增强卫生工作者对AI结果的信任。
这项研究证实,通过多模态融合策略有效整合VA中的叙述与问卷信息,能够构建出显著优于传统方法的自动化死因分类系统。数据级融合的Longformer模型提供了一个强大的基线。这项技术不仅有望提升资源有限地区的死因数据质量,其方法论对于处理其他类似的多模态医疗数据(如电子健康记录中的医生笔记+检验报告)也具有广泛的借鉴意义。真正的挑战和机遇,在于如何将这些实验室中的模型,稳健、可靠、且以人为本地部署到真实世界复杂多样的田野调查环境中去。
