一种混合长短期记忆网络和卷积神经网络的文本分类方法与流程

文档序号:11250953阅读:3963来源:国知局

本发明涉及自然语言处理领域,具体涉及一种混合长短期记忆网络和卷积神经网络的文本分类方法。



背景技术:

基于机器学习的文本自动分类是近年来自然语言处理领域中最热门的一个研究方向,在信息检索、搜索引擎、自动问答、电子商务、数字图书馆、自动文摘、新闻门户等众多领域已经得到广泛和深入的应用。所谓的文本自动分类是指在给定分类体系的前提下,利用机器学习的方式来对文本的内容进行分析后自动确定文本类别的过程。20世纪90年代以前,文本自动分类主要采用基于知识工程的方式,即由专业人员手工进行分类,其缺点是成本高、费时费力。90年代以来,许多研究人员开始将各种统计方法和机器学习方法应用于自动文本分类,例如支持向量机svm、adaboost算法、朴素贝叶斯算法、knn算法和logistic回归等。近年来,随着深度学习和各种神经网络模型的快速发展,基于深度学习的文本分类方法引起了学术界和工业界的密切关注与研究,一些典型的神经网络模型,如递归神经网络(以长短期记忆网络lstm和gru为主要代表)和卷积神经网络cnn都被广泛地应用于文本的分类中,并取得了良好的效果。现有的研究和应用已证明递归神经网络适合用于学习句子中语言单元间的长期依赖关系,卷积神经网络适合用于学习句子的局部特征,但目前的研究没有充分地结合递归神经网络和卷积神经网络各自的优势,也没有结合考虑句子中语言单元的上下文信息。



技术实现要素:

本发明的目的是针对上述现有技术的不足,提供了一种混合长短期记忆网络和卷积神经网络的文本分类方法,利用双向lstm学习文本句子中词的上文信息和下文信息,接着将学习结果通过cnn进一步提取局部特征,然后再利用一个双向lstm层来学习局部特征间的关系,最后将学习结果通过一个多层感知器进行分类和输出。

本发明的目的可以通过如下技术方案实现:

一种混合长短期记忆网络和卷积神经网络的文本分类方法,所述方法包括以下步骤:

步骤1、对文本中的句子进行预处理,结合训练语料集中句子的长度分布及均方差,确定句子的长度阈值后形成统一的句子长度,利用预训练好的词向量表获取输入文本中每一个词的向量化表示,形成连续和稠密的实数向量矩阵;

步骤2、对于输入的句子词向量,分别通过一个正向的lstm网络学习各个词的上文信息和一个逆向的lstm网络学习各个词的下文信息,并将学习的结果进行串联合并,从而将包含语义信息的句子词向量表示转化为同时包含语义及上下文信息的表示;

步骤3、使用多个不同宽度、包含不同权值的核矩阵分别对双向lstm网络输出的词向量矩阵进行二维卷积运算,提取局部卷积特征,并生成多层局部卷积特征矩阵;

步骤4、使用一维最大值池化算法对多层局部卷积特征矩阵进行下采样,得到句子的多层全局特征矩阵,并将结果进行串联合并;

步骤5、使用两个相反方向的lstm网络分别学习句子局部特征间的长期依赖关系,并将最后的学习结果进行输出;

步骤6、将步骤5的输出结果先通过一个全连接隐层,接着再经过一个softmax层对句子的类别进行预测。

进一步地,所述一种混合长短期记忆网络和卷积神经网络的文本分类方法是在一个多层神经网络中完成的,所述步骤1在第一层输入层中完成,步骤2在第二层双向lstm层中完成,步骤3在第三层cnn层中完成,步骤4在第四层池化层中完成,步骤5在第五层双向lstm层中完成,步骤6在第六层输出层中完成。

进一步地,所述第二层双向lstm层用于学习原始输入句子中各个词的上下文信息,并且把每个词的学习结果进行串联后输出,所述第五层双向lstm层学习卷积后句子特征间的上下文信息,并且只输出最后一步的学习结果。

进一步地,步骤1中,所述对句子进行预处理包括标点符号过滤、缩写补齐、删除空格、对句子进行分词和非法字符过滤。

进一步地,所述步骤3为局部特征学习过程,通过多个不同词步长的二维卷积窗口和卷积核对包含上下文信息的词向量进行学习,从而得到不同粒度的短语信息。

进一步地,所述步骤4为采样和降维过程,通过一维最大值池化算法对多层局部卷积特征矩阵进行下采样,得到句子中每一个池化窗口内最重要的特征值,并作为局部窗口中的特征表示。

进一步地,所述步骤5为局部特征的上下文学习,通过双向lstm学习局部特征之间的上下文信息,并输出最后一个词向量的学习结果,同时形成固定维度的一维输出。

进一步地,所述步骤6为分类输出,通过一个全连接的多层感知器进行分类判断,并根据指定分类体系上的概率分布情况得到最终的输出。

进一步地,所述步骤6在一个两层的多层感知器中完成,包括一个全连接隐层和一个softmax层,步骤6的输出结果为对应文本的预测类别。

本发明与现有技术相比,具有如下优点和有益效果:

本发明通过充分结合双向lstm在学习文本的上下文信息方面的优势以及cnn在学习文本局部特征方面的优势,提出一种混合lstm和cnn的文本分类方法,通过利用双向lstm学习词的上下文信息后,再通过cnn进一步学习提取上下文信息的词向量的局部特征,接着再利用双向lstm学习这些局部特征的上下文,形成固定维度的输出,最后通过一个多层感知器进行分类输出。可以进一步提高模型分类的准确率,并具有较好的通用性,在测试的多个语料库上都取得了很好的效果。

附图说明

图1为本发明实施例多层神经网络模型的总体架构图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例:

本实施例提供了一种混合长短期记忆网络和卷积神经网络的文本分类方法,所述方法包括以下步骤:

步骤1、对文本中句子进行预处理,包括标点符号过滤、缩写补齐、删除空格、对句子进行分词和非法字符过滤,结合训练语料集中句子的长度分布及均方差,确定句子的长度阈值后形成统一的句子长度,利用预训练好的词向量表获取输入文本中每一个词的向量化表示,形成连续和稠密的实数向量矩阵;

步骤2、对于输入的句子词向量,分别通过一个正向的lstm网络学习各个词的上文信息和一个逆向的lstm网络学习各个词的下文信息,并将学习的结果进行串联合并,从而将包含语义信息的句子词向量表示转化为同时包含语义及上下文信息的表示;

步骤3、使用多个不同宽度、包含不同权值的核矩阵分别对双向lstm网络输出的词向量矩阵进行二维卷积运算,提取局部卷积特征,并生成多层局部卷积特征矩阵;

步骤4、使用一维最大值池化算法对多层局部卷积特征矩阵进行下采样,得到句子的多层全局特征矩阵,并将结果进行串联合并;

步骤5、使用两个相反方向的lstm网络分别学习句子局部特征间的长期依赖关系,并将最后的学习结果进行输出;

步骤6、将步骤5的输出结果先通过一个全连接隐层,接着再经过一个softmax层对句子的类别进行预测。

上面所述一种混合长短期记忆网络和卷积神经网络的文本分类方法是在一个多层神经网络中完成的,多层神经网络的架构图如图1所示,所述步骤1在第一层输入层中完成;步骤2在第二层双向lstm层中完成,其中,双向lstm的输出维度为256维;步骤3在第三层cnn层中完成,其中,cnn层中的卷积词步长分别为2、3、4,输出维度为128维;步骤4在第四层池化层中完成,池化窗口的词步长分别为2,3、4,并且采用一维最大值池化;步骤5在第五层双向lstm层中完成,其中双向lstm层的输出维度为128维,并且只输出最后一个词的学习结果;步骤6在第六层输出层中完成,所述输出层为一个两层的多层感知器,包括一个全连接隐层和一个softmax层,所述全连接隐层为128维,dropout值为0.5,步骤6的输出结果为对应文本的预测类别。模型训练过程中采用多元交叉熵定义损失函数,并结合了rmsprop优化器。

其中,所述第二层双向lstm层用于学习原始输入句子中各个词的上下文信息,并且把每个词的学习结果进行串联后输出,所述第五层双向lstm层学习卷积后句子特征间的上下文信息,并且只输出最后一步的学习结果。

其中,所述步骤3为局部特征学习过程,通过多个不同词步长的二维卷积窗口和卷积核对包含上下文信息的词向量进行学习,从而得到不同粒度的短语信息,所述步骤4为采样和降维过程,通过一维最大值池化算法对多层局部卷积特征矩阵进行下采样,得到句子中每一个池化窗口内最重要的特征值,并作为局部窗口中的特征表示,所述步骤5为局部特征的上下文学习,通过双向lstm学习局部特征之间的上下文信息,并输出最后一个词向量的学习结果,同时形成固定维度的一维输出,所述步骤6为分类输出,通过一个全连接的多层感知器进行分类判断,并根据指定分类体系上的概率分布情况得到最终的输出。

以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1