一种文本信息分类的方法及服务器与流程

文档序号:16609333发布日期:2019-01-14 21:27阅读:155来源:国知局
一种文本信息分类的方法及服务器与流程

本发明涉及人工智能领域,尤其涉及一种文本信息分类的方及服务器。



背景技术:

随着互联网的高速发展,上网娱乐已经成为很多人的爱好。在互联网业务中,对文本信息进行分类是非常重要的。无论在电商行业、社交平台还是搜索引擎中,文本信息的分类能够有效地应用于信息检索,情感分析,舆情监测和事件追踪等任务中。

目前,可以基于外部数据信息对文本信息进行分类。这类方法使用一个外部信息数据来源,例如维基百科或者知识库等对当前文本信息进行特征扩充,通过神经网络输出该文本信息的文本分类结果。

然而,基于外部数据信息生成本文分类结果的方法,虽然能够解决数据稀疏的问题,但是仍然受限于应用领域,尤其对于类似社交媒体类的文本信息而言,往往存在文本信息更新速度快,且文本信息不规范的特征,其泛化能力会受到信息来源的限制,从而降低分类的可信度。



技术实现要素:

本发明实施例提供了一种文本信息分类的方法及服务器,能够广泛地用于应用领域,并且利用神经网络主题模型可以准确地学习到文本信息潜在的主题分布,这些分布可辅助文本信息的分类,由此提升分类的可信度。

有鉴于此,本发明的第一方面提供一种文本信息分类的方法,包括:

获取第一文本信息的词袋信息以及词向量信息;

通过神经网络主题模型获取所述词袋信息所对应的主题分布矩阵,其中,所述神经网络主题模型包括编码模块以及解码模块,所述主题分布矩阵为所述编码模块对所述词袋信息进行编码以及所述解码模块对所述词袋信息进行解码的过程中学习得到的;

根据所述词袋信息所对应的主题分布矩阵以及所述词向量信息,生成第二文本信息;

通过分类器对所述第二文本信息进行处理,得到文本信息分类结果,其中,所述分类器为根据待训练文本信息集合训练得到的。

本发明的第二方面提供一种服务器,包括:

获取模块,用于获取第一文本信息的词袋信息以及词向量信息;

所述获取模块,还用于通过神经网络主题模型获取所述词袋信息所对应的主题分布矩阵,其中,所述神经网络主题模型包括编码模块以及解码模块,所述主题分布矩阵为所述编码模块对所述词袋信息进行编码以及所述解码模块对所述词袋信息进行解码的过程中学习得到的;

生成模块,用于根据所述获取模块获取的所述词袋信息所对应的主题分布矩阵以及所述词向量信息,生成第二文本信息;

处理模块,用于通过分类器对所述生成模块生成的所述第二文本信息进行处理,得到文本信息分类结果,其中,所述分类器为根据待训练文本信息集合训练得到的。

本发明的第三方面提供一种服务器,包括:存储器、收发器、处理器以及总线系统;

其中,所述存储器用于存储程序;

所述处理器用于执行所述存储器中的程序,包括如下步骤:

获取第一文本信息的词袋信息以及词向量信息;

通过神经网络主题模型获取所述词袋信息所对应的主题分布矩阵,其中,所述神经网络主题模型包括编码模块以及解码模块,所述主题分布矩阵为所述编码模块对所述词袋信息进行编码以及所述解码模块对所述词袋信息进行解码的过程中学习得到的;

根据所述词袋信息所对应的主题分布矩阵以及所述词向量信息,生成第二文本信息;

通过分类器对所述第二文本信息进行处理,得到文本信息分类结果,其中,所述分类器为根据待训练文本信息集合训练得到的;

所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例中,提供了一种文本分类的方法,服务器获取第一文本信息的词袋信息以及词向量信息,然后通过神经网络主题模型获取词袋信息所对应的主题分布矩阵,其中,神经网络主题模型包括编码模块以及解码模块,主题分布矩阵为编码模块对词袋信息进行编码以及解码模块对词袋信息进行解码的过程中学习得到的,服务器根据词袋信息所对应的主题分布矩阵以及词向量信息,生成第二文本信息,最后,服务器通过分类器对第二文本信息进行处理,得到文本信息分类结果,其中,分类器为根据待训练文本信息集合训练得到的。通过上述方式,在对文本信息进行分类的时候无需借助外部信息,从而能够广泛地用于应用领域。并且利用神经网络主题模型可以准确地学习到文本信息潜在的主题分布,这些分布可辅助文本信息的分类,由此提升分类的可信度。

附图说明

图1为本发明实施例中文本信息分类系统的一个架构示意图;

图2为本发明实施例中文本信息分类的一个流程示意图;

图3为本发明实施例中文本信息分类的方法一个实施例示意图;

图4为本发明实施例中主题记忆网络框架的一个示意图;

图5为本发明实施例中多层次主题记忆网络框架的一个示意图;

图6为本发明实施例中服务器一个实施例示意图;

图7为本发明实施例中服务器另一个实施例示意图;

图8为本发明实施例中服务器一个结构示意图。

具体实施方式

本发明实施例提供了一种文本信息分类的方法及服务器,能够广泛地用于应用领域,并且利用神经网络主题模型可以准确地学习到文本信息潜在的主题分布,这些分布可辅助文本信息的分类,由此提升分类的可信度。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应理解,本申请所提供的文本信息分类方法主要用于对文本信息分类,比如,本申请能被广泛用于信息检索(可以根据对文本信息分类的情况确定用户需要检索的内容),情感分析(可以根据对文本信息分类的情况了解用户对媒体的态度),舆情监测(可以根据抽文本信息分类的情况,在论坛、微博以及朋友圈等社交平台上监测网友的评论内容)和事件追踪(可以根据文本信息分类的情况,追踪某个事件的发展情况,且该事件与关键词具有强相关性)等任务中。此外,文本信息分类的情况还可以直接应用于社交媒体文本(如“天天快报”,聊天机器人以及朋友圈等应用)中。如在新闻平台中,用户针对新闻内容进行评论,通过使用这部分评论,使用本发明可提高对评论进行情感分类的精度,从而得到大众对于新闻中公众事件的态度。此外,本发明所提供的模型还可以得知评论中的主题分布,可进一步进行关键词抽取或者摘要生成等任务。一套模型可以提升分类和主题模型的精度,本发明能够很好的为社交以及新闻平台提供底层的文本技术支持。

为了便于介绍,请参阅图1,图1为本发明实施例中文本信息分类系统的一个架构示意图,如图所示,本发明所提供的方法主要应用于服务器,该服务器可以包括中央处理器(centralprocessingunit,cpu),也可以包括图形处理器(graphicsprocessingunit,gpu)。如图1所示,终端设备可以将待分类的文本信息发送至服务器,由服务器利用主题记忆网络框架对待分类的文本信息进行处理,从而得到文本信息分类结果。其中,主题记忆网络框架包括三个部分,分别为神经网络主题模型、主题记忆机制以及分类器,神经网络主题模型用于学习和主题相关的表示,主题记忆机制用于将主题表示映射和分类有关的特征空间中,分类器用于输出最终的分类结果。

需要说明的是,终端设备包含但不仅限于平板电脑、掌上电脑、手机、笔记本电脑以及个人电脑,此处不做限定。

请参阅图2,图2为本发明实施例中文本信息分类的一个流程示意图,如图所示,整个流程分为三大模块,分别为数据预处理模块、训练模块以及测试模块,在数据预处理模块中包括三个步骤,步骤s1中,获取目标文本信息,这里的文本信息可以是待训练文本信息,也可以是待分类文本信息。输入的文本信息会被处理成两种形式,第一种是词袋模式(bag-of-words),第二种是保留序列顺序的词向量(wordembedding)模式,即步骤s2和步骤s3所示意的两个处理结果。

在训练模块的步骤s4中,根据待分类文本信息的词袋模式和词向量模式训练得到主题记忆网络,其中,主题记忆网络包括神经网络主题模型、主题记忆机制以及分类器,神经网络主题模型用于学习和主题相关的表示,主题记忆机制用于将主题表示映射和分类有关的特征空间中,分类器用于输出最终的分类结果。

在测试模块的步骤s5中,将目标文本信息输入至主题记忆网络,通过主题记忆网络的输出模块输出经过主题特征增强的文本表示,并在步骤s6中,通过主题记忆网络的主题表示编码进记忆网络的输入模块,结合目标文本信息的主题分布以及词向量。最后,在步骤s7中,目标文本表示经由分类器输出最后的分类结果。

下面将从服务器的角度,对本发明中文本信息分类的方法进行介绍,请参阅图3,本发明实施例中文本信息分类的方法一个实施例包括:

101、获取第一文本信息的词袋信息以及词向量信息;

本实施例中,服务器首先获取第一文本信息,该第一文本信息可以是由用户通过终端设备向服务器发送的,也可以是由服务器从数据库中调用的,第一文本信息即为用于进行分类的文本信息。

可以理解的是,第一文本信息可以是社交媒体上发布的一条信息,如新浪微博上的一条微博,或者天天快报上的一条新闻标题等。

服务器对第一文本信息进行处理可以得到词袋信息以及词向量信息。在自然语言处理和文本分析的问题中,词袋信息和词向量信息是两种常用的模型。词向量信息可以表征单个词,如果要表示文本,需要做一些额外的处理。假设第一文本信息为“腾讯公司/是/国内/著名/的/互联网公司/之一”,“/”作为词与词之间的分割,该第一文本信息的的词袋信息由“腾讯公司”、“是”、“国内”、“著名”、“的”、“互联网公司”和“之一”构成。但计算机不认识文本,只认识数字,因此需要给每个词一个位置索引。例如,我们令“腾讯公司”的索引为0,“是”的索引为1,以此类推。

词向量信息是将词语转化成为稠密向量,并且对于相似的词语,其对应的词向量信息也相近。词向量信息能够包含更多信息,并且每一维都有特定的含义。

102、通过神经网络主题模型获取词袋信息所对应的主题分布矩阵,其中,神经网络主题模型包括编码模块以及解码模块,主题分布矩阵为编码模块对词袋信息进行编码以及解码模块对词袋信息进行解码的过程中学习得到的;

本实施例中,服务器将词袋信息输入至神经网络主题模型,由神经网络主题模型对词袋信息进行学习,学习的过程为,先对第一文本信息所对应的词袋信息进行编码,再对该编码后的词袋信息进行解码,这个学习的过程中能够得到主题分布矩阵,该主题分布矩阵包括第一文本信息的隐含主题分布。

103、根据词袋信息所对应的主题分布矩阵以及词向量信息,生成第二文本信息;

本实施例中,服务器采用主题记忆机制,对第一文本信息的主题分布矩阵和词向量信息进行处理,可以得到增强主题的第二文本信息,即主题记忆机制的输入是神经网络主题模型的输出。通过对第一文本信息的潜在主题进行编码,再通过注意力机制对应到输入的第一文本信息,从而增强第一文本信息本身的主题表示。主题记忆主要由记忆网络(memorynetworks)构成利用其记忆模块,将潜在主题的表示进行存储和更新。更新后的主题表示可以用于指导对第一文本信息的分类。

104、通过分类器对第二文本信息进行处理,得到文本信息分类结果,其中,分类器为根据待训练文本信息集合训练得到的。

本实施例中,服务器对已经增强主题后的第二文本信息进行分类处理,从而得到文本信息分类结果,比如属于“体育类”或者“游戏”等分类结果。而分类主要是基于分类器实现的,分类器则是根据待训练文本信息集合训练得到的,其中,待训练文本信息集合包括至少一个待训练文本信息,每个待训练文本信息都具有对应的分类结果,从而使得分类器能够学习得到分类方式和分类规律。

本发明实施例中,提供了一种文本分类的方法,服务器获取第一文本信息的词袋信息以及词向量信息,然后通过神经网络主题模型获取词袋信息所对应的主题分布矩阵,其中,神经网络主题模型包括编码模块以及解码模块,主题分布矩阵为编码模块对词袋信息进行编码以及解码模块对词袋信息进行解码的过程中学习得到的,服务器根据词袋信息所对应的主题分布矩阵以及词向量信息,生成第二文本信息,最后,服务器通过分类器对第二文本信息进行处理,得到文本信息分类结果,其中,分类器为根据待训练文本信息集合训练得到的。通过上述方式,在对文本信息进行分类的时候无需借助外部信息,从而能够广泛地用于应用领域。并且利用神经网络主题模型可以准确地学习到文本信息潜在的主题分布,这些分布可辅助文本信息的分类,由此提升分类的可信度。

可选地,在上述图3对应的实施例的基础上,本发明实施例提供的文本信息分类的方法第一个可选实施例中,通过神经网络主题模型获取词袋信息所对应的主题分布矩阵,可以包括:

采用编码模块对词袋信息进行编码处理,得到隐藏变量;

采用解码模块对主题分布进行解码处理,得到词袋信息;

根据编码模块处理得到的隐藏变量,以及解码模块处理得到的词袋信息,学习得到主题分布矩阵。

本实施例中,将介绍服务器如何学习得到主题分布矩阵。服务器为利用神经网络主题模型(neuraltopicmodel)可以学习得到主题分布矩阵,神经网络主题模型包括变分自动编码器(variationalauto-encoder),该变分自动编码器由编码模块和解码模块构成,输入和输出一致,首先由编码模块将数据映射到到一个隐变量空间,再通过解码模块将隐变量空间中的表示映射回数据,旨在通过深度神经网络来推断隐含变量的分布,以此学习数据的表示。其中,编码模块又可称为编码器模块(contextencoder),其目的是将文本信息输入序列编码为一个给定长度的隐藏状态。

可以理解的是,神经网络主题模型可以是卷积神经网络(convolutionalneuralnetwork,cnn),在cnn中,神经元与输入层中的一个局部区域相连,每个神经元都计算自己与输入层相连的小区域与自己权重的内积。最后,卷积层会计算所有神经元的输出。

神经网络主题模型也可以是循环神经网络(recurrentneuralnetwork,rnn),rnn主要用于处理序列数据。在该神经网络中,每个序列中前后单元不独立,一个序列当前的输出与前一时刻的输出也有关,表现为会对历史的信息进行记忆,并将其保存在网络的隐藏状态中。

其次,本发明实施例中,服务器可以先采用编码模块对词袋信息进行编码处理,得到主题分布,然后采用解码模块对主题分布进行解码处理,得到词袋信息,在这个编码和解码的过程中,根据编码模块处理得到的主题分布,以及解码模块处理得到的词袋信息,学习得到主题分布矩阵。通过上述方式,采用基于变分自动编码器的神经网络主题模型,可以对隐含变量做概率上的映射,由此增强学习文章与主题分布以及主题以及词分布的过程,以达到模拟概率主题模型采样过程以及效果。

可选地,在上述图3对应的第一个实施例的基础上,本发明实施例提供的文本信息分类的方法第二个可选实施例中,采用所述编码模块对词袋信息进行编码处理,得到主题分布,可以包括:

通过第一预设函数计算词袋信息对应的第一高斯参数;

通过第二预设函数计算词袋信息对应的第二高斯参数;

根据第一高斯参数以及第二高斯参数确定隐藏变量。

本实施例中,将介绍服务器如何利用编码模块对词袋信息进行编码处理。具体地,服务器可以采用第一预设函数计算词袋信息所对应的第一高斯参数,同时,服务器也可以采用第二预设函数计算词袋信息所对应的第二高斯参数。为了便于介绍,请参阅图4,图4为本发明实施例中主题记忆网络框架的一个示意图,如图所示,将词袋信息输入至神经网络主题模型中,在编码过程中先生成第一高斯参数μ以及第二高斯参数σ,然后根据第一高斯参数以及第二高斯参数确定隐藏变量z。

高斯参数即为高斯分布中的参数,高斯分布又称为正态分布。正态分布是自然科学与行为科学中的定量现象的一个方便模型。高斯分布式就是在一个大的区域内,数据会集中出现在部分区域。正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线。

再次,本发明实施例中,服务器可以通过第一预设函数计算词袋信息对应的第一高斯参数,并且通过第二预设函数计算词袋信息对应的第二高斯参数,最后根据第一高斯参数以及第二高斯参数确定隐藏变量。通过上述方式,能够在编码的过程中利用不同的预设函数计算相应的高斯参数,而高斯参数是具有概率性的参数,从而对隐藏变量引入了概率的映射,提升了方案的可操作性。

可选地,在上述图3对应的第二个实施例的基础上,本发明实施例提供的文本信息分类的方法第三个可选实施例中,通过第一预设函数计算词袋信息对应的第一高斯参数,可以包括:

采用如下方式计算第一高斯参数:

μ=fμ(fe(x));

其中,μ表示第一高斯参数,fμ()表示第一预设函数,fe()表示预设激活函数,x表示文档数据;

通过第二预设函数计算词袋信息对应的第二高斯参数,可以包括:

采用如下方式计算第二高斯参数:

logσ=fσ(fe(x));

其中,σ表示第二高斯参数,fσ()表示第二预设函数。

本实施例中,在神经网络主题模型中,隐藏变量z满足z∈rk,其中,r表示一个实数,k表示主题的数目。神经网络主题模型通过分布生成文档数据,之后再通过文档数据倒推得到这些分布的参数,这样可以模拟数据集的大致分布。

生成文档数据x的过程具体为,先从n(μ,σ2)这个高斯分布中采样一个隐藏变量z,其中,n表示高斯分布,μ表示高斯分布的均值,σ表示高斯分布的方差,这些都是高斯分布的主要控制参数。对于每个文档数据x而言,其主题分布表示为θ=softmax(fθ(z))。其中,fθ表示一个全连接神经网络的一个线性整流函数(rectifiedlinearunit,relu)。

对文档数据x中的每个词而言,从softmax(fφ(θ))中采样出一个词,φ表示主题的词分布,也是fφ网络中的参数,主题词分布主要在wφ上体现,高斯分布的参数μ和σ通过输出的文档数据x可以推断得到:

μ=fμ(fe(x));

logσ=fσ(fe(x));

神经网络主题模型的推导过程基于变分推导,其损失函数可以定义为:

lntm=dkl(q(z)||p(z\x))-eq(z)[p(x\z)];

其中,q(z)服从一个标准正态分布n(0,1),p(z\x)对应于编码过程,而p(x\z)对应于解码过程,损失函数用于估算最优的参数,以估计数据集的数据分布情况,dkl表示散度,用于度量两个概率分布之间的距离,eq(z)表示用q(z)去模拟p(x\z)的期望。

为了能让神经网络反向传递的梯度更加平滑,采用了重参数化的方法,也就是令z=μ+σ⊙∈,其中∈是从一个标准正态分布中采样得到。

神经网络主题模型一方面能够更精确找出隐含的主题分布,另一方面可以和其他的神经网络自然结合在一起,可以达到联合训练的目的。

进一步地,本发明实施例中,介绍了一种如何计算第一高斯参数和第二高斯参数的方式。通过上述方式,为方案的实现提供了具体的依据,从而提升方案的可行性和可操作性。

可选地,在上述图3对应的实施例的基础上,本发明实施例提供的文本信息分类的方法第四个可选实施例中,根据词袋信息所对应的主题分布矩阵以及词向量信息,生成第二文本信息,可以包括:

根据词向量信息以及主题分布,计算第一文本信息中每个词的相似度值;

根据每个词的相似度值以及主题分布矩阵,计算主题相似度值;

根据主题相似度值以及记忆输出值计算得到第二文本信息。

本实施例中,将介绍如何生成第二文本信息,第二文本信息即为增强主题后的文本信息。服务器对文本信息内部的潜在主题表示进行编码,通过注意力(attention)机制对应到每一个输入的第一文本信息,从而增强第一文本信息本身的主题表示。主题记忆主要由记忆网络(memorynetworks)构成利用其记忆模块,将潜在主题的表示进行存储和更新。更新后的主题表示可以用于指导对第一文本信息的分类。

服务器根据第一文本信息的词向量信息以及主题分布,计算第一文本信息中每个词的相似度值,然后利用每个词的相似度值以及主题分布矩阵,计算主题相似度值,最后根据主题相似度值以及记忆输出值计算得到第二文本信息。

其次,本发明实施例中,服务器利用第一文本信息中隐含的主题分布,再结合第一文本信息的词向量信息,可以计算第一文本信息中每个词的相似度值,然后根据每个词的相似度值以及主题分布矩阵,计算主题相似度值,最后服务器根据主题相似度值以及记忆输出值计算得到第二文本信息。通过上述方式,通过主题记忆机制能够对文本信息中潜在的主题进行存储和更新,更新后的主题可以用于指导对文本信息的分类,通过记忆网络将神经网络主题模型的主题表示编码进记忆网络的输入模块,结合目标文本的主题分布以及词向量信息,由记忆网络的输出模块输出经过主题特征增强的文本表示,从而提升文本信息分类的可靠性。

可选地,在上述图3对应的第四个实施例的基础上,本发明实施例提供的文本信息分类的方法第五个可选实施例中,根据词向量信息以及主题分布,计算第一文本信息中每个词的相似度值,可以包括:

采用如下方式计算第一文本信息中每个词的相似度值:

pk,l=sigmoid(ws[vk,sl]+bs);

其中,pk,l表示主题分布中第k个主题与第一文本信息中第l个词语的相似度值,ws表示第一相似度参数,bs表示第二相似度参数,vi表示词向量信息,si表示记忆输入模块;

根据每个词的相似度值以及主题分布矩阵,计算主题相似度值,包括:

采用如下方式计算主题相似度值:

其中,ξk表示主题相似度值,γ表示预定义的超参,θk表示主题分布矩阵;

根据主题相似度值以及记忆输出值计算得到第二文本信息,包括:

采用如下方式计算第二文本信息:

rk=ξktk;

其中,rk表示第二文本信息,tk表示记忆输出值。

本实施例中,主题记忆机制的输入是神经网络主题模型的输出,潜在主题表示φ以及第一文本信息的主题分布表示为θ,φ以φi=<φi,1,φi,2,...,φi,k>的形式被存储在记忆输入模块s中。接着,该模型使用一个神经网络将第一文本信息的词序列和记忆输入模块si中存储的内容进行映射。

具体地:

pk,l=sigmoid(ws[vk,sl]+bs);

其中,pk,l表示主题分布φi中第k个主题与第一文本信息xi中第l个词语的相似度值,ws表示第一相似度参数,bs表示第二相似度参数,两个相似度参数都是通过学习得到的,vi表示词向量信息,si表示记忆输入模块,[a,b]表示将a和b串联起来。

进一步将第一文本信息的主题分布结合进相似度矩阵中,从而得到主题相似度值:

其中,ξk表示主题相似度值,这是表示把文档主题以及主题记忆的表示做一个加和所得到的结果,γ表示预定义的超参,θk表示主题分布矩阵。

最后,服务器将ξk输入到记忆输入模块si,和记忆输出模块的记忆输出值tk结合,得到如下第二文本信息:

rk=ξktk;

其中,rk表示第二文本信息,tk表示记忆输出值。

再次,本发明实施例中,提供了一种根据主题相似度值以及记忆输出值计算得到第二文本信息的计算方式,即需要先根据词向量信息以及主题分布,计算第一文本信息中每个词的相似度值,然后根据每个词的相似度值以及主题分布矩阵,计算主题相似度值。通过上述方式,为如何获取第二文本信息提供了具体的实现依据,从而保证了方案的可行性和可操作性。

可选地,在上述图3对应的实施例的基础上,本发明实施例提供的文本信息分类的方法第六个可选实施例中,根据词袋信息所对应的主题分布矩阵以及词向量信息,生成第二文本信息,可以包括:

将词袋信息所对应的主题分布矩阵以及词向量信息输入到n层主题记忆网络,其中,n为大于或等于1的整数;

通过n层主题记忆网络输出第二文本信息。

本实施例中,主题记忆机制可以将多层记忆体串联起来,形成多层词的主题记忆网络。请参阅图5,图5为本发明实施例中多层次主题记忆网络框架的一个示意图,如图所示,将主题分布矩阵以及词向量信息输入到n层主题记忆网络,n层主题记忆网络把多个矩阵并列放在一起,形成一个新的矩阵(比如矩阵a和矩阵b串联,形成新的矩阵[a,b]),通过n层主题记忆网络输出第二文本信息。其中,第二文本信息作为分类器的输入。

需要说明的是,分类器可以是cnn、rnn、基于注意力机制的双向长短时记忆网络(longshort-termmemory,lstm)或者根据任务的不同选用的其他神经网络。

其中,lstm是一种循环神经网络。该网络通过门结构选择去除或者增加对信息的记忆。其包含三个门,分别为遗忘门、输入门和输出门。遗忘门决定当前网络是否丢弃该信息,输入门决定将什么新信息存放到当前网络中,输出门决定将网络中的哪一部分进行输出。

双向长短时记忆网络(bidirectionallongshort-termmemory,bilstm)是一种循环神经网络。单向循环神经网络只根据历史的信息推算出未来的信息,但在很多情况中,只看历史的信息是不够的,未来信息也需要考虑。因此双向循环神经网络被引入。该网络同时编码正向序列和反向序列,并结合双向序列的编码结果作为序列表示。

注意力机制(attentionmechanism)帮助神经网络模型对输入序列的每个部分赋予不同的权重,抽取出关键及重要的信息,使模型做出更加准确的判断。

记忆网络(memorynetwork)显示地构建一个可读可写的外部记忆体方式,以弥补传统的深度学习模型(rnn或lstm等)使用隐状态或者attention机制照成记忆体不够,无法精确记录一段话中所表达的全部内容。该网络由输入模块和输出模块构成,输出模块将输入的上下文信息转化成向量写入记忆体,输出模块结合目标文本的词向量,读取记忆体信息并输出最后的表示向量。

其次,本发明实施例中,服务器将词袋信息所对应的主题分布矩阵以及词向量信息输入到n层主题记忆网络,再通过n层主题记忆网络输出第二文本信息。通过上述方式,利用端到端学习(end-to-endlearning)从输入端(输入原始数据)到输出端(输出最终目标)直接用一个神经网络相连,让这个神经网络来承担原先所有模块的功能。并且主题记忆网络能够发现目标文本中主题指示性强的重要词汇,这些词汇往往代表目标文本中的主旨内容,能够帮助识别目标文本中的所属种类。

可选地,在上述图3对应的实施例的基础上,本发明实施例提供的文本信息分类的方法第七个可选实施例中,还可以包括:

获取神经网络主题模型的损失函数;

获取分类器的损失函数;

根据神经网络主题模型的损失函数以及分类器的损失函数确定交叉熵,其中,交叉熵用于优化神经网络主题模型以及分类器。

本实施例中,服务器还可以获取获取神经网络主题模型的损失函数,此外,服务器也需要获取分类器的损失函数,根据两个损失函数可以得到交叉熵,利用交叉熵可以优化神经网络主题模型以及分类器。

其中,损失函数是用来估量模型的预测值f(x)与真实值y的不一致程度,它是一个非负实值函数,通常使用l(y,f(x))来表示。损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数的重要组成部分。

交叉熵主要用于度量两个概率分布间的差异性信息。语言模型的性能通常用交叉熵和复杂来衡量。,交叉熵的意义是用该模型对文本识别的难度,或者从压缩的角度来看,每个词平均要用几个位来编码。复杂度的意义是用该模型表示这一文本平均的分支数,其倒数可视为每个词的平均概率。交叉熵可在神经网络中作为损失函数,p表示真实标记的分布,q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量p与q的相似性。交叉熵作为损失函数还有一个好处是使用sigmoid函数在梯度下降时能避免均方误差损失函数学习速率降低的问题,因为学习速率可以被输出的误差所控制。在特征工程中,交叉熵还可以用来衡量两个随机变量之间的相似度。

其次,本发明实施例中,服务器获取神经网络主题模型的损失函数,并且获取分类器的损失函数,最后根据神经网络主题模型的损失函数以及分类器的损失函数确定交叉熵,其中,交叉熵用于优化神经网络主题模型以及分类器。通过上述方式,可以采用交叉熵同时优化神经网络主题模型,主题记忆模块以及分类器,定义整个主题记忆网络模型需要优化的损失函数是神经网络主题模型和分类器的叠加,从而提升方案的实用性和可行性。

可选地,在上述图3对应的第七个实施例的基础上,本发明实施例提供的文本信息分类的方法第八个可选实施例中,根据神经网络主题模型的损失函数以及分类器的损失函数确定交叉熵,可以包括:

采用如下方式计算交叉熵:

l=lntm+λlcls;

其中,l表示交叉熵,lntm表示神经网络主题模型的损失函数,lcls表示分类器的损失函数,λ表示控制神经网络主题模型和分类器的学习强度。

本实施例中,介绍了一种服务器计算交叉熵的方式。

具体地,首先,服务器获取神经网络主题模型的损失函数以及分类器的损失函数,如上述实施例所描述的内容可知,神经网络主题模型的损失函数具体为:

lntm=dkl(q(z)||p(z\x))-eq(z)[p(x\z)];

即lntm表示神经网络主题模型的损失函数。分类器的损失函数具体为:

lcls=-∑clog(p(yc|x));

lcls表示分类器的损失函数,yc表示已知的数据标签。

服务器根据神经网络主题模型的损失函数和分类器的损失函数生成交叉熵,具体为:

l=lntm+λlcls;

其中,λ表示用于控制神经网络主题模型和分类器的学习强度参数。

再次,本发明实施例中,服务器根据神经网络主题模型的损失函数以及分类器的损失函数确定交叉熵,且提供了具体的计算方式。通过上述方式,能够为方案的实现提供可靠的依据,从而提升了方案的实用性和可行性。

下面对本发明中的服务器进行详细描述,请参阅图6,图6为本发明实施例中服务器一个实施例示意图,服务器20包括:

获取模块201,用于获取第一文本信息的词袋信息以及词向量信息;

所述获取模块201,还用于通过神经网络主题模型获取所述词袋信息所对应的主题分布矩阵,其中,所述神经网络主题模型包括编码模块以及解码模块,所述主题分布矩阵为所述编码模块对所述词袋信息进行编码以及所述解码模块对所述词袋信息进行解码的过程中学习得到的;

生成模块202,用于根据所述获取模块201获取的所述词袋信息所对应的主题分布矩阵以及所述词向量信息,生成第二文本信息;

处理模块203,用于通过分类器对所述生成模块202生成的所述第二文本信息进行处理,得到文本信息分类结果,其中,所述分类器为根据待训练文本信息集合训练得到的。

本实施例中,获取模块201获取第一文本信息的词袋信息以及词向量信息,所述获取模块201通过神经网络主题模型获取所述词袋信息所对应的主题分布矩阵,其中,所述神经网络主题模型包括编码模块以及解码模块,所述主题分布矩阵为所述编码模块对所述词袋信息进行编码以及所述解码模块对所述词袋信息进行解码的过程中学习得到的,生成模块202根据所述获取模块201获取的所述词袋信息所对应的主题分布矩阵以及所述词向量信息,生成第二文本信息,处理模块203通过分类器对所述生成模块202生成的所述第二文本信息进行处理,得到文本信息分类结果,其中,所述分类器为根据待训练文本信息集合训练得到的。

本发明实施例中,提供了一种文本分类的方法,服务器获取第一文本信息的词袋信息以及词向量信息,然后通过神经网络主题模型获取词袋信息所对应的主题分布矩阵,其中,神经网络主题模型包括编码模块以及解码模块,主题分布矩阵为编码模块对词袋信息进行编码以及解码模块对词袋信息进行解码的过程中学习得到的,服务器根据词袋信息所对应的主题分布矩阵以及词向量信息,生成第二文本信息,最后,服务器通过分类器对第二文本信息进行处理,得到文本信息分类结果,其中,分类器为根据待训练文本信息集合训练得到的。通过上述方式,在对文本信息进行分类的时候无需借助外部信息,从而能够广泛地用于应用领域。并且利用神经网络主题模型可以准确地学习到文本信息潜在的主题分布,这些分布可辅助文本信息的分类,由此提升分类的可信度。

可选地,在上述图6所对应的实施例的基础上,本发明实施例提供的服务器20的另一实施例中,

所述获取模块201,具体用于采用所述编码模块对所述词袋信息进行编码处理,得到隐藏变量;

采用所述解码模块对所述主题分布进行解码处理,得到所述词袋信息;

根据所述编码模块处理得到的所述主题分布,以及所述解码模块处理得到的词袋信息,学习得到所述主题分布矩阵。

其次,本发明实施例中,服务器可以先采用编码模块对词袋信息进行编码处理,得到主题分布,然后采用解码模块对主题分布进行解码处理,得到词袋信息,在这个编码和解码的过程中,根据编码模块处理得到的主题分布,以及解码模块处理得到的词袋信息,学习得到主题分布矩阵。通过上述方式,采用基于变分自动编码器的神经网络主题模型,可以对隐含变量做概率上的映射,由此增强学习文章与主题分布以及主题以及词分布的过程,以达到模拟概率主题模型采样过程以及效果。

可选地,在上述图6所对应的实施例的基础上,本发明实施例提供的服务器20的另一实施例中,

所述获取模块201,具体用于通过第一预设函数计算所述词袋信息对应的第一高斯参数;

通过第二预设函数计算所述词袋信息对应的第二高斯参数;

根据所述第一高斯参数以及所述第二高斯参数确定隐藏变量。

再次,本发明实施例中,服务器可以通过第一预设函数计算词袋信息对应的第一高斯参数,并且通过第二预设函数计算词袋信息对应的第二高斯参数,最后根据第一高斯参数以及第二高斯参数确定隐藏变量。通过上述方式,能够在编码的过程中利用不同的预设函数计算相应的高斯参数,而高斯参数是具有概率性的参数,从而对隐藏变量引入了概率的映射,提升了方案的可操作性。

可选地,在上述图6所对应的实施例的基础上,本发明实施例提供的服务器20的另一实施例中,

所述获取模块201,具体用于采用如下方式计算所述第一高斯参数:

μ=fμ(fe(x));

其中,所述μ表示所述第一高斯参数,所述fμ()表示所述第一预设函数,所述fe()表示预设激活函数,所述x表示文档数据;

所述通过第二预设函数计算所述词袋信息对应的第二高斯参数,包括:

采用如下方式计算所述第二高斯参数:

logσ=fσ(fe(x));

其中,所述σ表示所述第二高斯参数,所述fσ()表示所述第二预设函数。

进一步地,本发明实施例中,介绍了一种如何计算第一高斯参数和第二高斯参数的方式。通过上述方式,为方案的实现提供了具体的依据,从而提升方案的可行性和可操作性。

可选地,在上述图6所对应的实施例的基础上,本发明实施例提供的服务器20的另一实施例中,

所述生成模块202,具体用于根据所述词向量信息以及主题分布,计算所述第一文本信息中每个词的相似度值;

根据所述每个词的相似度值以及所述主题分布矩阵,计算主题相似度值;

根据所述主题相似度值以及记忆输出值计算得到所述第二文本信息。

其次,本发明实施例中,服务器利用第一文本信息中隐含的主题分布,再结合第一文本信息的词向量信息,可以计算第一文本信息中每个词的相似度值,然后根据每个词的相似度值以及主题分布矩阵,计算主题相似度值,最后服务器根据主题相似度值以及记忆输出值计算得到第二文本信息。通过上述方式,通过主题记忆机制能够对文本信息中潜在的主题进行存储和更新,更新后的主题可以用于指导对文本信息的分类,通过记忆网络将神经网络主题模型的主题表示编码进记忆网络的输入模块,结合目标文本的主题分布以及词向量信息,由记忆网络的输出模块输出经过主题特征增强的文本表示,从而提升文本信息分类的可靠性。

可选地,在上述图6所对应的实施例的基础上,本发明实施例提供的服务器20的另一实施例中,

所述生成模块202,具体用于采用如下方式计算所述第一文本信息中每个词的相似度值:

pk,l=sigmoid(ws[vk,sl]+bs);

其中,所述pk,l表示所述主题分布中第k个主题与所述第一文本信息中第l个词语的相似度值,所述ws表示第一相似度参数,所述bs表示第二相似度参数,所述vi表示所述词向量信息,所述si表示记忆输入模块;

采用如下方式计算主题相似度值:

其中,所述ξk表示所述主题相似度值,所述γ表示预定义的超参,所述θk表示所述主题分布矩阵;

采用如下方式计算所述第二文本信息:

rk=ξktk;

其中,所述rk表示所述第二文本信息,所述tk表示所述记忆输出值。

再次,本发明实施例中,提供了一种根据主题相似度值以及记忆输出值计算得到第二文本信息的计算方式,即需要先根据词向量信息以及主题分布,计算第一文本信息中每个词的相似度值,然后根据每个词的相似度值以及主题分布矩阵,计算主题相似度值。通过上述方式,为如何获取第二文本信息提供了具体的实现依据,从而保证了方案的可行性和可操作性。

可选地,在上述图6所对应的实施例的基础上,本发明实施例提供的服务器20的另一实施例中,

所述生成模块202,具体用于将所述词袋信息所对应的主题分布矩阵以及所述词向量信息输入到n层主题记忆网络,其中,所述n为大于或等于1的整数;

通过所述n层主题记忆网络输出所述第二文本信息。

其次,本发明实施例中,服务器将词袋信息所对应的主题分布矩阵以及词向量信息输入到n层主题记忆网络,再通过n层主题记忆网络输出第二文本信息。通过上述方式,利用端到端学习(end-to-endlearning)从输入端(输入原始数据)到输出端(输出最终目标)直接用一个神经网络相连,让这个神经网络来承担原先所有模块的功能。并且主题记忆网络能够发现目标文本中主题指示性强的重要词汇,这些词汇往往代表目标文本中的主旨内容,能够帮助识别目标文本中的所属种类。

可选地,在上述图6所对应的实施例的基础上,请参阅图7,本发明实施例提供的服务器20的另一实施例中,所述服务器20还包括确定模块204;

所述获取模块201,还用于获取所述神经网络主题模型的损失函数;

所述获取模块201,还用于获取所述分类器的损失函数;

所述确定模块204,用于根据所述获取模块201获取的所述神经网络主题模型的损失函数以及所述分类器的损失函数确定交叉熵,其中,所述交叉熵用于优化所述神经网络主题模型以及所述分类器。

其次,本发明实施例中,服务器获取神经网络主题模型的损失函数,并且获取分类器的损失函数,最后根据神经网络主题模型的损失函数以及分类器的损失函数确定交叉熵,其中,交叉熵用于优化神经网络主题模型以及分类器。通过上述方式,可以采用交叉熵同时优化神经网络主题模型,主题记忆模块以及分类器,定义整个主题记忆网络模型需要优化的损失函数是神经网络主题模型和分类器的叠加,从而提升方案的实用性和可行性。

可选地,在上述图7所对应的实施例的基础上,本发明实施例提供的服务器20的另一实施例中,

所述确定模块204,具体用于采用如下方式计算所述交叉熵:

l=lntm+λlcls;

其中,所述l表示所述交叉熵,所述lntm表示所述神经网络主题模型的损失函数,所述lcls表示所述分类器的损失函数,所述λ表示控制所述神经网络主题模型和所述分类器的学习强度。

再次,本发明实施例中,服务器根据神经网络主题模型的损失函数以及分类器的损失函数确定交叉熵,且提供了具体的计算方式。通过上述方式,能够为方案的实现提供可靠的依据,从而提升了方案的实用性和可行性。

图8是本发明实施例提供的一种服务器结构示意图,该服务器300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在服务器300上执行存储介质330中的一系列指令操作。

服务器300还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述实施例中由服务器所执行的步骤可以基于该图8所示的服务器结构。

本实施例中,cpu322用于执行如下步骤:

获取第一文本信息的词袋信息以及词向量信息;

通过神经网络主题模型获取所述词袋信息所对应的主题分布矩阵,其中,所述神经网络主题模型包括编码模块以及解码模块,所述主题分布矩阵为所述编码模块对所述词袋信息进行编码以及所述解码模块对所述词袋信息进行解码的过程中学习得到的;

根据所述词袋信息所对应的主题分布矩阵以及所述词向量信息,生成第二文本信息;

通过分类器对所述第二文本信息进行处理,得到文本信息分类结果,其中,所述分类器为根据待训练文本信息集合训练得到的。

可选地,cpu322具体用于执行如下步骤:

采用所述编码模块对所述词袋信息进行编码处理,得到隐藏变量;

采用所述解码模块对所述主题分布进行解码处理,得到所述词袋信息;

根据所述编码模块处理得到的所述主题分布,以及所述解码模块处理得到的词袋信息,学习得到所述主题分布矩阵。

可选地,cpu322具体用于执行如下步骤:

通过第一预设函数计算所述词袋信息对应的第一高斯参数;

通过第二预设函数计算所述词袋信息对应的第二高斯参数;

根据所述第一高斯参数以及所述第二高斯参数确定隐藏变量。

可选地,cpu322具体用于执行如下步骤:

采用如下方式计算所述第一高斯参数:

μ=fμ(fe(x));

其中,所述μ表示所述第一高斯参数,所述fμ()表示所述第一预设函数,所述fe()表示预设激活函数,所述x表示文档数据;

所述通过第二预设函数计算所述词袋信息对应的第二高斯参数,包括:

采用如下方式计算所述第二高斯参数:

logσ=fσ(fe(x));

其中,所述σ表示所述第二高斯参数,所述fσ()表示所述第二预设函数。

可选地,cpu322具体用于执行如下步骤:

根据所述词向量信息以及主题分布,计算所述第一文本信息中每个词的相似度值;

根据所述每个词的相似度值以及所述主题分布矩阵,计算主题相似度值;

根据所述主题相似度值以及记忆输出值计算得到所述第二文本信息。

可选地,cpu322具体用于执行如下步骤:

采用如下方式计算所述第一文本信息中每个词的相似度值:

pk,l=sigmoid(ws[vk,sl]+bs);

其中,所述pk,l表示所述主题分布中第k个主题与所述第一文本信息中第l个词语的相似度值,所述ws表示第一相似度参数,所述bs表示第二相似度参数,所述vi表示所述词向量信息,所述si表示记忆输入模块;

采用如下方式计算主题相似度值:

其中,所述ξk表示所述主题相似度值,所述γ表示预定义的超参,所述θk表示所述主题分布矩阵;

采用如下方式计算所述第二文本信息:

rk=ξktk;

其中,所述rk表示所述第二文本信息,所述tk表示所述记忆输出值。

可选地,cpu322具体用于执行如下步骤:

将所述词袋信息所对应的主题分布矩阵以及所述词向量信息输入到n层主题记忆网络,其中,所述n为大于或等于1的整数;

通过所述n层主题记忆网络输出所述第二文本信息。

可选地,cpu322还用于执行如下步骤:

获取所述神经网络主题模型的损失函数;

获取所述分类器的损失函数;

根据所述神经网络主题模型的损失函数以及所述分类器的损失函数确定交叉熵,其中,所述交叉熵用于优化所述神经网络主题模型以及所述分类器。

可选地,cpu322具体用于执行如下步骤:

采用如下方式计算所述交叉熵:

l=lntm+λlcls;

其中,所述l表示所述交叉熵,所述lntm表示所述神经网络主题模型的损失函数,所述lcls表示所述分类器的损失函数,所述λ表示控制所述神经网络主题模型和所述分类器的学习强度。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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