基于卷积神经网络的文本分类方法、装置、介质和设备与流程

文档序号:17264465发布日期:2019-03-30 09:54阅读:129来源:国知局
基于卷积神经网络的文本分类方法、装置、介质和设备与流程

本发明涉及文本分类技术领域,特别涉及一种基于卷积神经网络的文本分类方法、装置、介质和设备。



背景技术:

随着移动互联网技术的发展,网络信息呈爆发式的增长,网络中充斥了大量有用或无用的文本;例如,网络舆情作为社会舆论的一种表现形式,公众基于互联网对当下流行的社会问题发表不同的看法或网络舆论。由于网络文本信息量巨大,需要对网络信息进行快速、准确地分类。文本分类作为自然语言处理的关键技术之一,能够有效解决信息杂乱等问题,并广泛应用于搜索引擎、垃圾邮件过滤、个性化新闻和资料分拣等任务中。

当前的文本分类模型一般基于词袋模型和循环神经网络模型为主,而词袋模型没有考虑词的位置因素,且文本特征是0阶统计的;而循环神经网络的计算效率较低,参数较多不容易调参,且随着不断迭代会导致梯度越来越小,即出现梯度消失问题。假如采用传统卷积神经网络模型(cnn)单纯地增加网络层,也会导致梯度消失和准确率下降的问题,该方式也不能提高文本分类的效果。



技术实现要素:

本发明提供一种基于卷积神经网络的文本分类方法、装置、介质和设备,用以解决现有利用卷积神经网络的文本分类模型存在梯度消失问题的缺陷。

本发明提供的一种基于卷积神经网络的文本分类方法,包括:

获取与网络舆情相关的待分类文本,确定所述待分类文本的词向量矩阵;

根据所述词向量矩阵构造初始特征矩阵,将所述初始特征矩阵作为训练后的文本分类模型的输入,所述文本分类模型包括依次连接的区域块和与所有区域块输出端连接的全连接层,所述全连接层的输出为所述文本分类模型的输出;

将所述文本分类模型的输入作为第一顺位的区域块的输入,并确定所述区域块的输出;所述区域块包含多个隐含层,且每个隐含层的输入来自于所述区域块内所有其他隐含层的输出;

将当前区域块的输出作为下一个区域块的输入,继续确定下一个区域块的输出,直至确定所有区域块的输出,并将所有区域块的输出传至全连接层;

所述文本分类模型的全连接层根据所有区域块的输出确定所述待分类文本的分类结果。

在一种可能的实现方式中,在所述将所述初始特征矩阵作为训练后的文本分类模型的输入之前,该方法还包括:

构建初始模型,所述初始模型包括依次连接的区域块和与所有区域块输出端连接的全连接层,全连接层的输出为所述初始模型的输出;

获取词向量预设矩阵,通过将所述词向量预设矩阵作为所述初始模型的输入、将相应分类预设结果作为所述初始模型的输出,对所述初始模型进行训练,确定所述初始模型的模型参数,将确定模型参数的初始模型作为文本分类模型。

在一种可能的实现方式中,所述确定所述待分类文本的词向量矩阵包括:

依次将所述待分类文本中的每个词转换为词向量,并将所述待分类文本的一个句子中所有词向量顺序拼接形成相应的句子序列;

对所有的所述句子序列进行尾部补零处理,尾部补零处理后的句子序列具有相同的序列长度;

依次将所有的尾部补零处理后的句子序列作为矩阵的一行或一列,生成所述待分类文本的词向量矩阵。

在一种可能的实现方式中,所述确定所述区域块的输出包括:

预设所述区域块内所有隐含层的处理序列;

根据所述区域块的输入确定所述处理序列中第一顺位的隐含层的输出,之后按照所述处理序列、根据所述区域块的输入和已经确定输出的之前的隐含层的输出依次确定每个隐含层的输出;

按照所述处理序列、依次根据所述区域块内所有其他隐含层的输出对当前隐含层的输出进行更新;在更新预设次数后,将所述处理序列中最后顺位的隐含层更新后的输出作为所述区域块的输出。

在一种可能的实现方式中,所述按照所述处理序列、依次根据所述区域块内所有其他隐含层的输出对当前隐含层的输出进行更新包括:

按照所述处理序列、根据更新公式依次确定每个隐含层的输出;所述更新公式为:

其中,表示所述处理序列中第i个隐含层在第k次更新后的输出,g()表示激活函数,*表示卷积运算;wmi表示第m个隐含层与第i个隐含层之间的权重,表示第m个隐含层在第k次更新后的输出,wni表示第n个隐含层与第i个隐含层之间的权重,表示第n个隐含层在第k-1次更新后的输出;且当k=1时,第k-1次更新表示未更新。

在一种可能的实现方式中,所述将当前区域块的输出作为下一个区域块的输入包括:

对当前区域块的输出进行池化处理,确定当前区域块的特征量,所述特征量为1×1×c的向量,其中,c为当前区域块的输出的通道个数;

根据当前区域块的特征量调整当前区域块的输出,将调整后的当前区域块的输出作为下一个区域块的输入。

在一种可能的实现方式中,所述将所有区域块的输出传至全连接层包括:

将所有区域块的输入和输出均传至全连接层。

基于同样的发明构思,本发明实施例还提供一种基于卷积神经网络的文本分类装置,包括:

获取模块,用于获取与网络舆情相关的待分类文本,确定所述待分类文本的词向量矩阵;

输入确定模块,用于根据所述词向量矩阵构造初始特征矩阵,将所述初始特征矩阵作为训练后的文本分类模型的输入,所述文本分类模型包括依次连接的区域块和与所有区域块输出端连接的全连接层,所述全连接层的输出为所述文本分类模型的输出;

输出确定模块,用于将所述文本分类模型的输入作为第一顺位的区域块的输入,并确定所述区域块的输出;所述区域块包含多个隐含层,且每个隐含层的输入来自于所述区域块内所有其他隐含层的输出;

全局处理模块,用于将当前区域块的输出作为下一个区域块的输入,继续确定下一个区域块的输出,直至确定所有区域块的输出,并将所有区域块的输出传至全连接层;

分类模块,用于所述文本分类模型的全连接层根据所有区域块的输出确定所述待分类文本的分类结果。

基于同样的发明构思,本发明实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于上述任意一项所述的方法。

基于同样的发明构思,本发明实施例还提供一种电子设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任意一项所述的方法。

本发明实施例提供的一种基于卷积神经网络的文本分类方法、装置、介质和设备,基于待分类文本的词向量可构建二维的词向量矩阵,之后利用有依次连接的区域块和与所有区域块均连接的全连接层的文本分类模型确定相应的文本分类类别。利用多个隐含层组成区域块,可以减少每个隐含层输出特征图的数量,从而减小网络参数的数量;该文本分类模型的网络结构可以使得网络特征和梯度的传递更加有效,网络也就更加容易训练;且避免了损失函数信息逐层传递造成的梯度消失问题,保证了扩大网络深度的同时能够避免梯度消失问题,提升了文本分类模型训练效率。以每个句子的词向量序列作为词向量矩阵的一行,可以保证后续多级卷积计算。同时,分阶段确定隐含层的输出,且在第二阶段将其它隐含层的输出作为当前隐含层的输入,并基于所有已经更新的隐含层的输出来确定最后顺位的隐含层的输出,并作为该区域块的输出,可以最大程度保证区域块的输出的网络特性;且区域块的特征图维度也不会超线性的增加,可减少参数量和计算量。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例中基于卷积神经网络的文本分类方法流程图;

图2为本发明实施例中卷积神经网络的结构示意图;

图3为本发明实施例中生成词向量矩阵的方法流程图;

图4为本发明实施例中确定区域块输出的流程示意图;

图5为本发明实施例中基于卷积神经网络的文本分类装置结构图;

图6为本发明实施例中基于卷积神经网络的文本分类电子设备的结构图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本发明实施例提供的一种基于卷积神经网络的文本分类方法,参见图1所示,包括:

步骤101:获取与网络舆情相关的待分类文本,确定待分类文本的词向量矩阵。

本发明实施例中,待分类文本为与网络舆情相关的需要分类的文本,其可包括一个或多个句子,每个句子包括一个或多个词;其中,每个词对应一个词向量,进而可以生成相应的词向量矩阵。

步骤102:根据词向量矩阵构造初始特征矩阵,将初始特征矩阵作为训练后的文本分类模型的输入,所述文本分类模型包括依次连接的区域块和与所有区域块输出端连接的全连接层,所述全连接层的输出为所述文本分类模型的输出。

本发明实施例中,词向量矩阵相当于一张灰度图像,在构造初始特征矩阵时可利用预设的多个卷积核进行构造;例如,将词向量矩阵与卷积核进行内积运算从而可以确定特征图(featuremap),一个特征图对应一个初始特征矩阵,该卷积核的维度可以为5×5、或6×1等,本实施例对此不做限定。在卷积神经网络中,可以设置多个卷积核,故可以构造多个初始特征矩阵,之后将所有的初始特征矩阵作为基于卷积神经网络的训练后的文本分类模型的输入。

本发明实施例中,文本分类模型的主要结构参见图2所示,该文本分类模型包括多个依次连接的区域块和与所有区域块均相连的全连接层。在图2中,以3个区域块(b1、b2、b3)为例说明,每个区域块内包含四个隐含层(h1、h2、h3、h4),区域块和隐含层的数量可根据具体情况而定,本实施例对此不做限定。多个区域块依次相连,即上一个区域块的输出可以作为下一个区域块的输入,所有区域块的输出连接至全连接层,由全连接层输出主题提取模型的输出结果output。

其中,预先对文本分类模型进行训练,以确定适合进行文本分类的模型参数。具体的,训练文本分类模型的过程包括:构建初始模型,初始模型包括依次连接的区域块和与所有区域块输出端连接的全连接层,全连接层的输出为初始模型的输出。在构建初始模型之后,获取词向量预设矩阵,通过将所述词向量预设矩阵作为所述初始模型的输入、将相应分类预设结果作为所述初始模型的输出,对所述初始模型进行训练,确定初始模型的模型参数,将确定模型参数的初始模型作为文本分类模型。

本发明实施例中,该初始模型为训练前的文本分类模型,初始模型和文本分类模型的网络结构相同,只是模型参数可能不同,通过训练过程来确定合适的模型参数。具体的,将词向量预设矩阵和相应的分类预设结果作为训练样本,即词向量预设矩阵为初始模型的输入、分类预设结果作为初始模型的输出,通过训练来调整文本分类模型的模型参数,该模型参数具体可以为网络权重,比如下述的权重wmi、wni等。其中,该词向量预设矩阵可以为基于一个预设的训练文本按照步骤101来确定。

步骤103:将文本分类模型的输入作为第一顺位的区域块的输入,并确定区域块的输出;区域块包含多个隐含层,且每个隐含层的输入来自于区域块内所有其他隐含层的输出。

本发明实施例中,第一顺位的区域块即为依次相连的所有区域块中的第一个,如图2中的区域块b1。传统卷积神经网络是将上一隐含层的输出作为下一隐含层的输入,即以隐含层为单位进行卷积操作,这样每个隐含层(或卷积层)的输出featuremap的数量都较大,一般具有几百或上千的宽度(weight),导致卷积神经网络参数较多。而区域块内包含多个隐含层(图2中为4个隐含层),这样,每个隐含层的输出featuremap的数量可以设置较小(小于100),从而可以减小网络参数的数量。

同时,一般卷积神经网络中,隐含层的输入只与之前的隐含层相关,以图2示例性说明,在一般卷积神经网络中,隐含层h2的输入只与h1的输出相关;而在本发明实施例中,每个隐含层的输入来自于区域块内所有其他隐含层的输出。比如图2中,隐含层h2的输入与隐含层h1、h3和h4的输出均相关。将在区域块内所有其他隐含层的输出来作为某个隐含层的输入,种连接方式的结果确保了每一隐含层都能从损失函数直接访问到梯度,可以使得网络特征和梯度的传递更加有效,网络也就更加容易训练,即可以训练非常深的网络。其中,区域块的输出为某个隐含层的输出;可选的,区域块的输出为隐含层中最后顺位的隐含层的输出。

步骤104:将当前区域块的输出作为下一个区域块的输入,继续确定下一个区域块的输出,直至确定所有区域块的输出,并将所有区域块的输出传至全连接层。

本发明实施例中,第一顺位的区域块的输入为初始特征矩阵,之后区域块的输入为上一个区域块的输出,在确定区域块的输入后即可以按照步骤103中相同的方式确定该区域块的输出。以图2为例,区域块b1的输入为初始特征矩阵(即input),区域块b2的输入为区域块b1的输出,区域块b3的输入为区域块b2的输出。同时,每个区域块均与网络结构最终的全连接层(fullyconnectedlayer,fc层),使得每个区域块均能够直接访问损失函数信息,而每个区域块中每个隐含层也能够直接访问区域块的损失函数信息,因此相比于传统只有最后一个隐含层与全连接层相连,本实施例提供的网络结构避免了损失函数信息逐层传递造成的梯度消失问题,保证了扩大网络深度的同时能够避免梯度消失问题,提升了文本分类模型训练效率,且可以训练非常深的神经网络。

步骤105:文本分类模型的全连接层根据所有区域块的输出确定待分类文本的分类结果。

本发明实施例中,可以将网络舆情预先分为几种类别,并根据预设的样本(样本的输入是预设文本的词向量矩阵,输出即为该预设文本的分类)得到训练后的网络舆情的文本分类模型,该文本分类模型的结构即为图2所示。待将上述的待分类文本输入至该文本分类模型后,即可确定该待分类文本相应的分类结果,即图2中的output。例如,网络舆情可以分为食品安全、突发事件、民生权益、吏治反腐、社会治安、法制法治、意识形态等多类;也可以将网络舆情分为其他类,具体可根据实际情况而定。

本发明实施例提供的一种基于卷积神经网络的文本分类方法,基于待分类文本的词向量可构建二维的词向量矩阵,之后利用有依次连接的区域块和与所有区域块均连接的全连接层的文本分类模型确定相应的文本分类类别。利用多个隐含层组成区域块,可以减少每个隐含层输出特征图的数量,从而减小网络参数的数量;该文本分类模型的网络结构可以使得网络特征和梯度的传递更加有效,网络也就更加容易训练;且避免了损失函数信息逐层传递造成的梯度消失问题,保证了扩大网络深度的同时能够避免梯度消失问题,提升了文本分类模型训练效率。

本发明另一实施例提供一种基于卷积神经网络的文本分类方法,该方法包括上述实施例中的步骤101-105,其实现原理以及技术效果参见图1对应的实施例。同时,参见图3所示,本发明实施例中,步骤101“获取与网络舆情相关的待分类文本”包括步骤1011-1012:

步骤1011:基于网络爬虫获取与网络舆情相关的网页文本信息,网页文本信息包括一个或几个句子,每个句子包括一个或多个词。

步骤1012:对网页文本信息进行去噪去重处理,并对去噪去重处理后的网页文本信息进行分词处理,将分词处理后的网页文本信息作为待分类文本。

本发明实施例中,具体可基于网络爬虫获取与网络舆情相关的网页,网络爬虫技术是比较成熟的技术,此处不做赘述。同时,在获取到网页文本信息后,对网页内容信息进行去噪处理(去除无关的广告等)和去重处理(去除不同url中获取的相同的网页内容信息),以减小后续冗余的处理量。可选的,可以对每一项网页文本信息设置权重系数,该权重系数的初始值为1,每当去除一项重复的网页内容信息后,该网页内容信息的权重系数加1,即权重系数越大,说明网络上与该网页文本信息相关的内容越多,该网页文本信息的重要性越高。之后在对网页内容信息再进行分词处理、去停用词处理,进而可以获得与网络舆情相关的词组集合,并将该词组集合作为待分类文本。

可选的,参见图3所示,步骤101“确定待分类文本的词向量矩阵”包括步骤1013-1015:

步骤1013:依次将待分类文本中的每个词转换为词向量,并将待分类文本的一个句子中所有词向量顺序拼接形成相应的句子序列。

本发明实施例中,可将待分类文本中的每个词转换为word2vec词向量,每个句子由一个或多个词组成,即每个句子对应一个或多个词向量,按照词向量在句子中的顺序即可顺序拼接形成句子序列,该句子序列为一维数组。

步骤1014:对所有的句子序列进行尾部补零处理,尾部补零处理后的句子序列具有相同的序列长度。

本发明实施例中,可以预设所有句子序列的标准长度,也可在生成所有句子序列后确定其中最长的句子序列,将该最长的句子序列的长度作为标准长度;在确定标准长度后,对长度不够的句子序列进行尾部补零处理,即从句子序列的最后一位开始进行补零,直至达到标准长度。

步骤1015:依次将所有的尾部补零处理后的句子序列作为矩阵的一行或一列,生成待分类文本的词向量矩阵。

由于补零处理后的句子序列具有相同的序列长度,此时将所有的句子序列罗列起来即可形成一个矩阵,即词向量矩阵。一般情况下,将句子序列作为矩阵的一行,即词向量矩阵的一行对应一个句子的词向量的集合;此时,对于m×n的词向量矩阵,m为待分类文本中的句子数量,n为标准长度。可选的,也可预设m和n的大小,即词向量矩阵的尺寸是确定,之后以句子为单位依次一行行或一列列填充该词向量矩阵集合即可,对于词向量矩阵中不存在句子序列的元素设为0。本发明实施例中,以每个句子的词向量序列作为词向量矩阵的一行,可以保证后续多级卷积计算。

在上述实施例的基础上,步骤103“确定区域块的输出”的过程是通过两个阶段确定区域块的输出的,该过程包括步骤a1-a3:

步骤a1:预设区域块内所有隐含层的处理序列。

本发明实施例中,对于一个区域块,虽然每个隐含层的输入来自于区域块内所有其他隐含层的输出,但是在实际处理过程中,隐含层之间是存在处理顺序的,在对一个隐含层处理完毕(或暂时完毕)后再对下一个隐含层进行处理。如图2所示,四个隐含层的处理顺序可以是h1→h2→h3→h4。

步骤a2:根据区域块的输入确定处理序列中第一顺位的隐含层的输出,之后按照处理序列、根据区域块的输入和已经确定输出的之前的隐含层的输出依次确定每个隐含层的输出。

本发明实施例中,确定区域块的输出主要包含两个阶段,在第一阶段,生成每个隐含层的特征图(featuremap);在第二阶段,对每个隐含层的特征图进行更新或调整。具体的,图2中一个区域块在两个阶段的处理过程参见图4所示,图4中,虚线部分表示第一阶段,实线部分表示第二阶段;需要说明的是,图4中为了方便描述、分阶段性表示了8个隐含层,但是其网络结构本质上为图2所示。

在第一阶段,将区域块的输入作为第一顺位的隐含层的输入,进而可以确定该隐含层的输出。以图4所示,第一顺位的隐含层为h1,其输入为该区域块的输入,即图4中的x0;当该区域块为第一顺位的区域块(如图2中的b1)时,则x0表示初始特征矩阵;当该区域块为其他区域块时(如图2中的b2、b3),则x0为上一个区域块的输出。在确定隐含层h1的输入x0后,即可确定隐含层h1的输出x1;其中,卷积神经网络中,根据隐含层的输入确定相应的输出是常规技术,本实施例对此不做详述。

在确定第一顺位的隐含层的输出后,即可按照处理顺序依次确定其他隐含层的输出。其中,对于第二个隐含层h2,区域块的输入为x0,已经确定输出的之前的隐含层只有h1,即第二个隐含层h2的输入包括x0和x1,为每个输入分配相应的权重,进而可以确定h2的输出为x2;同理,第三个隐含层h3的输入包括x0、x1和x2,h3的输出为x3;第四个隐含层h4的输入包括x0、x1、x2和x3,h4的输出为x4。其中,x1、x2、x3和x4均为相应隐含层在第一阶段的输出,并不是最终的输出。

步骤a3:按照处理序列、依次根据区域块内所有其他隐含层的输出对当前隐含层的输出进行更新;在更新预设次数后,将处理序列中最后顺位的隐含层更新后的输出作为区域块的输出。

本发明实施例中,在第二阶段,仍然按照处理顺序依次对隐含层的输出进行更新;由于在第二阶段所有隐含层已经存在一个输出(该输出可以为在第一阶段的输出,也可以为在第二阶段上一轮更新后的输出),此时可以根据所有隐含层的输出来进行更新。具体的,按照处理序列、根据更新公式依次确定每个隐含层的输出;更新公式为:

其中,表示处理序列中第i个隐含层在第k次更新后的输出,g()表示激活函数,一般为非线性激活函数,*表示卷积运算;wmi表示第m个隐含层与第i个隐含层之间的权重,表示第m个隐含层在第k次更新后的输出,wni表示第n个隐含层与第i个隐含层之间的权重,表示第n个隐含层在第k-1次更新后的输出;且当k=1时,第k-1次更新表示未更新。式中,m和n的最大值均为隐含层的个数。

参见图4所示,图4中的第二阶段表示在第一阶段后的第一次更新过程,即更新公式中k=1。按照处理序列,第一个隐含层h1的输入为隐含层h2、h3、h4此时的输出,即x2、x3和x4,此时根据x2、x3和x4即可确定第一轮更新后h1的输出当k>1时,h1的输入为隐含层h2、h3、h4此时的输出,只是隐含层h2、h3、h4此时的输出为在k-1次更新后的输出。再之后更新h2的输出时,此时h2的输入为其他隐含层当前的输出,即隐含层h1、h3、h4此时的输出,此时h3和h4的输出仍然为x3和x4,但是h1的输出已经更新为x11,即此时根据x3、x4和即可确定h2此时的输出同理,在更新h3的输出时,此时h3的输入为和x4,更新后的h3的输出为在更新最后顺位的隐含层h4的输出时,此时其他隐含层h1、h2、h3均已经进行了更新,即根据其他隐含层更新后的输出确定h4更新后的输出此时当前轮的更新操作结束。若整个更新过程结束,此时即可将h4更新后输出作为区域块的输出;若还需下一轮更新,则对k进行加一,重复步骤a3中第二阶段的处理过程,直至k满足预设的最大值。

本发明实施例中,分阶段确定隐含层的输出,且在第二阶段将其它隐含层的输出作为当前隐含层的输入,并基于所有已经更新的隐含层的输出来确定最后顺位的隐含层的输出,并作为该区域块的输出,可以最大程度保证区域块的输出的网络特性;且区域块的特征图维度也不会超线性的增加,可减少参数量和计算量。同时,每一隐含层的输入是区域块内所有其它层的输出,这样在计算区域块中一个隐含层的输出时会结合其他所有隐含层的featuremap,这种连接方式的结果确保了每一层都能从损失函数直接访问到梯度,因此使得网络特征的传递更加有效,网络也就更加容易训练,即可以训练非常深的网络。

在上述实施例的基础上,上述步骤104“将当前区域块的输出作为下一个区域块的输入”包括:对当前区域块的输出进行池化处理,确定当前区域块的特征量,特征量为1×1×c的向量,其中,c为当前区域块的输出的通道个数;根据当前区域块的特征量调整当前区域块的输出,将调整后的当前区域块的输出作为下一个区域块的输入。

本发明实施例中,区域块的输出可以为w×h×c的矩阵,w表示矩阵宽度,h表示矩阵高度,c表示矩阵的通道个数;通过对区域块的输出进行池化处理来对该输出进行压缩,从而可以得到该区域块输出的特征量,同时还能有效控制过拟合;之后根据当前区域块的特征量调整当前区域块的输出(比如点乘等),使得调整后的区域块的输出的每个通道添加上该区域块的特征量,使得传递至下一个区域块的特征质量更高。其中,该池化处理具体可采用全局池化处理;该调整区域块输出的过程也可根据sn-net(squeeze-and-excitationnetworks)提供的sn模块进行处理。

在上述实施例的基础上,步骤104“将所有区域块的输出传至全连接层”包括:将所有区域块的输入和输出均传至全连接层。

本发明实施例中,将每个区域块的输入和输出拼接在一起进行全局池化,从而每个区域块得到一个对应的向量,再将所有区域块全局池化结果拼接在一起从而可以执行最后的分类过程。由于损失函数是根据所有区域块确定的,则各个区域块可直接访问梯度信息,避免了损失函数信息逐层传递造成的梯度消失问题。

本发明实施例提供的一种基于卷积神经网络的文本分类方法,基于待分类文本的词向量可构建二维的词向量矩阵,之后利用有依次连接的区域块和与所有区域块均连接的全连接层的文本分类模型确定相应的文本分类类别。利用多个隐含层组成区域块,可以减少每个隐含层输出特征图的数量,从而减小网络参数的数量;该文本分类模型的网络结构可以使得网络特征和梯度的传递更加有效,网络也就更加容易训练;且避免了损失函数信息逐层传递造成的梯度消失问题,保证了扩大网络深度的同时能够避免梯度消失问题,提升了文本分类模型训练效率。以每个句子的词向量序列作为词向量矩阵的一行,可以保证后续多级卷积计算。同时,分阶段确定隐含层的输出,且在第二阶段将其它隐含层的输出作为当前隐含层的输入,并基于所有已经更新的隐含层的输出来确定最后顺位的隐含层的输出,并作为该区域块的输出,可以最大程度保证区域块的输出的网络特性;且区域块的特征图维度也不会超线性的增加,可减少参数量和计算量。

以上详细介绍了基于卷积神经网络的文本分类方法流程,该方法也可以通过相应的装置实现,下面详细介绍该装置的结构和功能。

本发明实施例提供的一种基于卷积神经网络的文本分类装置,参见图5所示,包括:

获取模块51,用于获取与网络舆情相关的待分类文本,确定所述待分类文本的词向量矩阵;

输入确定模块52,用于根据所述词向量矩阵构造初始特征矩阵,将所述初始特征矩阵作为训练后的文本分类模型的输入,所述文本分类模型包括依次连接的区域块和与所有区域块输出端连接的全连接层,所述全连接层的输出为所述文本分类模型的输出;

输出确定模块53,用于将所述文本分类模型的输入作为第一顺位的区域块的输入,并确定所述区域块的输出;所述区域块包含多个隐含层,且每个隐含层的输入来自于所述区域块内所有其他隐含层的输出;

全局处理模块54,用于将当前区域块的输出作为下一个区域块的输入,继续确定下一个区域块的输出,直至确定所有区域块的输出,并将所有区域块的输出传至全连接层;依次连接的所有区域块和与所有区域块输出端连接的全连接层构造为文本分类模型;

分类模块55,用于所述文本分类模型的全连接层根据所有区域块的输出确定所述待分类文本的分类结果。

在上述实施例的基础上,所述获取模块51包括:

文本获取单元,用于基于网络爬虫获取与网络舆情相关的网页文本信息,所述网页文本信息包括一个或几个句子,每个句子包括一个或多个词;

分词处理单元,用于对所述网页文本信息进行去噪去重处理,并对去噪去重处理后的网页文本信息进行分词处理,将分词处理后的网页文本信息作为待分类文本。

在上述实施例的基础上,所述获取模块51包括:

转换单元,用于依次将所述待分类文本中的每个词转换为词向量,并将所述待分类文本的一个句子中所有词向量顺序拼接形成相应的句子序列;

补零单元,用于对所有的所述句子序列进行尾部补零处理,尾部补零处理后的句子序列具有相同的序列长度;

矩阵生成单元,用于依次将所有的尾部补零处理后的句子序列作为矩阵的一行或一列,生成所述待分类文本的词向量矩阵。

在上述实施例的基础上,该装置还包括训练模块,在所述输入确定模块将所述初始特征矩阵作为训练后的文本分类模型的输入之前,所述训练模块用于:构建初始模型,所述初始模型包括依次连接的区域块和与所有区域块输出端连接的全连接层,全连接层的输出为所述初始模型的输出;获取词向量预设矩阵,通过将所述词向量预设矩阵作为所述初始模型的输入、将相应分类预设结果作为所述初始模型的输出,对所述初始模型进行训练,确定所述初始模型的模型参数,将确定模型参数的初始模型作为文本分类模型。

在上述实施例的基础上,所述输出确定模块53包括:

排序单元,用于预设所述区域块内所有隐含层的处理序列;

输出确定单元,用于根据所述区域块的输入确定所述处理序列中第一顺位的隐含层的输出,之后按照所述处理序列、根据所述区域块的输入和已经确定输出的之前的隐含层的输出依次确定每个隐含层的输出;

输出更新单元,用于按照所述处理序列、依次根据所述区域块内所有其他隐含层的输出对当前隐含层的输出进行更新;在更新预设次数后,将所述处理序列中最后顺位的隐含层更新后的输出作为所述区域块的输出。

在上述实施例的基础上,所述输出更新单元用于:

按照所述处理序列、根据更新公式依次确定每个隐含层的输出;所述更新公式为:

其中,表示所述处理序列中第i个隐含层在第k次更新后的输出,g()表示激活函数,*表示卷积运算;wmi表示第m个隐含层与第i个隐含层之间的权重,表示第m个隐含层在第k次更新后的输出,wni表示第n个隐含层与第i个隐含层之间的权重,表示第n个隐含层在第k-1次更新后的输出;且当k=1时,第k-1次更新表示未更新。

在上述实施例的基础上,所述全局处理模块54包括:

池化单元,用于对当前区域块的输出进行池化处理,确定当前区域块的特征量,所述特征量为1×1×c的向量,其中,c为当前区域块的输出的通道个数;

调整单元,用于根据当前区域块的特征量调整当前区域块的输出,将调整后的当前区域块的输出作为下一个区域块的输入。

在上述实施例的基础上,所述全局处理模块54用于:

将所有区域块的输入和输出均传至全连接层。

本发明实施例提供的一种基于卷积神经网络的文本分类装置,基于待分类文本的词向量可构建二维的词向量矩阵,之后利用有依次连接的区域块和与所有区域块均连接的全连接层的文本分类模型确定相应的文本分类类别。利用多个隐含层组成区域块,可以减少每个隐含层输出特征图的数量,从而减小网络参数的数量;该文本分类模型的网络结构可以使得网络特征和梯度的传递更加有效,网络也就更加容易训练;且避免了损失函数信息逐层传递造成的梯度消失问题,保证了扩大网络深度的同时能够避免梯度消失问题,提升了文本分类模型训练效率。以每个句子的词向量序列作为词向量矩阵的一行,可以保证后续多级卷积计算。同时,分阶段确定隐含层的输出,且在第二阶段将其它隐含层的输出作为当前隐含层的输入,并基于所有已经更新的隐含层的输出来确定最后顺位的隐含层的输出,并作为该区域块的输出,可以最大程度保证区域块的输出的网络特性;且区域块的特征图维度也不会超线性的增加,可减少参数量和计算量。

本申请实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,其包含用于执行上述基于卷积神经网络的文本分类方法的程序,该计算机可执行指令可执行上述任意方法实施例中的方法。

其中,所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd))等。

图6示出了本发明的另一个实施例的一种电子设备的结构框图。所述电子设备1100可以是具备计算能力的主机服务器、个人计算机pc、或者可携带的便携式计算机或终端等。本发明具体实施例并不对电子设备的具体实现做限定。

该电子设备1100包括至少一个处理器(processor)1110、通信接口(communicationsinterface)1120、存储器(memoryarray)1130和总线1140。其中,处理器1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。

通信接口1120用于与网元通信,其中网元包括例如虚拟机管理中心、共享存储等。

处理器1110用于执行程序。处理器1110可能是一个中央处理器cpu,或者是专用集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。

存储器1130用于可执行的指令。存储器1130可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1130也可以是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。存储器1130存储的指令可被处理器1110执行,以使处理器1110能够执行上述任意方法实施例中的方法。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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