在Qure,我们建立了深度学习模型来检测放射影像中的异常。这些模型需要大量的标记数据来学习诊断异常。因此,我们从医院和门诊放射中心收集了一个大型数据集。这些数据集包含相关的临床放射学报告。
目前,当我们训练深度学习算法以识别放射学图像的异常情况时,我们使用放射科的医师报告作为最佳标准。这是目前最好的方式,因为这可以提供以百万计的图像以实现高精度的分类算法。
这些报告通常以自由格式文本而不是结构化格式编写。所以,为了从这些非结构化报告中自动提取结果,我们设计了一个基于规则的自然语言处理(NLP)系统。如下所示:
CT SCAN BRAIN - PLAIN STUDY
Axial ct sections of the brain were performed from the level of base of skull. 5mm sections were done for the posterior fossa and 5 mm sections for the supra sellar region without contrast.
OBSERVATIONS:
- Area of intracerebral haemorrhage measuring 16x15mm seen in left gangliocapsular region and left corona radiate.
- Minimal squashing of left lateral ventricle noted without any appreciable midline shift
- Lacunar infarcts seen in both gangliocapsular regions
- Cerebellar parenchyma is normal.
- Fourth ventricle is normal in position and caliber.
- The cerebellopontine cisterns, basal cisterns and sylvian cisterns appear normal.
- Midbrain and pontine structures are normal.
- Sella and para sellar regions appear normal.
- The grey-white matter attenuation pattern is normal.
- Calvarium appears normal
- Ethmoid and right maxillary sinusitis noted
IMPRESSION:
- INTRACEREBRAL HAEMORRHAGE IN LEFT GANGLIOCAPSULAR REGION AND LEFT CORONA RADIATA
- LACUNAR INFARCTS IN BOTH GANGLIOCAPSULAR REGIONS
这是一篇简短的放射学报告,从中我们可以提取如下结果:
{
"intracerebral hemorrhage": true,
"lacunar infarct": true,
"mass effect": true,
"midline shift": false,
"maxillary sinusitis": true
}
为什么是基于规则的NLP系统? 基于规则的NLP系统可以解析无组织内容并对其进行组织。另一方面,基于机器学习(ML)的NLP系统则在大型数据集上训练时自动生成规则。
与基于ML的方法相比,基于规则的NLP系统具有多重优势:
1.临床知识可以手动合并到基于规则的NLP系统中。然而,在基于ML的NLP系统中捕获这些知识,需要大量的注释。
2.基于ML的NLP系统自动生成的规则难以解释。
3.基于规则的NLP系统可以容易地添加或修改,以适应系统中新目标的发现。4.以往的临床报告分析报告表明,基于ML的NLP系统的结果不如基于规则的NLP系统。
基于规则的NLP开发
由于从多个中心收集了报告,因此有多个报告标准。因此,我们在手动读取大量报告后构建了一组规则来捕获这些变化。其中,我举两种常见的规则类型例子:
1.发现检测在报告中,同样的发现可以用几种不同的格式来记录,这些包括同义词的定义。例如,blunted CP angle可以通过以下任一方式表示:
1.CP angle is obliterated
2.Hazy costophrenic angles
3.Obscured CP angle
4.Effusion/thickening
我们收集了可用于报告调查结果的所有措辞,并为每项调查结果制定了一条规则。以下是blunted CP angle的规则。
((angle & (blunt | obscur | oblitera | haz | opaci)) | (effusio & thicken))
如果在一个句子中有angle 、blunted、effusion和thickening 或其同义词,则该句子将满足这个规则。
另外,研究结果可以有一个层次结构。例如,如有任何像edema, groundglass, consolidation等其他近似blunted CP angle的病理情况都可以被认为满足规则。因此,我们还创建了一个关于处理这个层次结构的规则。
[opacity]
rule = ((opacit & !(/ & collapse)) | infiltrate | hyperdensit) hierarchy = (edema | groundglass | consolidation | ... )
2.否定检测 上述规则用于检测报告中的发现。但这些不足以理解报告。例如,考虑以下句子:
1. Intracerebral hemorrhage is absent.
2. Contusions are ruled out.
3. No evidence of intracranial hemorrhages in the brain.
虽然intracerebral hemorrhage, contusion 和intracranial hemorrhage等词语都是在上述句子中提到的。但是它们是不确定的,实际上应该不满足上述我们提到的规则,可是由于存在相应的关键字,会造成干扰。因此,除了发现之外,我们还需要否定一些句子。
我们手动读取几个表示否定的句子,并根据它们的结构对这些句子进行分组。检测否定的规则是基于这些句子创建的。其中一个如下所示:
(<finding>) & ( is | are | was | were ) & (absent | ruled out | unlikely | negative)
我们可以看到上述例子的第一句和第二句与这条规则相符,因此我们可以推断出这些句子是否定的。
Intracerebral hemorrhage is absent ⟶ intracerebral hemorrhage negative.
Contusions are ruled out ⟶ contusion negative.
结果:我们在一个数据集上测试了我们的算法, 其中包含1878份头部 CT 扫描的临床放射学报告。我们手动阅读所有的报告用来创造最佳标准。我们用灵敏度和特异性作为评价指标。所得结果如下表所示。
查找 | 结果 | 敏感度 (95%CI) | 特异度 |
颅内出血 | 207 | 0.9807 (0.9513-0.9947) | 0.9873 (0.9804-0.9922) |
实质内出血 | 157 | 0.9809 (0.9452-0.9960) | 0.9883 (0.9818-0.9929) |
脑室内出血 | 44 | 1.0000 (0.9196-1.0000) | (0.9979-1.0000) |
硬膜下出血 | 0.9318 (0.8134-0.9857) | 0.9965 (0.9925-0.9987) | |
硬膜外出血 | 27 | (0.8723-1.0000) | 0.9983 (0.9950-0.9996) |
蛛网膜下腔出血 | 51 | (0.9302-1.0000) | 0.9971 (0.9933-0.9991) |
断裂 | 143 | (0.9745-1.0000) | (0.9977-1.0000) |
颅骨骨折 | 89 | 0.9888 (0.9390-0.9997) | 0.9947 (0.9899-0.9976) |
中线轮班 | 54 | 0.9815 (0.9011-0.9995) | |
质量效应 | 132 | 0.9773 (0.9350-0.9953) | 0.9933 (0.9881-0.9967) |
在本文中,作者使用基于ML的NLP模型来提取头部CT临床放射学报告的结果。他们报告的平均敏感度和平均特异度分别为0.9025和0.9172。在评估的目标结果相同的情况下,我们使用基于规则的NLP算法,报告的平均敏感度和平均特异度分别为0.9841和0.9956。因此,我们可以总结基于规则的NLP算法在临床报告上比基于ML的NLP算法表现更好。
数十款阿里云产品限时折扣中,赶紧点击领劵开始云上实践吧!本文由北邮@爱可可-爱生活 老师推荐,阿里云云栖社区组织翻译。
文章原标题《Teaching Machines to Read Radiology Reports》,译者:黄小凡,审校:袁虎。
文章为简译,更为详细的内容,请
查看原文。