在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 notedIMPRESSION:
- 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)

特异度
(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)

1.0000 
(0.9979-1.0000)

硬膜下出血

44

0.9318 
(0.8134-0.9857)

0.9965 
(0.9925-0.9987)

硬膜外出血

27

1.0000 
(0.8723-1.0000)

0.9983 
(0.9950-0.9996)

蛛网膜下腔出血

51

1.0000 
(0.9302-1.0000)

0.9971 
(0.9933-0.9991)

断裂

143

1.0000 
(0.9745-1.0000)

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)

1.0000 
(0.9979-1.0000)

质量效应

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》,译者:黄小凡,审校:袁虎。

文章为简译,更为详细的内容,请查看原文。

机器“读懂”放射学报告相关推荐

  1. 让机器“读懂”放射学报告

    [在Qure,我们建立了深度学习模型来检测放射影像中的异常.这些模型需要大量的标记数据来学习诊断异常.因此,我们从医院和门诊放射中心收集了一个大型数据集.这些数据集包含相关的临床放射学报告. 目前,当 ...

  2. 公开课 | 让机器读懂你的意图——人体姿态估计入门

    机器视觉的主要任务是让机器看懂世界,而世界的主要组成是人类社会.我们一直在围绕物和人的识别展开研究:物品检测识别.行人检测与跟踪.人脸识别. 事实上,行人检测是人的整体粗粒度识别,人脸识别是人的局部特 ...

  3. 让机器读懂文章: pLSA模型推导及实现

    让机器读懂文章: pLSA模型推导及实现 概述 pLSA模型 pLSA的EM算法推导 pLSA的实现 总结 参考文献 概述 人类读懂文章是一个很自然的行为,当我们读完一篇<背影>的时候,我 ...

  4. 让机器读懂视频:亿级淘宝视频背后的多模态AI算法揭秘

    背景 随着4G的普及和5G的推出,内容消费的诉求越来越受到人们的重视.2019年互联网趋势报告指出在移动互联网行业整体增速放缓的大背景下,短视频行业异军突起,成为"行业黑洞"抢夺用 ...

  5. 让机器读懂人类:探索问答系统和机器阅读理解

    学习内容来自 : CSDN在线直播教程 林德康 一.问答系统概念 问答系统在搜索引擎中的应用 略- 基于知识图谱的问答系统 high precision great for head queries ...

  6. 让机器读懂用户--大数据中的用户画像

    欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.用户画像的定义 用户画像(persona) 的概念最早由交互设计之父Alan Cooper 提出: "Personas are a c ...

  7. 计算机是如何读懂高级语言的——编译过程简述

    <计算机是如何读懂高级语言的--编译过程简述>源站链接,阅读体验更佳~ 前面的文章中我们简单介绍了高级语言的五大语法元素,以及这些语法元素是如何构成表达式,构成语句最终构成可执行的代码的. ...

  8. python attention机制_[深度应用]·Keras实现Self-Attention文本分类(机器如何读懂人心)...

    [深度应用]·Keras实现Self-Attention文本分类(机器如何读懂人心) 笔者在[深度概念]·Attention机制概念学习笔记博文中,讲解了Attention机制的概念与技术细节,本篇内 ...

  9. 从2022投影行业最新报告,读懂2022年家用智能投影仪该怎么选!

    2022年投影仪行业趋势如何?2022年新款投影仪怎么选合适呢?读懂这篇文章,能给你意想不到的答案. 2022年,家用智能投影仪品牌先后推出新品,产品性能持续优化迭代的同时,也给消费者带来了更优质的产 ...

最新文章

  1. 提升网站竞争力从这三方面着手努力!
  2. flannel源码分析--InClusterConfig
  3. 大数据时代第一部分思维导图_大数据时代总结思维导图模板分享
  4. 中文文件名乱码_全能型Mac解压缩软件 MacZip2.0.1(41)中文版 原ezip
  5. 使用回溯算法分析八皇后问题
  6. cookie mapping
  7. HBase1.0.0 实现数据增删查
  8. 【C语言】输入5个整数并按输入顺序逆序输出
  9. 基于设备树的TQ2440 DMA学习(2)—— 简单的DMA传输
  10. python生成器_Python生成器
  11. html站点地图怎么做,sitemap网站地图(站点地图)如何制作以及作用
  12. java实现康威生命游戏
  13. 用计算机软件截取声音片段,音频提取剪辑器
  14. 三星note升级android9,三星Note9官方台版安卓9固件rom升级更新包:BRI-N960FXXS3CSI5
  15. 斗鱼显示弹幕服务器连接失败,斗鱼看不到弹幕的解决方法步骤
  16. Computer vision: models, learning and inference 学习笔记1:引言
  17. mysql 图片路径用什么类型_mysql数据库怎么存图片路径
  18. Java面向对象期末备考
  19. 为什么说Python是人工智能方向的主流编程语言?
  20. 如何解决工厂工时计算问题

热门文章

  1. 自强学堂 java_Java File类 - Java 教程 - 自强学堂
  2. 年度大更新来了:Win10 21H1 正式版推送!
  3. python 常用系统内置模块
  4. 投简历一直没有回应,原因竟然是...
  5. phpstorm常见问题
  6. 为什么uniapp打包会自动获取额外的电话、通讯录、录音权限?
  7. 【编程开发】MD5算法原理
  8. 2014年11月15日SIE赛意公司面试
  9. 华为Cloud BU总裁郑叶来:云服务低价竞争会回归理性
  10. 信号完整性入门笔记一-细解为什么低频信号在较短传输线不考虑反射?