Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

袁建华 袁明琛 卢延悦作者

基于知识引入的情感分析

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.

本期责任编辑:崔一鸣
本期编辑:朱文轩
哈工大SCIR
哈工大SCIR

哈尔滨工业大学社会计算与信息检索研究中心

理论情感分析
2
相关数据
刘挺人物

哈工大人工智能研究院副院长,国内NLP方向领军人物。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

常识知识库技术

常识知识库是当代智能系统或智能代理所具备的一种知识库。它是解决人工智能或知识工程技术瓶颈难题的一项关键措施,其特点是数量上规模大。早期人工智能或知识工程系统所具备的领域知识库是另一种知识库。也就是说,领域知识库和常识知识库是智能计算机系统所具备的知识库的两种基本类型。计算机科学领域普遍认为领域知识库和常识知识库是人工智能或知识工程技术瓶颈难题。从早期关注专家的领域知识到现在同时关注常识知识,这是人工智能或知识工程技术的一种进步。由于计算机硬件和软件以及数据库乃至数据仓库及其人机交互界面等技术的不断成熟,使得人们在21世纪开发各种专家系统所需要的各个中等规模的领域知识库和开发常识系统所需要的大规模的常识知识库都具备了基础条件。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

知识库技术

知识库是用于知识管理的一种特殊的数据库,以便于有关领域知识的采集、整理以及提取。知识库中的知识源于领域专家,它是求解问题所需领域知识的集合,包括基本事实、规则和其它有关信息。

知识图谱技术

知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。 知识图谱这个概念最早由Google提出,主要是用来优化现有的搜索引擎。不同于基于关键词搜索的传统搜索引擎,知识图谱可用来更好地查询复杂的关联信息,从语义层面理解用户意图,改进搜索质量。比如在Google的搜索框里输入Bill Gates的时候,搜索结果页面的右侧还会出现Bill Gates相关的信息比如出生年月,家庭情况等等。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

特征抽取技术

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

多任务学习技术

WordNet技术

WordNet是由普林斯顿大学心理学家、语言学家和计算机工程师联合设计的一种基于认知语言学的英语词典。它不是光把单词以字母顺序排列,而是按照单词的意义组成一个“单词的网络”。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

语言学技术

每种人类语言都是知识和能力的复合体,语言的使用者能够相互交流,表达想法,假设,情感,欲望以及所有其他需要表达的事物。语言学是对这些知识体系各方面的研究:如何构建这样的知识体系,如何获取,如何在消息的制作和理解中使用它,它是如何随时间变化的?语言学家因此关注语言本质的一些特殊问题。比如: 所有人类语言都有哪些共同属性?语言如何不同,系统的差异程度如何,我们能否在差异中找到模式?孩子如何在短时间内获得如此完整的语言知识?语言随时间变化的方式有哪些,语言变化的局限性是什么?当我们产生和理解语言时,认知过程的本质是什么?语言学研究的就是这些最本质的问题。

图卷积神经网络技术

图卷积神经网络(Graph Convolutional Network)是一种能对图数据进行深度学习的方法。GCN的三个主要特征:它是卷积神经网络在 graph domain 上的自然推广;它能同时对节点特征信息与结构信息进行端对端学习;适用于任意拓扑结构的节点与图;

自监督学习技术

一个例子中的内容特别多,而用一个例子做一个任务,就等于把其他的内容浪费了,因此我们需要从一个样本中找出多个任务。比如说遮挡图片的一个特定部分,用没遮挡部分来猜遮挡的部分是一个任务。那么通过遮挡不同的部分,就可以用一个样本完成不同任务。Yann Lecun描述的这个方法被业界称作「自监督学习」

情感分类技术

情感分类是对带有感情色彩的主观性文本进行分析、推理的过程,即分析对说话人的态度,倾向正面,还是反面。

暂无评论
暂无评论~