本发明涉及自然语言处理、文本分类的
技术领域:
:,更具体地,涉及基于强化学习和胶囊网络的文本分类模型及方法。
背景技术:
::特征学习是人工智能领域的一个基本的问题,特别是在自然语言处理方面,特征的提取更是重要。而在自然语言处理中,文本分类是一个十分基础,十分常见的过程,它十分依赖于特征的学习过程。与图像领域不同,文本的语义逻辑更难被捕捉到并且表达出来,从而导致在文本上的分类任务难度更大。自然语言处理中的通用人工智能的实现基础就是机器要理解人类的语言,即理解文本的语义信息,从而能够执行所规定的任务。而文本分类是机器理解文本语义信息任务里的基础任务,因而本文具有重要的研究意义。对于现在的文本分类模型,在多标签文本分类任务上的表现并没有类似于单标签文本分类模型的不错的效果,而基于胶囊网络的文本分类模型在这一领域具有得天独厚的优势,而其路由算法在某种程度上属于一种无监督的聚类算法,而强化学习在聚类方面具有不错的效果。现在主流的文本特征表示方法大体可以分为四类。1.词袋特征模型是一类不考虑句子中词语的顺序的文本特征表示方法,它将句中的词语进行编码,句子中词语的特征向量长度就是词袋的大小,比如,mohit等人提出的dan模型,它将一个句子中的词语进行拆分标记,再传入神经网络结构里,这些标记的词语不保留原来的位置信息;joulin等人提出的fasttext模型,它将词语直接通过一个lookuptable,并加入一个神经网络模型,没有考虑到词语的顺序信息。2.序列表示模型则是一类考虑词语顺序的模型,比如convolutionalneuralnetwork,recurrentneuralnetwork等等,但是它的缺点之一是没有使用到句子结构的信息。kim等人提出了textcnn模型,利用cnn的卷积特性,将前后k个词的信息结合起来,从而保留句子中词语的部分顺序信息,但是它并没有保留词语的结构信息,每一个词的词性都是一样的。3.结构特征模型则是一类考虑了句子结构信息的模型,比如,tai等人提出的树形lstm模型,修改了原本的链式lstm模型,根据语法树改成树形结构,从而保留句子中词语的结构信息;qian等人提出了recursiveautoencoder模型,它也是使用事先制定好的语法树去构造句子的结构特征。4.基于注意力机制的模型,对于一个句子里的各个成分,对语义的贡献程度是不同的,注意力机制意在人为的为特定的词语标记一个比较高的分数,相比其他没有标记的词语,注意力机制提高了特定词语在语义描述里的贡献。yang等人提出了基于注意力机制的han模型,词语经过编码之后,再加上注意力机制,提高了文本分类的效果。上述现有技术的缺点是,1.词袋模型。词袋模型的缺点在于没有考虑句子中的顺序结构问题。基于词袋模型的文本分类模型收集了句子中出现的词语,并将其词频存储下来,但是这样的算法模型丢弃了很多的句子信息,而从信息论的角度,更多的信息可以带来更好的效果。2.序列表示模型。序列表示模型的缺点在于其只利用了句子顺序之间的信息,而对于跨词语的词语,序列模型并没有办法捕捉其信息,因此在某种程度上序列表示模型也是丢失了信息的。3.结构特征模型。结构特征模型的缺点在于使用的是事先制定好的语法树去构造词语的结构特征,虽然利用了语法上的信息,但是在语义上的捕捉并没有针对性的结构。4.基于注意力机制的模型。基于注意力机制的模型在获取输入输出对应关系上具有比较大的优势,但是基于注意力机制的文本模型没有考虑到语序顺序的信息,这对于自然语言是很不好的,因为文本语序包含了很大的信息。技术实现要素:本发明为克服上述现有技术所述的至少一种缺陷,提供基于强化学习和胶囊网络的文本分类模型及方法,用结合强化学习的胶囊网络来提升其在多标签文本分类上的效果。针对多标签文本分类任务,胶囊网络具有得天独厚的优势。首先我们先用textcnn获取词语之间的语序与部分的结构信息,得到其特征之后,用胶囊网络进行特征的连接,可以融合语序和结构的信息。而在胶囊网络中,融合的特征信息可以通过神经网络的解析得到多标签的分类结果。而强化学习作为训练胶囊网络层之间的路由机制,在一定程度上可以得到更好的链接方式。因此,结合强化学习与胶囊网络的文本分类模型,可以解决其他模型无法解决的词序,结构的缺陷。本发明的技术方案是:本发明以强化学习actor-critic,胶囊网络capsnet为基本的框架,胶囊网络提取文本信息的特征,强化学习判别胶囊层之间的联系,具体的实现步骤如下:在这里分为两个部分的框架:强化学习的框架与胶囊网络的框架。强化学习的框架包括:state:表示当前的状态,这里的状态主要包含了agent所处的环境,自身状态,具体而言,在这里是两个胶囊层之间的联系关系,所有的胶囊层的连接的状态构成了强化学习中的一个step的state。action:表示agent的行动,这里的行动最主要是胶囊层之间的连接与否,或者是连接概率。reward:表示agent获得的奖励,一般分为即时奖励和未来的奖励,这里的奖励在文本分类来说就是分类的效果,一般我们使用f1,precision等衡量标准来作为reward。胶囊网络的框架包括以下步骤:s1.将原始的rawtext经过分词或者是分字,再经过一个lookuptable转换成embedding形式的字或者词;s2.将embedding形式的字或者词根据textcnn的方法得到卷积后的primarycapsule;s3.将primarycapsule经过routing后与下一层capsulelayer连接,随后与fullconnectnetwork连接,输出不同的标签的概率大小;s4.经过bp算法修改fullconnectlayer的权重大小,以及embedding层中lookuptable的各个词的representation。所述的步骤s1中,具体过程是:s11.先根据已有的wordembedding来初始化自己的lookuptable,其中embedding的深度为300,至于没有出现过的则置为0或者0-1之间的随机数;s12.然后再通过搜寻的方式,对于rawtext中的每一个词或者每一个字转换成embedding的格式,这样,rawtext每一句就转换成了long*300形式的矩阵。所述的步骤s2中,具体过程是:s21.根据s1步骤所得的long*300的矩阵,用kernelsize分别为3*300,4*300,5*300的卷积核卷积得到对应的特征向量,每一种kernelsize的数量为32个;s22.根据s21步骤生成的vector_size(vs)*32,经过一个32*32*16的转换矩阵,得到vs*32*16的primarycapsule,这里capsule的维度是16。所述的步骤s3中,具体过程是:s31.根据s22所得到的vs*32*16的primarycapsule,在capsulelayer设定32*16*16的capsulelayer,这里用到了16个filters;s32.将vs*32*32*16的权重矩阵值设定为强化学习中的state,每一次的action就是修改其中的权重值;s33.根据权重矩阵计算得到32*16*16的capsulelayer,将其展开通过一个fullconnect的神经网络,再通过一个softmax层,得到不同的标签的概率大小;s34.根据与正确结果相比,得到的lossvalue作为强化学习中的reward,利用a3c算法改进s32中的权重矩阵。与现有技术相比,有益效果是:本发明的创新内容在于引入了强化学习去学习胶囊网络层之间的路由关系,引入胶囊网络去解决文本分类模型中的多标签分类的任务。利用胶囊网络在多标签分类任务上的优势,应用于文本多标签分类的任务上,从而达到更好的效果;利用强化学习遇错调整的机制,学习到更好的路由之间的联系方法。附图说明图1是本发明强化学习部分示意图。图2是本发明胶囊网络部分示意图。具体实施方式附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本专利的限制。如图1所示,s1:state为当前权重矩阵的权重值,critic会根据最终所得到的lossvalue来评价当前权重矩阵的value;s2:policy为修改权重矩阵的操作,actor会随机的修改权重矩阵的值;s3:根据s2所做的操作,得到新的lossvalue。如图2所示:s1:将原始的rawtext经过分词或者是分字,再经过一个lookuptable转换成embedding形式的字或者词;s2:将embedding形式的字或者词根据textcnn的方法得到卷积后的primarycapsule;s3:将primarycapsule经过routing后与下一层capsulelayer连接,随后与fullconnectnetwork连接,输出不同的标签的概率大小。s4:经过bp算法修改fullconnectlayer的权重大小,以及embedding层中lookuptable的各个词的representation。显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。当前第1页12当前第1页12