一种基于深度学习的文本分类方法与流程

文档序号:23726456发布日期:2021-01-26 16:59阅读:93来源:国知局
一种基于深度学习的文本分类方法与流程

[0001]
本发明涉及一种基于深度学习的文本分类模型的提出和实现,属于自然语言处理和人工智能领域。


背景技术:

[0002]
文本分类是一项传统的nlp子任务,有效前期的分类问题主要集中在基于传统机器学习算法的研究及人工特征的提取,随着数据的增长和特征的增加,依赖传统算法已经不能满足需求。近年来,深度学习算法在各大计算机领域都取得长足进步,特别在图像处理、语音识别及自然语言处理等问题做出巨大贡献。当今大多数网络模型都是基于cnn或rnn建立的。下面,我们列出了一些在文本分类领域具有代表性的网络模型。
[0003]
循环神经网络是一种常用于处理序列数据的网络结构,适用于自然语言、语音等领域。因此很多基于rnn的模型都被用于处理文本问题有学者利用lstm建模句子之间的关系。也有人等利用bgru建模文本处理情感分析任务。卷积神经网络模型特有的局部相关和位置不变性使其适用于自然语言处理任务。之后,有人首次将1d cnn用于词性、命名实体识别和语义角色标注等任务中。有人提出通过用带有多种卷积过滤器来编码句子以进行句子分类任务。为了捕捉词语间的关系提出了一种含动态k-max池化的新型cnn模型。浅层cnn不能很好的编码长段信息。因此,在文本分类任务中运用深层cnn以达到更好的性能表现。
[0004]
以上方法的cnn和rnn神经网络的模型都可以捕获上下文依赖关系,但未曾考虑对文本中关键信息对文本分类准确率的影响。2014年,谷歌团队首次提出采用内容注意力机制做图像分类,有效提高了图像识别精度。随后,有学者将注意力机制应用到自然语言处理(natural language processing,nlp)领域,使用注意力机制将源语言端每个词学到的表达和预测翻译的词联系起来,提高了翻译的准确率。2017年,谷歌提出自注意力机制并用于机器翻译取得了更好的翻译效果。自注意力机制依赖更少的参数,仅需关联单个序列的不同位置以计算序列的表示,更容易获取文本内部依赖关系,使模型能够更好地学习文本特征。之后,学者提出一系列rnn和注意力机制结合方法,对连续语义进行捕获。也有学者提出结合cnn和自注意力机制提出一种单词级别的文本分类模型,使用cnn捕捉文档的局部特征,利用自注意力机制捕捉长距离依赖。以上方法都是在传统cnn或rnn的基础上与注意力机制加以融合,但各自忽略了rnn未能很好地捕获局部关键信息和cnn不能很好的捕获文档上下文长距离依赖的缺陷。故想到在融合cnn与rnn各自的优势特征后再利用自注意力机制构造一种新型的模型。


技术实现要素:

[0005]
发明目的:针对循环神经网络(rnn)在处理文本分类任务中对长序列文本建模的压力过大且可能忽略局部重要特征以及卷积神经网络(cnn)不能捕获远距离上下文依赖关系的问题,本发明提出一种基于深度学习的文本分类方法,得到一种新型网络结构d-bgru,在d-bgru的基础上融合注意力机制得到d-bgru-sa模型。该模型减少了对整个长序列文本
建模的压力同时结合了rnn擅于捕获长距离依赖和cnn能够提取具有位置不变性的局部关键特征的优点,兼顾了上下文对预测结果的影响,并通过自注意力机制进一步学习文本关键特征的权重分配,进一步优化文本表示,最后通过多分类器输出文本类别的预测结果。
[0006]
技术方案:为实现上述目的,本发明采用的技术方案为:
[0007]
一种基于深度学习的文本分类方法,包括以下步骤:
[0008]
步骤1,用bert预训练模型将文本处理成向量形式。
[0009]
步骤2,构建d-bgru模型:
[0010]
rnn是一种利用时间步长对序列进行建模的神经网络,其结构特征决定了每一时刻的隐藏层与之前所有的输入都有关,采用限制循环神经单元中的信息流长度为k的drnn模型,通过指定一个固定大小的数值k使得循环神经单元每一时段的表示只与前k-1个输入和当前输入有关从而限制循环单元的信息流动性,通过这种方式既可以降低计算整个文档的庞大负担也可以对关键信息进行捕获。
[0011]
采用双向门控循环单元bgru作为循环处理单元,得到d-bgru模型。
[0012]
步骤3,通过d-bgru模型提取文本上下文语义特征信息:
[0013]
h
t
=d-bgru(x
t
,x
t-1
,x
t-2
,

,x
t-k+1
)
[0014]
其中,h
t
表示每一时刻的隐藏状态,d-bgru表示本文提出的d-bgru模型,x
t
是词向量,t=1,2,

,n。在t时刻:bgru的输出由两个相反方向的gru共同组合决定,具体的计算公式如下:
[0015][0016][0017][0018]
其中,和分别表示gru向前传播的输出和向后传播的输出。y表示bgru的输出。w表示权重矩阵。b表示偏置向量。σ表示softmax函数。
[0019]
步骤4,通过注意力机制对重要信息进行加大权重分配,进一步优化文本表示,计算公式如下:
[0020][0021][0022]
其中,attention(q,k,v)表示注意力机制,d
k
表示k向量的维度,h
t
表示每一时刻的隐藏状态,表示上一层的输出状态,q、k、v∈r
n
是bgru的n维输出向量。
[0023]
步骤5,将特征向量输入到多层感知机中,进一步提取隐藏状态,
[0024][0025]
其中,h
t
表示每一时刻的隐藏状态,表示上一层的输出状态,mlp表示多层感知机。
[0026]
步骤6,最大池化层保留重要特征,输入到softmax层中得到最终的分类结果:
[0027][0028]
其中,h
t
表示每一时刻的隐藏状态,表示上一层的输出状态,max-pooling表示最大池化层操作。
[0029]
步骤7,softmax分类器对分类结果进行预测:使用的化器adam,在每个网络层后都加入了dropout函数,通过在每一次的迭代中随机丢弃部分训练参数来提高模型的泛化能力。
[0030]
优选的:步骤4中注意力机制本质是一个query(q)到一系列key(k)—value(v)键值对的映射,首先将query和每个key通过点积、拼接或感知器的相似度函数计算得到权重。其次通过softmax函数对计算得出的权重进行归一化处理。最后将权重和与之相对应的value加权求和得出最后的attention,其中,query(q)表示,q表示,key(k)表示,k表示,value(v)表示,v表示,attention表示,当k=q=v时,即称为自注意力机制,处理文本时会直接将一个句子中任意两个单词通过一个计算步骤直接联系起来,获取句子内部的词语依赖关系、句子的内部结构以及同一个句子中单词之间的一些句法特征或者语义特征,更有利于获取远距离相互依赖的特征。
[0031]
优选的:步骤7中softmax分类器:
[0032][0033]
其中,p表示目标预测的概率,y=j表示目标预测为j类,x表示目标的输入向量,θ表示模型训练学到的参数。
[0034]
优选的:数值k=3。
[0035]
本发明相比现有技术,具有以下有益效果:
[0036]
本发明基于深度学习,首先提出d-bgru结构,该结构减少了对整个长序列文本建模的压力同时结合了rnn擅于捕获长距离依赖和cnn能够提取具有位置不变性的局部关键特征的优点,同时兼顾了上下文对预测结果的影响。在d-bgru基础上融入了自注意力机制进一步学习文本关键特征的权重分配,优化文本表示。在多个大型公开数据集上的各项分类任务进行实验,模型分类准确率较现有的基线模型均有提升,证明本发明在各类任务中具有提高分类性能的作用。
附图说明
[0037]
图1是本发明的流程图。
[0038]
图2是drnn结构图。
[0039]
图3是d-bgru结构图。
[0040]
图4是不同模型在yah.a.数据集上的准确率对比图。
[0041]
图5是不同模型在yelp f.数据集上的准确率对比图。
具体实施方式
[0042]
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种
等价形式的修改均落于本申请所附权利要求所限定的范围。
[0043]
一种基于深度学习的文本分类模型方法,通过限制信息流长度将位置不变性引入双向门控循环单元,弥补了循环神经网络在处理文本分类任务中对长序列文本建模的压力过大且可能忽略局部重要特征以及卷积神经网络不能捕获远距离上下文依赖关系的缺陷,从而可以得到有效的文本表示向量,并通过自注意力机制加大对重要特征的权重分配进一步优化文本表示。如图1所示,具体包括以下步骤:
[0044]
步骤1,用bert预训练模型将文本处理成向量形式。
[0045]
步骤2,构建d-bgru模型
[0046]
rnn是一种利用时间步长对序列进行建模的神经网络,其结构特征决定了每一时刻的隐藏层与之前所有的输入都有关。为了减小对整个序列建模的负担,有人提出了限制循环神经单元中的信息流长度为k的drnn模型,具体说来就是通过指定一个固定大小的数值k使得循环神经单元每一时段的表示只与前k-1个输入和当前输入有关从而限制循环单元的信息流动性,通过这种方式既可以降低计算整个文档的庞大负担也可以对关键信息进行捕获。(本发明以k=3为例给出示意图,drnn结构图如图2所示。)
[0047]
drnn虽然在一定程度上弥补了rnn的输出状态依赖当前所有输入的问题和cnn不能很好的关注上下文远距离依赖关系的缺陷,减小了为整个文本序列建模的压力,但忽略了标准的循环神经网络在处理文本时,只能向前传播获取当前文本的上文信息而忽略了下文信息对当前预测结果的影响。本发明采用双向门控循环单元(bgru)作为循环处理单元,得到d-bgru模型。(本发明以k=3为例给出示意图,d-bgru结构图如图3所示。)
[0048]
步骤3,通过d-bgru提取文本上下文语义特征信息:
[0049]
h
t
=d-bgru(x
t
,x
t-1
,x
t-2
,

,x
t-k+1
)
[0050]
其中,双向门控循环单元bgru是双向循环神经网络的一个变种。是为了解决标准的循环神经网络在处理文本时,只能向前传播获取当前文本的上文信息而忽略了下文信息对当前预测结果的缺陷而提出的。h
t
表示每一时刻d-bgru的隐藏状态,d-bgru表示本文提出的d-bgru模型,x
t
是词向量,t=1,2,

,n。在t时刻:bgru的输出由两个相反方向的gru共同组合决定,具体的计算公式如下
[0051]
给定一个n维输入(x1,x2,

,x
n
),其中x
t
(t=1,2,

,n)是词向量。在t时刻:bgru的输出由两个相反方向的gru共同组合决定。具体的计算公式如下:
[0052][0053][0054][0055]
其中和分别表示gru向前传播的输出和向后传播的输出。y表示bgru的输出。w表示权重矩阵。b表示偏置向量。σ表示softmax函数。
[0056]
步骤4,通过注意力机制对重要信息进行加大权重分配,进一步优化文本表示,
[0057]
注意力机制最初只应用于cv中的图片识别任务中,人类视觉在感知东西时,通常不会注意到场景中的所有内容,往往是根据需求观察注意特定的一部分。当人们发现一个场景经常在某部分出现,人们会在将来再出现类似场景时进行学习,把注意力放到该部分
上。2017年,google机器翻译团队提出注意力机制在nlp领域的必要性,使用了自注意力(self-attention)机制来学习文本表示。注意力机制可以得到稀疏数据中的重要特征,其本质是一个query(q)到一系列key(k)—value(v)键值对的映射,首先将query和每个key通过点积、拼接或感知器等相似度函数计算得到权重。其次通过softmax函数对计算得出的权重进行归一化处理。最后将权重和与之相对应的value加权求和得出最后的attention。当k=q=v时,即称为自注意力机制,处理文本时会直接将一个句子中任意两个单词通过一个计算步骤直接联系起来,获取句子内部的词语依赖关系、句子的内部结构以及同一个句子中单词之间的一些句法特征或者语义特征,更有利于获取远距离相互依赖的特征。计算公式如下:
[0058][0059][0060]
其中,attention(q,k,v)表示注意力机制,d
k
表示k向量的维度,h
t
表示每一时刻的隐藏状态,表示上一层的输出状态。
[0061]
步骤5,将特征向量输入到多层感知机中,进一步提取隐藏状态,
[0062][0063]
其中,h
t
表示每一时刻的隐藏状态,表示上一层的输出状态,mlp表示多层感知机。
[0064]
步骤6,最大池化层保留重要特征,输入到softmax层中得到最终的分类结果:
[0065][0066]
其中,h
t
表示每一时刻的隐藏状态,表示上一层的输出状态,max-pooling表示最大池化层操作。
[0067]
步骤7,softmax分类器对分类结果进行预测:
[0068]
训练模型中的参数包括d-bgru和自注意力机制中的全部参数。模型使用的优化器是adam,为了防止训练过程中的过拟合现象,在每个网络层后都加入了dropout函数,通过在每一次的迭代中随机丢弃部分训练参数来提高模型的泛化能力。本次实验使用softmax分类器进行分类:
[0069][0070]
其中,p表示目标预测的概率,y=j表示目标预测为j类,x表示目标的输入向量,θ表示模型训练学到的参数。
[0071]
本发明在研究模型有效性时,将以模型在数据集上的准确率作为指标,通过在该指标上与其他模型的对比来验证发明的有效性。衡量指标为模型预测结果与真实数据集的差异。
[0072]
通常采用模型在数据集上分类的精确度来衡量模型的有效性:
[0073][0074][0075][0076]
为了验证本发明的有效性,在ag、dbp、yelp p.、yelp r.、yah.a.等5个大型公开数据集上的各项分类任务进行实验。我们首先使用d-bgru模型对数据集进行实验。结果显示d-bgru模型的表现力已经优于其他深度模型。之后又在d-bgru模型中引入自注意力机制得到d-bgru-sa,它相比于d-bgru可以为重要信息分配更大的权重使得分类结果更准确。进一步在数据集上进行验证,实验结果表明,d-bgru-sa进一步提升了单词级别的浅层cnn和rnn模型的效果。
[0077]
本发明考虑了将位置不变性引入双向门控循环单元中,可弥补已有环神经网络(rnn)在处理文本分类任务中对长序列文本建模的压力过大且可能忽略局部重要特征以及卷积神经网络(cnn)不能捕获远距离上下文依赖关系的不足。通过仿真,验证了本发明的优越性。通过本发明将有利于节约电网建设成本并获得鲁棒性的提升。
[0078]
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1