电子病历属性提取的多任务学习方法
发布时间: 2025-08-17 01:29:16 

### 电子病历属性提取的多任务学习方法
在医疗数据处理中,从电子病历的非结构化文本里提取癌症指标状态是一项重要任务。下面将详细介绍一种多任务学习方法来解决此问题。
#### 1. 研究贡献
- 鉴于数据不足问题,提出多任务学习方法,从电子病历非结构化文本中提取不同属性值。
- 利用电子病历对预训练词嵌入进行微调,以捕捉特定领域语义知识,并使用注意力机制为属性提取器选择最重要的实例。
- 实验结果表明,多任务学习模型比单任务模型表现更好,能提升所有任务的泛化性能。
#### 2. 问题描述与框架
##### 2.1 问题定义
任务是从癌症标本中提取某些癌症指标的状态,如癌症是否累及上、下、基底切缘,是否有神经或血管侵犯等。癌症指标状态分为{YES, NO, UNKNOWN}三类。将属性值提取任务视为多分类问题,目标是使用属性提取器 $a_i$ 从癌症标本 $e$ 的句子 $S_e$ 中推断癌症指标 $i$ 的状态 $v_i$。
##### 2.2 解决方案框架
采用多任务学习联合训练多个属性提取器。以标本 $e$ 的文本(划分为句子 $S_e$)为输入,得到每个癌症指标 $i$ 的属性提取器 $a_i$,并预测值/结果 $v_i$。使用端到端神经网络模型从文本的多个实例中提取属性值,具体流程如下:
1. 对每个实例,使用预训练词嵌入初始化神经网络模型,再用领域语料进行微调,以捕捉特定领域语义知识。
2. 使用 BiLSTM 层综合考虑左右上下文,以获得更好的实例表示。
3. 使用注意力层为不同属性提取器选择最重要的实例。
4. 在输出层使用多任务学习,联合学习相关任务,同时解决多个多分类问题。
```mermaid
graph LR
A[输入文本] --> B[预训练词嵌入]
B --> C[微调词嵌入]
C --> D[BiLSTM层]
D --> E[注意力层]
E --> F[多任务输出层]
F --> G[预测结果]
```
#### 3. 方法实现
##### 3.1 嵌入层
将癌症标本文本分割为 $N$ 个句子/片段,每个句子再分为 $M$ 个单词。为避免手动特征工程,使用在大规模通用语料上预训练的词嵌入,如腾讯嵌入和 Word2vec。但通用词嵌入无法捕捉特定领域语义知识,因此先使用预训练词嵌入初始化模型,再用电子病历语料进行微调。
##### 3.2 BiLSTM 层
使用 BiLSTM 层综合考虑左右上下文,以获得更好的句子/实例表示。对于每个句子 $S_{ei}$,用隐藏向量 $h_i$ 表示:
$h_i = [h_{i,1}, h_{i,2}, ..., h_{i,j}, ...h_{i,w}]$
其中 $h_{i,j}$ 是句子 $S_{ei}$ 中第 $j$ 个单词的隐藏向量表示,通过拼接前向和后向 LSTM 并进行非线性变换 $\sigma$ 得到:
$h_{i,j} = \sigma([\overrightarrow{h_{i,j}}, \overleftarrow{h_{i,j}}])$
##### 3.3 注意力层
并非所有句子对所有属性提取器都有用,因此使用注意力机制为不同属性提取器选择最重要的实例,动态降低噪声实例的权重。使用 Yang 提出的注意力机制表示所有实例/句子 $h$:
$h = \sum_{i} \alpha_i h_i$
其中 $\alpha_i$ 是实例 $h_i$ 的权重,定义为:
$\alpha_i = \frac{\exp(m_i^T m_s)}{\sum_{i} \exp(m_i^T m_s)}$
$m_i = \tanh(w_s h_i + b_s)$
$m_s$ 和 $m_i$ 是实例/句子级别的上下文向量,可在训练过程中随机初始化并联合学习。
##### 3.4 多任务输出层
使用多任务学习,将所有实例的表示 $h$ 输入不同的输出层,使用 softmax 函数获得多分类结果:
$P_c = \text{softmax}(w_c h + b_c)$
其中 $P_c$ 是任务 $c$ 的预测概率,$w_c$ 是权重参数,$b_c$ 是偏置向量。
##### 3.5 模型训练
使用分类交叉熵作为损失函数,随机梯度下降(SGD)作为优化器。由于数据不平衡,会导致损失贡献严重不平衡,因此为每个任务的损失函数贡献分配不同的权重:
$Loss = \sum_{c=1}^{C} \gamma_c L(t_c, P_c)$
$L(t, P) = -\sum_{i=1}^{N} \sum_{j=1}^{M} t_{i,j} \log P_{i,j}$
其中 $\gamma_c$ 是每个任务 $c$ 的权重,$C$ 是任务总数,$P_{i,j}$ 是概率结果,$t_{i,j}$ 是真实结果,$N$ 是训练样本数,$M$ 是类别数。
#### 4. 实验
##### 4.1 数据
从医院收集电子病历,邀请十名志愿者进行标注,得到 11,818 条带标注的记录,包含五个癌症指标。随机选择 80% 作为训练数据,20% 作为测试数据。任务是提取五个癌症指标的状态,指标状态有{YES, NO, UNKNOWN}三个标签。
##### 4.2 基线方法
将方法及其变体与三种嵌入方法进行比较:
- 腾讯嵌入:在 800 万个中文单词和短语上预训练。
- Word2vec 嵌入:从训练数据中生成词嵌入。
- 微调嵌入:使用训练数据对腾讯嵌入进行微调。
##### 4.3 学习模型
学习模
0
0
相关推荐









