一种基于交互式图卷积网络的方面级情感分析方法

文档序号:35422162发布日期:2023-09-13 09:40阅读:55来源:国知局
一种基于交互式图卷积网络的方面级情感分析方法

本发明涉及方面级情感分析,尤其涉及一种基于交互式图卷积网络的方面级情感分析方法。


背景技术:

1、自然语言处理是一门融语言学、计算机科学、数学于一体的科学,而方面级情感分析(absa)是自然语言处理中的一个重要的方面,这项任务的目标是确定句子中给定方面的情绪极性(例如积极、消极或中性),它对各种任务具有重要的意义,如商品推荐、政治立场分析、医疗文本,突发公共卫生事件等,相比于句子级情感分类,它可以进行更细粒度的情感,以句子“the food was good,but the servicewas poor”为例,其中“food”和“service”是两个方面,用户分别对它们表达了积极和消极的情绪,因此,方面级情感分析可以精确地识别用户对某个方面的态度,而不是简单地为一个句子分配一个情绪极性。

2、方面级情感分析的研究方法主要两种,分别是基于传统的分析方法和基于主流的深度学习方法,其中传统的方面级情感分析方法以机器学习为主,需要人为对样本进行大量标注,然后将带标签的数据集作为训练集,使用机器学习算法训练,这种方式使得模型的性能主要取决于特征工程的有效性,而早期基于深度学习的模型采用递归神经网络rnn,利用句法结构信息提高情感分析的准确性。

3、目前,在方面级情感分析领域,效果较好的深度学习模型有循环神经网络、卷积神经网络和注意力机制,但是这些方法都有以下显著的缺点:

4、(1)难以准确地捕捉不含明确情感词的方面,当句子中出现多个方面词或者一个方面词但是在该单词周围不包含明确情感特征时,可能会使模型难以准确的理解到该方面的情感特征,从而作出错误的判断,例如,对于句子“the service was the only thinggood aboutthis restaurant”,该句子包含两个方面“service”和“restaurant”,对于第一个方面词“service”,根据句子的意思,可以很明显的找到其情感特征词“good”,从而判断出积极的情绪,但是对于方面词”restaurant”,并没有找到明确描述它的情感词单词,这就很有可能会关注到离它距离比较近但是跟它毫无关系的单词“good”身上;

5、(2)难以捕获多词短语中最关键的单词,当一个方面词包含有多个单词时,未能准确的提取出对方面情绪影响最大的关键单词,例如,对于句子“the smaller size was abonus because of spacerestructions”,其方面词由多个单词组成,这会让模型难以捕捉到重点的单词size,反而集中在修饰词smaller上,因此很容易做出错误的负向情感的预测;

6、综上所述,现有的方面级情感分析方法难以准确地捕捉不含明确情感词的方面和多词短语中最关键的单词,因此,本发明提出一种基于交互式图卷积网络的方面级情感分析方法以解决现有技术中存在的问题。


技术实现思路

1、针对上述问题,本发明的目的在于提出一种基于交互式图卷积网络的方面级情感分析方法,解决现有的方面级情感分析方法难以准确地捕捉不含明确情感词的方面,以及难以捕获多词短语中最关键的单词的问题。

2、为了实现本发明的目的,本发明通过以下技术方案实现:一种基于交互式图卷积网络的方面级情感分析方法,包括以下步骤:

3、步骤一:先对待分析的情感分析数据集进行数据预处理,并基于一个长度为m的句子s和一个含有n个单词的方面t,来构建一个句子方面对(s,t);

4、步骤二:采用bi-lstm提取句子方面对输入句子中的每个词的上下文信息和方面信息,为上下文生成隐藏状态向量来表示hctx和hasp,分别表示为和并使用三个独立的bi-lstm分别用于特定方面模块和方面之间模块中;

5、步骤三:在特定方面模块中构建基于上下文信息的上下文图和基于句法依存树的语法图来作为邻接矩阵图,并在方面之间模块中构建基于外部知识的知识图来作为邻接矩阵图;

6、步骤四:在特定方面模块中构建一个基于特定方面的gcn,在方面之间模块中构建一个基于方面之间的gcn,然后将构建完成的两个邻接矩阵图分别输入两个gcn中,得到特定方面模块和方面之间模块的输出特征zcs和zk;

7、步骤五:使用双仿射模块来交互式的提取两个gcn输出的信息,得到zcs'和zk';

8、步骤六:使用均值池化对步骤五中的到的输出信息进行平均池化,并用基于检索的注意力机制进行检索,得到每个方面的注意力分数,获得最终的情感分类。

9、进一步改进在于:所述步骤一中,对情感分析数据集进行的数据预处理具体包括:去除数据中的数字、去除数据中的特殊符号、去除数据中的链接地址以及去除数据中的停用词。

10、进一步改进在于:所述步骤三中,特定方面模块和方面之间模块中构建的邻接矩阵图表示为:

11、g=(v,e,a)

12、其中v表示节点集合,e表示边的结合,a是g的邻接矩阵。

13、进一步改进在于:所述步骤三中,构建特定方面模块中邻接矩阵图的具体步骤为:

14、a1、在特定方面模块中,构建基于上下文的邻接矩阵图,将方面词与其他方面词、方面词与句子以及句子之间的关系结合起来,若方面词在句子s1或在句子s2中,就在相应的位置用1表示,否则用0表示;

15、a2、使用spacy工具包生成句子的语法依赖树,构建基于语法的邻接矩阵图,并在邻接矩阵中使用pmi来表示句子中各个节点之间的依赖关系,当pmi为正时,表示单词之间的语义性较高,当pmi为负时,表示单词之间的相关性较低或者不存在相关性;

16、a3、将构建出的基于上下文的邻接矩阵图和基于语法的邻接矩阵图整合到一起,得到基于上下文语法的邻接矩阵图。

17、进一步改进在于:所述步骤三中,构建方面之间模块中邻接矩阵图的具体步骤为:在方面之间模块中,引入sencenet6知识库,使用sencenet6情感词典库输出的单词的关联词,并构建出知识图作为邻接矩阵图,知识图中的节点由两种类型组成,一种是句子中的单词节点,另一种是由情感词典库得到的与单词节点相关联的知识节点。

18、进一步改进在于:所述步骤四中,将邻接矩阵图输入gcn的具体步骤为:

19、b1、由gcn的公式其输入为图的邻接矩阵a和节点的特征属性h(j),输出的是新的节点的特征属性h(j+1);

20、b2、对于特定方面模块的邻接矩阵用来表示归一化对称邻接矩阵,wcs(j)表示特定方面gcn第j层的权重矩阵,而dcs表示acs的度数矩阵,用zcs=hcs(l)表示特定方面模块的节点输出;

21、b3、对于特定方面模块的邻接矩阵用来表示归一化对称邻接矩阵,wk(j)表示跨方面模块中gcn第j层的权重矩阵,而dk表示ak的度数矩阵,用zk=hk(l)表示方面之间模块的节点输出。

22、进一步改进在于:所述步骤五中,使用双仿射模块提取输出信息的具体步骤为:

23、c1、利用双仿射模块将输出特征zcs输入到softmax函数中进行计算,计算通过zcs'=softmax(zcsw1(zk)t)zk,其中w1为可学习参数;

24、c2、利用双仿射模块将输出特征zk输入到softmax函数中进行计算,计算通过zk'=softmax(zkw2(zcs)t)zcs,其中w2为可学习参数。

25、进一步改进在于:所述步骤六中,进行均值池化和注意力机制的具体步骤为:

26、d1、对特定方面模块和方面之间模块的节点应用均值池化,分别得到和

27、d2、对得到的输出和进行连接操作得到

28、d3、使用基于检索的注意力机制从隐藏状态向量中检索与方面词有关的基本特征,并为每个上下文词分配一个基于检索的注意力权重。

29、本发明的有益效果为:本发明通过gcn从与句子有关的上下文信息、语法依赖树和常识知识等多个不同的角度出发,构建了不同的邻接矩阵异构图,并将异构图结合,从而更好的融合多方面信息,对不包含明确情感单词的方面以及含有多个单词的方面有一个巨大的优势,且本发明通过异构图将多种信息进行融合,并在构建邻接矩阵图时,不同于之间单纯用0和1表示邻接矩阵的方法,考虑到了方面词各个上下文单词节点和句子之间的依赖关系,并引入了一个外部知识库,且结合上下文语法信息,使得在对特殊情况的方面词进行判断时,有一个更好的性能,能准确地捕捉不含明确情感词的方面以及多词短语中最关键的单词,进而在整体上提高情感分析准确性。

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