0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在情感分析中使用知识的一些代表性工作

深度学习自然语言处理 来源:深度学习自然语言处理 作者:哈工大SCIR 袁建华 2020-11-02 16:05 次阅读

1.引文

情感分析 知识

当training数据不足以覆盖inference阶段遇到的特征时,是标注更多的数据还是利用现有外部知识充当监督信号

基于机器学习深度学习的情感分析方法,经常会遇到有标注数据不足,在实际应用过程中泛化能力差的局面。为了弥补这一缺点,学者们尝试引入外部情感知识为模型提供监督信号,提高模型分析性能。本文从常见的外部情感知识类型出发,简要介绍在情感分析中使用知识的一些代表性工作。

2.正文

我们为什么要不断尝试在情感分析中融入知识呢?笔者以为有如下几点原因:

1)一般的文本分类任务只提供句子或文档级别的情感标签,引入情感词典等先验情感知识可以给情感文本引入更细粒度监督信号,使得模型能学到更适合情感分析任务的特征表示。

2)底层的词性、句法等分析任务能给下游的情感分类、抽取任务提供参考信息,如评价表达通常是形容词或形容词短语,而评价对象通常是名词;不同情感分析任务本身存在相互促进作用,如评价对象和评价词在句子中出现的距离通常比较近,联合抽取能同时提高两者的性能表现。

3)短文本评论通常略去了大量的背景常识知识,从文本本身通常难以推断真实情感倾向性。例如一条有关大选的推文内容是“I am so grateful for Joe Biden. Vote for #JoeBiden!!”,文本中并未涉及任何有关Trump的描述,要判断它关于Trump的立场倾向性时,需要了解的背景知识是,二者是这次大选的竞争对手,支持一个人就意味着反对另一个人。

那情感分析常用的知识又有哪些呢?

2.1 知识的类型及情感分析常用知识库

依据对知识获取途径的划分方式[1],我们简单总结了情感分析中常用的知识类型:

显性知识

一般情感词典(如MPQA,Bing Liu词典等),情感表情符;否定词(Negation)、强化词(Intensification)、连接词(Conjunction)等规则

SentiWordNet

ConceptNet,SenticNet

数据

数据 (Twitter、微博表情符弱标注数据)

领域数据集 (例如某一类别商品评论数据)

学习算法

词法、句法、语义依存等模型

多任务学习算法

预训练语言模型、词向量学习算法

其中,以情感词典最为常用。情感分析数据通常结合语言模型算法,产生情感向量表示作为下游任务输入;词法、句法分析模型一般直接为下游情感分析任务提供特征输入或者以多任务学习的方式参与到下游情感分析任务的训练过程中;结构化的外部知识库通常需要借助图算法进行特征挖掘,为文本提供更丰富的常识、情感上下文信息。

2.2 知识的引入方式及在情感分析部分任务上的应用

下表展示了几种常见的知识类型及其特点,我们将根据知识的获取途径及引入方式,结合具体论文阐述其使用方式。

知识类型 优点 缺点
人工情感词典 质量高 规模小,静态,覆盖低
自动情感词典 规模大 静态、质量低
语言学规则 适用范围广 不够准确
预训练语言模型 上下文建模能力强 参数量大,训练时间长,运行速度慢
常识知识库 规模大、质量高、覆盖全 利用困难

目前,相关的情感分析工作可以大致分为以下几类:

引入情感词典知识

要说情感知识,大部分人首先会想到的就是人工编纂的情感词典,它简明直观、质量高、极性明确,使用方便,广泛应用在情感分类、情感元素抽取、情感原因发现、情感文本风格迁移等多种情感分析任务上。情感词区别于非情感词的地方在于,它们一般表征一定的情感/情绪状态,通常情感词典中还会给出其强度打分。类似的,现在网络上流行的部分表情符 (emoj,如:) 、:( 、、)也能表征某些情感/情绪状态。

图1 人工编纂的情感词典

我们在这里介绍一个同时使用情感词典中词的极性和打分的工作,看看前人们是如何在神经网络中把情感词的情感信息融入文本的情感表示中的。

给定一段评论文本,Teng等人[2]首先找出其中的情感相关词汇(如情感词、转折词、否定词),并计算其对文本整体情感极性的贡献程度,然后将每个词的贡献值乘上其情感得分作为局部的情感极性值,最终加上全局的情感极性预测值作为整个文本的情感得分。

图2 同时使用情感词典中词的极性和打分

虽然上述工作在计算情感得分时,考虑了not、very等否定词、强化词的得分信息,但是没有显式把这些词对周围词的情感语义表示的影响刻画出来,Qian等人[3]考虑到情感词、否定词、强化词在情感语义组合过程中起到的不同作用,对文本建模过程中对不同位置词的情感分布加以约束。例如,若一个词的上文是not等否定词,会带来not处文本情感语义的翻转。

图3 对不同位置词的情感分布加以约束

总体来看,情感词典作为一种易于获取、极性准确的情感知识,能够在标注语料之外,为情感分析提供额外的监督信号,既可以提升有监督模型的泛化能力,也能够为半监督、无监督模型提供一定的指导。

引入大规模无标注语料

语言建模作为一个典型的自监督学习任务,其语言模型产生的词表示作为下游任务网络模型的输入,表现出优越的性能,因而得到广泛的应用。如果能将情感知识融入到语言模型中,其产生的词表示必然对情感分析各子任务带来性能提升。

我们接着介绍一个在词向量中融入显式情感词典知识(实际使用的是表情符)的方法。

Tang等人[4]观察到,一般的词向量对于“good”和“bad”这种上下文相近但极性相反的词,给出的向量表示没有很强的区分性,不利于下游的各情感分析任务。Twitter和微博中有海量包含表情符的文本,利用这些情感极性明确的表情符可以过滤得到大量弱标注的情感文本。Tang等人使用这些语料,他们在普通的C&W模型基础上,引入情感得分相关的损失,将这些弱标注的情感信息融入词向量表示中,使“good”和“bad”这种上下文相近但情感不同的词的向量表示有明显的差异。在情感分类任务上,他们验证了融入情感表情符知识的有效性。在此基础上,他们还进一步自动构建大规模情感词典,该词典被[2]应用到Twitter情感分类任务上。

图4 将基于表情符过滤的弱标注情感信息融入词向量表示中

引入外部特征提取算法

除了准确的情感词知识,词法、句法、语义依存信息、评价词和评价表达等情感信息在文本的情感语义建模过程中也发挥了重要作用,这些知识不是显性存在于大规模的知识图谱中,而是存在于对应的人工标注数据中。一般利用学习算法从这些数据中训练用于提取特征的模型。

Tian等人[5]在近期的预训练BERT语言模型基础上,将文本中的评价对象(属性)、情感词等情感元素引入Mask Language Model预训练任务,进一步提高了BERT类模型在多个情感分类数据集上的性能。

图5 将多种情感元素引入Mask Language Model预训练任务 同[3]类似,Ke等人[6]在预训练语言模型中引入词级别的情感、词性知识。他们先给每个词预测词性信息,然后依据词性信息从SentiWordNet中推断其情感极性。基于获得的词性和情感信息,他们在一般的Masked Language Model基础上同时预测这些语言学标签,实现在预训练语言模型中注入情感知识。该模型在主流的情感分类、细粒度情感分析数据集上取得了目前最好的结果,证明引入词性和情感极性知识在预训练任务中的有效性。

图6在预训练语言模型中引入词级别的情感、词性知识

Sun等人[7]提出在面向属性的情感分类(ABSA)任务上,引入Stanford parser解析得到的依存树信息辅助识别评价对象相关的评价词。他们将GCN在依存树上学习得到的表示与BLSTM学习到的特征结合,判断句子针对评价对象的情感极性。

图7将GCN在依存树上学习得到的表示与BLSTM学习到的特征结合

在外部特征引入方式上,目前方法以两种方法为主:(1)直接作为特征输入模型(2)以多任务学习的方式,作为辅助任务与主任务一同训练。这些方法的区别主要在引入特征类别或者辅助任务的任务设计。

引入常识知识

除了情感词典、情感词向量、情感预训练语言模型、文本特征抽取器外,结构化的外部知识也是很常见的一种情感知识来源。它的特点是规模大,覆盖面广,蕴含丰富的实体、事件或者常识概念间相关关系知识。结构化知识中具备高质量的关系类型,因而适用于需要推理、泛化的情感分析任务。

一个典型的需要泛化的任务是跨领域文本情感分类任务。源端和目标端的评价对象、评价词等情感相关特征差异较大,训练时模型依赖的源端分类特征未必会在目标端文本中出现,如何将这些情感特征进行对齐是一个重要且富有挑战性的问题。一类方法是使用通用情感词典作为pivot信息,建立源端、目标端共享特征的对齐,但这类方法只考虑共享的情感词信息,且通过文本本身学习到的情感表达对齐也不充分、准确,同时无法捕获到不同领域之间评价对象之间链接关系。

而结构化外部知识正好弥补了这些缺点,它蕴含情感词到非情感词、不同领域评价对象之间的关联关系。近年由于图表示算法的进步,学者们能够更高效的对这些结构化外部知识加以利用。

在跨领域情感文档情感分类任务上,Ghosal等人[8]在ACL2020上提出KinGDOM算法, 利用ConceptNet为所有领域构建一个小规模知识图谱,然后找出每个文档中独有的名词、形容词、副词集合,再依据从中抽取出一个文档相关的子图,进而提供一个由知识库知识提取而来的特征表示,与文档本身的情感表示一起做最后的情感分类。

图8KinGDOM算法

类似地,在跨目标立场分类任务上,Zhang等人[9]利用SenticNet和EmoLex构建学习带情绪关系连接的语义-情绪图谱(SE-graph),并使用图卷积神经网络(GCN)学习节点表示。给定一段文本,他们使用SE-graph为每个词学习构建一个子图并学习其表示,得到的外部特征表示送入修改后的BLSTM隐层,与当前上下文特征进行融合。

图9基于SE-graph 使用GCN学习节点表示

这两个工作都使用外部结构知识,扩展了输入特征空间,利用知识库中的连接将源端和目标端的评价词、评价对象等特征进行对齐,极大地丰富了情感上下文信息。

3.总结

本文介绍了情感分析中引入外部知识的部分工作,简要介绍了现阶段情感分析常用的外部知识,从最常见的情感词典入手,逐步介绍基于情感词典的情感词向量、预训练语言模型,展示了使用多任务学习融合词性、依存句法等文本底层特征抽取器的工作,最后介绍了近期热门的使用结构化外部知识的文本情感迁移学习工作。我们可以看出,情感词典虽然最为简单,却是情感知识引入多种引入方式的基石,在情感分析算法中地位无出其右。

对于未来工作,一方面,由于目前的情感分析中知识引入的应用场景仍局限在情感分类任务中,有待扩展到情感抽取、情感(多样性)生成等各个情感分析任务上;另一方面,在情感分析专用预训练语言模型中融合结构化外部知识,增强预训练语言模型对情感分析相关世界知识的理解仍有待探索。

参考资料

[1]

刘挺,车万翔. 自然语言处理中的知识获取问题.

[2]

Teng et al. Context-Sensitive Lexicon Features for Neural Sentiment Analysis.

[3]

Qian et al. Linguistically Regularized LSTM for Sentiment Classification.

[4]

Tang et al. Learning Sentiment-Specific Word Embedding for Twitter Sentiment Classification.

[5]

Tian et al.SKEP: Sentiment Knowledge Enhanced Pre-training for Sentiment Analysis.

[6]

Xu et al.SentiLARE: Sentiment-Aware Language Representation Learning with Linguistic Knowledge.

[7]

Sun et al.Aspect-Level Sentiment Analysis Via Convolution over Dependency Tree.

[8]

Ghosal et al.KinGDOM: Knowledge-Guided DOMain Adaptation for Sentiment Analysis.

[9]

Zhang et al.Enhancing Cross-target Stance Detection with Transferable Semantic-Emotion Knowledge.

责任编辑:xj

原文标题:基于知识引入的情感分析

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8062

    浏览量

    130442
  • 深度学习
    +关注

    关注

    73

    文章

    5205

    浏览量

    119804
  • 情感分析
    +关注

    关注

    0

    文章

    14

    浏览量

    5215

原文标题:基于知识引入的情感分析

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一些无功补偿装置SVG的资料

    一些SVG电路原理和功能码相关的技术说明书,想了解一些SVG的工作原理和工作过程
    发表于 02-03 10:13

    情感语音识别技术的应用与未来发展

    一、引言 随着科技的飞速发展,情感语音识别技术已经成为人机交互的重要发展方向。情感语音识别技术能够通过分析人类语音中的情感信息,实现更加智能化和个性化的人机交互。本文将探讨
    的头像 发表于 11-12 17:30 330次阅读

    解读可穿戴设备代表性产品核心技术原理

    电子发烧友网站提供《解读可穿戴设备代表性产品核心技术原理.doc》资料免费下载
    发表于 10-31 11:22 0次下载
    解读可穿戴设备<b class='flag-5'>代表性</b>产品核心技术原理

    了解一些电气冷知识

    电气一行的知识浩如星河,专业的电气知识想必每个人都有接触,也多多少少知道一些,但电气冷知识就不一定了,虽说是冷知识,但往往知道那么几个,不仅
    的头像 发表于 06-20 11:02 437次阅读
    了解<b class='flag-5'>一些</b>电气冷<b class='flag-5'>知识</b>

    simulink中使用MBDT的Freemaster块时报错怎么解决?

    当我simulink中使用MBDT的Freemaster块时,出现错误,这意味着存在一些无效的标识符。如果我不使用 Freemaster 的块,它可以成功生成代码并加载到我的 MPC5744 中
    发表于 06-12 08:49

    PyTorch教程16.3之情感分析:使用卷积神经网络

    电子发烧友网站提供《PyTorch教程16.3之情感分析:使用卷积神经网络.pdf》资料免费下载
    发表于 06-05 10:56 0次下载
    PyTorch教程16.3之<b class='flag-5'>情感</b><b class='flag-5'>分析</b>:使用卷积神经网络

    PyTorch教程16.2之情感分析:使用递归神经网络

    电子发烧友网站提供《PyTorch教程16.2之情感分析:使用递归神经网络.pdf》资料免费下载
    发表于 06-05 10:55 0次下载
    PyTorch教程16.2之<b class='flag-5'>情感</b><b class='flag-5'>分析</b>:使用递归神经网络

    LLM在各种情感分析任务中的表现如何

    地址 :https://arxiv.org/pdf/2305.15005.pdf 代码 :https://github.com/DAMO-NLP-SG/LLM-Sentiment 这篇工作调查了LLM时代情感分析的研究现状,旨
    的头像 发表于 05-29 17:24 1402次阅读
    LLM在各种<b class='flag-5'>情感</b><b class='flag-5'>分析</b>任务中的表现如何

    如何让个uno成为ringmaster向网络上的每个其他uno发送一些数据并触发它们做一些工作

    一直在寻找许多不成功的时间,试图找到个项目,其中有人通过 esp8266 连接了 2 个或更多 unos。 目标是让个 uno 成为 ringmaster,向网络上的每个其他 uno 发送
    发表于 05-23 07:06

    NODEMCUvoid setup() 中跳过打印,只打印一些乱码是怎么回事?

    () 都不会打印。我尝试 Serial.begin(9600) 之后添加延迟,但仍然没有。当我点击重置时,只打印一些乱码。 有任何想法吗?
    发表于 04-28 06:31

    分享下用AD画PCB过程中的一些基础知识

      今天跟大家分享下用AD画PCB过程中的一些基础知识。   完成后的PCB   通常原理图设计完成后,就开始PCB设计。有几个地方需要注意:   1.原理图设计完成后定要先评审
    发表于 04-27 16:46

    PCB layout时需要注意的一些细节记录

    了天线。可能接收外界干扰,影响自身电路的正常工作。也可能把自身的一些高频成分通过“天线”发送出去。所以绘图的时候尽量减少这些部分的存在。   3 铺地的三种方式   1 )do not pour
    发表于 04-25 18:03

    掌握PCB布线的一些常用规则

    颇为头疼。下面是PCB布线的一些常用规则,无论你是小白还是已入行的工程师,都应该掌握。  PCB布线常用规则  1、走线的方向控制规则  输入和输出端的导线应尽量避免相邻平行。 PCB 布线时,相邻
    发表于 04-18 15:04

    RT1170 EVK如何在此板上移植一些文件系统?

    我的项目中使用 RT1170 演示板,并准备添加功能:使用该板可以发送一些图片或 UI 相关数据以更新在其上运行的应用程序。我的第个问题:我
    发表于 04-06 08:05

    是否有一些为iMXRT处理器集成和运行的LwIP堆栈示例代码?

    IDE 中使用了 iMXRT SDK 提供的演示示例,它正在运行,我们可以在对代码进行一些修改后建立 TCP 服务器客户端通信。现在我们已经将我们的项目移植到 IAR EW 中,但是当我们运行代码并启动
    发表于 04-03 06:23