基于知识引入的情感分析研究综述

news2024/12/23 2:33:03

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为所有领域构建一个小规模知识图谱,然后找出每个文档中独有的名词、形容词、副词集合,再依据从中抽取出一个文档相关的子图,进而提供一个由知识库知识提取而来的特征表示,与文档本身的情感表示一起做最后的情感分类。

图8 KinGDOM算法

类似地,在跨目标立场分类任务上,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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/938277.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言巧用联合体union判定数据的存储格式(大小端)

联合体大家可能比较陌生,但是大家对结构体稍微熟悉一点吧。其实它们二个类似,只不过结构体成员占用不同的地址,而联合体所有成员占用相同地址。利用这个特性我们就能判断在当前编译器下存储的数据的格式。那么如何确定呢? 我这里…

FPGA GTX全网最细讲解,aurora 8b/10b协议,OV5640板对板视频传输,提供2套工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 GT 高速接口解决方案3、GTX 全网最细解读GTX 基本结构GTX 发送和接收处理流程GTX 的参考时钟GTX 发送接口GTX 接收接口GTX IP核调用和使用 4、设计思路框架视频源选择OV5640摄像头配置及采集动态彩条视频数据组包GTX aurora 8b/10b数据对…

Java“牵手”天猫图片识别商品信息API接口数据,图片搜索商品接口,天猫拍立淘API接口申请指南

天猫平台按图搜商品接口(拍立淘)是开放平台提供的一种API接口,通过调用API接口,开发者可以获取天猫商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片、最低价、当前价格、价格信息等详细信息 。 获取拍立淘接口API…

Spring Boot Actuator的Env端点存在本地文件包含(LFI)漏洞CVE-2020-5421

文章目录 0.前言1.参考文档2.基础介绍3.漏洞利用原理3.解决方案1. 升级Spring Boot版本2. 限制端点的访问3. 禁用环境端点4. 不公开敏感的Actuator端点5. 开启安全审计 0.前言 背景: Spring Boot Actuator的Env端点存在本地文件包含(LFI)漏洞CVE-2020-5421。被扫描到…

软件工程(二十) 系统运行与软件维护

1、系统转换计划 1.1、遗留系统的演化策略 时至今日,你想去开发一个系统,想完全不涉及到已有的系统,基本是不可能的事情。但是对于已有系统我们有一个策略。 比如我们是淘汰掉已有系统,还是继承已有系统,或者集成已有系统,或者改造遗留的系统呢,都是不同的策略。 技术…

雪花假设:训练deep GNN 新思路

本文由中科大数据智能实验室联合阿卜杜拉国王科技大学(KSUST)、同济大学、新加坡国立大学、深圳科技大学、香港科技大学等多家院校联合提出了一种全新的训练深度GNN的策略—雪花假设,旨在帮助未来训练深度GNN并克服其中可能出现的over-smooth…

让敌人分兵,就能创造局部优势

让敌人分兵,就能创造局部优势 【安志强趣讲《孙子兵法》第22讲】 【原文】 故备前则后寡,备后则前寡,备左则右寡,备右则左寡,无所不备,则无所不寡。寡者,备人者也;众者,使…

软件工程(十八) 行为型设计模式(四)

1、状态模式 简要说明 允许一个对象在其内部改变时改变它的行为 速记关键字 状态变成类 类图如下 状态模式主要用来解决对象在多种状态转换时,需要对外输出不同的行为的问题。比如订单从待付款到待收货的咋黄台发生变化,执行的逻辑是不一样的。 所以我们将状态抽象为一…

软件工程(十七) 行为型设计模式(三)

1、观察者模式 简要说明 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新 速记关键字 联动,广播消息 类图如下 基于上面的类图,我们来实现一个监听器。类图中的Subject对应我们的被观察对象接口(IObservable),…

软件工程(十六) 行为型设计模式(二)

1、迭代器模式 简要说明 提供一种方法来顺序访问一个聚合对象中的各个元素,而不是暴露该对象的内部状态 速记关键字 数据集,迭代,循环 类图如下 其实迭代器模式在我们的不同语言中,均对其实现了,就是我们的各种集合,List,Set等都是迭代器模式的实现。 就是把一个集…

09 mysql fetchSize 所影响的服务器和客户端的交互

前言 这是一个 之前使用 spark 的时候 记一次 spark 读取大数据表 OOM OutOfMemoryError: GC overhead limit exceeded 因为一个 OOM 的问题, 当时使用了 fetchSize 的参数 应用服务 hang 住, 导致服务 503 Service Unavailable 在这个问题的地方, 出现了一个查询 32w 的数据…

【javaweb】学习日记Day6 - Mysql 数据库 DDL DML

之前学习过的SQL语句笔记总结戳这里→【数据库原理与应用 - 第六章】T-SQL 在SQL Server的使用_Roye_ack的博客-CSDN博客 目录 一、概述 1、如何安装及配置路径Mysql? 2、SQL分类 二、DDL 数据定义 1、数据库操作 2、IDEA内置数据库使用 (1&…

特征工程 – Feature Engineering

特征工程是机器学习工作流程中重要的组成部分,他是将原始数据「翻译」成模型可理解的形式。 特征工程的重要性 基于大量数据的简单模型优于基于少量数据的复杂模型。 更多的数据优于聪明的算法,而好的数据优于多的数据。 所以,如何基于给定数…

CSS中如何实现背景图片的平铺和定位?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 平铺背景图片⭐ 背景图片定位⭐ 同时设置平铺和定位⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是…

AcWing 2058. 笨拙的手指(每日一题)

大家好 我是寸铁 如果你觉得这篇题解对你有用,可以动动手点个赞或关注,谢谢~ 题目描述 输入的第一串字母,存在一位错误。 输入的第二串字母,存在一位错误。 答案保证唯一解 我们需要去枚举每一位,找到二进制和三进制…

pytest笔记: pytest单元测试框架

第一步:安装 和查看版本 pycharm settings 查看 第二步: 编写test_example.py def inc(x):return x1 def test_answer():assert inc(4) 5 第三步:在当前路径下执行pytest 命令 PS E:\data\web测试\Selenium3自动化测试实战——基于Pyth…

web浏览器使用FileSystem的API进行本地文件的存储

作者:程序员CKeen 博客:http://ckeen.cn 长期坚持做有价值的事!积累沉淀,持续成长,升维思考!希望把编码作为长期兴趣爱好😄 目录 1. 背景2. Web端本地File操作的API3. File and Directory Entri…

战略形成是权力妥协的过程,江湖,政治是常态

战略权力派:战略形成是各种权力妥协的过程【安志强趣讲270期】 趣讲大白话:有人的地方就有政治 **************************** 有人的地方就有江湖 有组织的地方就有政治 公司的战略是各种人的权力博弈的产物 围观权力:就是组织内部 宏观权力…

点可云进销存开源系统V6.0.1 ERP系统进销存源码仓库管理

介绍 点可云进销存系统,基于thinkphplayui开发。 功能包含:采购、销售、零售、多仓库管理、财务管理等功能 和超详细的报表功能(采购报表、销售报表、零售报表、仓库报表、资金报表等) 软件架构 thinkphplayui 功能概览 购货 -购…