基于Word2Vec与LSTM病历文本分类研究

2023-11-14 08:05周海权舒德胜
现代计算机 2023年17期
关键词:病历向量神经网络

王 捷,陈 超,周海权,舒德胜,黄 豪

(四川轻化工大学计算机科学与工程学院,宜宾 644000)

0 引言

互联网的不断发展使得互联网信息量急剧增加,文本作为主流的信息承载方式,拥有巨大的潜在价值。在医疗诊断方面,电子病历作为有效的患者病情描述媒介,通过文本自动分类技术实现非结构化电子病历文本数据的规范化,利用文本挖掘技术挖掘描述数据的有效信息并对病情类别自动分类,能够有效减少当前医疗系统的压力,具有较好的社会效益。

近些年来,科研人员对文本分类算法研究不断深入,产生了很多有效的文本分类方法,Zhang 等[1]利用独热表示方法(one-hot representation)把文本表示为向量,通过支持向量机与反馈神经网络结合对文本分类;Paccanaro 等[2]提出词嵌入模型(word embedding);龚静等[3]使用一种对ti-idf 算法加权的方式来提取相关特征,随后使用朴素贝叶斯网络对特征分类;豆孟寰[4]使用n-gram 统计语言模型对文本进行分类;Bengio等[5]提出了用神经网络的方式来构建语言模型。但是对于数据稀疏以及数据之间相似度比较大的数据集,采用上述方法会导致一定程度的精度损失。Lilleberg 等[6]利用Word2Vec 提取相关语义,然后使用SVM 进行文本分类,但是SVM 的训练速度受数据量的影响较大,有一定的局限性。

RNN 引入循环核的概率,对于处理上下文联系较大的数据有一定的优势,而中文文本就完美符合该特征,同时LSTM[7]作为RNN 的衍生,在RNN[8]的基础上添加了门控神经单元,有效地避免RNN 在更新下一次输入时由于时间间隔太长导致特征丢失而带来的模型梯度问题,具有更加有效的记忆功能。

本文在上述基础上,使用Word2Vec 处理文本得到下一步的向量输入,同时使用LSTM 分类算法来对病历文本进行分类。

1 研究方法

1.1 基于WWoorrdd2VVeecc训练词向量

Word2Vec 采用了Hierarchical Softmax 或Negative Sampling 两种技术来提高训练词向量的性能,本文采用的是基于Hierarchical Softmax 的Skip-Gram模型,训练模式选用CBOW 模型。

该模型包含三层,分别是输入层、投影层以及输出层,输入层包含2c个长度相同的词向量组成作为模型的输入,投影层将输入层输入的词向量累加求和得到均值Xw。输出层是用哈夫曼树构建的,其中白色叶子节点对应的是词汇列表当中的词,蓝色叶子结点的作用相当于深度神经网络(DNN)当中隐含层到输出层的映射函数W′。相比较于传统DNN 网络模型,Word2Vec 有以下改进:首先去除了隐含层,隐含层的作用是其激活函数对于处理非线性十分擅长,但文本数据是强线性相关的,去除隐含层有助于简化模型结构;其次是降低了模型计算量,使用哈夫曼[9]替换了原DNN 当中的softmax,在哈夫曼树当中,不需要计算非叶子节点代表的向量,只需要计算在寻找目标节点时经过路径上存在的节点。

图1 Word2Vec模型结构

1.2 计算文本向量

文本库当中的文本长度分布在15~300个词之间,将Word2Vec 训练出来的每个词的词向量相加然后求平均值,再采用tf-idf、bag-of-words模型对文本进行分类,最后得到结果向量。bag-of-words 模型统计文本集当中出现的词的频率,词每出现一次就把字典当中对应词所表示的数值加1,例如{“感冒”“发烧”“胸闷”“头痛”“牙疼”}这个字典,那么文档“我今天好像发烧了,头痛,是不是感冒了”可以表示为[1,1,0,0,1,0]。而tf-idf 模型在前者的基础上为关键词添加权重,例如在电子病历文本处理当中“头痛”“不舒服”等都是描述症状词,但是“头痛”所表达的含义明显对模型能够准确分类更加有益,其具体公式如(1)所示。

其中:N表示的是所有文本数量,Nt表示的是含有词t的文本数量,但是这两个模型的缺点是对于语义相似词的处理不恰当,例如“头疼”与“头痛”这两个词在语义上完全相似,但是通过tf-idf 与bag-of-words 模型表示出来的空间向量却相距甚远,对最终模型的准确度有一定的影响。

1.3 LLSSTTMM分类算法模型

在深度学习领域当中,“长期依赖”的问题普遍存在,例如典型的RNN 模型,该问题产生的主要原因是当前神经元迭代的次数过多,导致距离当前时间点较长时间片的文本特征被覆盖,进而导致模型产生梯度问题,无法准确地表示文本信息。LSTM作为RNN的变体,引入了门(gate)机制来控制模型特征的流通和损失,从而可以有效避免“长期依赖的问题”。

2 实验结果分析

本数据集包含50000文档数量,按照种类标签均匀分布为5 份,在这里采用交叉验证的方法,文本分类算法使用LSTM 算法,随后分别采用Word2Vec、tf-idf、bag-of-words 模型提取文本向量作为LSTM 的输入,由结果可知,基于Word2Vec 与LSTM 的文本表示方法的精确率、召回率以及正确率均高于其它两种方法。

接下来,继续使用Word2Vec 提取文本向量作为模型输入,然后分别使用支持向量机(SVM)、卷积神经网络(CNN)、长短期记忆神经网络(LSTM)分类算法进行结果对比,SVM 求解的是二次规划问题,在这里使用梯度下降的方式来获取最佳SVM 参数,CNN 的特点在于它的局部感知机制以及权值共享机制,在实验中,卷积层与池化层包含的神经元个数为256个,全连接层的神经元个数设置为病历文本种类的个数用于文本分类,实验分别采用准确率与损失率作为模型评估指标,模型迭代次数定为10次,其表示如图2和图3所示。

图2 模型准确率

图3 模型损失率

如图2、图3 以及表1 所示,基于Word2Vec与LSTM 模型的文本分类的准确率最高,损失率也达到最小,现实中深度学习网络CNN 模型能够自动提取模型特征,对于较复杂特征的自学习能力高,效率也有保障。长短期记忆神经网络LSTM 模型的记忆功能更加有利于相邻位置的信息重构,对于处理音频、文本等序列化数据表现良好,在自然语言方向应用广泛。表1的数据也可以充分证明LSTM 在处理文本分类当中的有效性。

表1 基于不同分类算法在不同集合上的分类结果

3 结语

本文构建了一种基于Word2Vec+LSTM 的文本分类模型,首先在训练词向量方面,为了解决文本稀疏问题以及文本相似问题选取Word2Vec 模型训练文本向量作为模型输入,通过与tf-idf 模型以及bag-of-words 模型进行比较,发现Word2Vec 模型在解决文本稀疏以及相似度较高的问题上表现优异。为了解决模型在训练过程中由于“长期依赖”而导致的梯度问题,本文采用长短期记忆神经网络LSTM,作为RNN的一个分支,它在RNN 的基础上添加了门控神经单元,能够根据设定值有选择地选取下一个时间片输入的文本向量,实验与CNN 以及SVM进行比对,结果显示Word2Vec+LSTM 模型在表现上明显优于其它模型。因此,基于Word2Vec+LSTM 的文本分类模型在电子病历文本分类方面有一定的实用价值,能够有效提高医疗系统在电子病历归档、分类等相关方面的处理效率。

本文所使用的文档标签是通过相关人员进一步处理筛选而来,所以主观性较强,因此文本分类结果可能存在争议性以及不确定性等问题,有待后续改进。

猜你喜欢
病历向量神经网络
向量的分解
强迫症病历簿
聚焦“向量与三角”创新题
“大数的认识”的诊断病历
神经网络抑制无线通信干扰探究
为何要公开全部病历?
向量垂直在解析几何中的应用
基于神经网络的拉矫机控制模型建立
向量五种“变身” 玩转圆锥曲线
复数神经网络在基于WiFi的室内LBS应用