本发明涉及自然语言处理的情感分析技术领域,具体涉及一种基于transformer的多重特征中英文情感分类方法及系统。
背景技术:
在互联网时代,人们可以生产和接触大量的文本信息,如推文、评论和博客等。如此大量的文本信息,导致文本信息提取技术,如情感分析技术、自动化文本摘要等成为信息爆炸的时代下快速理解信息的迫切需求。文本信息有多个层面的体现,不同于文本摘要只是对原文本内容以浓缩的形式进行了复述,文本的情感表达更体现了对文本的理解,是对文本信息更高层次的抽象,具有十分重要的应用价值。深度情感分类技术为从大量的文本中提取情感表达提供了一个高效的解决方案,可以在换届选举、时事热点、商品体验等情境发挥关键作用,具备非常广阔的应用场景。
以往基于深度学习的自然语言处理模型大多是以循环神经网络或一维的卷积神经网络作为模型的基础架构的,这类模型在经过前人一定程度的研究和挖掘后,在深度学习领域的各类任务上均已取得不错的表现。然而,当新模型transformer被开发出来后,首先在机器翻译任务上表现大大超过了之前的绝大多数模型。基于tranformer的词嵌入模型gpt、bert也在各类任务上取得了大幅度的提升。transformer没有采用卷积神经网络或者循环神经网络的结构,原因在于:1、卷积神经网络提取的是局部特征,但是对于文本数据,长距离的依赖十分重要,因为词语的含义跟上下文是密切相关的。尽管经过多层的卷积运算,单个元素的感受野变得更加广阔,但文本的上下文联系,在卷积神经网络仍然得不到充分的体现。2、循环神经网络一方面是单方向的,即使是双向的循环神经网络,也是由两条单方向的传播链构成的,无法同时考虑来自两个方向的数据;另一方面又是序列模型,要等前一步计算结束才可以计算下一步,并行计算的能力较差,所以模型的计算时间较长。
技术实现要素:
现有技术由于卷积运算的局部性,基于卷积神经网络的模型始终不能充分捕捉文本的上下文联系;由于循环神经网络是序列模型,其并行计算能力较差,而且不能严格意义上地考虑两个方向上的信息;
为了克服现有技术存在的缺陷与不足,本发明提供一种基于transformer的多重特征中英文情感分类方法及系统,以transformer作为基础架构,从根本上解决了以往的经典模型(卷积神经网络、循环神经网络)存在的主要问题,此外,针对情感分析领域的主要问题之一的文本情感分类任务,本发明在基础模型上做了较大的改善,不仅在模型的特征输入中编码了更多层次的信息,利用transformer健壮的网络结构使得信息能够得到充分的利用,还调整了模型解码器的结构,并以上下文向量作为解码器的输入,使模型能够从整个文本上为序列分配不同的注意力,在一定程度上发掘了tranformer模型在情感分析领域的潜能,并得到了很好的效果。
为了达到上述目的,本发明采用以下技术方案:
本发明提供一种基于transformer的多重特征中英文情感分类方法,包括下述步骤:
文本预处理:对给定的文本数据进行预处理,包括划分文本、构造词典、获取数字形式的文本表示;
建立模型的编码器网络:将预处理后的文本数据输入模型编码器部分的神经网络,依次经过嵌入层、多重自我注意力层、前馈层,提取并输出每个词语基于多重自我注意力机制的向量表示;
建立模型的解码器网络:以编码器网络的输出作为值项和键项的输入,以文本序列的上下文向量作为查询项的唯一输入,经过解码器的多重自我注意力层和前馈层,输出文本基于自我注意力机制的向量表示。
作为优选的技术方案,所述文本预处理具体步骤包括:
划分文本:将文本分割成组成该语言语句的词语序列;
构造词汇表:根据划分所有文本得到的词语序列,删去其中的低频词后构造文本的词汇表,所述词汇表用于查询某一词语在表中的下标,通过下标查找到对应的词语;
获取数字形式的文本表示:基于所述词汇表,将文本序列从词语序列转化为对应的下标序列,完成文本从字符形式向数字形式的转化。
作为优选的技术方案,所述获取数字形式的文本表示,具体步骤包括:
大小写转化:将文本序列中的词语全部转换为小写形式;
文本数字化:对照所述词汇表,将文本中所有词语转化成在词汇表中对应的下标,使文本由字符形式转化为数字形式;
统一文本长度:如果文本中词语的数目超过了设定的阈值,则进行裁剪,舍弃超出数目的部分词语;如果文本中词语的数目达不到设定的阈值,则用下标0填充文本至词语数目达到阈值。
作为优选的技术方案,所述建立模型的编码器网络,具体步骤包括:
所述嵌入层以预处理后的文本序列作为输入,将序列的每个下标转化成对应的唯一向量化表示,得到词向量;
所述多重自我注意力层以输出的词向量作为输入,通过多重的自我注意力机制为词语提供多个向量表示,将其连接后进行转化,得到某一词语关联了序列中多处其它词语后的向量表示,作为提炼好的词向量;
所述前馈层将提炼好的词向量投影到更高维的空间,再投影回原来的空间,完成信息的提取。
作为优选的技术方案,所述嵌入层以预训练的词向量为基础,将单词的次序信息、词性信息、情感信息一并编码进了词向量中。
作为优选的技术方案,所述多重自我注意力层以输出的词向量作为输入,通过多重的自我注意力机制为词语提供多个向量表示,具体步骤包括:
词向量通过与查询矩阵、键矩阵和值矩阵相乘得到词语在自我注意力机制中的查询项、键项和值项;
将某一词语的查询项与序列所有词语的键项相乘,得到序列中所有词语对编码该词语的贡献度分布,然后对贡献度分布执行softmax运算,将贡献度分布转化为概率分布,使得序列中所有词语的贡献度之和为1;
将贡献度分布与生成的各词语的值项相乘后求和,得到某一词语基于自我注意力机制的向量表示;
通过多个不同的查询矩阵、键矩阵和值矩阵为词语提供多个向量表示,将多个词向量连接后通过一个全连接层重新整理信息,进而得到某一词语关联了序列中多处其他词语后的向量表示。
作为优选的技术方案,所述建立模型的解码器网络,具体步骤包括:
获取上下文向量:以输出的词向量序列作为输入,通过训练双向循环神经网络获取向量形式的文本序列的上下文信息;
所述多重自我注意力层以上下文向量作为查询项的唯一输入,以提取的词向量作为键项和值项的输入,得到文本为序列中多处情感重点分配了更多权重的向量表示;
所述前馈层输入为提炼好的文本向量,若本层是模型的最后一层,则通过全连接层输出情感分类的数值分布,再对结果采用softmax运算,转化为概率分布,概率较大者为情感分类的预测结果。
本发明还提供一种基于transformer的多重特征中英文情感分类系统,包括:文本预处理模块、模型的编码器网络建立模块和模型的解码器网络建立模块;
所述文本预处理模块用于对给定的文本数据进行预处理,包括划分文本、构造词典、获取数字形式的文本表示;
所述模型的编码器网络建立模块用于将预处理后的文本数据输入模型编码器部分的神经网络,依次经过嵌入层、多重自我注意力层、前馈层,提取并输出每个词语基于多重自我注意力机制的向量表示;
所述模型的解码器网络建立模块用于以编码器网络的输出作为值项和键项的输入,以文本序列的上下文向量作为查询项的唯一输入,经过解码器的多重自我注意力层和前馈层,输出文本基于自我注意力机制的向量表示。
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明以transformer模型作为基础架构,从根本上解决了以往的经典模型(卷积神经网络、循环神经网络)存在的主要问题,以及针对文本情感分类任务,对原先适用于机器翻译任务的基本模型做了较大的改善,并取得了很好的效果。
(2)本发明对模型编码器(encoder)部分原来的特征输入进行修改,融入了词语词性、词语初始情感倾向等信息;调整了模型解码器(decoder)的结构,删去其原适用于机器翻译的带掩码的多重自我注意力层(multi-headattention);以上下文向量作为模型解码器的多重自我注意力层的查询项输入,使得模型能够为体现文本情感的部分分配更多的权重,丰富了模型的特征输入中包含的信息,挖掘模型在其原先应用领域(机器翻译)之外的领域(情感分析)的潜能,并得到了很好的效果。
附图说明
图1为本实施例基于transformer的多重特征中英文情感分类方法的流程示意图;
图2为本实施例文本数据预处理的流程示意图;
图3为本实施例模型的编码器神经网络模型示意图;
图4为本实施例编码器词嵌入的向量格式示意图;
图5为本实施例模型的解码器神经网络模型示意图;
图6为本实施例双向的循环神经网络模型示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例
如图1所示,本实施例提供一种基于transformer的多重特征中英文情感分类方法,包括下述步骤:
s1:文本预处理:如图2所示,对给定的文本数据进行预处理,包括划分文本、构造词典、获取数字形式的文本表示;
步骤s1文本预处理,具体包括以下子步骤:
s11:划分文本
将文本分割成组成该语言语句的词语,例如中文的汉字、英文的单词等,先把语句分割为单个字符的序列,再删去其中非词语的符号得到目标序列(适用于中文);也可以通过识别词语间的分隔符进行分割得到目标序列(适用于英文)。
s12:构造词典
根据步骤s11中划分所有文本得到的词语序列,删去其中的低频词后构造文本的词汇表,通过该表,既可以查询到某一词语在表中的下标,又可以通过下标查找到对应的词语;
在本实施例中,先统计各词语在所有文本中出现的总次数,然后设定一个频数或频率的阈值,将低于该阈值的词语认定为只在极少数文本中出现的低频词,为提高后续处理过程的效率,将这些低频词删去。将剩下的词语整合,构造文本的词汇表。通过该表,既可以查询到某一词语在表中的下标,又可以通过下标查找到对应的词语;
s13:获取数字形式的文本表示
基于步骤s12中形成的词汇表,将文本序列从词语序列转化为对应的下标序列,完成文本从字符形式向数字形式的转化;
其中包括如下几个更详细的步骤:
a、大小写转化:对于英语来说,组成词语的字符是区分大小写的。大小写字符在词语中的存在会影响模型的表现,原因是字符的大小写并不改变其组成的词语的含义,且大写字符在文本中的出现频率相对小写字符要少得多,所以在预训练的词向量中,所有词语均为小写形式。基于以上原因,将文本序列中的词语全部转换为小写形式。当然,对于中文来说,并不存在上述问题,也就没有大小写转换之说了。
b、文本数字化:对照s1.2中形成的字典,将文本中所有词语转化成其在词汇表中对应的下标,使文本由字符形式转化为数字形式。对于词汇表中不存在的词语,可设定某一特定下标(例如0)统一代替。
c、统一文本长度:为了批量处理文本数据,提高模型处理文本效率,需要统一文本长度。如果文本中词语的数目超过了设定的阈值,则进行裁剪,舍弃超出数目的部分词语;如果文本中词语的数目达不到设定的阈值,则用下标0填充文本至词语数目达到阈值。
s2:建立模型的编码器网络:如图3所示,将预处理后的文本数据输入模型编码器部分的神经网络,依次经过嵌入层、多重自我注意力层、前馈层,提取并输出每个词语基于多重自我注意力机制的向量表示,编码器网络可以包含多个重复的编码器模块,每个模块均包含上述层次结构,用于处理更加复杂的情感分类任务;
步骤s2建立模型的编码器网络,具体包括以下子步骤:
s21:嵌入层
如图4所示,以预处理后的文本序列作为输入,将序列的每个下标转化成对应的唯一向量化表示。该向量以预训练的词向量为基础,并将单词的次序信息、词性信息、情感信息一并编码进了该向量中,除了预训练的词向量外,其他信息的编码细节如下:
a、词性信息。通过自然语言处理相关的库,可以对词语在语句中的词性进行识别。根据某一语言的词性种类,可将其按one-hot格式进行编码,然后与词向量进行连接。
b、情感信息。通过自然语言处理相关的库或情感词典,可以获取词语的情感极性指数,按照其为正数、0或负数三种类别,以one-hot格式进行编码,然后与词向量进行连接。
c、次序信息。采用静态方法对词语在句子中的位置进行编码,得到位置向量,然后将连接了词性信息和情感信息的词向量与位置向量相加,就得到词语在编码了多重特征之后的向量表示。
s22:多重自我注意力层
以步骤s21输出的词向量作为输入,通过多重的自我注意力机制为词语提供多个向量表示,此外,该层还包含了残差结构(输入通过残差线路与输出相加)并对输出进行了归一化。
多重的自我注意力机制可解释为如下几个更详细的步骤:
a、词向量通过与查询矩阵、键矩阵和值矩阵(三个矩阵均为可训练参数)相乘得到词语在自我注意力机制中的查询项、键项和值项;
b、利用上一步产生的某一词语的查询项与序列所有词语的键项相乘,可以得到序列中所有词语对编码该词语的贡献度分布,然后对该分布执行softmax运算,将该分布转化为概率分布,使得序列中所有词语的贡献度之和为1。
c、将第二步生成的贡献度分布与第一部分生成的各词语的值项相乘后求和,得到某一词语基于自我注意力机制的向量表示;
d、多重的自我注意力机制即上述过程的叠加,通过多个不同的查询矩阵、键矩阵和值矩阵为词语提供多个向量表示,将这些词向量连接后通过一个全连接层重新整理信息,进而得到某一词语关联了序列中多处其他词语后的向量表示。
s23:前馈层
将步骤s22中提炼好的词向量投影到一个更高维的空间,在高维空间中可以更便捷地提取有利信息,再投影回原来的空间,完成信息的提取,该层同样包含了残差结构并对输出进行了归一化;
s3:建立模型的解码器网络:如图5所示,以编码器网络的输出作为值项和键项的输入,以文本序列的上下文向量作为查询项的唯一输入,经过解码器的多重自我注意力层和前馈层,输出文本基于自我注意力机制的向量表示,解码器网络可以包含多个重复的解码器模块,每个模块均包含上述层次结构,用于处理更加复杂的情感分类任务;
步骤s3建立模型的解码器网络,具体包括以下子步骤:
s31:获取上下文向量
以步骤s21输出的词向量序列作为输入,通过训练一个简单的双向循环神经网络来获取向量形式的文本序列的上下文信息,如图6所示,上下文向量(即两个方向上最终隐藏状态的连接)的维度与词嵌入的维度相同;
s32:多重自我注意力层
以步骤s31中的上下文向量作为查询项的唯一输入,以步骤s23提取的词向量作为键项和值项的输入,其他过程同步骤s22,得到文本为序列中多处情感重点分配了更多权重的向量表示,该层也包含了残差结构并对输出进行了归一化;
s33:前馈层
输入为步骤s32提炼好的文本向量,过程同步骤s23,同样包含了残差结构并对输出进行了归一化,若本层是模型的最后一层,则通过全连接层输出情感分类的数值分布,再对结果使用softmax运算将其转化为概率分布,概率较大者为情感分类的预测结果。
本实施例还提供一种基于transformer的多重特征中英文情感分类系统,包括:文本预处理模块、模型的编码器网络建立模块和模型的解码器网络建立模块;
在本实施例中,文本预处理模块用于对给定的文本数据进行预处理,包括划分文本、构造词典、获取数字形式的文本表示;
在本实施例中,模型的编码器网络建立模块用于将预处理后的文本数据输入模型编码器部分的神经网络,依次经过嵌入层、多重自我注意力层、前馈层,提取并输出每个词语基于多重自我注意力机制的向量表示;
在本实施例中,模型的解码器网络建立模块用于以编码器网络的输出作为值项和键项的输入,以文本序列的上下文向量作为查询项的唯一输入,经过解码器的多重自我注意力层和前馈层,输出文本基于自我注意力机制的向量表示。
本实施例以transformer模型作为初始架构,针对文本情感分类任务的特性对模型做了较大的改进,可以对评论、博客、推文等一般文本进行高效的情感分类。该模型:1、对模型编码器(encoder)部分原来的特征输入进行修改,融入了词语词性、词语初始情感倾向等信息;2、调整了模型解码器(decoder)的结构,删去其原适用于机器翻译的带掩码的多重自我注意力层(multi-headattention);3、以上下文向量作为模型解码器的多重自我注意力层的查询项输入,使得模型能够为体现文本情感的部分分配更多的权重;以当前最先进的模型为基础架构,丰富了模型的特征输入中包含的信息,针对性改进了模型结构,挖掘模型在其原先应用领域(机器翻译)之外的领域(情感分析)的潜能,并得到了很好的效果。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。