卷积神经网络及其进行文本分类的方法、文本分类装置
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及卷积神经网络及其进行文本分类的方法、文本分类装置。
背景技术
文本分类是一种典型的自然语言处理任务,可通过预先训练的文本分类模型,预测待分类文本属于特定分类体系下各个特定分类的概率,并将该文本划分至概率较大的特定分类。
通过传统的文本分类模型进行文本分类时,通常无法同时兼顾分类速度和分类精度。分类速度较快的文本分类模型,其分类精度可能相对较低,即无法对文本进行较为准确的分类;分类精度较高的文本分类模型,其分类速度可能相对较慢,即无法对文本进行较为快速的分类。
有鉴于此,希望能有改进的方案,可以同时兼顾分类速度和分类精度,更为高效的对文本进行分类。
发明内容
本说明书一个或多个实施例提供了一种卷积神经网络、通过卷积神经网络进行文本分类的方法及文本分类装置,可以同时兼顾分类速度和分类精度,更为高效的对文本进行分类。
第一方面,提供了一种通过卷积神经网络进行文本分类的方法,包括:
获取待分类文本对应的第一词序列;
获取第一词序列中的各个词分别对应的词向量;
针对第一词序列中的每个词,获取该词对应的拼接向量,所述拼接向量是由第一词序列中以该词为中心的、预定长度的第二词序列对应的多个词向量拼接而成;以及,对获取的所述拼接向量进行多次卷积处理,基于多次卷积处理结果得到该词对应的注意力权重矩阵;
针对第一词序列中的每个词,根据该词对应的注意力权重矩阵,得到该词对应的注意力权重向量;
根据第一词序列中的各个词分别对应的词向量以及注意力权重向量,得到所述待分类文本对应的文本表示向量;
根据文本表示向量对所述待分类文本进行分类。
在一种可能的实施方式中,
第一词序列中的各个词为,对所述待分类文本进行分词处理后得到的。
在一种可能的实施方式中,
所述获取第一词序列中的各个词分别对应的词向量,包括:针对第一词序列中的每个词,查询预设的向量映射表,得到该词对应的词向量。
在一种可能的实施方式中,
所述对获取的所述拼接向量进行多次卷积处理,基于多次卷积处理结果得到该词对应的注意力权重矩阵,包括:根据预设的至少两个不同宽度的卷积窗口,分别对获取的所述拼接向量进行卷积处理,得到各个卷积窗口分别对应的卷积特征向量;以及,根据各个卷积窗口分别对应的卷积特征向量,得到该词对应的注意力权重矩阵。
在一种可能的实施方式中,
每个卷积窗口的宽度均为一个词向量的维数的整数倍;
所述根据预设的至少两个不同宽度的卷积窗口,分别对获取的所述拼接向量进行卷积处理,包括:根据预设的至少两个不同宽度的卷积窗口以及设定步长,分别对获取的所述拼接向量进行卷积处理,所述设定步长为一个词向量的维数。
在一种可能的实施方式中,
所述根据各个卷积窗口分别对应的卷积特征向量,得到该词对应的注意力权重矩阵包括:将各个卷积窗口分别对应的卷积特征向量作为待形成的注意力权重矩阵的各个列,得到所述注意力权重矩阵。
在一种可能的实施方式中,
所述针对第一词序列中的每个词,根据该词对应的注意力权重矩阵,得到该词对应的注意力权重向量,包括:针对第一词序列中的每个词,将该词对应的注意力权重矩阵映射为中间向量,中间向量与该词对应的词向量维数相同;以及根据中间向量得到该词对应的注意力权重向量。
在一种可能的实施方式中,
所述将该词对应的注意力权重矩阵映射为中间向量,包括:通过映射矩阵将该词对应的注意力权重矩阵映射为中间向量,所述映射矩阵通过所述卷积神经网络的训练而确定。
在一种可能的实施方式中,
所述根据中间向量得到该词对应的注意力权重向量,包括:根据中间向量以及该词对应的词向量,计算该词对应的注意力权重向量。
第二方面,提供了一种用于文本分类的卷积神经网络,包括:
输入层,配置为获取待分类文本对应的第一词序列;
向量转化层,配置为获取第一词序列中的各个词分别对应的词向量;
至少一个卷积层,配置为针对第一词序列中的每个词,获取该词对应的拼接向量,所述拼接向量是由第一词序列中以该词为中心的、预定长度的第二词序列对应的多个词向量拼接而成;以及,对获取的所述拼接向量进行多次卷积处理,基于多次处理结果得到该词对应的注意力权重矩阵;
向量映射层,配置为针对第一词序列中的每个词,根据该词对应的注意力权重矩阵,得到该词对应的注意力权重向量;
注意力融合层,配置为根据第一词序列中的各个词分别对应的词向量以及注意力权重向量,得到所述待分类文本对应的文本表示向量;
分类层,配置为根据文本表示向量对所述待分类文本进行分类。
在一种可能的实施方式中,
第一词序列中的各个词为,对所述待分类文本进行分词处理后得到的。
在一种可能的实施方式中,
所述向量转化层,配置为针对第一词序列中的每个词,查询预设的向量映射表,得到该词对应的词向量。
在一种可能的实施方式中,
所述至少一个卷积层,配置为根据预设的至少两个不同宽度的卷积窗口,分别对获取的所述拼接向量进行卷积处理,得到各个卷积窗口分别对应的卷积特征向量;以及,根据各个卷积窗口分别对应的卷积特征向量,得到该词对应的注意力权重矩阵。
在一种可能的实施方式中,
每个卷积窗口的宽度均为一个词向量的维数的整数倍;
所述至少一个卷积层,配置为根据预设的至少两个不同宽度的卷积窗口以及设定步长,分别对获取的所述拼接向量进行卷积处理,所述设定步长为一个词向量的维数。
在一种可能的实施方式中,
所述至少一个卷积层,配置为将各个卷积窗口分别对应的卷积特征向量作为待形成的注意力权重矩阵的各个列,得到所述注意力权重矩阵。
在一种可能的实施方式中,
所述向量映射层,配置为针对第一词序列中的每个词,将该词对应的注意力权重矩阵映射为中间向量,中间向量与该词对应的词向量维数相同;以及根据中间向量得到该词对应的注意力权重向量。
在一种可能的实施方式中,
所述向量映射层,配置为通过映射矩阵将注意力权重矩阵映射为中间向量,所述映射矩阵通过所述卷积神经网络的训练而确定。
在一种可能的实施方式中,
所述向量映射层,配置为根据中间向量以及该词对应的词向量,计算该词对应的注意力权重向量。
第三方面,提供了一种文本分类装置,包括:
词序列获取模块,配置为获取待分类文本对应的第一词序列;
词向量获取模块,配置为获取第一词序列中的各个词分别对应的词向量;
卷积处理模块,配置为针对第一词序列中的每个词,获取该词对应的拼接向量,所述拼接向量是由第一词序列中以该词为中心的、预定长度的第二词序列对应的多个词向量拼接而成;以及,对获取的所述拼接向量进行多次卷积处理,基于多次卷积处理结果得到该词对应的注意力权重矩阵;
向量映射模块,配置为针对第一词序列中的每个词,根据该词对应的注意力权重矩阵,得到该词对应的注意力权重向量;
文本向量获取模块,配置为根据第一词序列中的各个词分别对应的词向量以及注意力权重向量,得到所述待分类文本对应的文本表示向量;
文本分类模块,配置为根据文本表示向量对所述待分类文本进行分类。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行如第一方面中任一项所述的方法。
第五方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现如第一方面中任一项所述的方法。
根据本说明书实施例,第一方面,对于待分类文本对应的每个词,具体通过对该词以及与该词在一定距离范围内的上下文内容进行综合分析,可得到能够用于反映该词的上下文内容对该词所造成影响情况的注意力权重向量,在得到文本表示向量时即可根据得到的注意力权重向量加入注意力机制,提高文本分类结果的准确性;第二方面,利用卷积神经网络能够高并发的执行待分类文本对应的每个词的卷积处理过程的特点,快速实现对待分类文本对应的每个词以及与该词在一定距离范围内的上下文内容进行综合分析,从而较为快速的得到各个词分别对应的注意力权重向量,提高文本分类速度;综合以上两个方面,实现在文本分类过程中同时兼顾分类速度及分类精度,更为高效的对文本进行分类。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出本说明书实施例提供的一种通过卷积神经网络进行文本分类的方法的流程示意图;
图2a示出本说明书实施例根据一个卷积窗口对拼接向量进行卷积处理的过程中,卷积窗口与拼接向量的一种位置关系示意图;
图2b示出本说明书实施例根据一个卷积窗口对拼接向量进行卷积处理的过程中,卷积窗口与拼接向量的另一种位置关系示意图;
图3示出根据本说明书实施例提供对示例性文本进行分类的过程示意图图;
图4示出本说明书实施例提供的一种用于文本分类的卷积神经网络的结构示意图;
图5示出本说明书实施例提供的一种文本分类装置的结构示意图。
具体实施方式
传统的文本分类模型无法同时兼顾分类速度和分类精度,尤其在待分类文本长度较大(即对待分类文本进行分词处理后得到的各个词的数量较多)时,无法同时兼顾分类速度和分类精度的表现更为明显。然而,文本分类的应用场景越来越多,如垃圾邮件识别、大数据分析、以文本形式呈现的互联网数据采集等;在这些具体的应用场景中,待分类文本的数量可能相对较多、单个待分类文本的长度可能相对较大,且文本分类可能为应用场景下所需执行的大量任务中的一个中间任务,如不能快速、准确的实现对文本进行分类,除需要占据较多计算资源外,还可能影响应用场景下其他业务的正常进行。
相应的,如果能够在各应用场景具体执行文本分类任务时,较为快速且较为准确的实现对文本进行分类,则有利于节约计算资源以及保证应用场景中其它业务的正常进行。
为此,本说明书各个实施例中,至少综合考虑了如下两个方面:第一方面,对于待分类文本对应的每个词,与该词在一定距离范围内的上下文内容,可能影响对该词的理解进而影响文本的分类结果,而且,该词所对应的上下文内容中的不同子内容,分别对该词造成的影响情况也可能各不相同,于是,对于待分类文本对应的每个词,具体通过对该词以及与该词在一定距离范围内的上下文内容进行综合分析,即可得到能够用于反映该词的上下文内容对该词所造成影响情况的注意力权重向量,在得到文本表示向量时即可根据得到的注意力权重向量加入注意力机制,提高文本分类结果的准确性;第二方面,利用卷积神经网络能够高并发的执行待分类文本对应的每个词的卷积处理过程的特点,快速实现对待分类文本对应的每个词以及与该词在一定距离范围内的上下文内容进行综合分析,从而较为快速的得到各个词分别对应的注意力权重向量,提高文本分类速度。
根据以上两个方面,本说明书各个实施例的基本构思是提供了一种卷积神经网络以及通过该卷积神经网络进行文本分类的方法、文本分类装置,可首先获取待分类文本对应的第一词序列;然后获取第一词序列中的各个词分别对应的词向量;针对第一词序列中的每个词可以并发进行卷积处理,这包括获取每个词对应的拼接向量,该拼接向量是由第一词序列中以该词为中心的、预定长度的第二词序列对应的词向量拼接而成,以及对获取的所述拼接向量进行多次卷积处理,得到该词对应的注意力权重矩阵;之后,针对第一词序列中的每个词,根据该词对应的注意力权重矩阵,得到该词对应的注意力权重向量;进一步根据第一词序列中的各个词分别对应的词向量以及注意力权重向量,得到所述待分类文本对应的文本表示向量之后;即可根据文本表示向量对所述待分类文本进行分类。基于该基本构思,可同时兼顾分类速度和分类精度,更为高效的对文本进行分类。
下面结合附图,对本说明书所提供的各个非限制性实施例进行详细描述。
图1示出本说明书实施例提供的一种通过卷积神经网络进行文本分类的方法的流程示意图。
如图1所示,实施该方法的执行主体可以是部署有如图4所示卷积神经网络或如图5所示文本分类装置的计算设备,该计算设备包括但不限于服务器或一般计算机,该方法至少可以包括如下步骤11~步骤16:
步骤11,获取待分类文本对应的第一词序列。
在一种可能的实施方式中,可预先对待分类文本进行分词处理,并根据进行分词处理后得到的各个词形成第一词序列。
在一个更为具体的示例中,对于一个待分类文本,在完成对其进行分词处理之后,可根据得到的各个词在待分类文本中的位置,利用得到的各个词组成第一词序列;例如,对于一个待分类文本“X公司40%股权挂牌转让”,对其进行分词处理可能得到“X公司”、“40%”、“股权”、“挂牌”、“转让”共5个词,所获取第一词序列即可由前述5个词依次排列组成。
在另一个更为具体的示例中,对于一个待分类文本,在完成对其进行分词处理之后,进一步去除得到的各个词中的停用词,停用词的词性包括但不限于形容词、副词或连词,然后根据去除停用词之后剩余的各个词在待分类文本中的位置,利用去除停用词之后剩余的各个词依次组成第一词序列;例如,对于一个待分类文本“X公司40%的股权挂牌转让”,对其进行分词处理可能得到“X公司”、“40%”、“的”、“股权”、“挂牌”、“转让”共6个词,可去除停用词“的”,利用去除停用词“的”之后剩余的5个词依次排列组成第一词序列。
步骤12,获取第一词序列中的各个词分别对应的词向量。
在一种可能的实施方式中,可预先设置向量映射表,该向量映射表中可记录若干个词与若干个词向量之间的对应关系;相应的,步骤12中,可具体针对第一词序列中的每个词,查询预设的向量映射表,根据向量映射表中记录的若干个词与若干个词向量之间的对应关系,得到该词对应的词向量。
在另一种可能的实施方式中,可以利用已有的模型或工具,实现词向量的转换。例如,可以使用word2vec工具,将词序列中的各个词分别转换为词向量。
步骤13,针对第一词序列中的每个词,获取该词对应的拼接向量,所述拼接向量是由第一词序列中以该词为中心的、预定长度的第二词序列对应的多个词向量拼接而成;以及,对获取的所述拼接向量进行多次卷积处理,基于多次卷积处理结果得到该词对应的注意力权重矩阵。
需要说明的是,预定长度可以为经验值,对于待分类文本对应的第一词序列中的每个词,预定长度用于限定一个距离范围,处于该距离范围之内的上下文内容可能会对该词的理解产生影响,进而影响文本分类结果。
举例来说,对于一个待分类文本,利用Ti表征待分类文本对应的第一词序列中的第i个词,利用wi表征Ti对应的词向量,具体以预定长度是5为例,对于Ti,即可首先获取到第一词序列中、以Ti为中心且包含5个词的第二词序列[Ti-2、Ti-1、Ti、Ti+1、Ti+2],将第二词序列中各个词对应的词向量序列[wi-2,wi-1,wi,wi+1,wi+2]进行拼接,即可得到Ti对应的拼接向量。接着,针对Ti对应的拼接向量(wi-2,wi-1,wi,wi+1,wi+2)进行多次卷积处理,即可实现对Ti以及与Ti距离不大于2的上下文内容进行综合分析,得到Ti对应的注意力权重矩阵,该注意力权重矩阵即能够在一定程度上反映与Ti距离不大于2的上下文内容对Ti的影响情况。
对于第一词序列中的一个词Ti,在通过上述距离范围限定的具有预定长度的上下文内容(即第二词序列)中,仍然包含多个子内容,不同的子内容相对于Ti可能具有不同的影响。比如,待分类文本对应的第一词序列中包括一个第二词序列为[Ti-2、Ti-1、Ti、Ti+1、Ti+2],对于Ti,可能存在多个不同的子内容如:“Ti-1”、“Ti-2、Ti-1”、“Ti-2、Ti-1、Ti”,这些能够影响Ti的子内容可以由一个或多个连续的词组成。有鉴于此,为了实现较为全面的分析每个词的上下文内容中不同子内容分别对该词所造成的影响情况,对上述拼接向量进行多次卷积处理,从而基于多次卷积处理结果得到注意力权重矩阵。
在一个实施例中,采用多个卷积窗口进行上述多次卷积处理,该多个卷积窗口可以具有相同宽度,但是包含不同的卷积算子。
在另一种可能的实施方式中,在步骤13中,所述对获取的所述拼接向量进行卷积处理,得到该词对应的注意力权重矩阵,包括如下步骤132及步骤134:
步骤132,根据预设的至少两个不同宽度的卷积窗口,分别对获取的所述拼接向量进行卷积处理,得到各个卷积窗口分别对应的卷积特征向量。
步骤134,根据各个卷积窗口分别对应的卷积特征向量,得到该词对应的注意力权重矩阵。
该实施中,卷积窗口的数量以及卷积窗口的宽度可以为经验值,比如,卷积窗口的数量可以为4个,每个卷积窗口的宽度分别为2d、3d、4d、5d,其中d为一个词向量的维数;不难理解的,还可以设置具有其它宽度值的卷积窗口,比如设置一个宽度为d的卷积窗口。需要说明的是,各个卷积窗口的宽度均为一个词向量的维数d的整数倍,使得卷积窗口内能够完整呈现若干个连续词的词向量。
该实施例中,对于具有一定宽度的卷积窗口,根据该卷积窗口对获取的一个词所对应的拼接向量进行卷积处理时,得到的卷积特征向量中的各个元素,即可分别反映与该词在一定距离范围内的上下文内容中,由特定数量的词组成的子内容对该词的影响情况。相应的,通过设置多个具有不同宽度的卷积窗口,则能够更为全面的分析每个词的上下文内容中不同子内容分别对该词所造成的影响情况。
在一种可能的实施方式中,步骤134具体可以包括:根据预设的至少两个不同宽度的卷积窗口以及设定步长,分别对获取的所述拼接向量进行卷积处理,所述设定步长为一个词向量的维数。
该实施方式中,每个卷积窗口的宽度均为一个词向量的维数的整数倍,且设定步长为一个词向量的维数,在卷积处理过程中,卷积窗口内则可完整呈现一定数量的词所分别对应的词向量,得到的卷积特征向量能够准确反映各个不同的子内容分别对该词的影响情况。
为方便理解针对一个词所对应的拼接向量的卷积处理过程,请参考图2a、图2b以及以下举例描述内容;其中,图2a示出本说明书实施例根据一个卷积窗口对拼接向量进行卷积处理的过程中,卷积窗口与拼接向量的一种位置关系示意图;图2b示出本说明书实施例根据一个卷积窗口对拼接向量进行卷积处理的过程中,卷积窗口与拼接向量的另一种位置关系示意图。
举例来说,获取的一个词Ti所对应的拼接向量是(wi-2,wi-1,wi,wi+1,wi+2),一个卷积窗口的宽度是3,根据该卷积窗口对该拼接向量进行卷积处理的过程可以包括:首先,请参考图2a,卷积窗口位于该拼接向量的第一端,此时可对位于该卷积窗口内的词向量wi-2、wi-1、wi进行卷积运算,得到一个数值C1,数值C1能够反映由词向量wi-2、wi-1、wi对应的各个词拼接形成的子内容对Ti的影响情况;然后,该卷积窗口以设定步长向该拼接向量的第二端移动,该设定步长为一个词向量的维数,完成移动之后,卷积窗口与该拼接向量的位置关系如图2b所示,此时,位于该卷积窗口内的词向量包括wi-1、wi、wi+1,对位于该卷积窗口内的词向量wi-1、wi、wi+1进行卷积运算,可得到一个数值C2,数值C2能够反映由词向量wi-1、wi、wi+1对应的各个词拼接形成的子内容对Ti的影响情况。基于前述相似的原理继续执行该拼接向量对应的卷积处理过程,还可得到数值C3、C4、C5,从而得到该卷积窗口对应的、由数值C1、C2、C3、C4、C5依次组成的卷积特征向量。
在一种可能的实施方式中,所述根据各个卷积窗口分别对应的卷积特征向量,得到该词对应的注意力权重矩阵包括:将各个卷积窗口分别对应的卷积特征向量作为待形成的注意力权重矩阵的各个列,得到所述注意力权重矩阵。具体地,对于每一个词,根据至少两个不同宽度的卷积窗口及设定步长对该词所对应的拼接向量进行卷积处理,得到的各个卷积特征向量可以为列向量;以预定长度是5、卷积窗口的数量是3为例,对于第一词序列中的每个词,即可得到3个卷积特征向量,每个卷积特征向量均为由5个元素构成的列向量,三个卷积特征向量可拼接成一个5*3的注意力权重矩阵。
步骤14,针对第一词序列中的每个词,根据该词对应的注意力权重矩阵,得到该词对应的注意力权重向量。
这里,即在步骤14中将步骤13得到的、第一词序列中的每个词分别对应的注意力权重矩阵向量化,以便后续得到文本表示向量时能够加入注意力机制。
在一种可能的实施方式中,步骤14可以包括:针对第一词序列中的每个词,将该词对应的注意力权重矩阵映射为中间向量,中间向量与该词对应的词向量维数相同;以及根据中间向量得到该词对应的注意力权重向量。
在一种更为具体的实施方式中,所述将该词对应的注意力权重矩阵映射为中间向量,包括:通过映射矩阵将该词对应的注意力权重矩阵映射为中间向量,所述映射矩阵通过所述卷积神经网络的训练而确定。这里,可预先根据预定长度以及卷积窗口的数量训练神经网络模型,确定出一个映射矩阵H,通过训练得到的映射矩阵,将第一词序列中每个词分别对应的注意力权重矩阵,映射至与一个词向量维数相同的空间中,得到第一词序列中的每个词分别对应的中间向量。
在一个示例中,中间向量可以直接作为相应的词所对应的注意力权重向量。
在另一个示例中,所述根据中间向量得到该词对应的注意力权重向量,包括:根据中间向量以及该词对应的词向量,计算该词对应的注意力权重向量。具体地,对于第一词序列中的每个词,可将该词对应的中间向量与该词的词向量作加法运算,即利用该词的词向量作残差连接,将作加法运算后得到的向量确定为该词对应的注意力权重向量,使得该词对应的注意力权重向量能够更为准确的反映该词的上下文内容对该词的影响情况。
步骤15,根据第一词序列中的各个词分别对应的词向量以及注意力权重向量,得到所述待分类文本对应的文本表示向量。
具体地,步骤15可通过如下公式1得到待分类文本对应的文本表示向量:
其中,g表征待分类文本对应的文本表示向量、N表征待分类文本对应的第一词序列中各个词的总量、wi表征第一词序列中第i个词对应的词向量、hi表征第一词序列中第i个词对应的注意力权重向量、运算符⊙表征wi和hi中的各个元素依次作乘积运算。
这里,hi即可视为wi的注意力权重系数,实现在得到待分类文本对应的文本表示向量时加入注意力机制。
步骤16,根据文本表示向量对所述待分类文本进行分类。
具体地,这里可结合实际应用场景所需的特定分类体系,预先训练基于MLP或SoftMax的文本分类器,将待分类文本对应的文本表示向量输入预先训练的文本分类器,分类器即可根据输入的文本表示向量计算待分类文本分别属于特定分类体系下的各个分类的概率,将待分类文本划分至概率较大的分类,完成对待分类文本进行分类。
图3示出了根据本说明书实施例对示例性文本进行分类的过程示意图。
如图3所示,对于一个示例性文本如“X公司40%股权挂牌转让”,首先,可通过卷积神经网络的输入层,接收外部输入的、待分类文本对应的第一词序列“X公司、40%、股权、挂牌、转让”。然后,通过卷积神经网络的向量转化层,获取第一词序列中“X公司”对应的词向量w1、获取第一词序列中“40%”对应的词向量w2、获取第一词序列中“股权”对应的词向量w3、获取第一词序列中“挂牌”对应的词向量w4、获取第一词序列中“转让”对应的词向量w5。接着,在卷积神经网络的一个或多个卷积层,获取每个词分别对应的拼接向量,或者也可获取由该拼接向量中的各个元素依次排列组成的字符串;为了方便进行举例描述,这里以预定长度是5为例,即对于第一词序列中的一个词,限定能够影响该词对应分类结果的上下文内容与该词之间的距离范围不大于2,那么,在卷积神经网络的卷积层,对于“X公司”可获取到对应的拼接向量为(NULL,NULL,w1,w2,w3),对于“40%”可获取到对应的拼接向量为(NULL,w1,w2,w3,w4),对于“股权”可获取到对应的拼接向量为(w1,w2,w3,w4,w5),对于“挂牌”可获取到对应的拼接向量为(w2,w3,w4,w5,NULL),对于“转让”可获取到对应的拼接向量为(w3,w4,w5,NULL,NULL)。并且,在卷积神经网络的卷积层,对获取的每个拼接向量进行多次卷积处理,基于多次卷积处理结果得到每个词分别对应的注意力权重矩阵,即对(NULL,NULL,w1,w2,w3)进行卷积处理得到“X公司”对应的注意力权重矩阵c1,对(NULL,w1,w2,w3,w4)进行卷积处理得到“40%”对应的注意力权重矩阵c2,对(w1,w2,w3,w4,w5)进行卷积处理得到“股权”对应的注意力权重矩阵c3,对(w2,w3,w4,w5,NULL)进行卷积处理得到“挂牌”对应的注意力权重矩阵c4,对(w3,w4,w5,NULL,NULL)进行卷积处理得到“转让”对应的注意力权重矩阵c5。之后,在卷积神经网络的向量映射层,根据c1及w1得到“X公司”对应的注意力权重向量h1,根据c2及w2得到“40%”对应的注意力权重向量h2,根据c3及w3得到“股权”对应的注意力权重向量h3,根据c4及w4得到“挂牌”对应的注意力权重向量h4,根据c5及w5得到“转让”对应的注意力权重向量h5。进一步在卷积神经网络的注意力融合层及分类层,根据第一词序列中的各个词分别对应的词向量以及注意力权重向量得到文本表示向量g,并根据得到的文本表示向量g输出待分类文本在特定分类体系下所属的分类,即实现将待分类文本划分至特定分类体系下的一个或多个分类。
图4示出本说明书实施例提供的一种用于文本分类的卷积神经网络的结构示意图。
基于与前述各个方法实施例相同的构思,本说明书实施例提供了一种用于文本分类的卷积神经网络,该卷积神经网络可以部署于计算设备中,以便该计算设备作为执行主体,通过部署的卷积神经网络实施前述各个实施例中所述的方法。如图4所示,用于文本分类的卷积神经网络可以包括:
输入层41,配置为获取待分类文本对应的第一词序列;
向量转化层42,配置为获取第一词序列中的各个词分别对应的词向量;
至少一个卷积层43,配置为针对第一词序列中的每个词,获取该词对应的拼接向量,所述拼接向量是由第一词序列中以该词为中心的、预定长度的第二词序列对应的多个词向量拼接而成;以及,对获取的所述拼接向量进行多次卷积处理,基于多次卷积处理结果得到该词对应的注意力权重矩阵;
向量映射层44,配置为针对第一词序列中的每个词,根据该词对应的注意力权重矩阵,得到该词对应的注意力权重向量;
注意力融合层45,配置为根据第一词序列中的各个词分别对应的词向量以及注意力权重向量,得到所述待分类文本对应的文本表示向量;
分类层46,配置为根据文本表示向量对所述待分类文本进行分类。
在一种可能的实施方式中,第一词序列中的各个词为,对所述待分类文本进行分词处理后得到的。
在一种可能的实施方式中,所述向量转化层,配置为针对第一词序列中的每个词,查询预设的向量映射表,得到该词对应的词向量。
在一种可能的实施方式中,所述至少一个卷积层43,配置为根据预设的至少两个不同宽度的卷积窗口,分别对获取的所述拼接向量进行卷积处理,得到各个卷积窗口分别对应的卷积特征向量;以及,根据各个卷积窗口分别对应的卷积特征向量,得到该词对应的注意力权重矩阵。
在一种可能的实施方式中,每个卷积窗口的宽度均为一个词向量的维数的整数倍;
所述至少一个卷积层43,配置为根据预设的至少两个不同宽度的卷积窗口以及设定步长,分别对获取的所述拼接向量进行卷积处理,所述设定步长为一个词向量的维数。
在一种可能的实施方式中,所述至少一个卷积层,配置为将各个卷积窗口分别对应的卷积特征向量作为待形成的注意力权重矩阵的各个列,得到所述注意力权重矩阵。
在一种可能的实施方式中,所述向量映射层44,配置为针对第一词序列中的每个词,将该词对应的注意力权重矩阵映射为中间向量,中间向量与该词对应的词向量维数相同;以及根据中间向量得到该词对应的注意力权重向量。
在一种可能的实施方式中,所述向量映射层,配置为通过映射矩阵将注意力权重矩阵映射为中间向量,所述映射矩阵通过所述卷积神经网络的训练而确定。
在一种可能的实施方式中,所述向量映射层44,配置为根据中间向量以及该词对应的词向量,计算该词对应的注意力权重向量。
图5示出本说明书实施例提供的一种文本分类装置的结构示意图。
基于与前述各个方法实施例相同的构思,本说明书实施例提供了一种文本分类装置,该文本分类装置可以部署于计算设备中,以便该计算设备作为执行主体,通过部署的文本分类装置实施前述各个实施例中所述的方法。如图5所示,该文本分类装置可以包括:
词序列获取模块51,配置为获取待分类文本对应的第一词序列;
词向量获取模块52,配置为获取第一词序列中的各个词分别对应的词向量;
卷积处理模块53,配置为针对第一词序列中的每个词,获取该词对应的拼接向量,所述拼接向量是由第一词序列中以该词为中心的、预定长度的第二词序列对应的多个词向量拼接而成;以及,对获取的所述拼接向量进行多次卷积处理,基于多次卷积处理结果得到该词对应的注意力权重矩阵;
向量映射模块54,配置为针对第一词序列中的每个词,根据该词对应的注意力权重矩阵,得到该词对应的注意力权重向量;
文本向量获取模块55,配置为根据第一词序列中的各个词分别对应的词向量以及注意力权重向量,得到所述待分类文本对应的文本表示向量;
文本分类模块56,配置为根据文本表示向量对所述待分类文本进行分类。
上述各个实施例中提供的用于文本分类的神经网络以及文本分类装置可以由任何具有计算、处理能力的软件、硬件或其组合来实现。
本说明书还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现说明中任意一个实施例描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能所对应的计算机程序存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令/代码进行传输,以便这些功能所对应的计算机程序被计算机执行时,通过计算机实现本发明任意一个实施例中所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同、相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于用于文本分类的神经网络及文本分类装置所对应的各个实施例而言,其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。