基于联合模型的应急文本分类研究

2022-04-29 03:51许旺
电脑知识与技术 2022年4期
关键词:深度学习

摘要:为解决应急信息数据杂乱无章、缺乏高效管理等问题,通过结合长短时记忆网络(long-term and short-term memory network,LSTM)与卷积神经网络(Convolutional Neural Networks,CNN)两个传统深度学习模型,提出一种基于LSTM-TextCNN联合模型的改进应急文本分类方法。通过收集大量的应急文本作为实验数据集和相应的预处理,运用word2vec模型将应急文本训练成词向量,再以拼接后的词向量表示文本,进而构建出LSTM-TextCNN联合模型以提取文本的抽象特征,最后将提取到的抽象特征输入到softmax分类器中完成应急文本的分类。将基于LSTM-TextCNN联合模型的改进应急文本分类方法分别与传统的分类方法支持向量机(Support Vector Machine,SVM)、单模型LSTM、单模型TextCNN进行对比分析。实例结果表明:基于LSTM-TextCNN联合模型的改进应急文本分类方法在精确率、召回率和F1值三个评价指标上较SVM有明显的提高,体现了深度学习在解决应急文本分类问题中的优越性;基于LSTM-TextCNN联合模型的应急文本分类方法分类效果较单模型LSTM模型或TextCNN模型均好,體现了联合模型的高效性。

关键词:深度学习;应急文本分类;LSTM-TextCNN;word2vec

中图分类号:TP183  文献标识码:A

文章编号:1009-3044(2022)04-0095-05

1 引言与特点

应急信息对于抢险救灾工作起着重要的指导作用。为了从海量的应急信息库中快速获取所需要的关键信息,对应急信息进行分类存在迫切的需要。文本信息较声音与图像信息来说更加易于下载和上传,且占用内存较少,故成为应急信息传递过程中的主要形式,如何对应急文本信息进行高效分类是一个重要的研究问题。

应急文本分类问题主要有两种解决方法:一种是传统的分类方法,包括SVM[1]、邻近算法(K-Nearest Neighbor,KNN)[2-3]等,都是基于传统机器学习的方法,依赖于大量的特征工程;另一种是基于深度学习的分类方法,相比于传统的机器学习分类方法,深度学习可以自我学习文本特征,具有更强的泛化性。近年来国内外众多研究学者给予了深度学习高度关注,对文本分类问题也取得了不少的研究成果。焦李成等人[4]详细阐述了深度学习的发展与应用,并介绍了几种主流的神经网络模型;Kim Y [5]使用CNN模型对电影评论进行分类,然而只设置了一层卷积层,获取的特征信息不够全面;Zhang Y等[6]在卷积神经网络模型的池化层加入了注意力机制,提高了文本分类性能;王根生等人[7]在传统的卷积神经网络基础上加入改进后的TF-IDF算法,对词向量赋予权重。以上三篇文献都使用基于单模型的文本分类方法,提取到的文本特征较为单一,在一定程度上无法准确表示整个文本。Chen等人[8]提出一种将CNN与RNN相结合的文本分类方法;郑飞等人[9]提出一种将LDA与word2vec相结合的文本分类方法,解决了由于文本长度不一致而导致的特征提取困难这一问题;刘心蕙等人[10]把多头注意力机制、胶囊网络以及双向长短时记忆网络等方法结合起来,提出一种基于ATT-Capsule-Bilstm模型的文本分类方法。上述三篇文献将几种模型相结合,获取到更加丰富的文本特征,有效提高了文本分类性能。

综上所述,本文通过结合LSTM与TextCNN两个传统的单模型,提出一种基于LSTM-TextCNN联合模型的改进应急文本分类方法,利用TextCNN模型有效提取文本的局部特征,使用LSTM模型保留特征之间的关联性,通过融合层将其融合,从而获得更加全面细致的文本特征,提升文本分类性能。

2 应急文本分类

2.1 整体流程

应急文本分类主要包括应急文本收集、预处理、文本向量化、神经网络模型训练、输出分类结果五个部分,其流程图如图1。

(1)文本预处理

文本预处理工作主要包括文本分词、去停用词等操作。

(2)文本向量化

经过文本预处理后的词语序列无法直接输入到分类器中,需要将其转化为计算机可以识别的向量形式。传统生成词向量的方法往往会造成维度过大的问题,使用word2vec 方法可以有效避免这个问题,且能够在一定程度上保留词语语意,有利于接下来的分类操作。word2vec模型包括CBOW和Skip-gram两种结构,它们均由输入层、预测层和输出层三层结构组成,如图2。选用哪种结构主要取决于语料集规模的大小,当语料集规模较大时,CBOW结构的性能优于Skip-gram结构,而当语料集规模较小时,则Skip-gram结构优于CBOW结构的性能。

本文选择 Skip-gram 结构训练词向量,其训练目标为通过给定的中心词来预测周围词。词向量训练流程如下图3,用 Skip-gram 模型首先对大量数据进行预训练。

2.2 神经网络模型构建

常用的深度学习模型有自编码神经网络(AE)、卷积神经网络(CNN)、长短时记忆网络(LSTM)和循环神经网络(RNN)等,考虑到应急文本的特点,分类时比较适用的是CNN、RNN和LSTM网络结构。

(1)TextCNN

TextCNN是在CNN的基础上通过设置几种大小不一的卷积核,对不同的局部特征进行提取,使得提取到的特征更具有全面性和多样性[11]。TextCNN的整体架构如图4。

TextCNN是由输入层、卷积层(C1、C2)、池化层(S1、S2)、全连接层以及输出层等基本结构组成。在经过word2vec模型训练后产生了词向量矩阵S,如式(1)所示:

式中:xi是由词经过预训练后的词向量映射得到的。

TextCNN 的核心部分是卷积层,本文中卷积层设置三种大小不一的卷积核,可以分别提取不同的文本特征,卷积的核心公式如式(2)所示:

其中w和b属于模型的超参数,f表示激活函数,一个卷积核完成卷积操作后,得到特征图谱如式(3)所示:

为了防止过拟合且减少训练的参数,在卷积层之后设置池化层,对特征进行聚合统计。本文中采用最大池化方法,其计算过程如式(4)所示:

将所有提取的特征值拼接到一起,形成一个特征向量,应急文本便可以用该特征向量来表示。

(2)LSTM

LSTM通过三种“门”的结构(输入门、遗忘门和输出门)可以决定哪些信息要被遗忘,哪些信息要被保留,这一特性使得LSTM能够获取文本中长距离特征之间的关系,有效弥补了RNN的缺陷,其模型结构如图5。

图中i、f和o分别表示输入门、遗忘门和输出门。LSTM网络结构中单个记忆储存格在t时刻的计算公式如下:

式中⊙为逐点乘运算,W和b分别表示网络结构中的权重矩阵和偏置向量。

(3)LSTM-TextCNN

TextCNN虽然擅长提取局部特征,但无法獲取不同特征之间的依赖关系,对整个文本语义的表示存在一定的局限性。而LSTM虽然能够在提取文本特征的同时保留特征之间的关联性,但在提取文本特征的多样性上稍显不足,且对深层特征的提取还有待提高。因此,为了将两种方法的优点结合起来,本文构建了LSTM-TextCNN联合模型。

LSTM-TextCNN联合模型中分别对LSTM和TextCNN两个单模型进行训练,之后把提取的两种不同的文本特征融合在一起,得到更具全面性和多样性的文本特征,LSTM-TextCNN联合模型的结构示意图如图6。

在LSTM-TextCNN模型的TextCNN部分设置三层网络结构,如图7。第一层为输入层,第二层为卷积层,第三层为池化层。

在LSTM-TextCNN模型的LSTM部分设置四层结构,第一层为输入层,之后两层隐层为LSTM层,将训练之后的词向量矩阵由输入层输入,在LSTM层进行循环计算,激活函数设置为tanh。

在LSTM-TextCNN模型的融合层中使用Keras框架里面的Concatenta函数对两种文本特征进行融合,得到的特征向量记为C。C中包括两个部分,一部分记作C1,即通过TextCNN模型获取到的文本特征,另一部分记作C2,即通过LSTM模型获取到的文本特征。获取C的具体代码为[C=Concatenta(axis=-1)([C1,C2])]

C中既包含了由TextCNN获取的局部特征,又包含了由LSTM获取的上下文语义特征,能够更好地代表整个文本,对提高文本分类的准确率提供了帮助。

全连接中设置两层,第一层为全连接层,第二层为Softmax层。全连接层中加上‘rule’作为激活函数,Softmax层则使用softmax激活函数,将全连接层的结果映射成区间(0,1)之间的值,该值就是划分到某类的概率。Softmax函数如式(11)所示:

式中p表示划分类的概率。

为了加速收敛并防止在训练过程中使模型陷入局部最优解,在LSTM-TextCNN模型中设置损失函数为交叉熵损失函数。交叉熵的公式为:

式中C为代价;x表示实际输入;a表示实际输出;y表示期望输出;n表示输入的总数。

2.3 分类效果评价指标

应急文本分类结果通过准确率p、召回率r和F1值三个指标来评价[5]。假设Tp表示该分类判定正确,FP表示非该类被判定为该分类 ,FN表示该分类被判定为其他类,TN表示非该分类判定正确。

准确率p的计算公式为:

召回率r的计算公式为

由于准确率和召回率相互影响,有时p值越大,r值反而越小,此时无法直接评价分类结果的好坏,故引入F1值。F1值是p值和r值的调和平均数,其计算公式为:

以上三个评价指标的值越大,分类效果也就越出色。

3 实例验证

实验环境是在Windows 10 64位系统Intel-i7 CPU、32GB内存的计算机上进行,开发环境使用的是python3.8语言的Pycharm-professional集成开发工具,词向量训练工具使用Word2vec。

3.1 预处理

本文使用的应急文本数据是从中国应急信息官网、应急管理部官网中获取的8000份应急救援相关的文档资料。将这些应急文本按照应急事件类别分为五类:自然灾害事件、事故灾难事件、公共卫生事件、社会安全事件和其他事件,如表1。从中抽取80%作为训练数据,剩下的20%作为测试数据。

(1)分词、去停用词

本文使用Python中文分词组件jieba分词,将文本信息中的每一个句子拆分成单个词语。本文选用jieba分词中的全模式分词,将可能的分词全部展示出来,以避免错漏关键的词义信息;图8中是一篇2019年7月21日云南省丽江市永胜县发生地震的相关文本,文本格式为txt,对图8中的文档内容进行分词、去停用词后如图9所示。

(2)训练词向量

本文使用word2vec中的 Skip-gram 模型将经过预处理之后的应急文本训练成维度为100的词向量,把词向量拼接成一个序列表示句子信息。

3.2 参数设置

实验是在深度学习框架 Keras 下完成的。TextCNN 部分共设三个卷积层,分别设置三种不同尺寸的卷积核,每个卷积层设置50个卷积核。为了确定解决应急文本分类问题的最佳卷积核尺寸,实验验证了卷积核尺寸为2、3、4、5、6和10时的分类效果,均使用同一数据集以保证实验结果的公平性,结果如表2所示。

通过表2的实验结果可以看出,当卷积核尺寸设为4时文本分类效果最好。若三个卷积层都设置为同一尺寸的卷积核,则会导致提取的文本特征过于单一。因此,本文设置了三种不同尺寸的卷积核。为了选择效果最佳的卷积核组合,以上面实验结果中单个卷积核效果最优的尺寸4为基础,与其他尺寸依次组合得到表3的结果。

由实验结果可知,设置卷积核尺寸组合为3、4、5的时候,文本分类的表现效果最好。故卷积核尺寸设置为3、4、5的组合。

在 LSTM 层中,设置单元数量为50,这些单元都是并列的,droupout参数值设为0.5,在得到特征向量C后,调用Flatten层将多维的特征向量C一维化,后接全连接层,将全连接层的激活函数设置为relu,输出维度设为1。

3.3 实验结果与分析

为了验证LSTM-TextCNN联合模型的分类性能,将其分类结果与传统的分类方法SVM、单模型TextCNN和单模型LSTM进行对比。为了保证实验的公平性,实验均使用同一数据集进行分类。由于模型运行过程中的意外错误会影响到实验结果,故运行模型3次之后取平均值,得到结果如图10所示。

结果显示,相比于传统的分类方法SVM来说,使用单模型TectCNN、单模型LSTM以及LSTM-TectCNN联合模型得到的分类结果在精确率、召回率和F1值三个指标上都有明显的提升,这就表明将深度学习应用到应急文本分类问题中比传统方法的分类效果更好。同时LSTM-TectCNN联合模型的分类结果相较于TextCNN和LSTM两个单模型来说,其精确率、召回率和F1值都是最大的。由此可见,将LSTM和TextCNN两个单模型结合起来构建LSTM-TectCNN联合模型可以有效提高分类性能。其中主要原因是LSTM-TectCNN联合模型将LSTM和TextCNN两种单模型提取到的文本特征融合到了一起,而融合特征对整个文本的表示更加准确全面。

3.4 参数分析

为了进一步分析Droupout参数的取值对应急文本分类结果的影响,对不设置 Droupout参数和将其设置为0.1、0.3和0.5时的模型进行测试,得到结果如图11所示。

结果显示,不设置Dropout参数比设置Dropout参数的模型在精确率、召回率和F1值三个指标上都有降低,其主要原因是设置Dropout参数的模型在训练阶段进行权值调整时,增强了模型在缺少个体之间连接信息条件下的学习能力,很大程度上提高了模型的泛化能力。同时也可以看出,当Dropout参数值取0.3时虽然召回率比取0.5时小,但其他两个指标值都是最高的,从整体上来看,Dropout 参数值取0.3时模型对应急文本的分类效果是最佳的。

4 结束语

本文提出来一种基于LSTM-TextCNN联合模型的改进应急文本分类方法,利用TextCNN模型获取文本的局部特征,使用LSTM模型保留特征之间的关联性,以此得到的综合特征能够更加准确地表示整个应急文本。通过与传统分类方法SVM、单模型LSTM以及单模型TextCNN进行比较,结果表明,LSTM-TextCNN联合模型的F1值优于其他模型,有效提升了分类性能。下一步的研究工作是对文本进行更为细致的多标签分类,并尝试减少模型训练的时间。

参考文献:

[1] Elisseeff A, Weston J.A kernel method for multi-labelled classification[C]//Advances in Neural Information Processing Systems,2002:681-687.

[2] Wang F F,Liu Z,Wang C D.An improved kNN text classification method[J].International Journal of Computational Science and Engineering,2019,20(3):397.

[3] 陆凯,徐华.ML-kNN算法在大数据集上的高效应用[J].计算机工程与应用,2019,55(1):84-88.

[4] 焦李成,杨淑媛,刘芳,等.神经网络七十年:回顾与展望[J].计算机学报,2016,39(8):1697-1716.

[5] Kim Y.Convolutional neural networks for sentence classification[C]//Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP).Doha,Qatar.Stroudsburg,PA,USA:Association for Computational Linguistics,2014.

[6] Er M J,Zhang Y,Wang N,et al.Attention pooling-based convolutional neural network for sentence modelling[J].Information Sciences,2016,373:388-403.

[7] 王根生,黄学坚.基于Word2Vec和改进型TF-IDF的卷积神经网络文本分类模型[J].小型微型计算机系统,2019,40(5):1120-1126.

[8] Chen G B,Ye D H,Xing Z C,et al.Ensemble application of convolutional and recurrent neural networks for multi-label text categorization[C]//2017 International Joint Conference on Neural Networks (IJCNN).May14-19,2017,Anchorage,AK,USA.IEEE,2017:2377-2383.

[9] 鄭飞,韦德壕,黄胜.基于LDA和深度学习的文本分类方法[J].计算机工程与设计,2020,41(8):2184-2189.

[10] 刘心惠,陈文实,周爱,等.基于联合模型的多标签文本分类研究[J].计算机工程与应用,2020,56(14):111-117.

[11] 薛涛,王雅玲,穆楠.基于词义消歧的卷积神经网络文本分类模型[J].计算机应用研究,2018,35(10):2898-2903.

收稿日期:2021-08-25

作者简介:许旺(1996—),男,甘肃武威人,硕士研究生,研究方向为深度学习、铁路运输组织。

猜你喜欢
深度学习
从合坐走向合学:浅议新学习模式的构建
基于自动智能分类器的图书馆乱架图书检测
搭建深度学习的三级阶梯
有体验的学习才是有意义的学习
电子商务中基于深度学习的虚假交易识别研究
利用网络技术促进学生深度学习的几大策略
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
构建“单元整合、主题牵引”诗歌鉴赏“深度学习”课堂的策略