A Label Attention Model for ICD Coding from Clinical Text (IJCAI 2020)

在这里插入图片描述

【写在前面】该论文发表于IJCAI 2020,是一篇关于ICD coding的论文,即根据电子病历内容去判断该病人的主要诊断,因此它也属于疾病诊断的一种。该论文提出了一种标签注意力机制,可以很好地处理了文本不同长度的问题,以及不同ICD码相关文本片段之间的依赖关系。同时,还提出了一个层次联合学习机制,去解决数据的不平衡问题。

论文地址:https://www.ijcai.org/proceedings/2020/0461.pdf
论文源码:暂无源码

1. Motivation

1.目前使用CNN可以处理单个文本片段的不同大小,为不同长度的相互依赖片段选择基于Cnn的模型的最佳窗口大小是具有挑战性的

2.数据不平衡问题,有一些ICD码的用于训练和测试的数据比较少

2. Idea

1.提出了标签注意力模型,它可以处理各种不同长度的文本,以及涉及到ICD码不同片段之间的依赖性。其中采用BiLSTM来处理文本,来解决文本长度不一致问题;此外还是用了Attention机制来学习每个标签特定的向量,该向量代表了某些标签相关的临床文本片段信息,每个特定标签的向量最后用于二分类器。

2.提出了一个层次联合学习机制,它可以使用ICD码的层次结构解决数据不平衡问题。

3.在MIMIC III数据集上取得了较好的实验结果。

3. Approach

将ICD coding作为一个多标签分类任务,该模型的目标就是训练 ∣ L ∣ |\boldsymbol{L}| L二元分类器( L \boldsymbol{L} L为ICD集合),每个分类器需要得到最终的结果 y j ∈ { 0 , 1 } y_j \in \{0,1\} yj{0,1},表示 L \boldsymbol{L} L中的第j个标签。

3.1 Label Attention Model

在这里插入图片描述
上图展示了模型的具体结构, 该模型共分为四个层:

第一层:嵌入层,得到每个文本中token的预训练词向量;

第二层:Bi-LSTM层,生成所有输入token的潜在特征表示;

第三层:Attention层,根据整个文本得到每个特定标签对应的向量;

第四层:二值分类器层,为每个标签训练一个二值分类器,每个分类器使用一个前馈网络预测才文本是否含有特定的ICD码。

3.1.1 Embedding Layer

假定诊断文本D中含有n个word tokens w 1 , w 2 , . . . , w n w_1,w_2,...,w_n w1,w2,...,wn,对于第i个token,采用给一个 d e d_e de维的预训练向量 e w i e_{w_i} ewi表示。

3.1.2 Bidirectional LSTM Layer

使用Bi-LSTM捕捉输入单词中的文本信息

在这里插入图片描述
然后将前向和后向得到的隐向量进行拼接,来得到最终的词表示:

在这里插入图片描述

最终我们可以得到一个最终的词向量表示 H = [ h 1 , h 2 , . . . , h 3 ] ∈ R 2 u × n \bold{H}=[h_1, h_2, ..., h_3]\in R^{2u \times n} H=[h1,h2,...,h3]R2u×n

3.1.3 Attention Layer

由于医疗文本数据的长度不固定,并且每个文档可能含有多个标签,该模型的目标就是将H转成特定标签对应的向量。

在这里插入图片描述
其中, W ∈ R d a × 2 u \bold{W} \in R^{d_a \times 2u} WRda×2u Z ∈ R d a × n \bold{Z} \in R^{d_a \times n} ZRda×n U ∈ R ∣ L ∣ × d a \bold{U} \in R^{|L| \times d_a} URL×da A ∈ R ∣ L ∣ × n \bold{A} \in R^{|L| \times n} ARL×n.矩阵A中的第i行都表示第i个标签的权重向量。

然后使用A和H得到最终的每个特定标签对应的表示。

在这里插入图片描述
其中, V ∈ R 2 u × ∣ L ∣ \bold{V} \in R^{2u \times |L|} VR2u×L,每一列表示第i个标签对应的词向量

3.1.4 Output Layer

对于每个特定标签的表示都使用单个前馈网络,并采用sigmoid激活层去得到第i个标签的概率,最终这个概率使用一个阈值0.5去预测该患者是否患有该疾病。

损失函数如下:

在这里插入图片描述

3.2 Hierarchical Joint Learning Mechanism

在这里插入图片描述
对于现有的ICD码,它具有一种层次结构,例如“原因不明的脑膜炎”(322)下会细分为“非化脓性脑膜炎” (322.0)、“嗜酸性性脑膜炎”(322.1)、“慢性脑膜炎”(322.2)、“不明脑膜炎”(322.9)等多种疾病。

因此该模型首先会在第一层attention得到基础ICD码,然后将预测得到的基础ICD码嵌入为词向量 s D ∈ R p s_D \in R^p sDRp,然后将该向量与原始特定标签对应的向量进行连接,用于最终的预测。

该模型的损失分为两个部分,一个是第一层中预测基础ICD码产生的损失,另一个是进行特定标签分类产生的损失

4. Experimental Setup

4.1 Datasets

MIMIC III

采用MIMIC III作为数据集,其中共得到52722份出院小结,8929个不同的ICD码。在数据集切分的时候是按照病人切分,不会存在同一个病人及存在于测试集又存在训练集。

数据集又细分为MIMIC III-full和MIMIC III-50,前者训练集47719,验证集1631,测试集3372;后者训练集11317,验证集1574,测试集1730.

MIMIC II

MIMIC II是MIMIC III的前身,其中共包括20533,验证集1141,其余的19392用于训练

数据预处理

1.将文本标记化得到tokens,并且将所有的token改成小写字母
2. 删除不属于字母的字符,例如数字和标点
3. 采用Word2Vec模型得到每个Word的预训练向量,维度为 d e = 100 d_e = 100 de=100
4. 将所有文本截断长度为4000,经过证明最大截断长度在2500-6500对最终结果影响不是很大

4.2 Evaluation Metrics

macro- and micro-averaged F1 and AUC (area under the ROC curve), precision at k (P@k∈ {5,8, 15})

4.3 Implementation and Hyper-parameter Tuning

Implementation

batch size: 8,

epochs: 50,

使用动态减少的学习率,超过5 epoch没有提升则减少10%,

micro-averaged F1 score 连续6个epoch没有提升则提前停止

dropout:0.3

随机训练10次,最终结果取其平均值

Hyper-parameter tuning

LSTM hidden size: 128*,* 256*,* 384*,* 512

映射矩阵 d a d_a da: 128*,* 256*,* 384*,* 512

4.4 Baselines

LR. SVM. CNN. BiGRU. C-MemNN. C-LSTM-Att. HA-GRU. LEAM. CAML. DR-CAML. MSATT-KG. MultiResCNN.

5. Experimental Results

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FutureForMe@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值