基于词性和多重CNN的多通道文本分类模型的构建方法与流程

文档序号:15385931发布日期:2018-09-08 00:33阅读:317来源:国知局
本发明涉及计算机技术人工智能领域,更具体地,涉及一种基于词性和多重cnn的多通道文本分类模型的构建方法。
背景技术
:目前文本分类使用的方法主要包括传统的机器学习和近几年比较流行的深度学习方法两大类。然而传统的机器学习技术,如支持向量机,或者随机森林等分类算法,主要存在的问题是需要自己动手去构建特征,这样分类结果的好坏很大程度上取决去构建的特征的质量与模型参数的调优,整个过程非常耗时耗力,而且最终的分类效果并不稳定,而近几年随着深度学习技术在图像识别、语音识别等领域中的成功应用,越来越多人尝试将深度学习引入自然语言处理领域中,从而克服传统机器学习方法的不足。本分类方法主要使用了wordembedding以及卷积神经网络等相关技术,wordembedding即词的分布式表达方式,作为深度学习在自然语言处理领域的基本应用,成为了研究的热点。wordembedding被广泛应用到很多自然语言处理任务中,并且取得很好的效果。。技术实现要素:本发明提供一种有效解决文文本分类问题的基于词性和多重cnn的多通道文本分类模型的构建方法。为了达到上述技术效果,本发明的技术方案如下:一种基于词性和多重cnn的多通道文本分类模型的构建方法,包括以下步骤:s1:对输入文本进行预处理;s2:对模型的输入进行处理;s3:构建模型;s4:对模型进行训练。进一步地,所述步骤s1的过程是:1)、中文分词;2)、去停止词;3)、词性标注;4)、提取偏旁。进一步地,所述步骤s2的过程是:使用wordembedding的方式将文本数据组合成二维向量的方式,输入的文本中的每个词从训练好的词向量矩阵中找到自己的wordembedding,再通过“纵向拼接”的方式组合成适合cnn处理的二维特征矩阵。进一步地,所述步骤s3的过程是:首先每次输入128篇文章,将每篇文章输入单词的个数设为200、将wordembedding的维度设为300,那么文章输入矩阵可以表示成一条128×200×300的矩阵,卷积层放弃使用textcnn中使用的三个平行二维卷积而是使用一维卷积,由1x1的卷积核来提取出局部特征图,从而降低了运算量,节约了时间成本;而后在提取特征的基础上增加pos词性特征,随后使用attention层对单词赋予不同的权重,使重要的单词对于最终的分类结构更具有影响力;最后通过全连接层softmax函数来完成对分类标签的映射;卷积核w∈r1×1在长度为1的窗口的1个词进行卷积操作,则输出特征为si=f(w×ai+b)(1)其中:b为偏置项,f为激活函数,神经网络中常用的激活函数有多种,如sigmod函数,tanh函数等,为加快训练收敛速度采用relu函数作为激活函数:f(x)=max(0,x)(2)使用的1×1大小的卷积核结构,在卷积过程中输出通道数降为100,经过卷积操作对每篇文章得到的特征图尺寸为200*100,因此对整个输入的128篇文章说经过卷积操作得到的输出矩阵形状为128×200×300;而后利用词性信息,在卷积层的输出矩阵中每个词之后添加其词性信息,其维度为50,词性的表示方式同wordembedding采取向量的形式,用高斯分布的-1到1之间的随机数进行初始化。拼接之后矩阵的形状为128×200×300;对于词性信息通常的做法是在卷积层之前将词性信息拼接到wordembedding之后,在卷积层之后拼接,选择了在卷积之后加入词性信息;在一句话中,每个词对于判别文章的分类的作用是不一样大的,而且往往一个重要的词的附近也是重要的词,设计attention层来实现我们的想法,在上一步的基础上,将拼接之后的矩阵放入attention层,首先计算词的权重,然后对重要的词进行正态化的“弥散”,最后用词对应的权重去与代表每个词的词向量进行相乘,得到加权后的词向量表示;最后,再经过attention操作之后,最终提取出了对情感分类影响最大的特征,最后再通过全连接的方式连接到最后一层的两个节点,即组成一个softmaxregression分类器,从而能够综合考虑提取出来的所有局部特征,完成短文本情感分类任务。进一步地,所述步骤s4的过程是:对卷积神经网络进行训练时,所采用的方法依然是传统的梯度下降法,其中,若采用批量梯度下降法,虽然能够获得最好的收敛效果,但由于每次迭代过程都需要所有训练样本参与运算,严重制约训练过程的收敛速度;若采用随机梯度下降法,则每次迭代只需要一个样本;为了防止模型的训练中出现过拟合现象,采用了l2正则化来对卷积神经网络的参数进行约束;对于最后的全连接层参数进行训练时引入了dropout策略,即在每次更新时都会随机选择一部分训练好的参数进行舍弃;在训练过程中设置dropout值为化0.5,即随机放弃一半参数;为了评估所得到的卷积神经网络模型的可靠性,采用了十折交叉验证来对模型在测试集上的准确率进行评估,具体为:首先将所有120000条样本平均分为10等份,每份中需要包含十二类样本各10000条;全部模型评估工作总共需要进行10次实验,每次实验中取出9份组成训练集,剩余1份组成测试集;最后得到的卷积神经网络模型的分类准确率应当是运10次实验结果的均值。与现有技术相比,本发明技术方案的有益效果是:本发明对卷积神经网络进行训练时,所采用的方法依然是传统的梯度下降法。其中,若采用批量梯度下降法,虽然能够获得最好的收敛效果,但由于每次迭代过程都需要所有训练样本参与运算,严重制约训练过程的收敛速度;若采用随机梯度下降法,则每次迭代只需要一个样本,因此在训练速度方面具有明显的优势。附图说明图1为本方法构建模型结构图;图2为wordembedding组合方式示意图;图3为混淆矩阵。具体实施方式附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。下面结合附图和实施例对本发明的技术方案做进一步的说明。实施例1如图1所示,一种基于词性和多重cnn的多通道文本分类模型的构建方法,包括以下步骤:s1:对输入文本进行预处理;s2:对模型的输入进行处理;s3:构建模型;s4:对模型进行训练。2.根据权利要求1所述的基于词性和多重cnn的多通道文本分类模型的构建方法,其特征在于,所述步骤s1的过程是:1)、中文分词;2)、去停止词;3)、词性标注;4)、提取偏旁。所述步骤s2的过程是:使用wordembedding的方式将文本数据组合成二维向量的方式,输入的文本中的每个词从训练好的词向量矩阵中找到自己的wordembedding,再通过“纵向拼接”的方式组合成适合cnn处理的二维特征矩阵。所述步骤s3的过程是:首先每次输入128篇文章,将每篇文章输入单词的个数设为200、将wordembedding(如图2所示)的维度设为300,那么文章输入矩阵可以表示成一条128×200×300的矩阵,卷积层放弃使用textcnn中使用的三个平行二维卷积而是使用一维卷积,由1x1的卷积核来提取出局部特征图,从而降低了运算量,节约了时间成本;而后在提取特征的基础上增加pos词性特征,随后使用attention层对单词赋予不同的权重,使重要的单词对于最终的分类结构更具有影响力;最后通过全连接层softmax函数来完成对分类标签的映射;卷积核w∈r1×1在长度为1的窗口的1个词进行卷积操作,则输出特征为si=f(w×ai+b)(1)其中:b为偏置项,f为激活函数,神经网络中常用的激活函数有多种,如sigmod函数,tanh函数等,为加快训练收敛速度采用relu函数作为激活函数:f(x)=max(0,x)(2)使用的1×1大小的卷积核结构,在卷积过程中输出通道数降为100,经过卷积操作对每篇文章得到的特征图尺寸为200*100,因此对整个输入的128篇文章说经过卷积操作得到的输出矩阵形状为128×200×300;而后利用词性信息,在卷积层的输出矩阵中每个词之后添加其词性信息,其维度为50,词性的表示方式同wordembedding采取向量的形式,用高斯分布的-1到1之间的随机数进行初始化。拼接之后矩阵的形状为128×200×300;对于词性信息通常的做法是在卷积层之前将词性信息拼接到wordembedding之后,在卷积层之后拼接,选择了在卷积之后加入词性信息;在一句话中,每个词对于判别文章的分类的作用是不一样大的,而且往往一个重要的词的附近也是重要的词,设计attention层来实现我们的想法,在上一步的基础上,将拼接之后的矩阵放入attention层,首先计算词的权重,然后对重要的词进行正态化的“弥散”,最后用词对应的权重去与代表每个词的词向量进行相乘,得到加权后的词向量表示;最后,再经过attention操作之后,最终提取出了对情感分类影响最大的特征,最后再通过全连接的方式连接到最后一层的两个节点,即组成一个softmaxregression分类器,从而能够综合考虑提取出来的所有局部特征,完成短文本情感分类任务。所述步骤s4的过程是:对卷积神经网络进行训练时,所采用的方法依然是传统的梯度下降法,其中,若采用批量梯度下降法,虽然能够获得最好的收敛效果,但由于每次迭代过程都需要所有训练样本参与运算,严重制约训练过程的收敛速度;若采用随机梯度下降法,则每次迭代只需要一个样本;为了防止模型的训练中出现过拟合现象,采用了l2正则化来对卷积神经网络的参数进行约束;对于最后的全连接层参数进行训练时引入了dropout策略,即在每次更新时都会随机选择一部分训练好的参数进行舍弃;在训练过程中设置dropout值为化0.5,即随机放弃一半参数;为了评估所得到的卷积神经网络模型的可靠性,采用了十折交叉验证来对模型在测试集上的准确率进行评估,具体为:首先将所有120000条样本平均分为10等份,每份中需要包含十二类样本各10000条;全部模型评估工作总共需要进行10次实验,每次实验中取出9份组成训练集,剩余1份组成测试集;最后得到的卷积神经网络模型的分类准确率应当是运10次实验结果的均值。具体实验结果:实验数据集:新浪新闻数据集(共14个分类,超过74万条新闻数据)。实验环境:windows10,pycharm平台,python3.5.2。实验工具集:tensorflow1.4、numpy工具包、jieba分词、偏旁部首工具、传统分类方法工具的源码包。实验方法:由于在新浪新闻中有两个分类样本不足,所以我们取了其余的十二个分类,每个分类取一万条数据分成十份,按8:1:1的比例生成训练集、测试集和验证集,采用各种不同的分类方法测试其效果。评价标准如图3:(1)正确率:正确率是我们最常见的评价指标,accuracy=(tp+tn)/(p+n),这个很容易理解,就是被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好;(2)准确率:精度是精确性的度量,表示被分为正例的示例中实际为正例的比例,precision=tp/(tp+fp);(3)召回率:召回率是覆盖面的度量,度量有多个正例被分为正例,recall=tp/(tp+fn)=tp/p=sensitive,可以看到召回率与灵敏度是一样的。(4)f1值:准确率和召回率的调和平均:f1=(2*p*r)/(p+r)实验结果:本专利采用24000篇中文新浪的文献,采用传统的方法和本专利采取的方法做了下效果对比:表1模型准确率/%svm(rbf)60.98linearsvm86.30randomforest83.25logisticregression86.15textcnn+skip-gram89.41cnn+attention92.25从表1中可以得到,用我们设计的cnn+attention的方法得到了最好的分类效果。结果分析:(1)本发明与传统模型本文中所选择的传统机器学习模型主要包括3类:基于最优化理论的支持向量机模型(svm)、基于集成学习理论的随机森林模型(randomforest)、以及线性模型中应用最广泛的逻辑回归模型(logisticregression),基本覆盖了传统机器学习理论中分类算法思路中的绝大部分。因此,该组对比实验具有较强的针对性和说服力。传统的机器学习模型中,linearsvm获得了最优的性能,准确率达到了86.30%。这与支持向量机模型追求结构化风险最小化的训练目标有关,降低了对数据规模和数据分布的要求,因此在本文中的样本条件下获得了表现最优。在相同的数据集和特征表示方法的条件下,相比于多种传统机器学习方法,本文所提出的卷积神经网络模型在短文本分类任务上获得了更加出色的性能,远远超过了表现最好的linearsvm。(2)本发明与textcnn+skip-gram由该组实验结果可知,与textcnn+skip-gram相比,我们的方法通过引入小的卷积核以及attention机制来对词向量进行更加精确的表示,进而得到整条短文本的分布式表示,使得分类正确率由89.41%上升至92.25%。(3)linearsvm与svm(rbf)本实验中,基于rbf核的支持向量机模型虽然经过了参数调优,但依然表现出了较差的性能,而linearsvm则表现出了较好的性能。在传统的机器学习方法中,特征的构建方法会对模型在具体任务中的表现产生直接影响,为了能够使得模型的性能最大化,往往需要采用与其特点相匹配的特征处理方式。而在本文中,采用了wordembedding这种分布式的特征表示方法,并不是传统的人工构建特征的方式,这使得数据本身已经具备较好的分布特点。而采用rbf核的支持向量机模型会引入更多参数,加重了参数调优的工作量,因而大大增加了过拟合的风险。如果能够获得覆盖面更广的训练集,并且加大参数寻优的力度,或许实验结果会有所不同相同或相似的标号对应相同或相似的部件;附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1