一种情感分析方法、系统、存储介质及设备转让专利

申请号 : CN201910758724.5

文献号 : CN110619044B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黎海辉薛云赵洪雅古东宏

申请人 : 华南师范大学深圳职业技术学院

摘要 :

本发明涉及一种情感分析方法及系统,通过将所述上下文嵌入矩阵和目标词嵌入矩阵的隐藏层输出作为计算参数,基于注意力机制计算上下文和目标词的注意力机制系数,根据所述注意力机制系数对上下文向量和目标词向量进行加权求和,获取新的上下文向量和目标词向量。相对于现有技术,本发明利用注意力机制计算目标词和上下文之间的影响系数,区分了目标词中不同词的重要性,实现目标词情绪的精准分析。

权利要求 :

1.一种情感分析方法,其特征在于:包括以下步骤:

获取用户语料中的目标词和上下文;

将所述目标词中的词语与Glove模型预训练的目标词向量进行匹配,将所述上下文中的词语与Glove模型预训练的上下文词向量进行匹配,获取目标词嵌入矩阵和上下文词嵌入矩阵;将所述目标词嵌入矩阵和上下文词嵌入矩阵输入门控循环单元获得所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出;

将所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出作为计算参数,基于注意力机制计算上下文和目标词的注意力机制系数,根据所述注意力机制系数对上下文向量和目标词向量进行加权求和,获取新的上下文向量和目标词向量;

将所述新的上下文向量和目标词向量进行拼接,并通过分类器进行分类,得到所述目标词的情感分析结果;

所述将所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出作为计算参数,基于注意力机制计算上下文和目标词的注意力机制系数,根据所述注意力机制系数对上下文向量和目标词向量进行加权求和,获取新的上下文向量和目标词向量的步骤包括:按照以下方式获取上下文和目标词之间的注意力机制系数矩阵:其中,relu表示激活函数, 是HC的转置矩阵,HC是上下文词嵌入矩阵的隐藏层输出,W是参数矩阵,HT是目标词嵌入矩阵的隐藏层输出,H是上下文和目标词之间的注意力机制系数矩阵;

基于注意力机制系数矩阵,按照以下方式获取上下文词和目标词的注意力权重系数:RC=relu(WCHC+WTHTHT)

RT=relu(WTHT+WCHCH)

其中,WC和WT是上下文词和目标词的参数矩阵,HT为H的转置矩阵;

基于自注意力机制,按照以下方式计算上下文词和目标词的注意力机制系数:α=softmax(wCRC)

β=softmax(wTRT)

其中,α为上下文词的注意力机制系数,β为目标词的注意力机制系数,wC为上下文词的词矩阵,wT为目标词的词矩阵;

利用所述上下文词和目标词的注意力机制系数,对所述上下文向量和目标词向量进行加权求和,获得新的上下文向量和目标词向量:其中,所述rC为新的上下文向量,rT为新的目标词向量,n为上下文中的词语数,m为用户语料中目标词中包含的词语数,αi为第i个上下文词的注意力机制系数,βj为第j个目标词的注意力机制系数, 为第i个上下文词的注意力权重系数, 为第j个目标词的注意力权重系数。

2.根据权利要求1所述的情感分析方法,其特征在于:所述将所述目标词中的词语与Glove模型预训练的目标词向量进行匹配,将所述上下文中的词语与Glove模型预训练的上下文词向量进行匹配,获取目标词嵌入矩阵和上下文词嵌入矩阵;将所述目标词嵌入矩阵和上下文词嵌入矩阵输入门控循环单元获得所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出的步骤包括:将所述用户语料中的目标词和上下文输入Glove模型,获取预训练的目标词向量和上下文词向量;

将所述目标词中的词语与Glove模型预训练的目标词向量进行匹配,将所述上下文中的词语与Glove模型预训练的上下文词向量进行匹配,获取目标词嵌入矩阵和上下文词嵌入矩阵;

对目标词嵌入矩阵进行平均池化操作,按照以下方式得到目标词嵌入矩阵的均值向量:其中, 表示目标词 的词向量,t表示均值向量,m为用户语料中目标词中包含的词语数;

将上下文词嵌入矩阵中的每个元素与所述均值向量拼接,更新上下文词嵌入矩阵;

将所述目标词嵌入矩阵和上下文词嵌入矩阵分别输入门控循环单元获得所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出。

3.根据权利要求1所述的情感分析方法,其特征在于:所述将所述新的上下文向量和目标词向量进行拼接,并通过分类器进行分类,得到所述目标词的情感分析结果的步骤包括:按照以下方式将所述新的上下文向量和目标词向量进行拼接:

其中,所述rC为新的上下文向量,rT为新的目标词向量,r为拼接后的词向量;

利用softmax分类器进行分类,按照以下方式获得所述目标词的情感极性,得到所述目标词的情感分析结果:x=Wrr+br

其中,Wr为参数矩阵,br为偏置向量,C为分类总数,x为分类向量,xi为第i个分类向量,xj为第j个分类向量, yi为目标词被判定为第i类情感极性的情感分析结果。

4.一种情感分析系统,其特征在于:包括:

获取模块,用于获取用户语料中的目标词和上下文;

隐藏层输出获取模块,用于将所述目标词中的词语与Glove模型预训练的目标词向量进行匹配,将所述上下文中的词语与Glove模型预训练的上下文词向量进行匹配,获取目标词嵌入矩阵和上下文词嵌入矩阵;将所述目标词嵌入矩阵和上下文词嵌入矩阵输入门控循环单元获得所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出;

向量获取模块,用于将所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出作为计算参数,基于注意力机制计算上下文和目标词的注意力机制系数,根据所述注意力机制系数对上下文向量和目标词向量进行加权求和,获取新的上下文向量和目标词向量;

情感分析结果获取模块,用于将所述新的上下文向量和目标词向量进行拼接,并通过分类器进行分类,得到所述目标词的情感分析结果;

所述向量获取模块包括:

注意力机制系数矩阵获取单元,用于按照以下方式获取上下文和目标词之间的注意力机制系数矩阵:其中,relu表示激活函数, 是HC的转置矩阵,HC是上下文词嵌入矩阵的隐藏层输出,W是参数矩阵,HT是目标词嵌入矩阵的隐藏层输出,H是上下文和目标词之间的注意力机制系数矩阵;

注意力权重系数获取单元,用于基于注意力机制系数矩阵,按照以下方式获取上下文词和目标词的注意力权重系数:RC=relu(WCHC+WTHTHT)

RT=relu(WTHT+WCHCH)

其中,WC和WT是上下文词和目标词的参数矩阵,HT为H的转置矩阵;

注意力机制系数计算单元,用于基于自注意力机制,按照以下方式计算上下文词和目标词的注意力机制系数:α=softmax(wCRC)

β=softmax(wTRT)

其中,α为上下文词的注意力机制系数,β为目标词的注意力机制系数,wC为上下文词的词矩阵,wT为目标词的词矩阵;

向量获取单元,用于利用所述上下文词和目标词的注意力机制系数,对所述上下文向量和目标词向量进行加权求和,获得新的上下文向量和目标词向量:其中,所述rC为新的上下文向量,rT为新的目标词向量,n为上下文中的词语数,m为用户语料中目标词中包含的词语数,αi为第i个上下文词的注意力机制系数,βj为第j个目标词的注意力机制系数, 为第i个上下文词的注意力权重系数, 为第j个目标词的注意力权重系数。

5.根据权利要求4所述的情感分析系统,其特征在于:所述隐藏层输出获取模块包括:词向量获取单元,用于将所述用户语料中的目标词和上下文输入Glove模型,获取预训练的目标词向量和上下文词向量;

词嵌入矩阵获取单元,用于将所述目标词中的词语与Glove模型预训练的目标词向量进行匹配,将所述上下文中的词语与Glove模型预训练的上下文词向量进行匹配,获取目标词嵌入矩阵和上下文词嵌入矩阵;

平均池化单元,用于对目标词嵌入矩阵进行平均池化操作,按照以下方式得到目标词嵌入矩阵的均值向量:其中, 表示目标词 的词向量,t表示均值向量,m为用户语料中目标词中包含的词语数;

更新单元,用于将上下文词嵌入矩阵中的每个元素与所述均值向量拼接,更新上下文词嵌入矩阵;

隐藏层输出获取单元,用于将所述目标词嵌入矩阵和上下文词嵌入矩阵分别输入门控循环单元获得所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出。

6.根据权利要求4所述的情感分析系统,其特征在于:所述情感分析结果获取模块包括:拼接单元,用于按照以下方式将所述新的上下文向量和目标词向量进行拼接:其中,所述rC为新的上下文向量,rT为新的目标词向量,r为拼接后的词向量;

情感分析结果获取单元,用于利用softmax分类器进行分类,按照以下方式获得所述目标词的情感极性,得到所述目标词的情感分析结果:x=Wrr+br

其中,Wr为参数矩阵,br为偏置向量,C为分类总数,x为分类向量,xi为第i个分类向量,xj为第j个分类向量, yi为目标词被判定为第i类情感极性的情感分析结果。

7.一种计算机可读存储介质,其上储存有计算机程序,其特征在于:该计算机程序被处理器执行时实现如权利要求1-3任意一项所述的情感分析方法的步骤。

8.一种计算机设备,其特征在于:包括存储器、处理器以及存储在所述存储器中并可被所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-3中任意一项所述的情感分析方法的步骤。

说明书 :

一种情感分析方法、系统、存储介质及设备

技术领域

[0001] 本发明涉及自然语言处理领域,尤其是涉及一种情感分析方法、系统、存储介质及设备。

背景技术

[0002] 自然语言处理(Natural language processing,NLP)涉及计算机与人类自然语言之间的交互,它提供形态学、句法和语义工具,将存储的文本从原始数据转换为有用的信息。自然语言处理一直被认为是人工智能研究的核心问题之一,因为语言不仅在人类智能中发挥着重要的作用,而且具有极大地造福人类日常生活的潜力。自1950年以来,NLP技术取得了长足的进步。我们生活中最常见的应用——搜索引擎,就是一种运用NLP技术来方便用户检索信息的工具。
[0003] 情感分析是NLP的一个重要研究方向,其目的在于识别文本中的情感色彩。互联网上产生的海量文本数据,如用户评论的意见、批评和建议等,越来越多的运用情感分析技术进行意见挖掘和产品推荐。在这种情况下,情感分析作为一种有效的工具,可以帮助营销人员全面评估产品和服务,简化消费者的购买决策过程。传统的情感分析研究主要专注于确定文档或句子的整体情感极性,但随着研究层次的不断加深,目前研究开始专注于确定文档或句子中包含的某些特定目标的情感极性。如:“Average to good Thai food,but terrible delivery”,这个评论句子中,目标词“Thai food”的情感极性是积极,而目标词“delivery”的情感极性却是消极。由此可见,一条评论句子可能涉及多个目标词的主观意见,而特定目标情感分析的研究目的就是挖掘句子中的目标词并分析它们的情感极性,它比句子或文档级情感分研究粒度更细,属于细粒度的情感分析;由于特定目标情感分析首先需要识别出评论句子中的目标词,再分析其情感极性,故它比句子或文档级情感分析任务更复杂。
[0004] 现有技术在对特定目标进行情感分析时,往往通过将句子进行拆分来进行建模,对拆分后的词语进行无差别建模进行特定目标的情感分析,然而,不同词语对于特定目标情感分析任务的具有不同的重要性,简单的将其拆分并进行无差别建模影响了所述特定目标情感分析任务时的效率和准确性。

发明内容

[0005] 本发明的目的在于克服现有技术的缺点与不足,提供一种提高特定目标情感分析任务时的效率和准确性的情感分析方法、系统、存储介质及设备。
[0006] 一种情感分析方法,包括以下步骤:
[0007] 获取用户语料中的目标词和上下文;
[0008] 将所述目标词中的词语与Glove模型预训练的目标词向量进行匹配,将所述上下文中的词语与Glove模型预训练的上下文词向量进行匹配,获取目标词嵌入矩阵和上下文词嵌入矩阵;将所述目标词嵌入矩阵和上下文词嵌入矩阵输入门控循环单元获得所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出;
[0009] 将所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出作为计算参数,基于注意力机制计算上下文和目标词的注意力机制系数,根据所述注意力机制系数对上下文向量和目标词向量进行加权求和,获取新的上下文向量和目标词向量;
[0010] 将所述新的上下文向量和目标词向量进行拼接,并通过分类器进行分类,得到所述目标词的情感分析结果;
[0011] 所述将所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出作为计算参数,基于注意力机制计算上下文和目标词的注意力机制系数,根据所述注意力机制系数对上下文向量和目标词向量进行加权求和,获取新的上下文向量和目标词向量的步骤包括:
[0012] 按照以下方式获取上下文和目标词之间的注意力机制系数矩阵:
[0013]
[0014] 其中,relu表示激活函数, 是HC的转置矩阵,HC是上下文词嵌入矩阵的隐藏层输出,W是参数矩阵,HT是目标词嵌入矩阵的隐藏层输出,H是上下文和目标词之间的注意力机制系数矩阵;
[0015] 基于注意力机制系数矩阵,按照以下方式获取上下文词和目标词的注意力权重系数:
[0016] RC=relu(WCHC+WTHTHT)
[0017] RT=relu(WTHT+WCHCH)
[0018] 其中,WC和WT是上下文词和目标词的参数矩阵,HT为H的转置矩阵;
[0019] 基于自注意力机制,按照以下方式计算上下文词和目标词的注意力机制系数:
[0020] α=soft max(wCRC)
[0021] β=soft max(wTRT)
[0022] 其中,α为上下文词的注意力机制系数,β为目标词的注意力机制系数,wC为上下文词的词矩阵,wT为目标词的词矩阵;
[0023] 利用所述上下文词和目标词的注意力机制系数,对所述上下文向量和目标词向量进行加权求和,获得新的上下文向量和目标词向量:
[0024]
[0025]
[0026] 其中,所述rC为新的上下文向量,rT为新的目标词向量,n为上下文中的词语数,m为用户语料中目标词中包含的词语数,αi为第i个上下文词的注意力机制系数,βj为第j个目标词的注意力机制系数, 为第i个上下文词的注意力权重系数, 为第j个目标词的注意力权重系数。
[0027] 相对于现有技术,本发明将所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出作为计算参数,基于注意力机制计算上下文和目标词的注意力机制系数,根据所述注意力机制系数对上下文向量和目标词向量进行加权求和,获取新的上下文向量和目标词向量,本发明利用注意力机制计算目标词和上下文之间的影响系数,区分了目标词中不同词的重要性,实现目标词情绪的精准分析。
[0028] 在本发明一个实施例中,所述将所述目标词中的词语与Glove模型预训练的目标词向量进行匹配,将所述上下文中的词语与Glove模型预训练的上下文词向量进行匹配,获取目标词嵌入矩阵和上下文词嵌入矩阵;将所述目标词嵌入矩阵和上下文词嵌入矩阵输入门控循环单元获得所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出的步骤包括:
[0029] 将所述用户语料中的目标词和上下文输入Glove模型,获取预训练的目标词向量和上下文词向量;
[0030] 将所述目标词中的词语与Glove模型预训练的目标词向量进行匹配,将所述上下文中的词语与Glove模型预训练的上下文词向量进行匹配,获取目标词嵌入矩阵和上下文词嵌入矩阵;
[0031] 对目标词嵌入矩阵进行平均池化操作,按照以下方式得到目标词嵌入矩阵的均值向量:
[0032]
[0033] 其中, 表示目标词 的词向量,t表示均值向量,m为用户语料中目标词中包含的词语数;
[0034] 将上下文词嵌入矩阵中的每个元素与所述均值向量拼接,更新上下文词嵌入矩阵;
[0035] 将所述目标词嵌入矩阵和上下文词嵌入矩阵分别输入门控循环单元获得所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出。利用门控循环单元对所述目标词嵌入矩阵和上下文词嵌入矩阵进行筛选,保留重要特征信息。
[0036] 在本发明一个实施例中,所述将所述新的上下文向量和目标词向量进行拼接,并通过分类器进行分类,得到所述目标词的情感分析结果的步骤包括:
[0037] 按照以下方式将所述新的上下文向量和目标词向量进行拼接:
[0038]
[0039] 其中,所述rC为新的上下文向量,rT为新的目标词向量,r为拼接后的词向量;
[0040] 利用softmax分类器进行分类,按照以下方式获得所述目标词的情感极性,得到所述目标词的情感分析结果:
[0041] x=Wrr+br
[0042]
[0043] 其中,Wr为参数矩阵,br为偏置向量,C为分类总数,x为分类向量,xi为第i个分类向量,xj为第j个分类向量,yi为目标词被判定为第i类情感极性的情感分析结果。
[0044] 本发明利用softmax分类器将所述用于拼接后的词向量映射为(0,1)的概率值,从而获得所述目标词的情感极性,得到所述目标词的情感分析结果。
[0045] 本发明还提供了一种情感分析系统,包括:
[0046] 获取模块,用于获取用户语料中的目标词和上下文;
[0047] 隐藏层输出获取模块,用于将所述目标词中的词语与Glove模型预训练的目标词向量进行匹配,将所述上下文中的词语与Glove模型预训练的上下文词向量进行匹配,获取目标词嵌入矩阵和上下文词嵌入矩阵;将所述目标词嵌入矩阵和上下文词嵌入矩阵输入门控循环单元获得所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出;
[0048] 向量获取模块,用于将所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出作为计算参数,基于注意力机制计算上下文和目标词的注意力机制系数,根据所述注意力机制系数对上下文向量和目标词向量进行加权求和,获取新的上下文向量和目标词向量;
[0049] 情感分析结果获取模块,用于将所述新的上下文向量和目标词向量进行拼接,并通过分类器进行分类,得到所述目标词的情感分析结果;
[0050] 所述向量获取模块包括:
[0051] 注意力机制系数矩阵获取单元,用于按照以下方式获取上下文和目标词之间的注意力机制系数矩阵:
[0052]
[0053] 其中,relu表示激活函数, 是HC的转置矩阵,HC是上下文词嵌入矩阵的隐藏层输出,W是参数矩阵,HT是目标词嵌入矩阵的隐藏层输出,H是上下文和目标词之间的注意力机制系数矩阵;
[0054] 注意力权重系数获取单元,用于基于注意力机制系数矩阵,按照以下方式获取上下文词和目标词的注意力权重系数:
[0055] RC=relu(WCHC+WTHTHT)
[0056] RT=relu(WTHT+WCHCH)
[0057] 其中,WC和WT是上下文词和目标词的参数矩阵,HT为H的转置矩阵;
[0058] 注意力机制系数计算单元,用于基于自注意力机制,按照以下方式计算上下文词和目标词的注意力机制系数:
[0059] α=soft max(wCRC)
[0060] β=soft max(wTRT)
[0061] 其中,α为上下文词的注意力机制系数,β为目标词的注意力机制系数,wC为上下文词的词矩阵,wT为目标词的词矩阵;
[0062] 向量获取单元,用于利用所述上下文词和目标词的注意力机制系数,对所述上下文向量和目标词向量进行加权求和,获得新的上下文向量和目标词向量:
[0063]
[0064]
[0065] 其中,所述rC为新的上下文向量,rT为新的目标词向量,n为上下文中的词语数,m为用户语料中目标词中包含的词语数,αi为第i个上下文词的注意力机制系数,βj为第j个目标词的注意力机制系数, 为第i个上下文词的注意力权重系数, 为第j个目标词的注意力权重系数。
[0066] 在本发明一个实施例中,所述隐藏层输出获取模块包括:
[0067] 词向量获取单元,用于将所述用户语料中的目标词和上下文输入Glove模型,获取预训练的目标词向量和上下文词向量;
[0068] 词嵌入矩阵获取单元,用于将所述目标词中的词语与Glove模型预训练的目标词向量进行匹配,将所述上下文中的词语与Glove模型预训练的上下文词向量进行匹配,获取目标词嵌入矩阵和上下文词嵌入矩阵;
[0069] 平均池化单元,用于对目标词嵌入矩阵进行平均池化操作,按照以下方式得到目标词嵌入矩阵的均值向量:
[0070]
[0071] 其中, 表示目标词 的词向量,t表示均值向量,m为用户语料中目标词中包含的词语数;
[0072] 更新单元,用于将上下文词嵌入矩阵中的每个元素与所述均值向量拼接,更新上下文词嵌入矩阵;
[0073] 隐藏层输出获取单元,用于将所述目标词嵌入矩阵和上下文词嵌入矩阵分别输入门控循环单元获得所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出。
[0074] 在本发明一个实施例中,所述情感分析结果获取模块包括:
[0075] 拼接单元,用于按照以下方式将所述新的上下文向量和目标词向量进行拼接:
[0076]
[0077] 其中,所述rC为新的上下文向量,rT为新的目标词向量,r为拼接后的词向量;
[0078] 情感分析结果获取单元,用于利用softmax分类器进行分类,按照以下方式获得所述目标词的情感极性,得到所述目标词的情感分析结果:
[0079] x=Wrr+br
[0080]
[0081] 其中,Wr为参数矩阵,br为偏置向量,C为分类总数,x为分类向量,xi为第i个分类向量,xj为第j个分类向量,yi为目标词被判定为第i类情感极性的情感分析结果。
[0082] 本发明还提供了一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现如上述任意一项所述的情感分析方法的步骤。
[0083] 本发明还提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可被所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项所述的情感分析方法的步骤。
[0084] 为了更好地理解和实施,下面结合附图详细说明本发明。

附图说明

[0085] 图1是本发明实施例中一种情感分析系统的流程图;
[0086] 图2是本发明实施例中一种情感分析方法的整体流程图;
[0087] 图3是本发明实施例中情感分析方法步骤S2的流程图;
[0088] 图4是本发明实施例中情感分析方法步骤S3的流程图;
[0089] 图5是本发明实施例中情感分析方法步骤S4的流程图;
[0090] 图6是本发明实施例中情感分析系统的结构示意图;
[0091] 图7是本发明实施例中隐藏层输出获取模块2的结构示意图;
[0092] 图8是本发明实施例中向量获取模块3的结构示意图;
[0093] 图9是本发明实施例中情感分析结果获取模块4的结构示意图。

具体实施方式

[0094] 实施例
[0095] 请参阅图1-2,本发明提供了一种情感分析方法,包括以下步骤:
[0096] 步骤S1:获取用户语料中的目标词和上下文;具体地,所述用户语料通过SemEval 2014评测数据集收集用户评论语料,所述SemEval-2014评测数据集为情感分析主流数据集,包括笔记本(Laptop)和饭店(Restaurant)两个领域,每个领域的评测数据集都分为训练数据、验证数据(从训练数据分离出来)和测试数据。并对语料进行包括但不限于分词处理、停用词处理的预处理,将用户语料分为包含n个词的上下文部分 和
包含m个词的目标词部分 其中, 表示上下文的第i词, 表示目标词的
第j词;
[0097] 步骤S2:将所述目标词中的词语与Glove模型预训练的目标词向量进行匹配,将所述上下文中的词语与Glove模型预训练的上下文词向量进行匹配,获取目标词嵌入矩阵和上下文词嵌入矩阵;将所述目标词嵌入矩阵和上下文词嵌入矩阵输入门控循环单元获得所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出;如图3所示,包括以下步骤:
[0098] 步骤S201:将所述用户语料中的目标词和上下文输入Glove模型,获取预训练的目标词向量和上下文词向量;
[0099] 步骤S202:将所述目标词中的词语与Glove模型预训练的目标词向量进行匹配,将所述上下文中的词语与Glove模型预训练的上下文词向量进行匹配,获取目标词嵌入矩阵和上下文词嵌入矩阵 其中, 表示上下文词 和目标词 的词向量,dw表示词向量的维度;本实施例中,在获取上下文和目标词的词嵌入矩阵时,所有词嵌入均由预训练好的斯坦福大学开源Glove词向量初始化得到,该词嵌入维度为300维,与上下文和目标词中的词进行匹配,对于没有匹配到的词,则在[-0.1,0.1]中随机取值后得到词向量。
[0100] 步骤S203:对目标词嵌入矩阵进行平均池化操作,按照以下方式得到目标词嵌入矩阵的均值向量:
[0101]
[0102] 其中, 表示目标词 的词向量,t表示均值向量,m为用户语料中目标词中包含的词语数;
[0103] 步骤S204:将上下文词嵌入矩阵中的每个元素 与所述均值向量t拼接,更新上下文词嵌入矩阵
[0104] 步骤S205:将所述目标词嵌入矩阵和上下文词嵌入矩阵分别输入门控循环单元获得所述上下文词嵌入矩阵的隐藏层输出 和目标词嵌入矩阵的隐藏层输出[0105] HC=GRU(C)
[0106] HT=GRU(T)
[0107] 其中,dh表示隐藏层输出的维度;所述上下文词嵌入矩阵的隐藏层输出和目标词嵌入矩阵的隐藏层输出即为所述上下文和目标词的隐藏状态。
[0108] 步骤S3:对所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出,利用注意力模型中获取上下文和目标词的注意力机制系数,根据所述注意力机制系数对上下文向量和目标词向量进行加权求和,获取新的上下文向量和目标词向量;利用门控循环单元对所述目标词嵌入矩阵和上下文词嵌入矩阵进行筛选,保留重要特征信息方便后续的情感分析。如图4所示,所述步骤S3包括以下步骤:
[0109] 步骤S301:采用协同注意力机制的交互式学习方法,按照以下方式获取上下文和目标词之间的注意力机制系数矩阵:
[0110]
[0111] 其中,relu表示激活函数, 是HC的转置矩阵,HC是上下文词嵌入矩阵的隐藏层输出, 是参数矩阵,HT是目标词嵌入矩阵的隐藏层输出,H是上下文和目标词之间的注意力机制系数矩阵;
[0112] 步骤S302:基于注意力机制系数矩阵,按照以下方式获取上下文词和目标词的注意力权重系数:
[0113] RC=relu(WCHC+WTHTHT)
[0114] RT=relu(WTHT+WCHCH)
[0115] 其中, 和 是参数矩阵, 为H的转置矩阵;
[0116] 步骤S303:基于自注意力机制,按照以下方式计算上下文词和目标词的注意力机制系数:
[0117] α=softmax(wCRC)
[0118] β=softmax(wTRT)
[0119] 其中, 和 为参数矩阵,α为上下文词的注意力机制系数,β为目标词的注意力机制系数,wC为上下文词的词矩阵,wT为目标词的词矩阵;
[0120] 步骤S304:利用所述上下文词和目标词的注意力机制系数,对所述上下文向量和目标词向量进行加权求和,获得新的上下文向量和目标词向量:
[0121]
[0122]
[0123] 其中,所述rC为新的上下文向量,rT为新的目标词向量,n为上下文中的词语数,m为用户语料中目标词中包含的词语数,αi为第i个上下文词的注意力机制系数,βj为第j个目标词的注意力机制系数, 为第i个上下文词的注意力权重系数, 为第j个目标词的注意力权重系数。
[0124] 步骤S4:将所述新的上下文向量和目标词向量进行拼接,并通过分类器进行分类,得到所述目标词的情感分析结果。如图5所示,所述步骤S4包括以下步骤:
[0125] 步骤S401:按照以下方式将所述新的上下文向量和目标词向量进行拼接:
[0126]
[0127] 其中,所述rC为新的上下文向量,rT为新的目标词向量,r为拼接后的词向量;
[0128] 步骤S402:利用softmax分类器进行分类,所述softmax分类器将所述用于拼接后的词向量映射为(0,1)的概率值,按照以下方式获得所述目标词的情感极性,得到所述目标词的情感分析结果:
[0129] x=Wrr+br
[0130]
[0131] 其中,Wr为参数矩阵,br为偏置向量,C为分类总数,x为分类向量,xi为第i个分类向量,xj为第j个分类向量,yi为目标词被判定为第i类情感极性的情感分析结果。
[0132] 为了验证本发明所述情感分析方法的准确性,利用SemEval 2014Task4的酒店和笔记本数据集上对本发明进行验证,所述数据集样本具体分布如表1所示:
[0133]数据集 Positive Neutral Negative
Laptop-Train 994 464 870
Laptop-Train 341 169 128
Restaurant-Train 2164 637 807
Restaurant-Train 728 196 196
[0134] 表1数据集分布
[0135] 本发明使用目前文本情感分类领域常用的评价指标:准确率作为本实施例的评价指标,其计算公式如下所示:
[0136]
[0137] 其中T表示正确分类的样本总数,N为样本总数。
[0138] 为了验证本发明所提方法的有效性,本文选取了6个经典的情感分类模型进行比较,6个经典的情感分类模型包括:
[0139] LSTM模型:通过单层LSTM获取句子的隐藏层输出,然后通过softmax分类器得到情感分析结果。
[0140] TD-LSTM模型:以目标词为中心,把句子分成目标词上文和目标词下文,分别利用LSTM获取两部分的隐藏层输出,再通过softmax分类器得到情感极性分布。
[0141] ATAE-LSTM模型:先在上下文中拼接目标词向量,再通过LSTM获得上下文的隐藏层输出之后拼接目标词向量,再利用注意力机制选择出对特定目标情感分类重要的词,最后通过softmax分类器得到情感极性分布。
[0142] IAN模型:通过LSTM获取了上下文和目标词的隐藏层输出,再通过交互注意力机制的交互式学习得到上下文和目标词的表示,把上下文和目标词的表示拼接之后通过softmax分类器得到情感的极性分布。
[0143] AOA-LSTM模型:通过双向LSTM获取了上下文和目标词的隐藏层输出,再通过attention-over-attention的交互式学习得到上下文和目标词对应的表示,最后通过softmax分类器得到情感的极性分布。
[0144] LCR-Rot模型:先将句子分成三部分,分别是上文、目标词和下文,然后使用旋转注意力机制确定目标词与上文和下文的关系。
[0145] 在SemEval2014 Task4上本专利与其他6种经典模型三分类的对比情况如表2所示。
[0146] 由表2可得出,本发明所提出的情感分析方法(Co-attention Networks,CAN)取得了最好的实验结果。
[0147] 数据集 Restaurant(%) Laptop(%)LSTM 74.30 66.50
TD-LSTM 75.60 68.10
ATAE-LSTM 77.20 68.70
IAN 78.60 72.10
AOA-LSTM 81.20 74.50
LCR-Rot 81.34 75.24
CAN 81.61 75.86
[0148] 表2.实验结果
[0149] 实验中,所有词嵌入都从GloVe中初始化的,所有的参数矩阵在U(-0.1,0.1)上随机产生,偏置的初始值设置为0,GRU隐藏层维度大小为200,学习率为0.001,L2正则项的权重设置为0.00001,同时为了防止过拟合,丢弃率为0.5。
[0150] 为了更全面的评估本专利方法的有效性,选取了6个经典的情感分类模型进行比较,如下面介绍各模型。
[0151] LSTM模型通过单层LSTM获取句子的隐藏层输出,然后通过softmax分类器得到情感分析结果。
[0152] TD-LSTM模型以目标词为中心,把句子分成目标词上文和目标词下文,分别利用LSTM获取两部分的隐藏层输出,再通过softmax分类器得到情感极性分布。
[0153] ATAE-LSTM模型先在上下文中拼接目标词向量,再通过LSTM获得上下文的隐藏层输出之后拼接目标词向量,再利用注意力机制选择出对特定目标情感分类重要的词,最后通过softmax分类器得到情感极性分布。
[0154] IAN模型通过LSTM获取了上下文和目标词的隐藏层输出,再通过交互注意力机制的交互式学习得到上下文和目标词的表示,把上下文和目标词的表示拼接之后通过softmax分类器得到情感的极性分布。
[0155] AOA-LSTM模型通过双向LSTM获取了上下文和目标词的隐藏层输出,再通过attention-over-attention的交互式学习得到上下文和目标词对应的表示,最后通过softmax分类器得到情感的极性分布。
[0156] LCR-Rot模型先将句子分成三部分,分别是上文、目标词和下文,然后使用旋转注意力机制确定目标词与上文和下文的关系。
[0157] 如表2所示,TD-LSTM在Restaurant和Laptop上的实验结果分别是75.60%和68.10%,比LSTM分别高1.3%和1.6%。主要原因是相对于简单LSTM,TD-LSTM以目标词为中心将句子分成了两部分,引入了目标词信息。所有使用了目标词信息模型在两个数据集上平均的精度是79.07%和72.11%,比简单使用LSTM分别高4.77%和5.61%。以上表明目标词对于特定目标情感分析的重要性。ATAE-LSTM通过拼接的方式在上下文中融合了目标词信息,并且通过注意力机制区分了不同词对于特定目标情感分析任务的意义。IAN通过交互注意力机制的交互式提高了上下文和目标词的交互程度,因此在两个数据集上的结果分别是78.60%和72.10%,比ATAE-LSTM分别高1.4%和3.4%。进一步的,AOA-LSTM和LCR-Rot不仅利用了目标词,而且通过attention-over-attention和Rotatory Attention进一步强调了上下文与目标词之间的影响,从而获得了更高的准确率。
[0158] 与前面的方法对比,本发明提出的情感分析方法,通过学习目标词对上下文表示的影响,同时区分出上下文中不同词的重要性,从而更新上下文的词向量。同时,结合了上下文对目标词词向量的影响,同时区别出目标词中不同词的重要性,从而更新目标词词向量。最后通过自注意力机制,更新上下文词向量和目标词词向量,在两个数据集中获得了最好的实验结果。
[0159] 如图6所示,本发明还提供了一种情感分析系统,包括:
[0160] 获取模块1,用于获取用户语料中的目标词和上下文;
[0161] 隐藏层输出获取模块2,用于将所述目标词中的词语与Glove模型预训练的目标词向量进行匹配,将所述上下文中的词语与Glove模型预训练的上下文词向量进行匹配,获取目标词嵌入矩阵和上下文词嵌入矩阵;将所述目标词嵌入矩阵和上下文词嵌入矩阵输入门控循环单元获得所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出;
[0162] 在本发明一个实施例中,如图7所示,所述隐藏层输出获取模块2包括:
[0163] 词向量获取单元201,用于将所述用户语料中的目标词和上下文输入Glove模型,获取预训练的目标词向量和上下文词向量;
[0164] 词嵌入矩阵获取单元202,用于将所述目标词中的词语与Glove模型预训练的目标词向量进行匹配,将所述上下文中的词语与Glove模型预训练的上下文词向量进行匹配,获取目标词嵌入矩阵和上下文词嵌入矩阵;
[0165] 平均池化单元203,用于对目标词嵌入矩阵进行平均池化操作,按照以下方式得到目标词嵌入矩阵的均值向量:
[0166]
[0167] 其中, 表示目标词 的词向量,t表示均值向量,m为用户语料中目标词中包含的词语数;
[0168] 更新单元204,用于将上下文词嵌入矩阵中的每个元素与所述均值向量拼接,更新上下文词嵌入矩阵;
[0169] 隐藏层输出获取单元205,用于将所述目标词嵌入矩阵和上下文词嵌入矩阵分别输入门控循环单元获得所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出。
[0170] 向量获取模块3,用于将所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出作为计算参数,基于注意力机制计算上下文和目标词的注意力机制系数,根据所述注意力机制系数对上下文向量和目标词向量进行加权求和,获取新的上下文向量和目标词向量;
[0171] 在本发明一个实施例中,如图8所示,所述向量获取模块3包括:
[0172] 注意力机制系数矩阵获取单元301,用于按照以下方式获取上下文和目标词之间的注意力机制系数矩阵:
[0173]
[0174] 其中,relu表示激活函数, 是HC的转置矩阵,HC是上下文词嵌入矩阵的隐藏层输出, 是参数矩阵,HT是目标词嵌入矩阵的隐藏层输出,H是上下文和目标词之间的注意力机制系数矩阵。
[0175] 注意力权重系数获取单元302,用于基于注意力机制系数矩阵,按照以下方式获取上下文词和目标词的注意力权重系数:
[0176] RC=relu(WCHC+WTHTHT)
[0177] RT=relu(WTHT+WCHCH)
[0178] 其中, 和 是参数矩阵, 为H的转置矩阵;
[0179] 注意力机制系数计算单元303,用于基于自注意力机制,按照以下方式计算上下文词和目标词的注意力机制系数:
[0180] α=soft max(wCRC)
[0181] β=soft max(wTRT)
[0182] 其中, 和 为参数矩阵,α为上下文词的注意力机制系数,β为目标词的注意力机制系数,wC为上下文词的词矩阵,wT为目标词的词矩阵;
[0183] 向量获取单元304,用于利用所述上下文词和目标词的注意力机制系数,对所述上下文向量和目标词向量进行加权求和,获得新的上下文向量和目标词向量:
[0184]
[0185]
[0186] 其中,所述rC为新的上下文向量,rT为新的目标词向量,n为上下文中的词语数,m为用户语料中目标词中包含的词语数,αi为第i个上下文词的注意力机制系数,βj为第j个目标词的注意力机制系数, 为第i个上下文词的注意力权重系数, 为第j个目标词的注意力权重系数。
[0187] 情感分析结果获取模块4,用于将所述上下文向量和目标词向量进行拼接,并通过分类器进行分类,得到所述目标词的情感分析结果。
[0188] 在本发明一个实施例中,如图9所示,所述情感分析结果获取模块4包括:
[0189] 拼接单元401,用于按照以下方式将所述新的上下文向量和目标词向量进行拼接:
[0190]
[0191] 其中,所述rC为新的上下文向量,rT为新的目标词向量,r为拼接后的词向量;
[0192] 情感分析结果获取单元402,用于利用softmax分类器进行分类,按照以下方式获得所述目标词的情感极性,得到所述目标词的情感分析结果:
[0193] x=Wrr+br
[0194]
[0195] 其中,Wr为参数矩阵,br为偏置向量,C为分类总数,x为分类向量,xi为第i个分类向量,xj为第j个分类向量,yi为目标词被判定为第i类情感极性的情感分析结果。
[0196] 本发明还提供了一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现上述任意一项所述的情感分析方法的步骤。
[0197] 本发明可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可读储存介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0198] 本发明还提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可被所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-4中任意一项所述的情感分析方法的步骤。
[0199] 相对于现有技术,本发明将所述上下文词嵌入矩阵和目标词嵌入矩阵的隐藏层输出作为计算参数,基于注意力机制计算上下文和目标词的注意力机制系数,根据所述注意力机制系数对上下文向量和目标词向量进行加权求和,获取新的上下文向量和目标词向量,本发明利用注意力机制计算目标词和上下文之间的影响系数,区分了目标词中不同词的重要性,实现目标词情绪的精准分析。本发明能够准确地挖掘评论中特定目标的情感极性,适用于各种领域评论的特定目标情感分类,一方面可以使潜在消费者在购买商品前了解商品的评价信息,另一方面可以使商家更加充分地了解消费者的意见,从而提高服务质量,具有极大的实用价值
[0200] 本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变形。