人工智能正在迅速变革医疗保健领域。我们正迈向“通用医疗 AI”的未来,它能够查看 X 光片、MRI 或 CT 扫描,并在几秒钟内起草一份诊断报告。这有望减轻放射科医生的倦怠感并加快患者护理速度。

然而,在这场革命中存在一个巨大的瓶颈: 信任。

如果 AI 写了一份报告,我们如何知道它是准确的?如果我们有两个不同的 AI 模型,我们如何知道哪一个更好?在通用自然语言处理 (NLP) 中,我们使用标准指标来验证文本。但在医学领域,“标准”指标可能是危险的。如果 AI 写的是“无气胸 (No pneumothorax) ”而不是“气胸 (Pneumothorax) ”,它只改变了一个词——对计算机来说是一个小错误,但对患者来说却是一个危及生命的错误。

今天,我们将深入探讨一篇新的研究论文,该论文提出了一个解决方案: RaTEScore 。 这是一个新颖的指标,旨在通过理解临床现实而不是计算匹配的单词来评估 AI 生成的放射学报告。

现有评估指标的问题

要理解为什么 RaTEScore 是必要的,我们首先必须看看我们目前用来衡量 AI 性能的“尺子”。

在传统的文本生成 (如翻译或摘要) 中,我们使用像 BLEUROUGE 这样的指标。这些指标基于单词重叠来计算分数。如果 AI 的句子与人类医生的句子共享许多单词,它就会得到高分。

这种方法在放射学中彻底失败,主要有三个原因:

  1. 否定敏感性 (Negation Sensitivity) : “无肿瘤证据”和“有肿瘤证据”在字数上几乎相同,但意义相反。标准指标通常无法足够严厉地惩罚这种差异。
  2. 同义词 (Synonyms) : 医生可能会说“胸腔积液 (pleural effusion) ”,而 AI 可能会说“胸膜腔内有液体 (fluid in the pleural space) ”。这两者意味着同一件事,但单词重叠指标将它们视为错误。
  3. 无关性 (Irrelevance) : 标准指标可能会被常见的、无关紧要的短语 (如“今天进行了检查”) 分散注意力,而不是关注关键的发现。

现有评估指标及其局限性。

如上图 1 所示,现有指标难以捕捉医学文本的细微差别。

  • 词重叠指标 (如 BLEU) 忽略了“无证据”和“明显证据”之间的区别。
  • NER-F1 指标关注命名实体,但在同义词方面表现挣扎 (认为“结石 (stones) ”和“存在结石 (stones present) ”是不同的) 。
  • 基于 BERT 的指标着眼于语义,但可能会被不相关的细节 (如鼻胃管) 混淆,而报告本应关于肺炎。

我们需要一个像医生一样思考的指标: 一个关心医疗实体 (身体部位是什么?疾病是什么?) 和临床现实 (疾病是存在还是不存在?) 的指标。

介绍 RaTEScore: 一种实体感知指标

研究人员开发了 RaTEScore (Radiological Text Evaluation Score,放射学文本评估分数) 来解决这些差距。RaTEScore 旨在实现“实体感知”。它不把报告看作一串单词;它将其视为医疗事实的集合。

该方法的工作原理是将复杂的医疗报告分解为特定的实体 (如“肺”、“浑浊”、“肺炎”) ,然后使用处理同义词和否定的复杂评分系统来比较这些实体。

管道流程

RaTEScore 的架构是一个三步管道:

  1. 医疗命名实体识别 (NER) : 提取临床概念。
  2. 同义词消歧: 理解不同的词可以指代同一事物。
  3. 评分: 计算加权相似度分数。

RaTEScore 计算管道的图示。

让我们分解这个管道的每个组件,以了解其底层机制。

第一步: 医疗命名实体识别 (NER)

第一步是清除噪音。系统读取放射学报告 (\(x\)) 并提取特定的医疗实体。但它不仅仅提取单词;它将它们分类为五种不同的类型:

  1. 解剖部位 (Anatomy) : 身体部位 (例如,“左下叶”) 。
  2. 异常表现 (Abnormality) : 放射学发现 (例如,“肿块”、“积液”) 。
  3. 疾病 (Disease) : 高层级诊断 (例如,“肺炎”) 。
  4. 非异常 (Non-Abnormality) : 明确提及不存在的异常 (例如,“无积液”) 。
  5. 非疾病 (Non-Disease) : 明确提及不存在的疾病。

这种分类至关重要。通过将“异常表现”与“非异常”分开,系统被明确编程为关注否定。

在数学上,NER 模块 ($ \Phi_{NER} \() 将文本转换为一组元组,其中每个元组包含实体名称 (\)n\() 及其类型 (\)t$) :

定义提取的实体和类型集合的公式。

第二步: 同义词消歧编码

一旦提取了实体,系统需要将 AI 生成的报告 (\(\hat{x}\)) 中的实体与医生的标准参考报告 (\(x\)) 中的实体进行比较。

由于同义词的存在,简单的字符串匹配在这里行不通。如果医生写的是“肾囊肿 (renal cyst) ”,而 AI 写的是“肾脏囊肿 (kidney cyst) ”,它们应该匹配。为了解决这个问题,RaTEScore 使用了一个同义词消歧编码模块 (\(\Phi_{ENC}\)) 。

研究人员使用了一个名为 BioLORD 的预训练模型,该模型专门针对医学定义进行了训练。该模型将每个实体名称转换为高维空间中的向量 (数字列表) 。在这个空间中,像“renal (肾的) ”和“kidney (肾脏) ”这样的同义词彼此非常接近。

将实体编码为特征嵌入的公式。

这一步产生了一组代表报告临床内容的特征嵌入 (\(\mathbf{F}\)) 。

第三步: 评分过程

现在进入“打分”阶段。系统将参考报告中的嵌入与候选报告中的嵌入进行比较。

首先,对于参考报告中的每个实体,系统在候选报告中寻找“最佳匹配”。它通过计算嵌入之间的余弦相似度 (Cosine Similarity) 来实现这一点。它搜索使该相似度最大化的实体 (\(i^*\)) :

寻找实体间最大余弦相似度的公式。

然而,仅找到语义匹配是不够的。我们还需要检查类型 (Type)

想象一下,AI 正确匹配了“胸腔积液”这一概念。但是,在参考报告中,它被标记为非异常 (不存在) ,而在 AI 报告中,它被标记为异常表现 (存在) 。这是一个严重的医疗错误。

为了处理这个问题,RaTEScore 应用了一个惩罚函数。如果类型匹配 (例如,两者都是异常表现) ,则保留完整的相似度分数。如果类型不匹配,分数将乘以一个惩罚因子 \(p\)。

带有惩罚因子 p 的实体级相似度公式。

最后,系统计算总分。它不仅仅是平均所有分数。它使用一个可学习的亲和矩阵 (Affinity Matrix,\(W\)) 。该矩阵根据临床重要性为不同类型的实体分配不同的权重。例如,匹配两个“异常表现”实体的权重可能比匹配两个“解剖部位”实体更重,因为漏诊疾病比位置描述模糊更糟糕。

加权相似度分数 S(x, x_hat) 的公式。

最终的 RaTEScore 计算方式类似于 F1 分数。它计算两个方向的相似度 (参考 \(\to\) 候选 和 候选 \(\to\) 参考) 并取调和平均值。这确保了 AI 既会因幻觉 (编造参考报告中不存在的内容) 受罚,也会因遗漏 (错过了参考报告中存在的内容) 受罚。

最终 RaTEScore 计算公式。

构建生态系统: RaTE-NER 和 RaTE-Eval

像 RaTEScore 这样复杂的指标需要高质量的数据才能工作。研究人员不能只使用现有的数据集,因为大多数数据集仅限于胸部 X 光片。他们需要一个通用的指标,适用于大脑、腹部、脊柱等。

RaTE-NER 数据集

为了训练 NER 组件,作者构建了 RaTE-NER , 这是一个源自 MIMIC-IV 和 Radiopaedia 的庞大数据集。

RaTE-NER 的独特之处在于其多样性。它涵盖了 9 种成像模态 (如 CT、MRI、超声) 和 22 个解剖区域 。 这确保了 RaTEScore 不仅仅是一个“肺部专家”,而是一个通用的“放射学专家”。

显示 RaTE-NER 数据集统计信息的表格。

为了高效地构建这个数据集,他们使用了包含 GPT-4 的巧妙自动化管道。他们提示 GPT-4 从报告中提取实体,然后使用既定的医学知识库 (如 UMLS 和 SNOMED CT) 完善这些提取结果,以确保准确性。

使用 GPT-4 和医学语料库的数据整理过程。

RaTE-Eval 基准测试

我们如何知道 RaTEScore 是否真的比 BLEU 或 BERTScore 更好?我们需要针对金标准进行测试: 人类放射科医生。

研究人员创建了 RaTE-Eval 基准测试。他们选取了数千条报告句子和段落,并要求经验丰富的放射科医生对其进行评分。他们寻找特定的错误:

  • 对发现的错误预测。
  • 发现的遗漏。
  • 错误的位置。
  • 错误的严重程度。

该基准测试使我们能够衡量自动化指标 (如 RaTEScore) 与人类判断之间的相关性。

实验与结果

实验结果有力地验证了 RaTEScore 方法。研究人员将他们的指标与标准基线 (BLEU、ROUGE、BERTScore) 和特定领域的指标 (RadGraph F1) 进行了比较。

与人类判断的一致性

最关键的测试是与人类放射科医生的相关性。在下图中,每个点代表一份报告。X 轴代表放射科医生的错误计数 (归一化) ,Y 轴代表自动化指标的分数。

一个完美的指标会显示出一条紧密的对角线 (高相关性) 。

比较 RaTEScore 和其他指标与放射科医生评分的相关性图。

看看 RaTEScore (左上角) 和 BLEU (底行中间) 之间的区别。

  • RaTEScore 显示出强烈、清晰的相关性 (\(\tau = 0.54\)) 。随着放射科医生发现的错误减少 (在 X 轴上向右移动) ,RaTEScore 会上升。
  • BLEU 是一团分散的云 (\(\tau = 0.27\)) 。一份报告可能具有很高的 BLEU 分数,但仍然被医生评为很差,反之亦然。

这证明了 RaTEScore 在像放射科医生一样“思考”方面明显优于词重叠指标。

对同义词的鲁棒性

研究人员还进行了一项模拟测试。他们使用大语言模型 (LLM) 重写报告,分别使用同义词 (应该得分高) 和反义词 (应该得分低) 。

  • 同义词检查: “阑尾显示清晰 (The appendix is well visualized) ” vs. “阑尾可见 (The appendix is seen) ”。
  • 反义词检查: “阑尾显示清晰” vs. “阑尾显示不清 (The appendix is poorly visualized) ”。

RaTEScore 在区分这些情况方面达到了最高的准确率,证实了其基于嵌入的方法在保持对否定敏感的同时,成功处理了医学词汇的变体。

结论与启示

RaTEScore 的开发代表了医疗 AI 向前迈出的重要一步。通过从僵化的单词匹配转向实体感知评估 , 我们可以建立对自动化系统的信任。

以下是关键要点:

  1. 语境很重要: 医疗评估需要理解实体 (疾病、解剖结构) 及其状态 (存在/不存在) ,而不仅仅是匹配单词。
  2. 广度至关重要: 与以前仅关注胸部 X 光片的指标不同,RaTEScore 专为全方位的放射学 (CT、MRI、超声) 而设计。
  3. 人类一致性: 广泛的测试表明,RaTEScore 与放射科医生的一致性远高于传统的 NLP 指标。

随着我们继续为医疗保健开发基础模型,像 RaTEScore 这样的工具将充当必要的护栏。它们使研究人员能够准确地衡量进展,确保当 AI 生成报告时,它不仅在语法上是正确的,而且在临床上是符合事实的。