跳转至

Health-LLM: Personalized Retrieval-Augmented Disease Prediction System

会议: ACL 2025
arXiv: 2402.00746
代码: 无
领域: 医疗 NLP / 疾病预测
关键词: RAG, 疾病预测, Llama Index, 特征工程, 个性化健康管理

一句话总结

提出 Health-LLM 框架,通过 LLM + Llama Index 从健康报告中提取特征评分、RAG 增强医学知识检索、CAAFE 自动特征工程结合 XGBoost 分类器,在 IMCS-21 中文远程医疗数据集上实现 Accuracy 0.833、F1 0.762 的疾病预测性能,大幅超越 GPT-4 few-shot+RAG (Acc 0.68) 和 fine-tuned LLaMA-2-13B (Acc 0.73)。

研究背景与动机

领域现状:LLM 在医疗领域展现出巨大潜力(如 GPT-4、AMIE),但传统健康管理方法受限于静态数据和统一标准,难以满足个性化需求。直接使用 LLM 做疾病预测(如 GPT-4 零样本)准确率有限(< 40%)。

现有痛点:(1) 单独使用 LLM 做临床预测缺乏领域特定的精细特征提取;(2) 健康报告数据丰富但难以转化为可操作的预测特征;(3) LLM 缺乏专业医学知识的深度理解,需要外部知识增强。

核心矛盾:如何将 LLM 的语言理解能力与结构化机器学习的预测精度结合,在医疗场景中实现优于纯 LLM 或纯传统方法的个性化疾病预测?

本文目标 构建一个结合 LLM 特征提取和机器学习分类的疾病预测系统。

切入角度:将 LLM 不作为最终分类器,而是作为智能特征提取器——通过 QA 方式从健康报告中提取结构化评分,作为 XGBoost 的输入特征。

核心 idea:LLM 做特征提取 + RAG 增强知识 + XGBoost 做分类 = 优于纯 LLM 和纯传统方法的疾病预测。

方法详解

整体框架

Health-LLM 的 pipeline 分为四步:(1) 利用 LLM 的上下文学习能力批量生成疾病-症状特征;(2) 通过 Llama Index + RAG 从健康报告中提取特征评分(0-1 置信度);(3) 使用 CAAFE 进行自动化特征工程优化;(4) XGBoost 模型训练和疾病预测 + LLM 生成个性化健康建议。

关键设计

  1. LLM 上下文学习生成症状特征:

    • 功能:通过 in-context learning 让 LLM 批量生成各疾病的症状描述列表
    • 核心思路:提供几个"疾病→症状列表"示例(如"感冒→流鼻涕、咽喉痛、咳嗽"),LLM 学习模式后批量生成更多疾病的症状描述
    • 设计动机:自动化构建疾病-症状知识库,避免手动编写每种疾病的特征列表
  2. Llama Index + RAG 特征评分:

    • 功能:将健康报告文档切分为文本块,embedding 后存入向量数据库;设计 152 个医疗相关问题(如"此人睡眠习惯好吗?"),通过 Llama Index 的 search-then-synthesize 流程检索相关文本块并由 LLM 给出 0-1 置信度评分
    • 核心思路:RAG 机制同步检索专业医学知识库中最相关的 3 条信息嵌入 prompt,增强 LLM 的领域知识。每个问题的评分成为下游分类器的一个特征维度,共 152 维特征向量
    • 设计动机:LLM 直接回答可能缺乏专科知识,RAG 提供上下文使评分更准确;将非结构化的健康报告转化为结构化的数值特征
  3. CAAFE 自动特征工程 + XGBoost 分类:

    • 功能:使用 Context-Aware Automated Feature Engineering (CAAFE) 让 LLM 根据数据集语义自动生成新特征,然后用 XGBoost 进行多标签疾病分类(61 种疾病)
    • 核心思路:CAAFE 利用 LLM 理解数据集上下文,迭代生成语义相关的衍生特征(如从多个症状评分组合出综合指标)。XGBoost 输出二元分类(0/1),部分疾病支持细粒度分级(如轻度/重度脂肪肝)
    • 设计动机:自动化特征工程弥补手工特征设计的局限,XGBoost 比直接用 LLM 做分类更稳定准确

交互式健康咨询

用户可通过两种方式使用系统:(1) 提交健康报告获取预测和建议;(2) 通过对话描述症状,系统记录对话并基于对话内容做预测。对话和建议生成由 GPT-4 Turbo 驱动。

实验关键数据

主实验(IMCS-21 中文远程医疗数据集)

模型/方法 Accuracy F1
GPT-3.5 (zero-shot) 0.333 0.361
GPT-4 (zero-shot) 0.390 0.312
GPT-3.5 (few-shot + RAG) 0.451 0.451
TextCNN 0.437 0.429
RoBERT 0.585 0.543
GPT-4 (few-shot) 0.620 0.671
GPT-4 (few-shot + RAG) 0.680 0.718
Fine-tuned LLaMA-2-7B 0.710 0.593
Fine-tuned LLaMA-2-13B 0.730 0.671
Health-LLM (Ours) 0.833 0.762

消融实验

配置 Accuracy F1
Health-LLM without Retrieval 0.78 0.714
Health-LLM without CAAFE 0.77 0.721
Health-LLM (完整) 0.83 0.762

关键发现

  • Health-LLM 比最强的纯 LLM 方案(GPT-4 few-shot + RAG)提升 +15.3% Accuracy
  • RAG 和 CAAFE 各贡献约 5-6% 的 Accuracy 提升,两者缺一不可
  • 传统文本分类方法(TextCNN、RoBERT)性能远低于 LLM 方案,说明长文本理解是关键
  • LLaMA-2 微调虽然 Accuracy 较高但 F1 较低,泛化性不如 Health-LLM
  • 系统可覆盖 61 种疾病,包括从常见病(感冒、消化不良)到复杂疾病(内分泌紊乱)

亮点与洞察

  • LLM 作为特征提取器而非分类器的设计范式——跳出"用 LLM 直接做预测"的思路,将 LLM 的语言理解能力转化为结构化特征供传统 ML 使用。这种 LLM+ML 的混合范式在多个应用领域有借鉴意义。
  • QA 式特征评分的巧妙设计——通过 152 个医疗问题将非结构化健康报告转化为 152 维数值特征,既利用了 LLM 的语义理解又保留了 ML 的可解释性和稳定性。

局限与展望

  • 仅在单一中文数据集(IMCS-21,10 种儿科疾病)上验证,泛化性存疑
  • 依赖 OpenAI API(GPT-4 Turbo),存在数据隐私和成本问题
  • 152 个问题和疾病-症状知识库的构建仍需领域专家参与
  • 系统延迟较高(多次 LLM 调用 + RAG 检索),不适合实时诊断场景
  • 消融实验只有 2 组,未分析各模块的独立贡献和交互效应

相关工作与启发

  • vs CPLLM: CPLLM 直接用微调 LLM 做临床预测;Health-LLM 用 LLM 做特征+ML 做预测,性能更优
  • vs AMIE (Google): AMIE 是交互式诊断 agent;Health-LLM 侧重于从报告数据做批量预测
  • vs fine-tuned LLaMA-2: 微调要求大量标注数据且每次新任务需重新微调;Health-LLM 通过 QA 特征化更灵活

评分

  • 新颖性: ⭐⭐⭐ LLM+RAG+XGBoost 的组合思路有实用价值,但各组件均非原创
  • 实验充分度: ⭐⭐⭐ 基线覆盖广(传统ML+LLM+微调),但仅单数据集、消融不足
  • 写作质量: ⭐⭐⭐ 系统描述清晰,但 IMCS-21 预处理细节不够透明
  • 价值: ⭐⭐⭐ 对医疗AI系统设计有工程参考价值

相关论文