CheXpert: A Large Chest Radiograph Dataset with Uncertainty Labels and Expert Comparison
abstract
核心贡献为较高质量标注的X-Ray图像数据集,由Andrew Y. Ng发布,中选AAAI2019。数据集包含224,316张X-Ray照片共属于65,240病人,对预先确定的14种observation标注为positive,negative或者uncertain。主要attention 在 uncertain label上。
组件含有一个用于将报告转化为对应14种observation是否可见的labeler,一个将输入的图片组转化为长度为14的概率元组,对应表示每种病症患病可能性。
motivation
领域痛点为缺乏数据量大且高质量的数据集,及一个在该数据集上的benchmark。
已有数据集有 The Indiana Network for Patient Care hosts the OpenI dataset (DemnerFushman et al. 2015) 包含7,470张手工标注图片,The National Cancer Institute hosts the PLCO Lung dataset (Gohagan et al. 2000) 包含185,421 张为肺癌收集的图片。The MIMIC-CXR dataset (Rubin et al. 2018) 则还没有开源。
label collection
从chexpert 数据集中 sample 出1000 个报告,并交由 a board-certified radiologist决定一组候选的observation,在从中选出14种。
labeler
module
建立一个rule-based的模型,分为三个部分:
mention extraction
这部分从radiology reports中提取信息,目的是总结报告中的信息。
我认为这部分是相当于从一份报告中找出所有的疾病关键词。
mention classification
这部分解决问题的方法是基于NegBio,见附件appendix-A。
这部分的目的是把mention划分为,positive(有明确确诊现象的),uncertain(报告中的不确定性以及报告中的矛盾性),negative(明确无确诊现象的)。
分别对应pre-negation,negation,post-negation建立NegBio所需要的匹配模式: 若语句在pre-negation或post-negation阶段中成功匹配,则认为uncertain标签为真,若在negation中成功匹配,则认为negative标签为真。不然,则认为positive标签为真。
注:这部分是针对mention的,即可以适当认为针对同一份报告中的每一个病症名词都要分别进行一次mention classification。
mention aggregation
即将同一份报告中的不同病症的标签聚合为对应这个报告的标签vector。
如果一个observation有一个mention被分类为positive,则该病对应的标签就为positive。
若没有positive,有至少一个mention被分类为uncertain ,则该病对应的标签为uncertain。
若没有positive,没有uncertain且至少一个uncertain,则该病对应的标签为negative。
result
用1000个不同病人且独立于训练集的照片作为evaluation set,用两个board-certified radiologists 的共识作为ground truth。
对比方法选择为NIH labeler,评价函数选择为召回率(F1 Score)
可以看到在所有表现上,都较优于nih labeler。
作者认为可以归结于三点原因:
- 在mention extraction 没有使用普适性文字库类似metamap。
- 对于匹配模式,针对negative 和uncertain 额外添加了几个原则。
- 采用三段的pipeline结构,将针对uncertain的确定放在两个阶段中。
classification module
本篇paper在这里的部分类似综述,没有提出一个novelty的方法,而是在该数据集上尝试了几个十分传统的方法,并作为后续的benchmark。
ignoring
一个简单的方法就是对于uncertain label 在训练时不处理。(类似对待missing value)
采用交叉熵作为损失函数:
L ( x , y ) = − ∑ o { y o ≠ u } [ y o l o g p ( Y o = 1 ∣ X ) + ( 1 − y o ) l o g p ( Y o = 0 ∣ X ) ] L(x,y) = - \sum_{o}\{ y_o \neq u\}[ y_ologp(Y_o=1|X)+(1-y_o)logp(Y_o =0|X)] L(x,y)=−o∑{
yo