您好,欢迎来到尔游网。
搜索
您的当前位置:首页基于字词混合向量的CNN-LSTM短文本分类

基于字词混合向量的CNN-LSTM短文本分类

来源:尔游网
计算机应用技术信息技术与信息化基于字词混合向量的CNN-LSTM短文本分类

张默涵*

ZHANG Mo-han 摘 要 本文我们提出了一种基于字词向量混合的CNN-LSTM神经网络模型,并对输出层的损失函数进行正则化,

提升了模型的训练效果,在NLPCC2017的新闻标题分类数据集上达到了82.65%。并且实验结果也表明,损失正则化的基于字词混合向量的CNN-LSTM神经网络模型相较于其他单一输入,非损失正则化的神经网络模型,其特征能力提取更强,最终的分类效果更好。

关键词 文本分类;字向量;词向量;深度学习

doi:10.3969/j.issn.1672-9528.2019.01.022

0 引言

本文我们使用了一种深度学习模型来解决中文的短文本分类问题,中文的短文本分类问题是自然语言处理领域(NLP)中的一个经典的问题,其研究具有很重要的意义,研究成果可以应用在情感分类,意图识别等领域。在短文本分类中最关键的问题是文本特征的提取,传统的特征提取方法诸如 词袋模型、LDA等会忽略文本中的上下文关联信息从而不能准确获取词汇的语义。

近年来由于神经网络其强大的特征自动提取能力,在图像和自然语言处理方面有着很广泛的应用,并取得了很好的成绩。在短文本分类领域,卷积神经网络(convolution-al neural network,CNN)和长短期记忆神经网络(long short-term memory neural network,LSTM)是两个主流的神经网络模型,效果非常显著。

对于文本分类任务,CNN在文本中的不同位置使用相同的卷积核进行卷积,可以很好地提取n-gram特征,通过池化学习文本的短期和长期关系。LSTM可以用来处理任意长度的序列,并发现其长期依赖性。总的来说,CNN从时间或空间数据中学习局部响应,但缺少学习序列相关性的能力,而LSTM用于序列建模,但不能并行地进行特征提取。

本文我们使用了一种新的深度神经网络结构C-LSTM,通过结合CNN和LSTM进行语句建模。C-LSTM是端到端的、统一的网络结构,把最后一层CNN的输出结果,输入到LSTM中,如图1所示。我们首先通过学习大量无标签的文本数据来获得n-gram的高层表示,构建词向量,并输入到CNN中。之后把CNN学习产生的特征图重新组织为序列窗口特征,输入到LSTM中,便可以从高层序列表示中学习序列相关性。* 同济大学计算机科学与技术系 上海 201800

772019年第1期feature mapswindow feature sequence山东实现城乡卫生一体化L*dLSTM图1 用于语句建模的C-LSTM网络结构。

如上图所示,特征图中和窗口特征序列层中的相同颜色块对应同一个窗口的特征。我们用虚线连接窗口特征和其对应的特征图来源。整个模型最终的输出是LSTM的最后一个隐藏单元。

为了应用神经网络结构对句子进行语句建模,常用的方法是使用word2vec,将句子转换成词嵌入序列。中文和英文语句建模方法存在差异,英文语句建模只需要使用词嵌入,但考虑到中文的单个汉字也包含重要的语义,因此我们分别训练词嵌入和字嵌入,使用词语和字作为文本序列的to-ken。

在我们的实验中我们得到如下结果。C-LSTM神经网络比单个的CNN模型或单个的LSTM模型更有效。而字词向量混合(Character-Word Mixed Embedding, CWME)可以有效地提高中文新闻标题分类任务的分类表现,相比基准测试模型在准确率上有3%的提高。

信息技术与信息化计算机应用技术本文的其余工作如下:在第二部分中,我们将阐述本次研究工作中使用的模型结构,在第三部分中,我们将展示实验结果和讨论,在第四部分中,我们最后给出一些结论。1 模型结构

在本部分中,我们将介绍本文提出的针对中文新闻标题分类问题的深度学习模型,以及字词混合向量的具体构造方式。图2展示了我们模型的全部结构。1.1 面向中文新闻标题分类的词嵌入

对于使用神经网络结构的中文新 闻标题分类,词嵌入是

必要的输入之一。我们使用已有词语级训练数据集语料库,通过word2vec方法产生每个词对应的词嵌入向量。对于在训练数据集中未出现的词,我们使用全零向量表示它们。在我们的实验中,所有的词的词向量在训练中都会进行更新,作为模型训练过程中的一部分。1.2 面向中文新闻标题分类的字嵌入

与词嵌入的训练过程类似,我们也使用已有的单字级训练数据集语料库来训练字嵌入。字嵌入包含的语义信息是在每个字都可的作为一个词的假设下成立的。

Textx₁x₂ x₃xₙ Character embedding lookup tableWord embedding lookup tableEmbedding layerCharacter embedding sequenceWord embedding sequenceConvolutional layerCharacter Convolutional layerWord Convolutional layerCharacter sequential window featuresWord sequential window featuresLSTM layerCharLSTMCharLSTMCharLSTMWordLSTMWordLSTMWordLSenseOutput layerTag图2 用于中文新闻标题分类的总体神经网络结构

2019年第1期78计算机应用技术信息技术与信息化1.3 卷积神经网络层

词语级卷积层使用的是一维卷积层,一维卷积使用多个卷积核向量在序列上滑动,检测不同位置的特征。一维卷积层用来自动提取特征或发现模式。

为句子中第i个词(字)的d维词(字)向量,为长度为L的句子。设k为卷积核的长度,向量是进行卷积运算的卷积核。对于句子中的每个位置j,

我们建立一个窗口向量,由连续的k个词(字)向量组成,记为:

卷积核m对每个位置的窗口向量(k-grams)进行卷积,有效地产生特征图,每个窗口向量对应的特征图

为:

其中是元素乘法,是偏置项,f是一个非线性变换

函数,可以选用sigmoid,tanh等。在我们的实现中,选用RELU作为非线性函数。此外,在卷积层我们同时使用多个卷积产生多个特征图,并使用最大化池化作用到特征图上来选择最重要的特征。1.4 长短期记忆网络层

长短期记忆网络(LSTM)结构有若干个对应每一时刻的重复模块,与标准的循环神经网络(RNN)类似。在每一时刻,模块的输入为上一时刻的隐藏状态

,以及当前时刻的输入

,输出由中的一系列门函数控制,包括遗忘门,输入门和输出门。这些门共同控制更新当前记忆单元和当前隐藏状态的方式。我们使用来表示LSTM中记忆的维度,并且在这个网络结构中所有的向量都是相同的维度。LSTM变换函数定义如下:

这里是逻辑sigmoid函数,输出在内;

表示双

曲正切函数,输出在

内;表示元素乘法。我们可把

看作这样的函数,控制在多大程度上丢弃老的记忆单元内容;控制在多大程度上将新信息存入当前记忆单元中;控制基于记忆单元的输出。

LSTM是明确地为时序数据学习长期依赖而设计的,因此我们在卷积层之后选用LSTM来学习一系列高层特征的依赖关系。1.5 稠密层

稠密层的主要功能是整合单字级LSTM和词语级LSTM。

792019年第1期设单字级LSTM的输出向量为,词语级LSTM的输出向量为,那么稠密层的神

经元表示如下:

在公式中,是一个非线性激活函数,具体而言我们选用RELU函数。稠密层中每个神经元的权重都各不相同。稠密层的最终输出为

,作为进行分类的句子的特征向

量。最后我们通过使用softmax回归得到句子的最终标签。2 实验2.1 实现

我们使用Keras实现本文提出的模型。Keras是一个可以高效实现符号微分和GPU的透明化利用的python库。我们在GPU上训练模型,这样可以采用高效的张量并行化计算,加速训练。

2.2 数据集

表1 类别信息

CategoryTrainDevTestentertainment1000020002000sports1000020002000car1000020002000society1000020002000tech1000020002000world1000020002000fi nance1000020002000game1000020002000travel1000020002000military1000020002000history1000020002000baby1000020002000fashion1000020002000food1000020002000discovery400020002000story400020002000regimen400020002000essay400020002000我们选择使用NLPCC任务2给出的数据集,这个数据集中包含从若干中文新闻网站收集的数据,例如今日头条,新

浪等。

数据集包含18种新闻类别,具体类别如表1所示。所有的句子都通过python中文分词工具jieba进行分割。

大多数标题的字数少于40,平均字数为21.05。标题的词语数则更少,大多数标题包含的词语数不足20,平均词语数为12.07。2.3 评价指标

本文实验使用宏平均p值,召回率和F值作为评价指标,具体计算公式如下:

具体而言,表示类别总数,是第类中正确分类的数目,是第类中所有分类的数目,是第类中测试数据的数目。2.4 结果和讨论

本实验测试结果如下表所示。表2记录了我们的模型在测试数据集上的运行结果,并与比赛提供的基准测试模型进行比较。

表2 本文提出的模型与基准测试模型在测试数据集上的测试

结果

ModelMacro PMacro RMacro FAccuracyLSTM0.7600.7470.74970.747CNN0.7690.7630.70.763NBOW0.7910.7830.7840.783Mixed embedding

CNN-LSTM

0.81575

0.8165

0.81614

0.8165

最终结果表明,我们提出的模型的宏平均p准确度达到了0.81575,与基本的CNN,LSTM,NBOW等基准测试模型相比有明显的提高。此外,为了进一步研究字词向量混合,以及更多的神经网络结构的分类结果,我们设计了一个更具体的对比试验。我们仍然使用比赛提供的训练数据集训练模型,并在交叉验证数据集上测试这些模型。测试结果如表3所示。其中,词嵌入模型只使用词向量作为输入,字嵌入模型只使用字向量作为输入。

表3 基于不同嵌入的多种神经网络结构在交叉验证数据集上

的测试结果。Model

AccuracySingle CNN with word embedding0.7805Multi ple CNN with word embedding0.78036Unidirecti onal LSTM with word embedding0.78408B idirecti onal LSTM with word embedding0.77956CNN_LSTM with word embedding0.78075Single CNN with char embedding0.77536Multi ple CNN with char embedding0.77533U nidirecti onal LSTM with char embedding0.75919B idirecti onal LSTM with char embedding0.75730CNN_LSTM with char embedding0.761M

ixed embedding CNN_LSTM0.8131

从上述实验结果中我们可以得出如下结论:(1)在上述多种神经网络结构中,CNN-LSTM混合模型的表现更好。(2)只使用词向量的词嵌入模型比只使用字向量的字嵌入模型更好。(3)使用字词向量混合的CNN-LSTM神经网络模型表现

信息技术与信息化计算机应用技术最优。3 结论

本文提出了一种面向中文新闻标题分类问题的,基于字

词向量混合的CNN-LSTM神经网络。CNN-LSTM模型通过卷积层学到短语级别的特征,之后将这样高层特征的序列输入到LSTM中来学习长期依赖。我们使用字词向量混合方法来生成文本向量。实验结果表明,基于字词向量混合的CNN-LSTM模型与基本的深度学习文本分类方法相比有明显提高。除此之外,我们的模型拥有良好的泛化能力。除中文新闻标题分类外,该模型无需做出太多变动即可应用到其他中文文本分类问题中。

参考文献:

[1] Bengio, Y., Ducharme, R., Vincent, P., Jauvin, C.: A neural probabilistic language model. journal of machine learning re-search 3(Feb) (2003) 1137-1155

[2] Mikolov, T., Sutskever, I., Chen, K., Corrado, G.S., Dean, J.: Distributed representations of words and phrases and their com-positionality. In: Advances in neural information processing sys-tems. (2013) 3111-3119

[3] Kim, Y.: Convolutional neural networks for sentence classifi -cation. arXiv preprint arXiv:1408.5882 (2014)

[4] Kalchbrenner, N., Grefenstette, E., Blunsom, P.: A convolu-tional neural network for mod-elling sentences. arXiv preprint arXiv:1404.2188 (2014)

[5] Lee, J.Y., Dernoncourt, F.: Sequential short-text classifi cation with recurrent and convolu-tional neural networks. arXiv preprint arXiv:1603.03827 (2016)

[6] Mikolov, T., Chen, K., Corrado, G., Dean, J.: Effi cient estima-tion of word representations in vector space. Computer Science (2013)

[7] Hochreiter, S., Schmidhuber, J.: Long short-term memory. Neural computation 9(8), 1735{1780 (1997)

[8] Cui, Y., Chen, Z., Wei, S., Wang, S., Liu, T., Hu, G.: Attention-over-attention neural net-works for reading comprehension. arXiv preprint arXiv:1607.04423 (2016)

(收稿日期:2019-12-17)

2019年第1期80

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- axer.cn 版权所有 湘ICP备2023022495号-12

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务