随便过了一篇论文看下大致流程。文章主要是希望提升多轮对话和VL的能力。
论文
ProMRVL-CAD: Proactive Dialogue System with Multi-Round Vision-Language Interactions for Computer-Aided Diagnosis
https://arxiv.org/pdf/2502.10620
关键词:VL,计算机辅助诊断,多轮对话
这篇论文主要是为了提升大模型基于视觉输入分析后生成诊断报告的能力。使用到了知识图谱进行主动对话,设计两个生成器:问题生成器用于主动引导诊断问题;文本报告生成器用于生成高质量的报告。使用了两个公开数据集MIMIC-CXR和IU-Xray
现有的任务主要是基于QA对的,首先没有结合图像信息,其次缺少沟通环节患者本身很难准确提供充分的疾病相关描述。
设计的模型整体框架如下。
首先对dialogue进行输入,这个输入是用户输入的问题,对问题进行处理生成有效问题候选,然后ranking选择可能性最高的问题询问用户。在ranking的过程中需要借助知识图谱进行参考定位最有可能的疾病优先排序,系统会拒绝已询问过的症状相关的重复查询,若已检查完最相关症状,则终止对话或转向下一个潜在疾病的询问。
在step2中,我们将医学影像和文本一起输入分别处理,文本为之前所有的对话。文本使用MiniLM,图像使用ViT,分别提取特征。然后通过一个对齐层将视觉特征和语言模型的输入进行对齐,使得模型可以更有效地融合视觉和文本信息。对于视觉特征会使用一个全连接层(不确定)输出一个可能的疾病及对应的置信度。
损失函数设计L为疾病识别任务的交叉熵损失和报告生成任务的损失加权之和。
如何判断对话需要询问几轮:设置了一个信心阈值,当模型对识别到的疾病的可能性达到了一定的阈值时就停止对话,如果这个疾病一直达不到阈值就问ranking中的第二个疾病。
知识图谱是如何构建的:命名实体识别、症状实体提取、关系建立。(不会,在下边单独补充基础)
基线:
案例:首先医生问一样的开场白用户开始提供信息,然后根据知识图谱最可能的疾病进行追问症状让病人描述。
知识图谱
知识图谱=实体+关系+属性,一般基本的存储单位是三元组形式的,(主体, 关系, 客体)
实体:在论文中比如疾病实体,肺炎、心脏病等疾病的名称;症状实体,体重减轻、发热等身体异常状况。
关系:疾病与某种症状的关系,疾病与治疗方法的关系,疾病与检查项目的关系。
属性:疾病的严重程度,轻微、重度等;疾病的出现频率,偶尔、经常等。
构建步骤:
处理数据,统一关键词+结构化一下+去除无效信息等。
实体抽取NER,首先从文本数据中自动识别出命名实体用于构建节点,find&classify。
实体标准化,将同一个问题映射到同一个词上。
关系抽取,准确识别实体之间的关系。
构建三元组。