基于CNN-BiLSTMBiGRU混联组合模型的文本分类方法和装置与流程

    专利2022-07-08  83


    本申请涉及机器学习技术领域,尤其涉及一种基于cnn-bilstm/bigru混联组合模型的文本分类方法和装置。



    背景技术:

    如今随着信息技术的发展,各个行业中的文本信息数据量正在飞速增长。这些数据中蕴含信息丰富,潜在可挖掘价值巨大,但其中仍存在着杂乱无序的问题,如何从其中挖掘准确、适用的数据已成为行业大数据研究中亟需解决的问题。文本分类作为解决该问题的关键技术之一,通过对行业文本数据进行规范归类,有助于更好地管理与挖掘文本信息,从而促进行业信息的挖掘利用,推动行业发展。近年来,研究人员对文本分类的研究也取得了一定的进展,但仍然存在准确率和分类速度的问题。

    相关技术中,比如朴素贝叶斯、支持向量机、k最近邻等)进行了大量应用之后,为了进一步提高文本分类模型的准确率,研究人员开始尝试近年来在多个领域大展身手的深度学习算法,当今利用神经网络进行文本分类研究已经逐渐成为一大热点,目前使用较多的神经网络有卷积神经网络(convolutionneuralnetwork,cnn)和循环神经网络(recurrentneuralnetwork,rnn)等。

    然而,相关技术中,不能够同时兼顾文本分类准确率和训练速度。所以如何在实现较高的文本分类准确率的同时,保证较高的训练速度成为了当今研究人员在文本分类方面关注的一项重点工作。



    技术实现要素:

    本申请旨在至少在一定程度上解决相关技术中的技术问题之一。

    为此,本申请的第一个目的在于提出一种基于cnn-bilstm/bigru混联组合模型的文本分类方法,实现对当前各个行业中文本信息的准确、快速分类,在进一步提高模型分类准确率的同时提高了分类速度。。

    本申请的第二个目的在于提出一种基于cnn-bilstm/bigru混联组合模型的文本分类装置。

    为达上述目的,本申请第一方面实施例提出了一种基于cnn-bilstm/bigru混联组合模型的文本分类方法,包括:

    获取待处理文本,并获取所述待处理文本的文本长度值;

    在所述文本长度值小于预设文本长度阈值的情况下,基于cnn-bilstm/bigru混联组合模型对所述待处理文本进行文本分类,获取第一分类结果;

    在所述文本长度值大于等于预设文本长度阈值的情况下,对所述待处理文本进行内容分块处理后分别输入所述cnn-bilstm/bigru混联组合模型和(cnn-bilstm)/cnn混联文本分类模型进行处理后综合计算,获取第二分类结果。

    本申请实施例的基于cnn-bilstm/bigru混联组合模型的文本分类方法,通过获取待处理文本,并获取待处理文本的文本长度值;在所述文本长度值小于预设文本长度阈值的情况下,基于cnn-bilstm/bigru混联组合模型对待处理文本进行文本分类,获取第一分类结果;在文本长度值大于等于预设文本长度阈值的情况下,对待处理文本进行内容分块处理后分别输入cnn-bilstm/bigru混联组合模型和(cnn-bilstm)/cnn混联文本分类模型进行处理后综合计算,获取第二分类结果。由此,实现对当前各个行业中文本信息的准确、快速分类,在进一步提高模型分类准确率的同时提高了分类速度。

    在本申请的一个实施例中,所述基于cnn-bilstm/bigru混联组合模型对所述待处理文本进行文本分类,获取第一分类结果,包括:

    提取所述待处理文本的文本特征向量;

    对所述文本特征向量进行卷积处理,获取所述待处理文本的多个局部特征向量;

    对所述多个局部特征向量进行采样,获取所述待处理文本的多个关键特征向量;

    对所述多个关键特征向量进行删减处理后进行拼接分别输入bilstm网络层和bigru网络层进行处理,获取第一输出特征向量和第二输出特征向量;

    对所述第一输出特征向量和所述第二输出特征向量进行融合处理,获取融合特征向量输入分类器进行处理,获取所述第一分类结果。

    在本申请的一个实施例中,在进行卷积处理时,设置了不同大小的卷积核尺寸以对不同长度的词特征进行提取,获取所述多个局部特征向量。

    在本申请的一个实施例中,所述(cnn-bilstm)/cnn混联文本分类模型对进行内容分块后的部分待处理文本进行处理包括:

    提取所述部分待处理文本的文本特征向量;

    对所述文本特征向量进行卷积处理,获取所述部分待处理文本的多个局部特征向量;

    对所述多个局部特征向量进行采样,获取所述待处理文本的多个关键特征向量;

    对所述多个关键特征向量进行删减处理后输入bilstm网络层进行处理获取输出特征向量;

    将所述输出特征向量与所述多个关键特征进行删减处理后特征向量进行融合处理,获取融合特征向量输入分类器进行处理,获取所述第二子分类结果。

    在本申请的一个实施例中,所述混联组合模型包括cnn网络层、bilstm网络层和bigru网络层;

    所述cnn网络层分别与所述bilstm网络层和所述bigru网络层连接,所述bilstm网络层和所述bigru网络分别与分类器连接;或,

    所述cnn网络层与所述bilstm网络层连接,以及二者作为整体与所述cnn网络层分别与分类器连接。

    为达上述目的,本申请第二方面实施例提出了一种基于cnn-bilstm/bigru混联组合模型的文本分类装置,包括:

    获取模块,用于获取待处理文本,并获取所述待处理文本的文本长度值;

    第一处理模块,用于在所述文本长度值小于预设文本长度阈值的情况下,基于cnn-bilstm/bigru混联组合模型对所述待处理文本进行文本分类,获取第一分类结果;

    分块模块,用于在所述文本长度值大于等于预设文本长度阈值的情况下,对所述待处理文本进行内容分块处理,获取第一待处理子文本和第二待处理子文本;

    第二处理模块,用于将所述第二待处理子文本输入(cnn-bilstm)/cnn混联文本分类模型进行处理,获取第二分类子结果;

    第三处理模块,用于将所述第一待处理子文本输入所述cnn-bilstm/bigru混联组合模型,获取第一分类子结果,对所述第一分类子结果和所述第二分类子结果进行综合计算,获取第二分类结果。

    本申请实施例的基于cnn-bilstm/bigru混联组合模型的文本分类装置,通过获取待处理文本,并获取待处理文本的文本长度值;在所述文本长度值小于预设文本长度阈值的情况下,基于cnn-bilstm/bigru混联组合模型对待处理文本进行文本分类,获取第一分类结果;在文本长度值大于等于预设文本长度阈值的情况下,对待处理文本进行内容分块处理后分别输入cnn-bilstm/bigru混联组合模型和(cnn-bilstm)/cnn混联文本分类模型进行处理后综合计算,获取第二分类结果。由此,实现对当前各个行业中文本信息的准确、快速分类,在进一步提高模型分类准确率的同时提高了分类速度。

    在本申请的一个实施例中,所述第一处理模块,具体用于:

    提取所述待处理文本的文本特征向量;

    对所述文本特征向量进行卷积处理,获取所述待处理文本的多个局部特征向量;

    对所述多个局部特征向量进行采样,获取所述待处理文本的多个关键特征向量;

    对所述多个关键特征向量进行删减处理后进行拼接分别输入bilstm网络层和bigru网络层进行处理,获取第一输出特征向量和第二输出特征向量;

    对所述第一输出特征向量和所述第二输出特征向量进行融合处理,获取融合特征向量输入分类器进行处理,获取所述第一分类结果。

    在本申请的一个实施例中,在进行卷积处理时,设置了不同大小的卷积核尺寸以对不同长度的词特征进行提取,获取所述多个局部特征向量。

    在本申请的一个实施例中,所述第二处理模块,具体用于:

    提取所述部分待处理文本的文本特征向量;

    对所述文本特征向量进行卷积处理,获取所述部分待处理文本的多个局部特征向量;

    对所述多个局部特征向量进行采样,获取所述待处理文本的多个关键特征向量;

    对所述多个关键特征向量进行删减处理后输入bilstm网络层进行处理获取输出特征向量;

    将所述输出特征向量与所述多个关键特征进行删减处理后特征向量进行融合处理,获取融合特征向量输入分类器进行处理,获取所述第二子分类结果。

    在本申请的一个实施例中,所述混联组合模型包括cnn网络层、bilstm网络层和bigru网络层;

    所述cnn网络层分别与所述bilstm网络层和所述bigru网络层连接,所述bilstm网络层和所述bigru网络分别与分类器连接;或,

    所述cnn网络层与所述bilstm网络层连接,以及二者作为整体与所述cnn网络层分别与分类器连接。

    本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

    附图说明

    本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

    图1为本申请实施例一所提供的一种基于cnn-bilstm/bigru混联组合模型的文本分类方法的流程示意图;

    图2为本申请实施例所提供的lstm模型结构示例图;

    图3为本申请实施例所提供的gru模型结构示例图;

    图4为本申请实施例所提供的bilstm/bigru模型结构简图;

    图5为本申请实施例所提供的卷积神经网络(cnn)应用于文本分类时的模型结构;

    图6为本申请实施例所提供的cblga模型结构简图;

    图7为本申请实施例所提供的cbca模型结构简图;

    图8为本申请实施例所提供的针对不同长度文本进行相应处理的流程图;

    图9为本申请实施例所提供的数据集中的部分数据展示的示例图;

    图10为本申请实施例所提供的一种基于cnn-bilstm/bigru混联组合模型的文本分类装置的结构示意图。

    具体实施方式

    下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

    下面参考附图描述本申请实施例的基于cnn-bilstm/bigru混联组合模型的文本分类方法和装置。

    图1为本申请实施例一所提供的一种基于cnn-bilstm/bigru混联组合模型的文本分类方法的流程示意图。

    如图1所示,该基于cnn-bilstm/bigru混联组合模型的文本分类方法包括以下步骤:

    步骤101,获取待处理文本,并获取待处理文本的文本长度值。

    步骤102,在文本长度值小于预设文本长度阈值的情况下,基于cnn-bilstm/bigru混联组合模型对待处理文本进行文本分类,获取第一分类结果。

    步骤103,在文本长度值大于等于预设文本长度阈值的情况下,对待处理文本进行内容分块处理后分别输入cnn-bilstm/bigru混联组合模型和(cnn-bilstm)/cnn混联文本分类模型进行处理后综合计算,获取第二分类结果。

    在本申请实施例中,混联组合模型包括cnn网络层、bilstm网络层和bigru网络层;cnn网络层分别与bilstm网络层和所述bigru网络层连接,bilstm网络层和bigru网络分别与分类器连接;或,cnn网络层与bilstm网络层,以及cnn网络层与bilstm网络层分别与分类器连接。

    具体地,本申请利用bilstm和bigru代替传统的rnn和lstm,bilstm和bigru解决传统rnn中梯度消失或梯度爆炸问题;同时考虑到一个词的语义与它之前信息和之后信息都有关,而bilstm和bigru可以充分考虑词在上下文的含义,克服了lstm只能考虑词单向信息的弊端。

    具体地,构建了一种基于attention的cnn-bilstm/bigru混联文本分类模型,简称cblga模型。即首先并联不同卷积窗口大小的cnn网络来提取多种文本向量的局部特征,再利用bilstm和bigru并联来保证模型面对不同大小的数据集均可以有较好的运行效果,用bilstm和bigru组合提取与文本上下文相关的全局特征。而通过将cnn和bilstm/bigru进行融合,既能利用cnn提取局部特征的优势,又能利用bilstm/bigru兼顾文本序列全局特征的优势。

    具体地,构建了一种基于attention的(cnn-bilstm)/cnn混联文本分类模型,简称cbca模型。即首先利用cnn网络来提取文本向量的局部特征,再将cnn的输出分为两部分,其中一部分输入bilstm网络中,以提取与文本上下文相关的全局特征。另一部分则直接和bilstm网络的输出进行融合,既保留了cnn提取的文本局部特征,又利用了bilstm网络提取的文本序列全局特征。

    也就是说,针对不同长度的文本进行相应预处理和后续分类工作的预处理办法。即针对短文本则采用一种混合模型进行分类处理,此时模型的选择重点偏向于分类的准确率;根据前面所述模型的结构特点,此时选用cblga模型即可在实现很高准确率的同时保证训练速度。而针对较长的文本时,则采用两种混合模型“分工参与”的办法进行分类处理,此时考虑长文本的内容分布特点,在重点内容部分,模型的选择重点偏向于分类的准确率,对于此部分采用cblga模型;而在较长篇幅的细节内容部分,模型的选择重点偏向于分类的速度,对于此部分内容则采用cbca模型。两种模型结合,即使面对长文本,模型也可以在提升准确率的同时保证训练速度仍有一定程度的提升。

    为了本领域人员更加清楚上述结构,下面结合相关附图进行详细说明。

    具体地,长短时记忆神经网络(lstm)是由循环神经网络衍生而来的时序卷积神经网络,通过引入门函数,可以挖掘时间序列中相对较长间隔和延迟等的时序变化规律词,其结构如图2所示。

    如图2所示,lstm在t时刻有隐藏状态h(t)和细胞状态c(t)。其门控结构一般包括输入门、遗忘门和输出门3种,这时在每个序列索引位置的过程为:

    (1)输入门处理当前序列位置的输入,由两部分组成,通过两部分的结果相乘来更新细胞状态,其公式为:

    i(t)=σ(wihh(t-1) wixx(t) bi)(1)

    a(t)=tanh(wahh(t-1) waxx(t) ba)(2)

    (2)遗忘门控制一定的概率对上一层的隐藏细胞状态进行忘记操作,其公式为:

    f(t)=σ(wfhh(t-1) wfxx(t) bf)(3)

    (3)细胞状态c(t)取决于前面的遗忘门和输入门的结果,其公式为:

    c(t)=c(t-1)f(t) i(t)a(t)(4)

    (4)更新输出门的输出,其公式为:

    o(t)=σ(wohh(t-1) woxx(t) bo)(5)

    h(t)=o(t)tanh(c(t))(6)

    (5)在lstm顶部加入softmax层(具有权重ws和偏置bs),提取最终输出。其公式为:

    y(t)=softmax(wsh(t) bs)(7)

    作为rnn的改进,lstm可以有效避免梯度消失问题,但其模型结构更加复杂,运行时间更长,占用资源较大,尤其是对于小型数据集来说结果不够理想。

    门循环单元(gru)作为lstm的一种变体,将lstm中的输入门、输出门和记忆门简化成了更新门和重置门,如图3所示,在继承了lstm的处理自然语言能力的同时,更少的参数大大降低了计算量。

    gru神经网络在每个序列索引位置的过程为:

    (1)将输入门和遗忘门组合成一个更新门,用来控制前一时刻的状态信息被代入到当前状态中,进而得到时序数据中的长期依赖关系,公式为:

    z(t)=σ(wzxx(t) wzhh(t-1) bz)(8)

    (2)引入重置门,以一定的概率控制前一时刻信息,有利于得到时序数据中的短期依赖关系,公式为:

    r(t)=σ(wrxx(t) wrhh(t-1) br)(9)

    (3)候选隐含状态用重置门来控制隐含状态,公式为:

    (4)隐含状态h(t)使用更新门z(t)来对上一个隐含状态h(t-1)和候选隐含状态进行更新,公式为:

    (5)在gru顶部加入softmax层(具有权重ws和偏置bs),公式为:

    y(t)=softmax(wsh(t) bs)(12)

    在单向的lstm/gru神经网络结构中,状态总是从前往后输出的。虽然lstm/gru网络解决了rnn会发生梯度消失或者梯度爆炸的问题,但是它们只能学习当前词之前的信息,不能利用当前词之后的信息,由于一个词的语义不仅与之前的历史信息有关,还与当前词之后的信息也有着密切关系,所以本申请利用bilstm/bigru代替lstm/gru,其模型的主体结构如图4所示(这里用一种主体结构描述bilstm/bigru模型),这样既解决了梯度消失或者梯度爆炸的问题,又能充分考虑当前词的上下文语义信息。在模型处理文本的每一时刻,模型的输入会同时经过两个方向相反的lstm/gru网络结构,所以模型的输出则由这两个单向lstm/gru结构共同决定。因此利用bilstm/bigru神经网络模型对句子矩阵进行学习处理后,得到的文本特征具有全局性,充分考虑了词在文本中的上下文信息。

    在本申请实施例中,基于cnn-bilstm/bigru混联组合模型对待处理文本进行文本分类,获取第一分类结果,包括:提取待处理文本的文本特征向量;对文本特征向量进行卷积处理,获取待处理文本的多个局部特征向量;对多个局部特征向量进行采样,获取待处理文本的多个关键特征向量;对多个关键特征向量进行删减处理后进行拼接分别输入bilstm网络层和bigru网络层进行处理,获取第一输出特征向量和第二输出特征向量;对第一输出特征向量和第二输出特征向量进行融合处理,获取融合特征向量输入分类器进行处理,获取第一分类结果。

    在本申请实施例中,在进行卷积处理时,设置了不同大小的卷积核尺寸以对不同长度的词特征进行提取,获取多个局部特征向量。

    具体地,本申请构建的混联文本分类模型是一种基于attention的cnn-bilstm/bigru(简称cblga模型),即首先并联不同卷积窗口大小的cnn网络来提取多种文本向量的局部特征,再利用bilstm和bigru并联来保证模型面对不同大小的数据集均可以有较好的运行效果,用bilstm和bigru组合提取与文本上下文相关的全局特征。而通过将cnn和bilstm/bigru进行融合,既能利用cnn提取局部特征的优势,又能利用bilstm/bigru兼顾文本序列全局特征的优势。

    在实际应用中,在行业文本分类应用中,由于长时间序列的短子序列中特征的重要程度存在差异(重要的显著特征往往会包含更多信息量,对实际需求量的趋势影响程度更大),为了实现信息处理资源的高效分配,本申请在模型中引入了注意力机制。在本申请的应用中,attention机制的实现是通过保留bilstm/bigru编码器输入序列的中间输出结果,然后将其输入到一个模型中进行选择性的训练学习,并且在模型输出时将输出序列与之进行关联。输出序列中每一项的生成概率取决于在输入序列中选择了哪些项。虽然这样做会增加模型的计算负担,但是会形成目标性更强、性能更好的模型。注意力机制的基本概念依赖于在到达输出时能够访问输入句子的所有部分。这允许模型对句子的不同部分赋予不同的注意力,从而可以推导出依赖关系。因此,本申请使用注意力机制提取文本序列的显著性特征。

    另外,本申请在构建cblga模型时引入了卷积神经网络(cnn),卷积神经网络模型用于文本分类中的结构如图5所示。即在文本进行分词等预处理之后,通过训练得到词向量,进而映射成二维句子矩阵,之后采用多个大小为1*m、3*m、5*m的卷积核对句子矩阵进行卷积,提取特征向量,接下来是下采样操作,经此可以筛选出强特征,同时减少参数数量,防止过拟合。在下采样后进行连接,组成特征向量,之后经过分类器输出二分类的结果。换句话说,cnn就是将卷积层、池化层及全连接输出层三者结合起来构建而成的一个模型,借助卷积运算操作的优势可实现对多层网络结构进行监督学习,降低了整个神经网络模型参数的个数,从而提升了模型训练的性能。

    其中对输入层实施的卷积可以看作局部连接,每一局部的输入区域对应自身的输出神经元,通过设计尺寸适宜的卷积核对感受野内的信息进行卷积操作,以抽象表达原始数据。当输入数据x时,卷积层的特征图c可表示如下:

    式中,为卷积操作;w为卷积核的权重向量;b表示偏移量;f()为激活函数,本申请中为relu函数,此外还可以选用sigmoid、tanh等。

    最终,本申请构建的第一个混联文本分类模型如图6所示,本申请的特征融合模型由卷积神经网并联组合和bilstm/bigru并联组合共两个组合串联融合组成,可称为cnn-bilstm/bigru-attention(简称cblga)混联模型,其中卷积神经网络部分第一层是词嵌入层,将词嵌入层的句子矩阵作为输入,之后进入第二层进行卷积操作,提取局部特征。在进行卷积操作时,设置了不同大小的卷积核尺寸以实现对不同长度的词特征进行提取,此处设置三种卷积核的尺寸分别1、3、5,数量均为256个,步长stride大小设置为2,padding为same,即填充输入以使输出具有与原始输入相同的长度,以这样的结构进行卷积运算,提取文本中多种特征词向量的局部特征;第三层进行下采样操作,这里采用的是最大值采样方法,提取关键特征,舍弃冗余特征,同时生成固定维度的特征向量。接下来进入第四层,即各自的dropout层,对神经网络单元按照20%的概率将其暂时从网络中丢弃,以防止过拟合。将三个dropout层输出的特征拼接起来,作为bilstm/bigru并联组合输入特征的一部分。

    bilstm/bigru部分第一层均是词嵌入层,将嵌入层的句子矩阵作为输入,每一个词向量维度设置为768维;第二层、第三层均为隐藏层,隐藏层大小均为64,当前输入与前后序列都相关,将输入序列分别从两个方向输入模型,经过隐含层保存两个方向的历史信息和未来信息,接下来对bilstm和bigru输出的特征进行融合,将融合后的特征保存在output中,引入注意力机制,之后作为全连接层的输入,最后输入到softmax分类器输出分类结果。

    在本申请实施例中,(cnn-bilstm)/cnn混联文本分类模型对进行内容分块后的部分待处理文本进行处理包括:提取部分待处理文本的文本特征向量;对文本特征向量进行卷积处理,获取部分待处理文本的多个局部特征向量;对多个局部特征向量进行采样,获取待处理文本的多个关键特征向量;对多个关键特征向量进行删减处理后输入bilstm网络层进行处理获取输出特征向量;将输出特征向量与多个关键特征进行删减处理后特征向量进行融合处理,获取融合特征向量输入分类器进行处理,获取第二子分类结果。

    具体地,本申请实施例的混联文本分类模型是一种基于attention的(cnn-bilstm)/cnn混联文本分类模型(简称cbca模型),模型结构如图7所示。本申请的特征融合模型由卷积神经网和bilstm串联后再与卷积神经网络并联组合而成,其中卷积神经网络部分第一层是词嵌入层,将词嵌入层的句子矩阵作为输入,之后进入第二层进行卷积操作,提取局部特征。此处设置的卷积核的尺寸为3,数量均为256个,步长stride大小设置为2,padding为same,即填充输入以使输出具有与原始输入相同的长度,以这样的结构进行卷积运算,提取文本中多种特征词向量的局部特征;第三层进行下采样操作,这里采用的是最大值采样方法,提取关键特征,舍弃冗余特征,同时生成固定维度的特征向量。接下来进入第四层,即dropout层,对神经网络单元按照20%的概率将其暂时从网络中丢弃,可以提高特征图之间的独立性,并防止过拟合。接下来将dropout层输出的特征复制为两份,其中一份作为bilstm网络输入特征的一部分,另一份则直接与bilstm的输出进行融合。

    即首先利用cnn网络来提取文本向量的局部特征,再将cnn的输出分为两部分,其中一部分输入bilstm网络中,以提取与文本上下文相关的全局特征。另一部分则直接和bilstm网络的输出进行融合,既保留了cnn提取的文本局部特征,又利用了bilstm网络提取的文本序列全局特征。其中cnn的文本分类原理如前文中所述,此处不再赘述。

    举例而言,本申请建立了一套针对不同长度的文本进行相应预处理和后续分类工作的预处理办法,主要流程结构如图8所示,以文本长度300作为分界线,当文本长度小于300时,视为短文本,此时采用一种混合模型进行分类处理,模型的选择重点偏向于分类的准确率;根据前文中所述模型的结构特点,此时选用cblga模型即可在实现很高准确率的同时保证训练速度。

    具体地,当文本长度大于300时,视为长文本,此时采用两种混合模型“分工参与”的办法进行分类处理,考虑到长文本的内容分布特点,即行业文本的重点特征往往集中于文本的首尾位置,而文本中间位置的文本主要起到辅助解释作用,所以在对行业文本序列的特征挖掘过程中,本申请重点处理了文本序列的起始位置与终止位置部分,对以上两个区域采用更注重准确率的模型去进行分类处理;而对于中间部分的处理过程可以相对弱化,这一部分篇幅较长,多数是细节内容,如果对长文本一律采用注重细节结构的、准确率高的模型,则会使得模型的训练时间和分类速度下降,增大计算机运行负担,所以本方案对文本的中间部分采用更注重分类效率的cbca模型去进行分类处理;两种模型相互配合,则可以在把握文本重点的信息和全局特征的同时提高分类效率。

    本技术方案在行业文本分类技术中引入了cnn网络进行特征抽取、提出了两种新型混联神经网络模型——cnn-bilstm/bigru-attention(简称cblga)和基于attention的(cnn-bilstm)/cnn混联文本分类模型(简称cbca模型),针对短文本数据,相比结构较简单的lstm、gru分类模型,新型模型在迭代时间没有显著增加的基础上,在准确率和损失率方面均有明显的效果改善;相比bigru分类模型,新型模型不仅在准确率和损失率方面均有明显的效果改善,而且大大缩短了迭代时间;比起目前使用最广泛的bilstm神经网络和attention的混合模型,新型模型则能够在提高准确率的同时降低损失率,并明显地降低了模型的训练时间。说明了该模型既能利用卷积神经网络有效提取文本的局部特征,又可以利用bilstm/bigru兼顾不同长度文本的全局特征,充分考虑了词的上下文语义信息,在提高分类准确率的同时保证了模型的训练速度。

    而针对长文本数据,本技术方案提出了长文本适应性处理方法——融合cblga和cbca模型对长文本的不同位置进行相应地处理,该方案的提出不仅使文本分类的效率大大提高,同时也解决了分类模型在建立时对输入文本长度的过敏,即模型建立时需要给定可处理的文本长度len(txt),在单一模型结构下,当len(txt)过大时,无疑加重了模型的训练和处理负担,占用资源过大,容易造成资源浪费;而当len(txt)过小时,无疑减小了模型的可使用范围和处理能力,当面对长文本输入时,虽然也可以处理,但由于模型的自动限制,使得只有部分文本进入模型,很容易造成“一知半解”,分类结果也不再准确。而本技术方案提出的长文本适应性处理方法则解决了这个问题。对于各个有数据分类需求的行业提供了有价值的可参考方案。

    作为一种场景举例,为了检验模型在行业中的应用效果,本申请在中国知网上选取了“并联机构”和“生产线”两类行业数据作为数据集,共收集10000条,经过数据清洗后,过滤掉无标签、无摘要等部分指标缺失数据,最终剩下9814条,其中“并联机构”类4983条,“生产线”类4831条,对原始数据集的顺序进行随机打乱处理,任意抽取其中10项数据如图9所示,其中“cat”代表文本类别,“review”代表文本简介,“cat_id”代表类别代号。之后按照8:1:1的比例分割成训练集、验证集和测试集,分别用于模型训练、模型验证和模型测试。

    本申请实验环境如下:操作系统为windows10,cpu是intelcorei5-6300,gpu为geforcegtx1050ti,显卡驱动为nvidiageforcegtx950m(2g),内存大小为12gb,采用keras深度学习框架,底层为tensorflow1.14.0,使用python语言编程实现,开发工具使用的是jupyter-notebook。

    实验设置迭代次数为5,采用准确率、损失率和迭代时间作为实验的评价标准。设样本总数为n,被正确分类的样本数为n,则正确率(accuracy)为:

    本实验模型可视为一个三层网络结构,包括文本向量输入层、隐藏层和文本分类层。模型中有许多超参数需要设置和调整,本申请通过多次实验,在每一次迭代完成后,根据实验的准确率和损失率对超参数进行设置和调整。经过多次迭代实验,模型设置的超参数如表1所示。

    表1各神经网络的超参数

    2)实验对比与结果分析

    将本文所提出的cnn-bilstm/bigru-attention(简称cblga)模型和基于attention的(cnn-bilstm)/cnn混联文本分类模型(简称cbca模型)与以下常见的3种模型进行对比。

    (1)gru。它主要是cho等人申请的,可看作是对lstm的进一步改进,其参数更少,理论上具有更好的收敛效果。

    (2)bigru。它主要是由玄振峰等人提出的,借助双向gru网络的全局特征获取能力,实现了特定文本信息的快速抽取。

    (3)cnn-bilstm-attention。作为卷积神经网络融合循环神经网络模型进行文本分类的典范,诸多研究人员使用了cnn-bilstm-attention进行文本分类,它分别使用cnn和bilstm对文本进行特征提取,之后进行融合并引入注意力机制,效果表现不错。

    (4)本实验中各个采用的损失函数均为“交叉熵”损失函数,在选取优化器时,考虑sgd、adagrad、rmsprop和adam优化器,其中由于adam优化器结合了adagrad和rmsprop两种优化算法的优点,对梯度的一阶矩估计(firstmomentestimation,即梯度的均值)和二阶矩估计(secondmomentestimation,即梯度的未中心化的方差)进行综合考虑,不断迭代更新网络参数,很适合应用于大规模的数据及参数的场景,所以本方案选取adam作为各个模型的优化函数。

    (5)此外,各个模型的训练次数“epoch”均为5次,激活函数均采用“relu”函数,下采样方法均为“maxpooling”方法。实验中选用在5次迭代过程中,在测试集上最高的准确率作为该模型的准确率,对应的测试集最高准确率的损失率即为该模型的损失率,取5次迭代的平均时间作为该模型的迭代时间,记为time,各个模型与本方案所提的新型混联模型结果对比如表2所示。

    表2各个模型与本文所提的新型混联模型结果对比

    从表2可以看出,相比单一的gru模型,bigru模型不仅具有更高的分类准确率,而且损失率也大大减小,只是由于模型结构更复杂,其训练时间要更长;进一步地,融合cnn模型和attention机制的cnn-bigru-attention模型则在准确率、损失率和训练速度方面表现的更好,说明了该模型的有效性。到了本技术方案提出的新模型cblga,即使对比各方面表现均不错的cnn-bigru-attention模型,新模型cblga仍然表现出了更高的准确率、更低的损失率和更快的训练速度,除了在训练时间上比单一结构的gru稍微长一点,新模型cblga在各个指标上的表现均优于其他三种典型的文本分类模型,有力地说明了本方案所提的新模型cblga的强大之处,即在保证训练速度的情况下有效提升了文本分类的准确率、降低了损失率。另外也可以看到,相比新模型cblga,新模型cbca虽然准确率和损失率表现得稍差一些,但其训练速度大大提升,而且新模型cbca在各个指标上的表现均优于表中前三种典型的文本分类模型,有力地说明了本方案所提的新模型cbca的强大之处,即在保证训练速度的情况下有效提升了文本分类的准确率、降低了损失率。

    在长文本适应性处理方法的验证方面,本方案对融合cblga和cbca模型对长文本的不同位置进行相应地处理,结果表现出了更高的效率和准确率,说明了该方案的提出对于解决分类模型在建立时对输入文本长度的过敏问题有很好的效果。

    本申请实施例的基于cnn-bilstm/bigru混联组合模型的文本分类方法,通过获取待处理文本,并获取待处理文本的文本长度值;在所述文本长度值小于预设文本长度阈值的情况下,基于cnn-bilstm/bigru混联组合模型对待处理文本进行文本分类,获取第一分类结果;在文本长度值大于等于预设文本长度阈值的情况下,对待处理文本进行内容分块处理后分别输入cnn-bilstm/bigru混联组合模型和cnn-bilstm)/cnn混联文本分类模型进行处理后综合计算,获取第二分类结果。由此,实现对当前各个行业中文本信息的准确、快速分类,在进一步提高模型分类准确率的同时提高了分类速度。

    为了实现上述实施例,本申请还提出一种基于cnn-bilstm/bigru混联组合模型的文本分类装置。

    图10为本申请实施例提供的一种基于cnn-bilstm/bigru混联组合模型的文本分类装置的结构示意图。

    如图10所示,该基于cnn-bilstm/bigru混联组合模型的文本分类装置包括:获取模块210、第一处理模块220、分块模块230、第二处理模块240和第三处理模块250。

    获取模块210,用于获取待处理文本,并获取所述待处理文本的文本长度值。

    第一处理模块220,用于在所述文本长度值小于预设文本长度阈值的情况下,基于cnn-bilstm/bigru混联组合模型对所述待处理文本进行文本分类,获取第一分类结果。

    分块模块230,用于在所述文本长度值大于等于预设文本长度阈值的情况下,对所述待处理文本进行内容分块处理,获取第一待处理子文本和第二待处理子文本。

    第二处理模块240,用于将所述第二待处理子文本输入cnn-bilstm)/cnn混联文本分类模型进行处理,获取第二分类子结果。

    第三处理模块250,用于将所述第一待处理子文本输入所述cnn-bilstm/bigru混联组合模型,获取第一分类子结果,对所述第一分类子结果和所述第二分类子结果进行综合计算,获取第二分类结果。

    在本申请的一个实施例中,所述第一处理模块,具体用于:

    提取所述待处理文本的文本特征向量;

    对所述文本特征向量进行卷积处理,获取所述待处理文本的多个局部特征向量;

    对所述多个局部特征向量进行采样,获取所述待处理文本的多个关键特征向量;

    对所述多个关键特征向量进行删减处理后进行拼接分别输入bilstm网络层和bigru网络层进行处理,获取第一输出特征向量和第二输出特征向量;

    对所述第一输出特征向量和所述第二输出特征向量进行融合处理,获取融合特征向量输入分类器进行处理,获取所述第一分类结果。

    在本申请的一个实施例中,在进行卷积处理时,设置了不同大小的卷积核尺寸以对不同长度的词特征进行提取,获取所述多个局部特征向量。

    在本申请的一个实施例中,所述第二处理模块,具体用于:

    提取所述部分待处理文本的文本特征向量;

    对所述文本特征向量进行卷积处理,获取所述部分待处理文本的多个局部特征向量;

    对所述多个局部特征向量进行采样,获取所述待处理文本的多个关键特征向量;

    对所述多个关键特征向量进行删减处理后输入bilstm网络层进行处理获取输出特征向量;

    将所述输出特征向量与所述多个关键特征进行删减处理后特征向量进行融合处理,获取融合特征向量输入分类器进行处理,获取所述第二子分类结果。

    在本申请的一个实施例中,所述混联组合模型包括cnn网络层、bilstm网络层和bigru网络层;

    所述cnn网络层分别与所述bilstm网络层和所述bigru网络层连接,所述bilstm网络层和所述bigru网络分别与分类器连接;或,

    所述cnn网络层与所述bilstm网络层连接,以及二者作为整体与所述cnn网络层分别与分类器连接。

    本申请实施例的基于cnn-bilstm/bigru混联组合模型的文本分类装置,通过获取待处理文本,并获取待处理文本的文本长度值;在所述文本长度值小于预设文本长度阈值的情况下,基于cnn-bilstm/bigru混联组合模型对待处理文本进行文本分类,获取第一分类结果;在文本长度值大于等于预设文本长度阈值的情况下,对待处理文本进行内容分块处理后分别输入cnn-bilstm/bigru混联组合模型和cnn-bilstm)/cnn混联文本分类模型进行处理后综合计算,获取第二分类结果。由此,实现对当前各个行业中文本信息的准确、快速分类,在进一步提高模型分类准确率的同时提高了分类速度。

    需要说明的是,前述对基于cnn-bilstm/bigru混联组合模型的文本分类方法实施例的解释说明也适用于该实施例的基于cnn-bilstm/bigru混联组合模型的文本分类装置,此处不再赘述。

    在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

    此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

    流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

    在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

    应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

    本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

    此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

    上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。


    技术特征:

    1.一种基于cnn-bilstm/bigru混联组合模型的文本分类方法,其特征在于,包括:

    获取待处理文本,并获取所述待处理文本的文本长度值;

    在所述文本长度值小于预设文本长度阈值的情况下,基于cnn-bilstm/bigru混联组合模型对所述待处理文本进行文本分类,获取第一分类结果;

    在所述文本长度值大于等于预设文本长度阈值的情况下,对所述待处理文本进行内容分块处理后分别输入所述cnn-bilstm/bigru混联组合模型和(cnn-bilstm)/cnn混联文本分类模型进行处理后综合计算,获取第二分类结果。

    2.如权利要求1所述的方法,其特征在于,所述基于cnn-bilstm/bigru混联组合模型对所述待处理文本进行文本分类,获取第一分类结果,包括:

    提取所述待处理文本的文本特征向量;

    对所述文本特征向量进行卷积处理,获取所述待处理文本的多个局部特征向量;

    对所述多个局部特征向量进行采样,获取所述待处理文本的多个关键特征向量;

    对所述多个关键特征向量进行删减处理后进行拼接分别输入bilstm网络层和bigru网络层进行处理,获取第一输出特征向量和第二输出特征向量;

    对所述第一输出特征向量和所述第二输出特征向量进行融合处理,获取融合特征向量输入分类器进行处理,获取所述第一分类结果。

    3.如权利要求2所述的方法,其特征在于,

    在进行卷积处理时,设置了不同大小的卷积核尺寸以对不同长度的词特征进行提取,获取所述多个局部特征向量。

    4.如权利要求1所述的方法,其特征在于,所述(cnn-bilstm)/cnn混联文本分类模型对进行内容分块后的部分待处理文本进行处理包括:

    提取所述部分待处理文本的文本特征向量;

    对所述文本特征向量进行卷积处理,获取所述部分待处理文本的多个局部特征向量;

    对所述多个局部特征向量进行采样,获取所述待处理文本的多个关键特征向量;

    对所述多个关键特征向量进行删减处理后输入bilstm网络层进行处理获取输出特征向量;

    将所述输出特征向量与所述多个关键特征进行删减处理后特征向量进行融合处理,获取融合特征向量输入分类器进行处理,获取所述第二子分类结果。

    5.如权利要求1-4任一项所述的方法,其特征在于,所述混联组合模型包括cnn网络层、bilstm网络层和bigru网络层;

    所述cnn网络层分别与所述bilstm网络层和所述bigru网络层连接,所述bilstm网络层和所述bigru网络分别与分类器连接;或,

    所述cnn网络层与所述bilstm网络层连接,以及二者作为整体与所述cnn网络层分别与分类器连接。

    6.一种基于cnn-bilstm/bigru混联组合模型的文本分类装置,其特征在于,包括:

    获取模块,用于获取待处理文本,并获取所述待处理文本的文本长度值;

    第一处理模块,用于在所述文本长度值小于预设文本长度阈值的情况下,基于cnn-bilstm/bigru混联组合模型对所述待处理文本进行文本分类,获取第一分类结果;

    分块模块,用于在所述文本长度值大于等于预设文本长度阈值的情况下,对所述待处理文本进行内容分块处理,获取第一待处理子文本和第二待处理子文本;

    第二处理模块,用于将所述第二待处理子文本输入cnn-bilstm)/cnn混联文本分类模型进行处理,获取第二分类子结果;

    第三处理模块,用于将所述第一待处理子文本输入所述cnn-bilstm/bigru混联组合模型,获取第一分类子结果,对所述第一分类子结果和所述第二分类子结果进行综合计算,获取第二分类结果。

    7.如权利要求6所述的装置,其特征在于,所述第一处理模块,具体用于:

    提取所述待处理文本的文本特征向量;

    对所述文本特征向量进行卷积处理,获取所述待处理文本的多个局部特征向量;

    对所述多个局部特征向量进行采样,获取所述待处理文本的多个关键特征向量;

    对所述多个关键特征向量进行删减处理后进行拼接分别输入bilstm网络层和bigru网络层进行处理,获取第一输出特征向量和第二输出特征向量;

    对所述第一输出特征向量和所述第二输出特征向量进行融合处理,获取融合特征向量输入分类器进行处理,获取所述第一分类结果。

    8.如权利要求7所述的装置,其特征在于,

    在进行卷积处理时,设置了不同大小的卷积核尺寸以对不同长度的词特征进行提取,获取所述多个局部特征向量。

    9.如权利要求6所述的装置,其特征在于,所述第二处理模块,具体用于:

    提取所述部分待处理文本的文本特征向量;

    对所述文本特征向量进行卷积处理,获取所述部分待处理文本的多个局部特征向量;

    对所述多个局部特征向量进行采样,获取所述待处理文本的多个关键特征向量;

    对所述多个关键特征向量进行删减处理后输入bilstm网络层进行处理获取输出特征向量;

    将所述输出特征向量与所述多个关键特征进行删减处理后特征向量进行融合处理,获取融合特征向量输入分类器进行处理,获取所述第二子分类结果。

    10.如权利要求6-9任一项所述的装置,其特征在于,所述混联组合模型包括cnn网络层、bilstm网络层和bigru网络层;

    所述cnn网络层分别与所述bilstm网络层和所述bigru网络层连接,所述bilstm网络层和所述bigru网络分别与分类器连接;或,

    所述cnn网络层与所述bilstm网络层连接,以及二者作为整体与所述cnn网络层分别与分类器连接。

    技术总结
    本申请提出一种基于CNN‑BiLSTM/BiGRU混联组合模型的文本分类方法和装置,涉及机器学习技术领域,其中,方法包括:获取待处理文本,并获取待处理文本的文本长度值;在所述文本长度值小于预设文本长度阈值的情况下,基于CNN‑BiLSTM/BiGRU混联组合模型对待处理文本进行文本分类,获取第一分类结果;在文本长度值大于等于预设文本长度阈值的情况下,对待处理文本进行内容分块处理后分别输入CNN‑BiLSTM/BiGRU混联组合模型和(CNN‑BiLSTM)/CNN混联文本分类模型进行处理后综合计算,获取第二分类结果。由此,实现对当前各个行业中文本信息的准确、快速分类,在进一步提高模型分类准确率的同时提高了分类速度。

    技术研发人员:吴军;王得强
    受保护的技术使用者:清华大学
    技术研发日:2020.12.16
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-21620.html

    最新回复(0)