APP下载

卷积神经网络在中文问题分类中的应用

2018-12-10籍祥

软件导刊 2018年9期
关键词:卷积神经网络

籍祥

摘要:问答系统是自然语言处理领域一个非常热门的研究方向,问题分类是问答系统非常重要的环节。传统问题分类需要人工制定特征提取策略并不断优化特征规则,该方法准确率不高且费时费力。传统卷积神经网络模型先通过卷积核提取能表示问句特征的向量,再经过maxpooling后得到一个特征值,并未考虑句子的结构信息,在训练时容易发生过拟合。针对上述问题,采用分段池化操作,引入句子结构信息,在不同分段上提取句子的主要特征并加入Dropout算法,提高模型的泛化能力,防止模型过拟合。实验结果表明,该方法能提高模型准确率,在TREC 6分类问题数据集上准确率高达89.2%,在银行57分类数据集上准确率也达到了64.5%。

关键词:问题分类;word2vec;卷积神经网络;分段池化;Dropout算法

DOIDOI:10.11907/rjdk.181069

中圖分类号:TP303

文献标识码:A文章编号文章编号:16727800(2018)009002503

英文标题Classification of Chinese Questions with Convolution Neural Network——副标题

英文作者JI Xiang

英文作者单位(Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming 650500, China)

英文摘要Abstract:Question answering system is a very hot research area in Natural Language Processing. Question classification is an important segment of the question answering system.But traditional question classification requires the strategy of extracting and the optimization of characteristic rules. This method cannot handle the task well due to their low accuracy and high costs.The traditional CNN does not consider the structure of sentences. The traditional convolution neural network first uses convolution kernel to extract the vector that can express the feature of the question, and then only one feature is obtained after maxpooling. It does not consider the structural information of sentences and suffers form overfitting.Aiming at the two problems, we extract the main features of the sentence from different sections by using the piecewise pooling operation and introduce sentence structure information.At the same time,the dropout algorithm is added to improve the generalization ability of the model and prevent the model overfitting.Experimental results on the two datasets show that both the PCNN and the Dropout can enhance the performance.The accuracy rate of the 6 classification data set of the TREC problem is 93.7%, and the accuracy rate is up to 64.5 on the 57 classification data set of the bank.

英文关键词Key Words:question classification; word2vec; convolutional neural networks; piecewisepooling; CNN; Dropout algorithm

0引言

人们每天都要通过搜索引擎在互联网上获取各种信息,搜索引擎会通过查询返回大量相关网页。目前搜索引擎采用的是基于“文档检索”的方法,也就是提取用户查询信息的关键词,通过关键词匹配返回排序后的网页,是从语言而非语意的层面检索,反馈的信息太多,用户必须逐个阅读才能从中找到想要的信息。通常用户需要一个精确的答案,如何快速搜索到准确信息是一个重要的研究课题,问答系统应运而生。

问答系统[1]由问题分析、信息检索和答案抽取3部分组成。问题分析的核心是问题分类,是非常重要的一个环节,其性能直接影响到后期答案抽取[2]的准确性,关乎到整个问答系统性能好坏。

(1)问句正确分类可以提前确定候选答案数量。例如问句是:“广东的省会在哪里?”,经过分类算法分析之后,可以确定问句主要是关于地名的命名实体,所以后续分析只关注地名的答案,过滤掉大量无关的候选语料。

(2)问句的正确分类可以提前锁定后选答案类型。例如:“中国的首都在哪儿?”通过问句分类,问答系统只需要处理与地名相关的语料即可。再如:“什么是人工智能?”这就需要给用户返回一段描述性文字。因此,好的分类算法对于问答系统性能起着十分重要的作用。

1研究背景

1.1传统分类方法

近几年问题分类方法主要是先对问句进行特征提取,再结合机器学习方法对问句进行分类。分类效果取决于特征提取精准度。张宇等[3]采用改进的贝叶斯模型方法,结合提取词频及词性特征对问题进行分类。在词频词性特征基础上,文勖等[4]使用句法分析提取问题的主干和疑问词及其附属成分作为分类特征。Silva等[5]将特征组合,采用线性SVM对问题分类。李鑫等[6]引入句法特征和语义特征,结合SVM分类器对问题分类。Liu等[7]把词性、词袋与句法依存树结合,通过计算核函数发现问句结构。

1.2卷积神经网络应用

卷积神经网络是受生物学上感受野的机制而提出的一种前馈神经网络,利用局部连接和权值共享特性,使模型参数更少,并具有一定程度的平移、缩放和扭曲不变性。卷积神经网络不仅在图像分类领域贡献巨大,而且在自然语言处理方面取得了引人注目的成果。

通过卷积层和采样层对句子进行特征提取,能保留单词间的语意关联信息和位置信息。Yoon kim[8]首次提出用卷积神经网络对文本分类,其使用了一个卷积层、一个池化层对句子进行特征提取,最后连接全连接层对句子分类。Kalchbrenner[9]在此基础上提出了动态pooling方法。TH Nguyen[10]提出了扩充词向量的维度加入新特征方法。Chen Y[11]等将word2vec横向组合以发现句子级别特征。Yin W[12]等使用kmax pooling方法以保留更多的句子特征。

2基于卷積神经网络的分类模型

本文采用的分类模型PCNN如图1所示。

2.1词向量

问题的内容字数较少,用语也不规范,用传统的向量空间模型会出现特征维度过高和数据稀疏问题。未考虑词语之间的相关性及词语在文档中的位置信息,这些因素影响了后面问题分类的准确性。现在常用的词的表示形式是分布式,即用一个词附近的其它词来表示该词。Tomas Miklolv等[13]提出了两个新的模型框架用来计算单词的连续向量,直接从语言模型出发,将模型的最优化过程转化为求词向量表示的过程,这种方法可以把高维稀疏的向量转化成低维稠密的词的分布式表示。word2vec的两种模型分别是CBOW和Skipgram,CBOW的建模过程是用窗口内的词预测中心词,Skipgram是用中心词预测周围的词,本文采用Skipgram模型。训练好词向量后,一个问题的句子S就可以用(s1,s2,…,sn )表示了,其中n为句子的长度,si用(w1,w2,…,wk)词向量表示,表示一个单词,wi为词向量中第i维度上的权重,k为词向量的维数。这样,每个问题都可以用词向量矩阵表示。

2.2卷积层

卷积层是卷积神经网络的核心组成部分,核心点在于捕捉局部相关性,具体到文本分类任务,卷积核可以提取句子中类似于Ngram的关键信息。这里的卷积核与图像中的卷积核有所不同,因为一个词向量是一个整体,所以对整个词向量作卷积操作才有意义。假设词向量的长度为k,那么卷积核的宽度也为k。假设一个句子S有n个词,S=(s1,s2,…,sn),卷积核用W∈Rhk表示,h为卷积核高度。每经过一个长度为h、宽度为n的词向量矩阵后就会得到一个特征值。特征值计算公式为:

ci=f(Si:i+h.W+b)(1)

其中b为偏置项,Si:i+h表示一个长度为h的单词序列(si,si+1,…,si+h),f表示激活函数,常用的激活函数有tan、relu、sigmod等。增加激活函数可以使模型引入非线性因素,进而更好地拟合数据。整个问句经过卷积操作之后就可得到一个代表句子的特征向量:

C=(c1,c2,…,cn-h+1)(2)

卷积核长度不同,提取出的特征信息也不同。不同大小的卷积核可从不同的角度提取问句特征,所以这里设置3个不同长度的卷积核,分别为2、3、4。

2.3分段池化层

池化层通过对卷积层输出的向量进行下采样操作,降低特征维数,既可加快计算速度,又可有效防止模型过拟合问题。传统方法是对卷积层得到的整个特征向量C作maxpooling操作,选取最具有代表性的特征:

cmax=max(C)(3)

本文采用1max pooling操作,卷积层得到的特征向量经过池化操作后只能得到一个特征值。但是一个句子往往由几个关键词语特征决定,传统方法没有考虑句子结构信息,所以本文采用分段池化方法,引入句子的结构信息。考虑到句子一般由主谓宾构成,所以本文将卷积层得到的特征向量平均分为3段,在每一个分段上分别做maxpooling操作,然后将每段取出的最大值拼接成一个向量,并对向量作tan非线性运算。这种分段池化比传统的在一个句子上取最大值的方法能提取更多问句特征,如图2所示。

2.4Dropout算法

在训练神经网络时,数据量较少时模型很容易过拟合(训练集上精度很高,测试集上精度很低)。传统办法可以采用L2正则化,或者减小网络规模。Hinton在2012年[14]提出了Dropout方法,他认为过拟合可以通过阻止某些特征的协同作用来缓解。每次训练时,每个神经元有50%几率被移除,这样可以减少神经元之间的依赖。N Srivastava等 [15]对Dropout作了一个类比:Dropout类似于性别在生物进化中的角色,物种为了生存往往会倾向于适应这种环境,环境突变则会导致物种难以及时反应,性别的出现可以繁衍出更适应新环境的变种,有效阻止过拟合,即避免环境改变时物种可能面临的灭绝。与此类似,经过Dropout算法训练的神经网络,最终的网络参数是多个模型的参数组合。Dropout可以防止模型过拟合,提高模型准确率,使模型具有更好的泛化能力。

3实验

3.1数据集

本实验用到两个数据集:一个是TREC问题数据集,共有6 000条数据,分为5 500条训练数据,500条测试数据,6大类。判断一个问题是关于人物、地点还是信息等类别;另一个是来自银行的人工标注数据集,总共有5 721条,分为训练集5 200条,测试集521条,共分为57类,每一类为顾客要咨询什么样的业务。

3.2数据预处理

英文数据单词由空格切分,因此无需分词操作。对于中文数据集,需要进行分词处理,这里采用jieba分词软件。卷积神经网络的输入要求是定长数据,但是问题的长度不一,因此要进行预处理。首先要计算出数据集中最长句子的长度L,对长度不足L的作zeropedding操作(向量长度不足的位置补0,这样就统一了句子的长度。因为后面采用maxpooling操作,这样补充对后面操作没有影响)。

3.3实验参数设置

本文模型的主要参数有词向量的维度、卷积核的个数、池化操作时分段的个数、Dropout算法的比率、批量随机梯度下降算法的学习率。因为问句的长度较短,所以词向量的维度设置为50;为了充分提取问句特征,卷积核的数量设置为128。句子一般由主谓宾构成,所以分为3段,学习参数设置为0.01。

为了充分验证模型的有效性和Dropout算法对模型的影响,本文采用多种方法对两个问题数据集分类:①词袋模型加朴素贝叶斯方法;②TFIDF加SVM方法;③傳统的卷积神经网络方法;④本文提出的PCNN方法;⑤PCNN+Dropout方法,实验结果如表1所示。

实验结果表明,基于卷积神经网络的分类算法优于传统分类算法,本文采用的PCNN分类算法比传统卷积神经网络分类算法准确率高,加入Dropout算法后模型准确率又有提升。原因归结为以下3点:①基于Word2vec生成的词向量比传统的TFIDF有更好的词语特征表示;②PCNN比传统的CNN能更好地抽取句子特征;③Dropout算法可以提高模型的准确率,提高模型的泛化能力。

4结语

传统的maxpooling对整个句子特征提取不足,为此提出分段pooling的方法,在每个分段上分别提取特征。针对传统卷积神经网络容易过拟合,加入了Dropout算法,有效避免了过拟合问题,同时提高了模型的泛化能力。结合两个数据集进行训练和测试实验,结果表明分段卷积神经网络比传统的卷积神经网络预测准确率高,加入Dropout算法后提高了模型的泛化能力。与传统方法相比,此模型自动提取问句特征,避免了人工设置特征问题。

参考文献参考文献:

[1]ALI MOHAMED NABIL ALLAM, MOHAMED HASSAN HAGGAG. The question answering systems:a survey international Journal of Research and Reviews information Sciences[EB/OL]. http://www.docin.com/p1471893791.html

[2]R MUDGAL ,R MADAAN ,AK SHARMA ,et al. A novel architecture for question based indexing scheme for efficient question answering[J]. Intenational Journal of Computer Engineering,2013,2(2) :2743.

[3]ZHANG YU ,LIU TING ,WEN XU. Modified bayesian model based question classification[J]. Journal of Chinese Information Processing,2005,19(2):100105.

[4]WEN XU,ZHANG YU,LIU TING ,et al. Syntactic structure parsing based Chinese question classification[J]. Journal of Chinese Information Processing,2006,20(2):3339.

[5]SILVA J,COHEUR L,MENDES A C,et al. From symbolic to subsymbolic information in question classification[J].Artificial Intelligence Review,2011,35(2):137154.

[6]李鑫,杜永萍.基于句法信息和语义信息的问题分类[C].第一届全国信息检索与内容安全学术会议,复旦大学,2004:243251.

猜你喜欢

卷积神经网络
卷积神经网络语言模型研究
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法