2. 中国石油天然气管道工程有限公司, 河北 廊坊 065000;
3. 沈阳医学院附属中心医院, 辽宁 沈阳 110024;
4. 深圳技术大学 健康与环境工程学院, 广东 深圳 518118
2. China Petroleum Pipeline Corporation, Langfang 065000, China;
3. The Central Hospital Affiliated to Shenyang Medical, Shenyang 110024, China;
4. College of Health Science and Environmental Engineering, Shenzhen Technology University, Shenzhen 518118, China. Corresponding author: KANG Yan, E-mail: 869242265@qq.com
近年来, 深度学习在自然语言处理中得到了进一步发展和研究.基于深度神经网络模型实现了在计算机视觉、语音识别、情感分析、自然语言处理等众多领域的应用, 同时在各个领域实现了接近甚至超越人类的水平.同时, 深度神经网络模型在智能医疗领域得到了长足发展(智能问诊、可穿戴医疗设备、智能诊断等).各大研究机构、团体和科研平台频繁发布大规模标注数据集以及提出了Word2Vec等分布式词向量模型, 各种改进的深度神经网络模型在智能医疗领域中不断刷新出更好成绩, 其中有很多关键因素如改进模型结构、引入注意力机制的方法等, 可以为文档和对象的高层次表示的学习提供更多更高维有效的信息.这对医疗文本精确分类提供了可靠的保障和前提.
随着深度神经网络模型的迅速发展, 以及深度神经网络模型在自然语言处理中取得的突出成果, 两大主流网络:递归神经网络(recurrent neural network, RNN)和卷积神经网络(convolutional neural network, CNN)已成为自然语言处理任务的两种主要模型, 由于RNN在自然语言处理中表现出了杰出性能, 尤其在阅读理解和关系推理中取得了成功[1].因此本文主要研究并对比RNN相关网络模型.
现有的文本分类研究工作包括:Vaswani等提出的文本注意力机制并详细描述其实现方法[2];文献[3-5]在注意力机制文本分类上进一步推广;文献[6-8]分别对循环神经网络模型在文本分类中的应用进行了详细的探讨;Huang和Turian等提出改进的词向量模型方法能够提高文本分类精度[9-10];许飞飞等提出一种改进的深度神经网络模型用以文本分类[11].
医疗文本包含了大量丰富的医疗信息(诊断报告、影像报告等), 是进行疾病预测、个性化信息推荐、临床决策支持等的重要文本资源[12-13].深度学习模型的发展成为了更好分析医疗文本的重要工具.医疗文本分类最终目的是希望从大量非结构化的自由文本中提取重要信息并加以分析利用[14-15], 为医生的诊断和用药决策提供建议.
本文选择采用RNN更为先进的改进网络——GRU(gate recurrent unit)网络作为文本处理的基本网络, 为了让提取局部特征以及上下文特征能够关注到非局部特征之间的依赖, 本文在GRU神经网络的前端加入一层LSTM(long-short term memory)提取文本特征, 后端引入自注意力(self-attention)机制定位分类特征, 从而建立了LS-GRU网络文本分类模型.与传统的GRU及LSTM相比, 本文方法解决了GRU网络提取特征信息不足及定位特征不准确的问题.
1 实验数据和实验方法实验数据来源于沈阳医学院附属中心医院2015—2018年呼吸科影像报告, 选择了其中1 168例患者的影像报告(肺气肿约652例, 肺炎516例)用于模型训练.
如图 1所示, 实验数据来源于影像报告中的“临床诊断、影像描述”, 其中临床诊断作为训练神经网络模型的标签数据, 影像描述数据作为训练神经网络模型的输入.
据2018年卫计委统计报告显示, 全国医疗卫生机构总数达997 434个, 其中:医院33 009个, 基层医疗卫生机构943 639个, 专业公共卫生机构18 034个.如表 1所示, 其中基层卫生机构约占全国总机构数的96%, 为解决基层医院影像医生撰写影像诊断报告的能力较低的问题, 尤其对大量的基层医院影像科医生, 无法准确判断影像中的表现是何种疾病, 基于影像描述的自动判断疾病的功能将可以大大提高影像科医生的判断.
本文提出一种改进的深度神经网络模型用于自动判断影像疾病.该方法通过对1 168例患者影像报告(14 747个影像句子描述)分析训练, 能够很好地对影像描述进行较准确的判断.训练过程中对数据集按比例6:2:2分配训练集、验证集和测试集, 该过程为随机选取, 分配后各数据集中正负样本比例保持不变.
2 模型构建 2.1 主要问题及解决思路基于影像报告的疾病分类属于一种文本分类问题, 其关键是训练基于医疗文本的词向量模型和构建医疗文本分类网络.基于医疗文本的词向量模型和针对医疗文本分类的深度神经网络模型可以对医疗文本专业术语进行更好地分类, 可以获得更好的分类效果.
本文词向量训练采用google word2vector的原理和方法, 文本分类模型选择GRU网络与LSTM网络结合.具体模型细节如下:
LSTM网络:长短记忆神经网络通常称作LSTM, 是一种特殊的递归神经网络模型, 能够学习长的依赖关系.由Hochreiter提出[7], 并被许多人进行了普及和改进.目前LSTM被很好地应用在文本处理中, 图 2为LSTM网络结构.LSTM中有3个控制门在t时刻输出:遗忘门(ft), 输入门(it), 输出门(ot).
GRU网络是LSTM深度网络模型的一个变体, 但它只拥有两个门:更新门和重置门, 即图 3中的zt和rt.更新门用于控制上一时刻的输出信息被带入到当前状态中的程度, 带出当前时刻状态信息的程度与更新门的值成正比, 值越大带出信息程度越大.重置门作用与更新门相反, 带入的信息与值成反比, 值越小忽略的程度越大.
因文章重点在模型的设计, 因此在2.2节中对模型构建过程进行详细介绍.
2.2 模型框架本文提出的LS-GRU模型采用LSTM+GRU+Self-attention的架构.如图 4所示, LS-GRU模型分为4层:第一层为拼接层, 将所有词向量拼接为句子向量, 句子向量拼接为整个影像描述段落向量;第二层为特征预提取, 经过一层LSTM网络, 将段落进行预筛查获取;第三层为GRU深度分析层, 该层主要负责对文本特征的学习与提取, 将LSTM网络预处理得到的特征进行深度学习;第四层为自注意力层, 用来定位关键特征信息, 如血管床模糊、高密度影等重要特征信息.
本文选择将句子作为神经网络训练的基本单元, 由拼接层输入到LSTM层的数据为
(1) |
其中:X为输入网络的文档数据; NBS为一次输入训练的文档个数; NPL为段落长度,即句子的个数; NSL为句子长度,即词的个数; LWV为词的长度,即词向量的长度.最终输入预提取层数据为一个[NBS; NPL; NSL; LWV]的矩阵.
输出层Y是一个[NBS, 2]大小的矩阵, 文中采用onehot编码方式, 分类结果为[0, 1]和[1, 0], 分别代表了慢阻肺和肺炎两种临床慢性病.对于预测结果和真实结果之间的判断采用交叉熵计算.深度学习优化器选择Adam优化算法, 并且引入了二次方梯度矫正方法, 能够在一定程度上避免出现震荡和梯度消失.
自注意力层:查询矩阵、键矩阵和值矩阵分别用Q,K和V表示, 这3个矩阵均来自最后一层GRU网络的输出h0, 整个自注意力计算过程如图 5所示:首先计算Q与K之间的点乘, 在计算过程中为了防止其结果过大, 会用一个尺度标度
(2) |
Attention(Q, K, V)用来做最终文本分类.该方法可以计算句子中其中一词与其他所有词的相关度, 从而将目标定位到感兴趣的词.
文中分类算法的性能通常采用准确率进行测评, 计算公式如下:
(3) |
准确率越高, 算法分类效果越好.
3 实验 3.1 模型训练在模型训练时, 本文分别基于词向量分类模型和基于句子向量分类模型进行了训练和测试.基于词向量的分类模型是指训练时将文档分割成一系列词,并将词输入深度神经网络训练的方法;基于句子向量分类模型是指将词向量以句子形式作为整体输入深度神经网络中进行训练的方法.
在计算词向量时对特殊字符进行筛选, 删除了重复标记、乱码等特殊字符, 然后使用jieba分词工具进行分词.句子向量是将词向量进行拼接成固定长度, 送入网络进行训练.
本文代码基于tensorflow1.9, 并且在具有NVIDIA GeForce GTX 2070的服务器上进行训练, 单模型训练时占用内存约6.7 GB, 约需训练19 h.模型训练过程中使用的超参数如表 2所示.
模型参数设置:输入为50个段落影像描述,经过拼接层,对段落进行分词、分句,最后进行规整化处理得到[50,48,27,30]矩阵训练作为提取层输入,50为Bath_size大小,48为段落中句子最大长度,27为句子中词的最大个数,30为Word_embedding_dim词向量维度;0.001为Learning_rate模型学习率,0.5为Dropout深度网络神经元丢弃的概率,即随机失活率.预提取层采用LSTM结构,隐含单元设置为50,输出为[50,48,27,50],同时将其作为GRU输入.经过第三层的深度分析层后,LS-GRU网络输出变为[50,48,50],并将该结果作为图5的查询、键和值输入到自注意力层(Self-attention)进行关键信息定位处理.自注意力层输出向量为[50,48,50],输入softmax可得到[50,2]结果矩阵.
本文模型训练流程见表 3.
本文实验记录了每一个模型在验证集和测试集的精度, 如表 4所示.
从表 4中可以看出, ①基于句子为单位训练的模型相比以词为单位训练的模型效果要好.因为医疗影像报告的叙述简单、明确, 不像新闻媒体、对话等自然语言含有很多情感词.同时医疗文本词与词之间也同样具有较强关联性, 因此将句子作为整体相比单个词训练的网络较为准确.②模型网络相比单一网络精确度要高.其原因是由于在网络前端和后端分别加入LSTM和Self-attention后能够更加准确地定位关键信息.
由图 6可以看出, 本文提出的方法相比其他模型收敛速度更快,且在更早时间达到最佳训练结果.
本文以GRU网络和LSTM网络结构为基础进行改进, 提出了LS-GRU网络模型.该模型对1 168例医疗影像报告进行文本分类获得了0.733 3的分类精度.本文提出的网络模型是在GRU网络前端和后端分别加入了LSTM和Self_attention结构, 发现其精度相比单一网络要好, 因此对数据的预处理和注意力机制有利于文本的分类.
同时也对其他网络结构进行了实验, 基于双向GRU神经网络和双向LSTM网络的文本分类, 虽然取得了类似于单一网络相当的结果, 但网络复杂度相对较高, 与本文网络结构相比占用的资源和时间都较大.近年来胶囊网络在自然语言处理中得到很大发展, 这将作为下一步研究的内容.
[1] |
Yu S, Indurthi S R, Back S, et al.A multi-stage memory augmented neural network for machine reading comprehension[C]//Proceedings of the Workshop on Machine Reading for Question Answering.Melbourne, 2018: 21-30.
|
[2] |
Vaswani A, Shazeer N, Parmar N, et al.Attention is all you need[C]//Advances in Neural Information Processing Systems.Long Beach, 2017: 5998-6008.
|
[3] |
Lin Y, Shen S, Liu Z, et al.Neural relation extraction with selective attention over instances[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics.Berlin, 2016: 2124-2133.
|
[4] |
陈志豪, 刘子辰, 邱大伟, 等. 基于注意力和字嵌入的中文医疗问答匹配方法[J]. 计算机应用, 2019, 39(6): 1639-1645. (Chen Zhi-hao, Liu Zi-chen, Qiu Da-wei, et al. Chinese medical question-and-answer matching method based on attention and word embedding[J]. Computer Application, 2019, 39(6): 1639-1645.) |
[5] |
张浩宇, 张鹏飞, 李真真, 等. 基于自注意力机制的阅读理解模型[J]. 中文信息学报, 2018, 32(12): 125-131. (Zhang Hao-yu, Zhang Peng-fei, Li Zhen-zhen, et al. Self-attention based machine reading comprehension[J]. Journal of Chinese Information Processing, 2018, 32(12): 125-131.) |
[6] |
Kowsari K, Brown D E, Heidarysafa M, et al.Hdltex: hierarchical deep learning for text classification[C]//2017 16th IEEE International Conference on Machine Learning and Applications.Cancun: IEEE, 2017: 364-371.
|
[7] |
Hochreiter S. The vanishing gradient problem during learning recurrent neural nets and problem solutions[J]. International Journal of Uncertainty, Fuzziness and Knowledge-Based Systems, 1998, 6(2): 107-116. |
[8] |
Zhou P, Shi W, Tian J, et al.Attention-based bidirectional long short-term memory networks for relation classification[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics.Berlin, 2016: 207-212.
|
[9] |
Huang E H, Socher R, Manning C D, et al.Improving word representations via global context and multiple word prototypes[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics.Jeju Island, 2012: 873-882.
|
[10] |
Turian J, Ratinov L, Bengio Y.Word representations: a simple and general method for semi-supervised learning[C]//Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics.Uppsala, 2010: 384-394.
|
[11] |
许飞飞, 应俊, 宋亚男, 等. 基于深度学习的慢性阻塞性肺病与哮喘-慢性阻塞性肺疾病重叠分类[J]. 中华医学图书情报杂志, 2019, 28(2): 45-49. (Xu Fei-fei, Ying Jun, Song Ya-nan, et al. Deep learning-based classification of chronic obstructive pulmonary disease and asthma-chronic obstructive pulmonary disease overlap syndrome[J]. Chinese Journal of Medical Library and Information Science, 2019, 28(2): 45-49.) |
[12] |
周阳.基于机器学习的医疗文本分析挖掘技术研究[D].北京: 北京交通大学, 2019. (Zhou Yang.Research on medical text analysis and mining technology based on machine learning[D]. Beijing: Beijing Jiaotong University, 2019. ) |
[13] |
孟曼, 韦庆玥, 陈时光. 医疗文本分类机器学习方法研究[J]. 计量与测试技术, 2018, 45(12): 66-69. (Meng Man, Wei Qing-yue, Chen Shi-guang. A study of machine learning algorithms applied to medical text classification[J]. Metrology & Measurement Technique, 2018, 45(12): 66-69.) |
[14] |
Lodhi H, Saunders C, Shawe-Taylor J, et al. Text classification using string kernels[J]. Journal of Machine Learning Research, 2002, 2(3): 419-444. |
[15] |
Aggarwal C, Zhai C. A survey of text classification algorithms[M]. Boston: Springer, 2012: 163-222.
|