一种用于目标情感分类的多跳注意力深度模型、方法、存储介质和终端与流程

文档序号:18319294发布日期:2019-08-03 10:18阅读:320来源:国知局
一种用于目标情感分类的多跳注意力深度模型、方法、存储介质和终端与流程

本发明涉及一种用于目标情感分类的多跳注意力深度模型、方法、存储介质和终端。



背景技术:

随着互联网和移动通讯技术的飞速发展,社交网络和电子商务平台已变成庞大的公共信息集散地,利用其中海量的数据对人们的情感和观点进行分析有着重要的科研价值和社会价值。情感分析或观点挖掘是人们对产品、服务、组织、个人、问题、事件、话题及其属性的观点、情感、情绪、评价和态度的计算研究。如何利用自然语言处理(nlp)技术对主观意见文本进行情感分析正被越来越多的研究人员关注。作为情感分析的子任务,面向目标的细粒度情感分析可以针对特定对象有效发掘上下文中的深层情感特征,已经成为该领域研究的热点问题。

近年来,深度学习作为人工智能领域发展最快的研究方向,在自然言语处理领域也取得了巨大的成功,并广泛应用于各个nlp任务当中。相对于传统的机器学习算法,深度学习不依赖人工构建特征,具有特征的自学习能力,非常适合语言文本的抽象、高维、复杂等特点,对机器翻译、文本摘要、智能问答、词性标注等系统性能改善显著。同时,也有许多研究人员运用卷积神经网络(cnn)和长短记忆网络(lstm)等深度学习模型解决文本情感极性分类问题,并取得了很好的效果。

注意力机制(attentionmechanism)最早由图像识别领域提出,可以让模型有效关注局部特定信息,挖掘更深的特征信息。随后,在自然语言处理领域,注意力机制被验证依然有效。文献首先将注意力机制与循环神经网络结合,在编码-解码模型上计算输入序列与输出序列的对齐概率矩阵,有效解决机器翻译问题。现有技术将类似的attention方法运用于ltsm网络(longshort-termmemorynetworks),提升词对关系分类精度。而另外的现有技术提出在卷积神经网络中使用注意力机制的有效方法,以完成机器阅读理解任务。

情感分类是目标相关(aspect-level)的问题,当训练集和测试集针对不同的目标时,基于监督学习的分类方法通常会表现出较差的效果。因此,面向目标的细粒度情感分类研究显得更具有实际意义,而目标可以是上下文中具体的词汇(target),也可以是文本描述的抽象对象或所属领域。目前,很多研究人员将注意力机制应用于目标情感分类领域,取得了很好的效果。现有技术在lstm网络中将目标内容与序列相应中间状态进行拼接,并计算注意力加权输出,有效解决了上下文对不同目标的情感极性问题。另外的现有技术借鉴深度记忆网络,提出多跳注意力模型,计算基于内容和位置的注意力值,用于充分挖掘上下文针对特定目标的情感特征信息。另外的现有技术将注意力机制运用在区域卷积神经网络和lstm相结合的模型中,既保留输入序列的时序依赖又提高了训练效率。另外的现有技术将多种注意力机制同时与卷积神经网络相结合,综合词向量、词性和位置信息对目标情感分析效果进行改善。

然而现有技术均是基于一维特征注意力,一维特征由于只能表征单个词语信息,使得整个模型在处理数据时会丢失词组这样的上下文语义信息,使得分类特性下降;而多维组合特征利用的更丰富的语义表达,可以挖掘更抽象的高层信息表示。因此提供一种提出一种结合多跳注意力机制和卷积神经网的深度模型、方法,不依赖句法分析、语法分析和情感词典等先验知识,并利用多维组合特征弥补一维特征注意力机制的不足,是本领域亟待解决的问题。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种用于目标情感分类的多跳注意力深度模型、方法、存储介质和终端,解决现有技术采用一维特征注意力机制只能表征单个词语信息,使得整个模型在处理数据时会丢失词组这样的上下文语义信息,使得分类特性下降的问题。

本发明的目的是通过以下技术方案来实现的:

本发明的第一方面,提供一种用于目标情感分类的多跳注意力深度模型,输入包括词向量矩阵matrx1和目标词向量aspect,词向量矩阵matrx1表示为v={v1,v2,v3,...,vn};所述模型包括:

第一卷积操作模块:用于对词向量矩阵matrix1进行一维卷积操作,生成相邻词汇组合特征向量矩阵matrix3;

第一注意力计算模块:用于计算词向量矩阵matrix1针对目标词向量aspect的注意力权值向量,注意力权值向量表示为α={α1,α2,α3,...,αn};

词向量加权模块:用于将词向量矩阵matrix1与得到的注意力权值向量执行操作,得到注意力加权词向量矩阵matrix2;其中,操作的定义为:

第二卷积操作模块:用于对注意力加权词向量矩阵matrix2进行一维卷积操作,生成加权相邻词汇组合特征向量矩阵matrix4;

多个顺次连接的注意力计算层hop,每个注意力计算层hop的结构相同,均包括:

注意力计算单元:用于计算相邻词汇组合特征向量矩阵matrix3针对目标词向量aspect的注意力权值向量,或者计算相邻词汇组合特征向量矩阵matrix3针对上一个注意力计算层hop输出的新目标词向量aspect’的注意力权值向量;其中第一个注意力计算层hop1针对目标词向量aspect的注意力权值向量,其余注意力计算层hopm针对上一个注意力计算层hopm-1输出的新目标词向量aspect’;

注意力加权单元:用于将相邻词汇组合特征向量矩阵matrix3与注意力计算单元得到的注意力权值向量进行⊙操作,得到注意力加权和向量;其中⊙操作的定义为:

新目标词向量生成单元:用于将注意力加权单元得到的注意力权值向量与目标词向量aspect执行操作,或者将注意力加权单元得到的注意力权值向量与上一个注意力计算层hop输出的新目标词向量aspect’的注意力权值向量执行操作;其中,操作的定义为:其中第一个注意力计算层hop1针对目标词向量aspect,其余注意力计算层hopm针对上一个注意力计算层hopm-1输出的新目标词向量aspect’;

所述模型还包括:

第二注意力计算模块:用于计算加权相邻词汇组合特征向量矩阵matrix4针对最后一层注意力计算层hop输出的新目标词向量aspect’的注意力权值向量;

注意力加权模块:用于将加权相邻词汇组合特征向量矩阵matrix4与第二注意力计算模块得到的注意力权值向量执行⊙操作,得到注意力加权和向量;

全连接层:用于将注意力加权模块输出的注意力加权和向量作为输入文本的最终向量表示,通过所述全连接层后得到情感分类预测结果。

进一步地,任意一个计算词向量矩阵针对目标词向量的注意力权值向量或特征向量矩阵针对目标词向量的注意力权值向量的计算方式为:

式中,w为目标词向量,v为词向量矩阵或者特征向量矩阵,u为权值矩阵,b为偏置向量;

之后使用softmax函数对所有输入的相关性得分进行归一化处理,将原始计算分值转换为所有元素权重之和为1的概率分布:

式中,exp:e为底的指数函数。

进一步地,所述的模型还包括:

预处理模块,用于将输入文本中的词汇采用word2vec或glove算法进行预训练转换为词向量,然后按照词序将词向量组成一个二维矩阵即词向量矩阵matrx1。

进一步地,所述的卷积操作模块的一维卷积操作包括:

使用多个过滤器k在词向量矩阵的整个行上滑动,最后在滑动窗口内生成代表相邻多元词汇组合的特征向量即相邻词汇组合特征向量矩阵,公式为:

fm=f(w·x+b)

式中,w为过滤器权重矩阵,x为过滤器窗口内输入的词向量矩阵,b为偏置,f为过滤器激活函数。

本发明的第二方面,提供一种采用多跳注意力深度模型的目标情感分类方法,所述模型的输入包括词向量矩阵matrx1和目标词向量aspect,词向量矩阵matrx1表示为v={v1,v2,v3,...,vn};所述方法包括以下步骤:

s11:计算词向量矩阵matrix1针对目标词向量aspect的注意力权值向量,注意力权值向量表示为α={α1,α2,α3,...,αn};

s12:将词向量矩阵matrix1与得到的注意力权值向量执行操作,得到注意力加权词向量矩阵matrix2;其中,操作的定义为:

s13:对注意力加权词向量矩阵matrix2进行一维卷积操作,生成加权相邻词汇组合特征向量矩阵matrix4;

s21:对词向量矩阵matrix1进行一维卷积操作,生成相邻词汇组合特征向量矩阵matrix3;

s22:多次注意力计算hop,每次注意力计算的方式相同,均包括:

s221:计算相邻词汇组合特征向量矩阵matrix3针对目标词向量aspect的注意力权值向量,或者计算相邻词汇组合特征向量矩阵matrix3针对上一次注意力计算输出的新目标词向量aspect’的注意力权值向量;其中第一次注意力计算针对目标词向量aspect的注意力权值向量,其余次注意力计算hopm针对上一次注意力计算hopm-1输出的新目标词向量aspect’;

s222:将相邻词汇组合特征向量矩阵matrix3与步骤s221得到的注意力权值向量进行⊙操作,得到注意力加权和向量;其中⊙操作的定义为:

s223:将步骤s222得到的注意力权值向量与目标词向量aspect执行操作,或者将步骤s02得到的注意力权值向量与上一次注意力计算hopm-1输出的新目标词向量aspect’的注意力权值向量执行操作;其中,操作的定义为:其中第一次注意力计算hop1针对目标词向量aspect,其余注意力计算hopm针对上一次注意力计算hopm-1输出的新目标词向量aspect’;

所述方法还包括:

s31:计算加权相邻词汇组合特征向量矩阵matrix4针对最后一次注意力计算hop输出的新目标词向量aspect’的注意力权值向量;

s32:将加权相邻词汇组合特征向量矩阵matrix4与步骤s31得到的注意力权值向量执行⊙操作,得到注意力加权和向量;

s33:将步骤32的注意力加权和向量作为输入文本的最终向量表示,通过所述全连接层后得到情感分类预测结果。

进一步地,任意一个计算词向量矩阵针对目标词向量的注意力权值向量或特征向量矩阵针对目标词向量的注意力权值向量的计算方式为:

式中,w为目标词向量,v为词向量矩阵或者特征向量矩阵,u为权值矩阵,b为偏置向量;

之后使用softmax函数对所有输入的相关性得分进行归一化处理,将原始计算分值转换为所有元素权重之和为1的概率分布:

式中,exp:e为底的指数函数。

进一步地,所述的方法还包括:

将输入文本中的词汇采用word2vec或glove算法进行预训练转换为词向量,然后按照词序将词向量组成一个二维矩阵即词向量矩阵matrx1。

进一步地,所述的一维卷积操作包括:

使用多个过滤器k在词向量矩阵的整个行上滑动,最后在滑动窗口内生成代表相邻多元词汇组合的特征向量即相邻词汇组合特征向量矩阵,公式为:

fm=f(w·x+b)

式中,w为过滤器权重矩阵,x为过滤器窗口内输入的词向量矩阵,b为偏置,f为过滤器激活函数。

本发明的第三方面,提供一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行所述的一种采用多跳注意力深度模型的目标情感分类方法的步骤。

本发明的第四方面,提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行所述的一种采用多跳注意力深度模型的目标情感分类方法的步骤。

本发明的有益效果是:

本发明针对面向领域的细粒度情感分类问题,提出一种结合卷积神经网络和记忆网络的多跳注意力深度模型。该模型能够利用中文语境中相邻词汇语义表达的特点,并通过多维组合特征对一维特征注意力机制进行补充。同时,多计算层叠加的架构也使得模型能够获取更深层次的目标情感特征信息,并有效处理长距离依赖问题。、

另外,在本发明提出的多跳注意力深度模型中,前面各跳注意力计算模块hop中使用由第一卷积操作模块产生的二维词汇组合特征(matrix3),并将其注意力权值信息不断向下层传递。而在最后一跳计算之前(即在第二注意力计算模块计算之前),模型使用注意力(第一注意力计算模块)对输入的一维词汇进行加权处理(词向量加权模块),再进行卷积操作(第二卷积操作模块),生成参与最后注意力计算的加权二维词汇组合特征(matrix4)。通过上述操作,模型同时拥有了一维和二维词汇特征的注意力权值信息,使其能够充分利用注意力机制在多维特征空间中提取和学习关于目标更多的隐藏信息,以更好地预测基于不同目标的情感极性。

本发明的方法、存储介质和终端也解决了相应问题。

附图说明

图1为本发明实例性实施例的连接框图;

图2为本发明实例性实施例的注意力计算示意图;

图3为本发明实例性实施例的卷积操作示意图;

图4为本发明实例性实施例的实验过程的不同卷积窗口下的分类正确率示意图。

具体实施方式

下面结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,属于“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方向或位置关系为基于附图所述的方向或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,属于“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,属于“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

为了解决面向目标的细粒度情感分类问题,下述示例性实施例将注意力机制与卷积神经网络进行融合,提出了一种多跳注意力深度模型、方法。下述示例性实施例将对该模型、方法的实现思路及细节进行描述,包括模型、方法的概况、多维组合注意力设计和多跳注意力结构。

该模型由多个计算层组成,以获取更深层次的目标情感特征信息。每一层都包含一个基于目标内容的注意力模型,用以学习上下文中相邻词汇组合的特征权重,并在最后一层计算连续文本表示,作为情感分类的最终特征。

为便于处理,非结构化的文本首先被转换成结构化的数值向量。一个包含n个词的句子可以转换为s={v1,v2,v3,v4,…,vn},其中vi∈rm,是第i个词的m维向量表示;s∈rn*m代表句子的输入词向量矩阵。而句子面向目标的情感极性可以表示为下式,其中w∈rm,是极性针对目标的m维向量表示。

polarity=fpolar(s,w)

参见图1,图1是本申请一示例性实施例示出的一种用于目标情感分类的多跳注意力深度模型的框图,模型中包含了多个卷积操作模块和多个注意力计算层次,以便针对不同目标从输入文本序列中更好地学习深层特征信息。

假设v={v1,v2,v3,...,vn},表示词向量矩阵;α={α1,α2,α3,...,αn},表示注意力权值向量,则三种计算操作定义如下:

模型的输入包括词向量矩阵matrx1和目标词向量aspect,词向量矩阵matrx1表示为v={v1,v2,v3,...,vn}。

下述示例性实施例对模型中涉及的三个计算操作进行说明,然后自上而下对模型就行描述。具体地,所述模型包括:

(1)在最顶层,对输入词向量矩阵进行预处理,包括两个卷积操作模块。

一方面,模型包括第一卷积操作模块:用于对词向量矩阵matrix1进行一维卷积操作,生成相邻词汇组合特征向量矩阵matrix3。

另一方面,模型包括第一注意力计算模块,用于计算词向量矩阵matrix1针对目标词向量aspect的注意力权值向量,注意力权值向量表示为α={α1,α2,α3,...,αn};

并通过词向量加权模块:将词向量矩阵matrix1与得到的注意力权值向量执行操作,得到注意力加权词向量矩阵matrix2;其中,操作的定义为:

最后通过第二卷积操作模块:对注意力加权词向量矩阵matrix2进行一维卷积操作,生成加权相邻词汇组合特征向量矩阵matrix4。

(2)模型往下,包括多跳注意力计算层hop,具体地:

多个顺次连接的注意力计算层hop,每个注意力计算层hop的结构相同,均包括:

注意力计算单元:用于计算相邻词汇组合特征向量矩阵matrix3针对目标词向量aspect的注意力权值向量,或者计算相邻词汇组合特征向量矩阵matrix3针对上一个注意力计算层hop输出的新目标词向量aspect’的注意力权值向量;其中第一个注意力计算层hop1针对目标词向量aspect的注意力权值向量,其余注意力计算层hopm针对上一个注意力计算层hopm-1输出的新目标词向量aspect’;

注意力加权单元:用于将相邻词汇组合特征向量矩阵matrix3与注意力计算单元得到的注意力权值向量进行⊙操作,得到注意力加权和向量;其中⊙操作的定义为:

新目标词向量生成单元:用于将注意力加权单元得到的注意力权值向量与目标词向量aspect执行操作,或者将注意力加权单元得到的注意力权值向量与上一个注意力计算层hop输出的新目标词向量aspect’的注意力权值向量执行操作;其中,操作的定义为:其中第一个注意力计算层hop1针对目标词向量aspect,其余注意力计算层hopm针对上一个注意力计算层hopm-1输出的新目标词向量aspect’。

具体地,在第一个注意力计算层hop,计算matrix3针对目标向量的注意力权值向量,并将matrix3与得到的权值向量进行⊙操作,得到一个注意力加权和向量,随后将其与aspect进行操作,生成的新目标向量。注意力计算层可以不断堆叠,重复上述计算步骤,但用于注意力权值计算的目标向量不再是原始目标词向量(aspect),而是由上一个计算层提供。

本示例性实施例,只示出了存在两个注意力计算层hop的情况,如图1所示,更多注意力计算层hop的情况如上述内容推断可知。

(3)在模型的最后一个计算层,包括:

第二注意力计算模块:用于计算加权相邻词汇组合特征向量矩阵matrix4针对最后一层注意力计算层hop输出的新目标词向量aspect’的注意力权值向量;

注意力加权模块:用于将加权相邻词汇组合特征向量矩阵matrix4与第二注意力计算模块得到的注意力权值向量执行⊙操作,得到注意力加权和向量;

全连接层:用于将注意力加权模块输出的注意力加权和向量作为输入文本的最终向量表示,通过所述全连接层后得到情感分类预测结果。

特征的设计和使用在机器学习中起着非常重要的作用,但是简单依靠增加特征的数目,并不能有效突破模型的极限预测性能。在自然语言处理任务中,通常使用由语料产生的词库作为模型输入,然而这种浅层的直观特征对于隐含关系的表达并不充分。适当的引入词组,将模型输入从浅层特征转换为深层特征,便拥有了更多的语义信息,以挖掘上下文更多的深层交互特性。

中文语境中,单个词汇往往具有一定的歧义,例如形容词在修饰不同的名词时往往体现不同的情感倾向,此时将相邻词汇组合形成的语义特征,才能表达明确的情感极性。而卷积神经网络可以使用卷积核对文本中的多个相邻的词汇进行卷积操作,产生词组语义特征,并且保留了原始输入词汇之间的局部词序信息。

而本示例性实施例的注意力机制的目的是让模型在训练过程中学习输入数据的重要性,并高度关注那些更重要的信息。

在本示例性实施例提出的多跳注意力深度模型中,前面各跳注意力计算模块hop中使用由第一卷积操作模块产生的二维词汇组合特征(matrix3),并将其注意力权值信息不断向下层传递。而在最后一跳计算之前(即在第二注意力计算模块计算之前),模型使用注意力(第一注意力计算模块)对输入的一维词汇进行加权处理(词向量加权模块),再进行卷积操作(第二卷积操作模块),生成参与最后注意力计算的加权二维词汇组合特征(matrix4)。通过上述操作,模型同时拥有了一维和二维词汇特征的注意力权值信息,使其能够充分利用注意力机制在多维特征空间中提取和学习关于目标更多的隐藏信息,以更好地预测基于不同目标的情感极性。

其中,上述多维特征指的是:模型的原始输入是一组单个特征,将相邻的特征通过计算两两组合形成新的二维词组特征与之前单个特征一起使用,称为多维组合特征。由于深度学习模型的特性可以传递,也就是说,对于原始输入进行加权后,无论之后怎么变化,之前的信息都是会存在的,因为模型通过后向梯度传播进行参数学习,也就是说,卷积产生的特征,带有原始词的加权信息。

另外,在本实施例的深度模型中,单个计算层的注意力机制本质上是一个加权合成函数,用以对有用的上下文信息进行计算,然后将函数输出往下一层传递,并在下一跳注意力计算时参考上层注意历史,即考虑之前哪些词汇被注意。通过多跳注意力计算使得深度网络能够学习多个抽象层次的文本表示,其中每层检索上下文中的重要词汇,并将前一层的表示输出向更高、更抽象的级别转换。针对特定目标,通过足够跳数的注意力堆叠转换,可以使模型学习得到的句子表示蕴含更加复杂、抽象的非线性特征。

其中,每一跳hop的模型结构完全相同,但是每一跳hop中的参数会自动学习,因此其内部参数是不一样的,没有使用权值参数共享的模式。

对长距离词汇之间的转移关系进行建模,并描述它们的依赖,一直是影响系统性能的关键。目前,采用递归神经网络模型是解决长距离依赖的有效手段。本实施例的多跳注意力模型是一种采用递归架构的深度记忆神经网络,不同于lstm和gru网络,其存储单元已经从标量存储扩展为向量存储。模型在每一跳注意力计算时都要对外部存储单元进行访问,输出前外部存储器将被多次读取,这样在模型的多个计算层中,所有的输入元素借由注意力的递归计算过程充分交互。与链式结构递归网络相比,结合外部存储单元的多跳注意力模型可以采用端到端训练,在更短路径上捕获远程依赖。

更优地,在本实施例中,注意力机制的计算的方式通过:nlp任务中注意力机制的计算过程如图2所示,首先针对具体的任务目标(w),通过相关函数fatt计算每个输入(v)的相关性;然后对原始分值进行归一化处理,得到权重系数;最后根据权重系数对输入进行加权求和,得到最终注意力值。

其中,对于输入与目标的相关性计算可以引入不同的函数和机制,方法包括:求两者的向量点积、通过将两者向量拼接再引入额外的神经网络来求值或求两者向量的余弦相似度,如下述所示。本示例性实施例采用拼接的方式,使得模型拥有更多的训练参数,以挖掘更多深层次特征信息。此处拼接的定义,就是指将两个向量,首尾相接拼成一个维度更多的向量。

任意一个计算词向量矩阵针对目标词向量的注意力权值向量或特征向量矩阵针对目标词向量的注意力权值向量的计算方式为:

式中,w为目标词向量,v为词向量矩阵或者特征向量矩阵,u为权值矩阵,b为偏置向量;权值矩阵u是神经网络的按照一定的规则初始化的参数,具有随机性,不需要人为控制,神经网络的训练实际就是对权值矩阵进行不断更新;

为了提取更深层次从的特征信息,之后使用softmax函数对所有输入的相关性得分进行归一化处理,将原始计算分值转换为所有元素权重之和为1的概率分布:

式中,exp:e为底的指数函数。另外也可以使重要元素的权重更加突出。

更优地,在本实施例中,所述的模型还包括:

预处理模块,用于将输入文本中的词汇采用word2vec或glove算法进行预训练转换为词向量,然后按照词序将词向量组成一个二维矩阵即词向量矩阵matrx1。

更优地,在本实施例中,所述的卷积操作模块的一维卷积操作包括:

使用多个过滤器k在词向量矩阵的整个行上滑动,最后在滑动窗口内生成代表相邻多元词汇组合的特征向量即相邻词汇组合特征向量矩阵,公式为:

fm=f(w·x+b)

式中,w为过滤器权重矩阵,x为过滤器窗口内输入的词向量矩阵,b为偏置,f为过滤器激活函数。

图3展示了一个卷积操作的过程。其中输入词向量矩阵中包含6个词汇(v),使用n个过滤器(k),卷积窗口为2,滑步为1。

下述内容将对上述示例性实施例进行实验分析。

目前,用于情感分析的中文标注语料并不丰富,且大多存在样本数量不足、涵盖领域有限等问题。由于本例性实施例提出的模型主要用于解决针对领域的中文文本情感计算,因此为了能够有效完成模型的训练和测试,本实施例采用一个包含六类领域数据的公开中文数据集(https://spaces.ac.cn/usr/uploads/2015/08/646864264.zip)进行实验。该语料文本涉及的六个领域分别是书籍、酒店、电脑、牛奶、手机和热水器,每类领域数据均由用户评论组成,数据样本按照情感极性分为正面和负面两大类。实验数据统计如表1所示。最后,每类领域数据按照情感极性,被随机分成数量相同的两部分,一半作为训练数据对模型进行训练,另一半作为测试数据用于模型性能评测。

表1实验数据统计

本实施例采用结巴分词工具对中文数据集进行分词处理,利用keras深度学习框架完成mha-cnn模型(multi-hopattentionconvolutionneuralnetwork,mha-cnn,多跳注意力机制和卷积神经网络的深度模型)开发,并以tensorflow作为运行后端。卷积层选择relu函数作为激活函数,设置滑动步长为1。其他超参数设置如表2所示。

表2模型超参设置

为验证本实施例提出模型的有效性,引入6种典型模型与mha-cnn进行对比,包括一些性能基线方法和最新的研究成果。将7种模型在选定的多领域公开数据集上进行实验,并根据数据集的实际情况对各模型参数进行全面优化,以获得最优分类精度,最终的实验结果如表3所示:

1)cnn:最基础的卷积神经网络模型,使用分词后得到的特征作为网络模型的输入,没有注意力机制,无法针对特定目标对模型进行优化;

2)lstm:最基础的lstm网络模型,该模型可以保留输入特征的词序关系,并能一定程度上解决语句长依赖关系问题,被广泛用于nlp任务。没有注意力机制,无法针对特定目标对模型进行优化;

3)svm:传统的机器学习方法,对人工特征工程依赖较强,在很多任务中展现比一般深度学习方法更好的性能,常被用于性能评价基线。

4)abcnn:针对句子对建模任务,将注意力机制与卷积神经网络相结合,并取得了比以往研究更好的性能。该模型将注意力机制作用在卷积层,可以使模型在训练过程中关注特定目标的权重信息,分析细粒度情感极性;

5)atae-lstm:该模型将注意力机制与lstm网络相结合,首先用目标向量与输入特征进行拼接,然后计算隐层状态序列的注意力权重信息,加权合成后输出,能够很好的提升传统lstm网络的细粒度情感分类性能;

6)memnet:该模型将注意力机制与深度记忆网络相结合,并且通过多计算层叠加的方式,稳定提高模型的分类精度,在评测中比lstm架构的注意力模型性能更优,且训练时间开销大大减少。

表3各模型在数据集上的分类正确率

从表3中实验结果可以看出,cnn模型的分类精度为0.9136,lstm模型的分类精度为0.9083,svm模型的分类精度为0.9147,三种传统方法取得最低分值,其中基于特征的svm模型分类结果好于普通深度模型。而加入注意力机制以后,abcnn模型的分类精度为0.9162,atae-lstm模型的分类精度为0.9173,都比传统模型有了明显的性能提升。可见注意力机制的引入,的确可以使得模型在训练的过程中针对特定的目标领域信息进行优化,高度关注目标并挖掘更多的隐藏情感特征信息,这也说明了注意力机制在针对目标的细粒度情感分类任务中的有效作用。

memnet模型只是在每个计算层将简单的神经网络与注意力机制结合,而分类精度为0.9168,与abcnn和atae-lstm性能相当,验证了多层叠加的深度结构对于挖掘隐藏特征和优化分类性能的有效性。最后本实施例提出的mha-cnn模型性能最优,分类精度为0.9222,与memnet模型一样采用了多跳注意力计算结构,但是模型利用卷积层获得多维组合特征信息输入,使得模型性能得到优化。相对于abcnn和atae-lstm模型,mha-cnn模型取得更好的分类效果,证明多跳记忆网络结合注意力机制能够更好的针对任务目标挖掘更深的隐藏情感信息,并能有效处理长距离依赖问题。

为验证之前对于相邻词汇语义表达重要性的假设,同时考察多跳注意力结构对模型性能的影响,本示例性实施例在选定的公开数据集上选取多种卷积窗口和不同注意力计算跳数进行实验,结果如图4所示,win表示卷积窗口。

从图4中可以发现,无论选取何种卷积窗口,随着注意力计算跳数的增加,模型在选定数据集上的分类精度也在不断提高。其中当卷积窗口设置为1时,3跳注意力计算层使模型性能最优;当卷积窗口设置为2和3时,4跳注意力计算层使模型性能最优;当卷积窗口设置为4时,5跳注意力计算层使模型性能最优。由此可见,多跳结构对于模型的性能有至关重要的影响。由于各跳中注意力计算模块完全相同,也使模型可以很容易通过叠加注意力计算层进行扩展,通过可伸缩的方式集成到端到端神经网络模型中。除此之外,随着跳数的不断增加,模型的参数规模会呈爆炸式增长,也会给模型带来过拟合风险,导致性能下降。

特征表达语义的能力直接影响任务模型的性能,本实施例通过设置不同的卷积滑动窗口来构造多维组合特,并结合注意力机制进行实验。图4结果表明,当设置滑动窗口为1时,其最高分类准确率为0.9205;当设置滑动窗口为2时,取得最好的分类准确率0.9222;当设置滑动窗口为3时,最高分类准确率为0.9213。可见实验中由相邻的2个或3个词汇卷积而成的词组特征比单个词汇具有更好的语义表达能力。最后当设置滑动窗口为4时,模型分类精度下降为0.9201,证明中文语境中将过多的相邻词汇组合会带来语义模糊的风险。另外,卷积滑动窗口大小的最优选取应当根据具体的应用场景灵活处理。

整个模型可以进行有效的端到端训练,相对基于注意力机制的lstm网络,该模型具有更小的训练时间开销,并能保留特征的局部词序信息。最后在一个网络公开中文数据集(包含六类领域数据)上进行实验。结果表明,该模型比普通深度网络模型、基于注意力机制的lstm模型以及基于注意力机制的深度记忆网络模型具有更好的分类效果,并且多计算层的叠加,可以有效改善分类性能。

本示例性实施例针对面向领域的细粒度情感分类问题,提出一种结合卷积神经网络和记忆网络的多跳注意力深度模型。该模型能够利用中文语境中相邻词汇语义表达的特点,并通过多维组合特征对一维特征注意力机制进行补充。同时,多计算层叠加的架构也使得模型能够获取更深层次的目标情感特征信息,并有效处理长距离依赖问题。最后在一个包含六类领域数据的网络公开中文数据集上进行对比实验,结果验证了本实施例提出模型的有效性。该模型不仅比普通深度网络模型和基于注意力机制的深度模型具有更好的分类性能,相较于lstm架构的深度网络模型在训练时间开销上优势明显。

本发明的又一示例性实施例提供一种采用多跳注意力深度模型的目标情感分类方法,其中部分与上述实施例中类似的部分在此不进行赘述,所述模型的输入包括词向量矩阵matrx1和目标词向量aspect,词向量矩阵matrx1表示为v={v1,v2,v3,...,vn};所述方法包括以下步骤:

s11:计算词向量矩阵matrix1针对目标词向量aspect的注意力权值向量,注意力权值向量表示为α={α1,α2,α3,...,αn};

s12:将词向量矩阵matrix1与得到的注意力权值向量执行操作,得到注意力加权词向量矩阵matrix2;其中,操作的定义为:

s13:对注意力加权词向量矩阵matrix2进行一维卷积操作,生成加权相邻词汇组合特征向量矩阵matrix4;

s21:对词向量矩阵matrix1进行一维卷积操作,生成相邻词汇组合特征向量矩阵matrix3;

s22:多次注意力计算hop,每次注意力计算的方式相同,均包括:

s221:计算相邻词汇组合特征向量矩阵matrix3针对目标词向量aspect的注意力权值向量,或者计算相邻词汇组合特征向量矩阵matrix3针对上一次注意力计算输出的新目标词向量aspect’的注意力权值向量;其中第一次注意力计算针对目标词向量aspect的注意力权值向量,其余次注意力计算hopm针对上一次注意力计算hopm-1输出的新目标词向量aspect’;

s222:将相邻词汇组合特征向量矩阵matrix3与步骤s221得到的注意力权值向量进行⊙操作,得到注意力加权和向量;其中⊙操作的定义为:

s223:将步骤s222得到的注意力权值向量与目标词向量aspect执行操作,或者将步骤s02得到的注意力权值向量与上一次注意力计算hopm-1输出的新目标词向量aspect’的注意力权值向量执行操作;其中,操作的定义为:其中第一次注意力计算hop1针对目标词向量aspect,其余注意力计算hopm针对上一次注意力计算hopm-1输出的新目标词向量aspect’;

所述方法还包括:

s31:计算加权相邻词汇组合特征向量矩阵matrix4针对最后一次注意力计算hop输出的新目标词向量aspect’的注意力权值向量;

s32:将加权相邻词汇组合特征向量矩阵matrix4与步骤s31得到的注意力权值向量执行⊙操作,得到注意力加权和向量;

s33:将步骤32的注意力加权和向量作为输入文本的最终向量表示,通过所述全连接层后得到情感分类预测结果。

更优地,在本实施例中,任意一个计算词向量矩阵针对目标词向量的注意力权值向量或特征向量矩阵针对目标词向量的注意力权值向量的计算方式为:

式中,w为目标词向量,v为词向量矩阵或者特征向量矩阵,u为权值矩阵,b为偏置向量;

之后使用softmax函数对所有输入的相关性得分进行归一化处理,将原始计算分值转换为所有元素权重之和为1的概率分布:

式中,exp:e为底的指数函数。

更优地,在本实施例中,所述的方法还包括:

将输入文本中的词汇采用word2vec或glove算法进行预训练转换为词向量,然后按照词序将词向量组成一个二维矩阵即词向量矩阵matrx1。

更优地,在本实施例中,所述的一维卷积操作包括:

使用多个过滤器k在词向量矩阵的整个行上滑动,最后在滑动窗口内生成代表相邻多元词汇组合的特征向量即相邻词汇组合特征向量矩阵,公式为:

fm=f(w·x+b)

式中,w为过滤器权重矩阵,x为过滤器窗口内输入的词向量矩阵,b为偏置,f为过滤器激活函数。

本申请的又一示例性实施例提供一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行所述的一种采用多跳注意力深度模型的目标情感分类方法的步骤。

本申请的又一示例性实施例提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行所述的一种采用多跳注意力深度模型的目标情感分类方法的步骤。

基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得ap执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

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