情感分析基础

概念

自然语言处理中的情感分析是分析人类对某个目标对象所蕴含的观点,在业界一般称为观点挖掘(opinion mining),又因主要研究人类通过文字所表达的情感,也称为文本情感分析

其主要分析人类对一个目标对象所产生的情感极性、情绪、评价、态度。目标对象包括但不限于商品、服务、组织、个人、事件等等。根据不同场景又有不同任务,例如情绪识别、对话情感分析、情感对话生成、观点分析、观点摘要、主观分析、情感计算、评价分析等等

粒度

针对文本的情感分析分为:词级别情感分析句子/文档级情感分析目标级情感分析。其中词级别和句子级别的分析对象分别是一个词和整个句子的情感正负向,不区分句子中具体的目标,如实体或属性,相当于忽略了五要素中的实体属性这两个要素。

词级别

即情感词典构建,研究的是如何给词赋予情感信息,如庆典对应的情感标签是正面

句子/文档级

研究如何给整个句子或篇章打情感标签,如今天天气非常好对应的情感标签是正面

目标级

考虑了具体的目标,该目标可以是实体某个实体的属性实体加属性的组合。具体可分为三种

1) Target no aspect based sentiment analysis (TN-ABSA)

TN-ABSA 的分析对象是文本中出现的实体的情感正负向,这种情况下没有属性的概念,只有实体。

评论 Apple Music 网易云
Apple Music比网易云干净多了。 🙂 😣
2) Target-grounded aspect based sentiment analysis (TG-ABSA)

TG-ABSA 的分析对象是给定某一个实体的情况下该实体给定属性集合下的各个属性的情感分析

评论 材质 大小 价格
这款助力带非常好用,牛皮材质经久耐用,大小刚好合适,就是价格偏高。 🙂 🙂 😣
3) Target aspect based sentiment analysis (T-ABSA)

T-ABSA 的分析对象是文本中出现的实体和属性组合

评论 AM外语曲库 网易云内地曲库
Apple Music外语曲库大,但网易云内地曲库大。 🙂 🙂

情感分析要素

情感分析主要有五个要素(entity/实体,aspect/属性,opinion/观点,holder/观点持有者,time/时间),其中实体和属性合并称为对象 (target)。而当前研究中一般都不考虑情感分析五要素中的观点持有者和时间,故后文中的讨论都不考虑这两个因素。

image-20220623153831150

情感分析五元素

举例:“我觉得陀斯妥耶夫斯写的书很好看

  1. 对象:表示对哪个对象有观点或情感评价,即「陀思妥耶夫斯基写的书」。
  2. 观点:观点有多种表示法,具体下面会提及,这里暂用极性来说明,即「正面」。
  3. 持有者:即谁表达了该观点,即「」。如果在文本中没有指明具体持有者,通常需要借助于文本来源信息。记录持有者的意义在于,在后续分析中往往有针对人群观点评估的需要,结合用户画像可以产生很多不同的分析维度,例如分析不同地域的情感差异。
  4. 时间:即观点产生的时间,通常文本中不会显式写出观点产生的时间,也需要借助于文本来源,例如微博的发送时间。观点时间也有利于后续的分析,不同的时间段人群对某类事物的评价也有很大差异。

对象结构化表示

情感对象/评价对象一般用三个元素来表示:(实体类型,实体,实体方面) - (category, entity, aspect)。元素之间本身具有层级关系,从左到右概念越来越细化,其中实体类型本身也可以有多个层级,而实体方面往下也可以继续拆分成多个子方面

举例:“《罪与罚》的心理描写很真切

  1. 实体类型:实体类型为陀思妥耶夫斯基的著作,往上仍有更高的实体类型层级,如书籍 → 俄国文学 → 小说
  2. 实体:《罪与罚》这本书
  3. 实体方面:具体实体的某个属性或子属性,这里为《罪与罚》—— 心理描写

情感结构化表示

情感分析要素(对象,观点,持有者,时间)中的观点有多种表示方法,可以用三个元素来表示:(类型,极性/强度,措辞) - (type,orientation/intensity,opinion terms)

  1. 类型:可分为理性情感与情绪情感。
    1. 理性情感一般指的是通用情感,即没有具体情绪类别的情感。如“《罪与罚》的心理描写很真切
    2. 情绪情感有具体的情绪标签,并且情绪的定义有时也跟具体业务强相关。如“我喜欢这本书
  2. 极性/强度:表示对应情感类型的极性或强度,可以用数值表示法(0-10)或类别表示法(正面、负面、中性)。
  3. 措辞:表示具体情感的词组、短语或短句,例如“仰卧起坐效果一般,还容易伤颈椎”,对应的情感词为一般

作用

由于情感分析具有众多的应用场景,如商品评论的分析、舆情分析等等,因此情感分析受到工业界的广泛关注,已成为自然语言处理研究应用落地的重要体现。

另外,情感分析还在社会学、经济学、管理学等领域都显示出重要的研究意义和广泛的应用场景,这些需求对情感分析不断提出了更高的要求,从而推动了情感分析研究的内涵和外延不断拓展和深入。

方法

情感分析的主要方法分为:基于情感词典的情感分析方法、基于机器学习的情感分析方法、基于深度学习的情感分析方法

情感词典方法

基于词典的文本情感分析技术由于构建的词典往往只针对某个领域,对于跨领域情感分析的效果不够好,而且词典中的情感词可能不够丰富,对于短文本和特定领域文本进行情感分析的效果更好。因此,对于长文本来说,更好的解决方法是利用机器学习方法。

人工构建情感字典

人工构建词典是抓取数据之后多次进行人工标注,根据情感表达将词语进行正负向和强弱程度区分。比较典型的中文情感词典是王勇等对微博中的句子构建的极性词典。台湾大学的中文情感极性词典(NTUSD)、知网情感词典 HowNet等。

人工构建词典在扩充词条信息和便利性方面有一定的优势,但是大大增加了人工开销,并且设计的范围有限,不适合跨领域研究。

自动构建情感字典

第一种是基于知识库的方法,是对上面的人工构建情感词典进行的拓展,加入名词动词副词,使情感词更加全面。

完备的语义知识库, 能够快速构建通用性较强的情感词典, 对词典的精度要求不高的情况下, 这种方法较为实用。中文语义知识库的不足以及领域的限制使得该方法在构建面向单一领域的情感词典中表现不佳。

第二种是基于语料库的方法,利用相关领域的大量语料和相关度的计算规则,结合机器学习的方法,自动统计情感词的情感极性,自动构建情感词典。

语料库相对于语义知识库而言, 其优点是容易获得且数量充足, 构建的词典在语料所属的领域内表现较好, 但是构建的成本较高, 需要对语料进行预处理, 另外, 所构建的词典的准确率相对不高。

第三种是知识库和语料库结合的方法,通过将扩充的情感知识库和特定领域的语料库结合,使构成的情感词典更加丰富。

小结

优点:

  1. 能有效反应文本的结构特征,易于理解
  2. 在情感词数量充足时分类效果明显

缺点:

  1. 没有突破情感词典的限制,要对情感词典不断扩充,使得文本情感判断的准确率不高

基于传统机器学习的情感分析方法

朴素贝叶斯

基于朴素贝叶斯的方法是通过计算概率来对文本情感进行分类的,适合增量式训练,特点是算法简单

1) 贝叶斯公式

首先计算单个唯一词属于各情感类别的概率

P(wiclass)=freq(wi,class)NclassP(w_{i}|class) = \frac{freq(w_{i},class)}{N_{class}}

  • P(wi | class) :词 wi 属于类别 class的概率
  • freq(wi | class) :词 wi 在类别为class的语料库中出现的频率
  • Nclass: 类别为class的语料库中 唯一词总数
例子

有如下四条推文,两条属于积极推文,另外两条属于消极推文

Positive: ‘I am happy because I am learning NLP,’ ‘I am happy, not sad.’

Negative: ‘I am sad, I am not learning NLP,’ ‘I am sad, not happy.’

  • I

    • p( ‘I’ | positive) = 3/13 = 0.24

    • p( ‘I’ | negative) = 3/12 = 0.25

  • am

    • p( ‘am’ | positive) = 3/13 = 0.24

    • p( ‘am’ | negative) = 3/12 = 0.25

通过类似的计算, 可得到所有唯一词属于各类别的概率表

Word pos neg
i 0.24 0.25
am 0.24 0.25
| | |
| | |
not 0.08 0.17
Sum 1 1
2) 拉普拉斯平滑 (Laplace Smoothing)

如果某个唯一词仅在特定类中出现,那它在其他类中出现的概率就会为0。在之后的朴素贝叶斯中就会导致分母为0情况的出现,因此引入拉普拉斯平滑。

3) 朴素贝叶斯

每个单词对情感产生的影响,可以通过正负两类单词出现的概率之比来计算

P(wipos)P(wineg)\frac{P(w_{i}|pos)}{P(w_{i}|neg)}

而整条推文的情绪就可以使用各唯一词的朴素贝叶斯成绩。同时为了防止数据不平衡以及因此产生的偏差,因此还需要引入先验因子。同时为了避免结果过大或过小,对结果取对数。

log(P(pos)P(neg)i=1mP(wipos)P(wineg))log(\frac{P(pos)}{P(neg)} \prod_{i=1}^{m} \frac{P(w_{i}|pos)}{P(w_{i}|neg)})

若对数似然值大于0,则表明该句子是积极的。

4) 缺点
  1. 朴素贝叶斯在贝叶斯公式的基础上做了独立同分布的假设

  2. 该方法对输入数据的表达形式很敏感,而且需要计算先验概率,因此会在分类决策方面存在错误率

临近算法(KNN)

KNN算法是常见的分类算法之一,属于有监督学习中的分类算法,全称为K-Nearest Neighbor。

KNN算法的工作方法是将测试集中的每个特征与样本集中的特征进行比较,然后提取前k个最相似的数据标签,比较出现的频率,最后将频率最高的类别作为分类的结果输出。

步骤:

  1. 预处理(文本向量化、特征选择)
  2. 计算训练集中的点与当前点之间的距离;
  3. 按照距离递增次序排序;
  4. 选取与当前点距离最小的 k 个点;
  5. 确定前 k 个点所在类别的出现频率;
  6. 返回前 k个点出现频率最高的类别作为当前点的预测分类。

注意点:

  1. k的选择:k太小,分类易受噪点影响;k太大,会包含太多其他类别的点
  2. :越近的样本越可信,概率越大的样本越可信
  3. 距离计算公式:在文本分类计算相似度中,余弦优于欧式

支持向量机(SVM)

支持向量机(SVM)是一种基于统计学习理论的机器学习算法。它基于线性分类器的原理首先由Vapnik提出的。SVM可以用于解决线性与非线性样本分类,其核心思想是将低维空间线性不可分的样本点通过核函数映射至高维特征空间中,然后在特征空间中构造出最优分类超平面,这时数据在高维空间也可以被超平面分割,从而变得线性可分,并且各个样本与超平面的举例应保持最大。

结果表明,基于Boosting算法的SVM混合情绪分析模型,性能显著优于单独的SVM模型

基于SVM的文本情感分析方法被认为是最好的情感分析方法,该方法泛化错误率低,计算开销不大,而且对于训练样本较小的文本可以得到很好的情感分析效果,对高维数据的处理效果良好,能够得到较低的错误率,但该方法对参数调节和核函数的选择敏感。

小结

优点:

  1. 能根据情感特征的 选取以及情感分类器的组合对文本的情感进行分类

缺点:

  1. 不能充分利用上下文文本的语境信息,影响分类准确性
  2. 数据量大时完成分类任务的效率和质量低

下表为基于机器学习方法的情感分析的实验结果

image-20220623210857203

基于深度学习的情感分析方法

单一神经网络的情感分析方法

典型的神经网络学习方法有:卷积神经网络(Convolutional Neural Network,CNN)、递 归 神 经 网 络 (Recurrent Neural Network,RNN)、长短时记忆(Long Short-Term Memory,LSTM)网络等。

和使用基于情感词典和传统机器学习的情感分析方法相比,采用神经网络的方法在文本特征学习方面有显著优势,能主动学习特征,并对文本中的词语的信息主动保留,从而更好地提取到相应词语的语义信息,来有效实现文本的情感分类。

混合(组合、融合)神经网络的情感分析方法

除了对单一神经网络的方法的研究之外,有不少学者在考虑了不同方法的优点后将这些方法进行组合和改进,并将其用于情感分析方面。

引入注意力机制的情感分析

引入注意力机制,能够更好地捕获上下文相关信息,提取语义信息,防止重要信息的丢失,可以有效提高文本情感分类的准确率。现阶段的研究更多的是通过对预训练模型的微调和改进,从而更有效地提升实验的效果。

使用预训练模型的情感分析

预训练模型是指用数据集已经训练好的模型。通过对预训练模型的微调,可以实现较好的情感分类结果,因此最新的方法大多是使用预训练模型,最新的预训练模型有:ELMo、BERT、XL-NET、ALBERT 等。

小结

优点

  1. 能充分利用上下文文本的语境
  2. 能主动学习文本特征,保留文本中词语的顺序信息,从而提取到相关词语的语义信息,来实现文本的情感分类。
  3. 通过深层网络模型学习数据中的关键信息,来反映数据的特征,从而提升学习的性能。
  4. 通过和传统方法相比,使用语言模型预训练的方法充分利用了大规模的单语语料,可以对一词多义进行建模,有效缓解对模型结构的依赖问题。

缺点

  1. 基于深度学习的方法需要大量数据支撑,不适合小规模数据集
  2. 算法训练时间取决于神经网络的深度和复杂度,一般花费时间较长

相关任务

方面情感分析(ABSA)

基于方面的情感分析(aspect-based sentiment analysis, ABSA)是一个重要的细粒度情感分析问题,它从相关文本识别出文本中某个相关文本项(text item)的情感元素。[34]

它有4个关键情感元素分别为:

1.方面项(Aspect Term):任意一个实体或实体的任意一方面

2.方面类别(Aspect Category):方面项所属的类别,提前预定义

3.观点项(Opinoin Term):对方面项的观点描述(当观点表达争对实体的整体时,成为GENERAL)。

4.情感极性(Sentiment Polarity):对整句话大体的情感极性描述

例句 直立划船是很危险的
Aspect Term 直立划船
Aspect Category 动作
Opinion Term 危险
Sentiment Polarity 消极

情绪识别(Emotion Detection)

一般对情感类型进行讨论时指的都是理性情感,但在有些场景下需要更细粒度的情感类型,称为情绪情感(emotional sentiment),如:开心、难受、沮丧等。该任务目前有两个难点:

1.情绪分类较多,且不同情绪存在相似之处,例如高兴和惊喜生气和厌恶

2.情绪情感较为主观,不同人对同一段文本会有不同的感受,导致数据标注难度大,且数据质量可能不高。

对话相关

对话情感分析

对话情感分析与情绪识别任务较为相似,主要区别在于分析的对象是上下文强依赖的对话,目标是识别对话中每一轮句子的情感。对话场景中关注的更多是情绪情感类型,即每一轮的具体情绪。

多轮对话包括非常多的场下问背景信息,一个理想的对话模型应该包括对话者性格特征、对话主题、对话内容、对话者状态、对话者意图、对话者情感状态。但实际情况中往往得不到如此多的上下文信息,以及可利用的数据集。因此最近的一些工作开始考虑如何利用更多信息建模,比如说话人的状态、对话人之间情绪影响,或者直接将所有可获得的 context 信息作为特征,用序列标注模型来解决。

情感对话生成

情感在对话中另一个典型应用是对话生成,目标是生成具有情感特征的对话。根据生成过程中是否需要明确指定情绪情感,该任务可分成两种类型:

1.待生成回复的情绪类型已经确定,模型需要生成具有该指定情绪的对话。即输入是(对话上文,指定情绪类型),输出是(蕴含该情绪的回复)

2.不给定具体情绪类型,根据上文直接生成具有合适情绪特征的回复。该方法认为指定情绪在实际应用中是不现实的,情绪回复应该已经隐含在整体对话主题和上下文之中了。即输入是(对话上文),输出是(蕴含某情绪的回复)

观点摘要

观点摘要是观点挖掘结构化的关键任务,其目标是将一群人的多个观点进行结构化提取和展示,即观点摘要是一群观点的结构化表示。由于结构化需要比较细的粒度,一般用于 Aspect 粒度的摘要。

观点摘要有以下特点

1.对一群人的观点进行总结

2.聚焦于具体的观点对象(实体/方面)

3.需要显示对象的情感评价

4.结构化

5.量化

6.从众多观点中总结出主要观点

商品评价是观点摘要最常见的应用场景

image-20220627213922859

立场识别(Stance Detection)

立场识别的目标是识别出一段文本的作者对一个对象,是否有支持、反对或中立的立场。立场识别一般用在社交媒体等适合用户表达观点的网站,作用域一般是经常有争议的对象,例如国会辩论、公司内部议题、在线论坛上的讨论、社交媒体的热点讨论等。

立场识别有如下特点,也正是这些特点导致了立场识别较高的难度。

1.Target 对象可能没有显示在文本中

  • Target:拜登
  • Tweet:我认为特朗普在任期间做了很多愚蠢的决策。
  • 上面 Tweet 虽然没有提拜登,但由于拜登和特朗普是对立关系,系统需要推断出作者支持拜登。

2.积极情感与支持并不等价,如上文虽是消极情感,但表达了对拜登的支持

反讽识别

在社交媒体上经常会有“阴阳怪气”的出现。而反讽识别就是判断一个句子是否有讽刺、反讽的含义。从一句话的字面含义很难判断是否有反讽意思,往往和上下文强关联,所以反讽任务一般都比较难,属于深层次语义理解的一类。在实际应用里,能否真正判断一句话是否有讽刺意图,一般需要参考下面 context 信息:

  1. 常识

  2. 说话人个性特征

  3. 对话上下文

  4. 多模态信息,例如说话人表情、肢体动作等

目前关于反讽任务的工作一般分为两类:

1.将其当成分类任务,重点是如何有效的引入合适的 context 信息

2.利用反讽句子中的短语意义不一致性,例如“这电影太精彩了让我睡得很香”,其中含有矛盾的短语(电影太精彩,睡得很香)

情感原因推理

有时,除了需要抽取对象的相应情感,还需要抽取引起该情感的原因,以辅助后续更复杂的因果关系。此时情感多元组就变成了(对象,观点,原因,持有者,时间)

情感原因推理是强依赖上下文的任务,系统需要对情感和原因之间的关系进行建模,目前该任务能用的数据集比较少,很多研究者都在积极推动数据集的建设。

例句 这电影太难看了,感情戏加得莫名其妙
对象 电影
情感 负面
情感原因 感情戏

现状、问题和方向

发展与现状

发展

Foundations

Wiebe

Private States, 1994

Subjectivity Analysis, 1999

SA on reviews

Bag of word & Syntactic Rules,Turney 2002

该研究第一次根据评论的情感取向对评论进行分类。其通过列举几个句法规则来归纳短语级的情感挖掘,并引入词袋概念用于情感标注

Sentiment Composition

Valence Shifters, Polanyi & Zaenen 2006

情感转移器即可以改变情感取向的单词和短语,这种移位器有几种类型。最常见的类型是否定词。但并不是情感转移器的每一次出现都会改变情感取向,例如,“不仅……而且”。

Opinion Summarization, Hu & Liu 2004

观点摘要是观点挖掘结构化的关键任务,其目标是将一群人的多个观点进行结构化提取和展示,即观点摘要是一群观点的结构化表示。由于结构化需要比较细的粒度,一般用于 Aspect (方面)粒度的摘要。

Lexicons for SA

Senti/WordNet, ESuli 2006

Senti/WordNet是一个有名的情感词典,构筑于Wordnet。 在该词典中,每一个同义词集合依据他们的词义,分别被赋予了肯定、否定和客观的分数。

SO-CAL, Taboada 2001

SO-CAL是一个基于词汇的情绪计算器。 在其内部的词典中,每个词与它的语义情感相关联(极性和强度)。 它的优势在于能够理解情感转移器,如强化、减弱以及否定。

Sentiment-specific Word Embeddings

Sentiment Loss, Tang et al 2014

这项工作提供了为情感分析提供了量身定制的词汇表征,以将情感信息融入了学习损失中来解释情感规律。

Deep Learning

RNTN, Socher et al 2013

递归神经张量网络是深度学习时代的初始模型之一,它可以通过对句子中短语的情感的影响及范围进行建模,来确定句子的情感。

CNN, Kim et al 2014

其提出的卷积神经网络具有优越的特征提取分类能力,因此可以尝试把文本视为一维图像,用CNN来对文本进行分类。

Contextual Language Models

ULMFit, Howard & Ruder 2018

ULMFiT用于实现像CV领域的迁移学习,并可以用于任意NLP任务,其共分为3个阶段,首先是语言模型的预训练、然后是语言模型的finetune、最后是分类任务的finetune

finetune微调将冻结预训练模型的部分层(通常是靠近输入的多数层),训练剩下的层(通常是靠近输出的部分层)。

在语言模型的finetune中,作者根据经验对不同层使用了不同的学习率,以提高训练的效率,并使用了倾斜的三角学习率,使参数快速收敛到合适区域后再缓慢调整。

在分类任务的finetune中,逐层解冻前面的层,以防止灾难性遗忘(丢失预训练中学习到的内容),并单独训练两个方向的语言模型,最后的预测结果为两个模型的融合。

BERT, Devlin 2019

BERT是一个预训练的语言表征模型。它采用新的masked language model(MLM),以致能生成深度的双向语言表征。其在11种不同NLP测试中创出SOTA表现,是NLP发展史上里程碑式的模型成就。

Masked LM

  1. 在在每一个训练序列中以15%的概率随机地选中某个token位置用于预测
    1. 80%的概率下,用[MASK]标记替换该token
    2. 10%的概率下,用随机单词替换该token
    3. 10%的概率下,该token保持不变
  2. 预测出原来的token并计算loss
  3. 利用这种高度不确定的情况,可以倒逼模型快速学习该token的上下文语义,令到BERT不再只对[MASK]敏感,而是对所有的token都敏感,以致能抽取出任何token的表征信息。

现状

如今的NLP领域已经被预训练模型占领了,目前大多情感分析任务也都是在预训练模型的基础上进行的。下图为在IMDB、SST-2/5、Semeval数据集上不同方法的准确率。SOTA(表现最好的模型)无一例外都是基于预训练模型的。image-20220624190047278

由此可以观察到,每当NLP领域出现一种范式转换后,会先将该范式应用于情感分析,再根据情感分析的特点去改善这种模式。将情感本身特点融入到语言模型中也正是目前的一个研究热点,最近的很多工作也确实在朝着这个方向努力。

难点与方向

细粒度的情感分析(ABSA)

粗粒度的情感分析越来越不能满足人们对模型可解释性的需求,而ABSA几乎满足了大部分场景对情感分析的需要,这种细粒度分析信息结构化抽取可以说是智能系统必要的能力。下面列举了两个ABSA情感分析主要难点和方向:

1)Implicit Aspect-Level Sentiment Analysis

除了显式的情感之外,还存在隐式情感。在如下例子中“这群笨蛋网民竟然不同意的他的观点”。可以明显地观察到,对于网民的情感是消极的。 与此同时,可以推断出,对于观点的情感是积极的。

隐式情感是自然语言中很重要的一部分,理应被重视,但目前大部分对于情感分析的研究多用于显式的文本情感分类问题,采用含有明显情感词的数据集,而对于某些隐式情感的检测和分类效果不佳

难点:

隐式情感的分析

2)Aspect Term-Polarity Co-Extraction

ABSA中现有的大多数算法都认为方面抽取和方面级情感分析是顺序或独立的任务,因此都把这些任务当作是独立的子任务来顺序的的解决,而忽略了任务之间的内在联系

难点:

对子任务间内在联系的忽略

方向:

多任务学习迁移学习

3)Exploiting Inter-Aspect Relations for Aspect-LevelSentiment Analysis

之前ABSA一般假设目标之间相互独立,但在很多情况下目标是相互联系的,常见情况有以下两种

① aspect 并没有任何相关情感词,需要利用相邻的目标情感来推断,例如“这手机性价比太高了,内存是 256G 的”,其中手机性价比有明确的情感和相应情感词,但手机内存只有事实说明,没有情感词,需要通过手机性价比来推断该手机内存的情感也是正面的。

②有的 aspects 用连词连接,两者共用一个情感词,例如“亮度和对比度都还不错”。

难点:

对目标之间的内在联系的忽略

方向:

①对目标与其情感相关上下文间的关系进行建模**[12]**

②对目标间关系进行建模**[13]**

上下文信息与其他知识表示

利用上下文信息(context)和其他知识表示一直是 NLP 的技术方向,很多任务单纯从字、词、n元语法模型等文字特征上很难有效学习到深层次的知识。

1) 情感词典

在深度学习之前,往往使用情感词典来解决情感分析问题。但单独使用情感词典会遇到许多问题,如词语组合后导致情感取向的变化、同一个词语在不同语境下的多种情感等。但如果将情感词作为一个特征,往往可以为模型提供词粒度的先验知识,提升模型对情感的表示能力。

方向:

①将词典信息融入到中文NER的CNN结构模型中以加速模型的训练(LexiconRNN)[14]

②使用注意力机制计算句子中每个词分别和正向、负向词的关系,充分考虑上下文的影响。[15]

③将 SentiWordNet词典中的情感极性和 POS 信息放入预训练模型中,并在目标函数中引入对 mask 词的极性预测 [16]

2) 句法知识

将模型中引入句法知识是很多 NLP 任务的通用做法,尤其是那些需要对句子成分进行识别或推理的任务。引入句法成分信息有利于模型学习细粒度的特征结构和关系,方面情感分析就是这一类典型场景,其中一个关键子任务是找到 方面目标情感目标的关联关系。

方向:

①使用依存关系来做 Aspect 极性分类 [17]

②将依存和成分信息引入多任务模型,然后将方面抽取极性分类都当做序列标注任务 [18]

③有使用图卷积网络来建模依赖图的工作 [19]

④除了句法成分和关系,一些工作还利用了其他语言学信息,例如 MEAN 利用情感词典、否定词、程度词注意力机制来做情感分类 [20]

3) 其他

①Commonsense Knowledge:常识也是大多 NLP 任务想引入的外部知识来源,也一直是热点方向。除了利用外部通用知识(WordNet、ConceptNet 等),也有利用构建好的情感知识库,有很多工作是在 SenticNet 上进行扩展 [21]

②社交平台上 HashTags:网民在 Twitter、Reddit 等社交平台上使用 hashtagsemoji 的频率非常高,很多工作将其作为弱监督信号来建模,例如使用 hashtags [22]、用 emoji 共现 [23] 来做情绪分析。

将情感信息融入预训练模型

让预训练模型在预训练阶段就能学习到情感相关的知识,是目前情感分析的趋势。即在预训练自监督模式设计上,加入领域内的知识或假设,构建适合一类任务的专用预训练模型,这也是目前很多提升预训练模型在下游任务表现的有效方法之一。从上一小节的分析,能当做自监督信号大多是情感词典、句法知识、外部知识库、已有情感数据集等,如何将这些知识融入自监督预训练模式是目前很多工作的重点,例如:

1) SentiBERT [24]

认为情感语义的组合复杂性目前很多模型都没有很好的解决,希望在预训练中加入情感的成分信息引导模型学习更多的情感组合。该工作在已有的情感语义结构数据集进行再次预训练,利用其中的句法成分短语极性来做预训练信号的补充。

  • 新增监督信号:
  • 成分句法结构中的短语节点的情感极性

  • 预训练数据集:
  • SST-5

2) SentiLARE [25]

将语言知识加入预训练有两个挑战,一是外部语言知识需要和文本上下文一致,例如情感词典的词极性可能和待训练文本的词义一致。二是外部知识需要能辅助下游任务的目标,例如词典知识需要辅助模型对句子极性的识别。该工作就是考虑如何将外部词典的词极性融入到预训练阶段,为了准确找到文本中的词极性,作者使用大型公开情感词典 SentiWordNet利用词典中的词义的解释和文本进行匹配,找到最合适的词典词义及其词极性。在预训练阶段新增句子极性、mask token 的词性和情感极性的自监督信号。

  • 新增监督信号:
  • ① 句子情感极性

  • ② mask token 的词性

  • ③ 情感极性

  • 预训练数据集:
  • Yelp Dataset Challenge 2019

  • 外部知识库:
  • SentiWordNet

3) SKEP [26]

大多数情感分析都依赖的是情感词、词极性,以及对象和情感词的对应关系,在粗粒度和细粒度情感分析任务中,这几个都是关键学习对象。该工作利用预设的情感词种子和对象的共现程度,在大规模亚马逊评论数据集中挖掘大量的 aspect-opinion pairs,将其作为自监督信号进行预训练。

  • 新增监督信号:
  • ① mask token 词性

  • ② mask 情感词

  • ③ 对象-情感词 pair

  • 预训练数据集:
  • Amazon-2

领域依赖

是指文本情感分析的模型对某一领域的文本数据非常有效,但是将其应用于其他领域的时候,会使得分类模型的性能严重下降。这也是 NLP 的通用问题,在业界应用中广泛存在,在这个方向上突破将有很大的实际意义。

1) Multi-Domain

Multi-Domain 指的是任务作用域有多种场景,场景之间不论从特征空间还是语义表示都可能存在较大差异。同一个词可能在不同场景情感极性差异会很大。如果只针对某个领域进行优化,虽然能提升单一场景的效果,但可能会造成对该场景的过拟合,使之在其他场景中性能不佳。

难点:

既保留场景间的共性,又能表示场景间的个性

方向:
① Shared-Private network[27]

用一些 networks 来学习领域无关(domain-agnostic)即各领域共享的特征,用另一些 networks 学习领域相关(domain-specific)即单个领域的特征。该文章提出了一个多任务框架,多种任务之间可以通过一个外部memory共享信息。

② Adversarial multi-task learning[28]

多任务学习的重点是学习共享层,其必须包含更多的共同特征和不包含特定任务的特征。该多任务对抗网络为此作了如下工作

  1. 以精确的方式划分了任务特定(私有)空间共享空间
  2. 使用对抗训练用于确保共享空间只包含共有的信息
  3. 使用正交约束用来消除共享和特有空间冗余的特征
③ Private to shared attention mechanism[29]

利用自注意力机制在共享特征中挑选合适的私有特征

2) Cross-Domain

跨领域/领域迁移,旨在解决目标领域没有或只有少量的标注语料的问题,可以利用的前提条件是在另一个相似领域有足够多的语料,即迁移学习

难点:

语义在不同领域不一致

方向:
① 前预训练时期

在预训练统治期之前,解决跨领域的方式跟多领域有相似的地方。

Domain Adapted Word Embeddings 通过分别捕获特定语义非特定语义,并将其组合,来解决了词向量在通用性特定性之间的矛盾**[30]**。

可迁移信息识别能自动提取在跨域中具有相同重要度和一致极性的词,作为用于跨域情感分析的可用信息 [31]

② Finetune

通过源域数据训练base模型,将base模型使用目标域数据经过多个阶段微调

③ Selective masking[32]

传统预训练模型在 pretrain 阶段进行的 token mask 时太随意,会导致学习到的通用表示无法很好适用于下游任务。

使用 selective masking 策略,挑选对下游任务有较大影响的 tokens 进行 mask,增加 pretrain 阶段的目的性,使得到的预训练模型再作用于下游任务将会有更好的任务特定表征

④ DomBERT[33]

迁移学习在源领域与目标领域有较强相关性的时候才有较好的效果,因此该方法在很多的源领域中自动选择和目标领域相似的训练样本来进行预训练

DomBERT 通过用大量不同领域的非标注语料来训练领域分类器,利用该分类器来计算不同领域样本相似度,然后用相似度归一化作为选择的概率,这样就可以在每次 mini-batch 训练时,自动选择相似度最高的样本。

参考资料

[1] 王婷,杨文忠.文本情感分析方法研究综述[J].计算机工程与应用,2021,57(12):11-24.

[2] 洪巍,李敏.文本情感分析方法研究综述[J].计算机工程与科学,2019,41(04):750-757.

[3] 全面解读文本情感分析, https://zhuanlan.zhihu.com/p/270399396

[4] 华为云细粒度文本情感分析及应用 , https://blog.csdn.net/qq_27590277/article/details/114465660

[5] 一文看懂情感分析技术应用与趋势 , https://zhuanlan.zhihu.com/p/354306620

[6] 情感分析的基础知识介绍 , https://zhuanlan.zhihu.com/p/391712395

[7] 文本情感分析方法研究小结, https://zhuanlan.zhihu.com/p/106588589

[8] Sentiment Analysis of a Tweet With Naive Bayes, https://towardsdatascience.com/sentiment-analysis-of-a-tweet-with-naive-bayes-ff9bdb2949c7

[9] Poria S , Hazarika D , Majumder N , et al. Beneath the Tip of the Iceberg: Current Challenges and New Directions in Sentiment Analysis Research[J]. 2020.

[10] 什么是BERT?, https://zhuanlan.zhihu.com/p/98855346

[11] Pengfei Liu, Xipeng Qiu, and Xuanjing Huang. 2016. Deep multi-task learning with shared memory. In Proceedings of EMNLP.

[12] Tang, D., Qin, B., Feng, X., and Liu, T. Effective lstms fortarget-dependent sentiment classification. InCOLING 2016,26th International Conference on Computational Linguistics,Proceedings of the Conference: Technical Papers, December 11-16, 2016, Osaka, Japan, pp. 3298–3307. ACL, 2016a

[13] Hazarika, D., Poria, S., Vij, P., Krishnamurthy, G., Cambria, E.,and Zimmermann, R. Modeling inter-aspect dependenciesfor aspect-based sentiment analysis. InProceedings ofthe 2018 Conference of the North American Chapter of theAssociation for Computational Linguistics: Human LanguageTechnologies, NAACL-HLT, New Orleans, Louisiana, USA,June 1-6, 2018, Volume 2 (Short Papers), pp. 266–270. Associ-ation for Computational Linguistics, 2018c.

[14] Zhiyang Teng, Duy-Tin Vo, and Yue Zhang. 2016. Context-sensitive lexicon features for neural sentiment analysis. In Proceedings of the Conference on Empirical Methods in Natural Language Processing, pages 1629–1638.

[15] Yi Tay, Anh Tuan Luu, Siu Cheung Hui, and Jian Su. 2018. Attentive Gated Lexicon Reader with Contrastive Contextual Co-attention for Sentiment Classification. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pages 3443–3453.

[16] Andrea Esuli and Fabrizio Sebastiani. 2006. SENTIWORDNET: A publicly available lexical resource for opinion mining. In Proceedings of the Fifth International Conference on Language Resources and Evaluation, pages 417–422.

[17] Xuefeng Bai, Pengbo Liu, Y. Zhang, 2020. Exploiting Typed Syntactic Dependencies for Targeted Sentiment Classification Using Graph Attention Neural Network.

[18] Yunlong Liang, Fandong Meng, Jinchao Zhang, Jinan Xu, Yufeng Chen, and Jie Zhou. 2020a. A dependency syntactic knowledge augmented interactive architecture for end-to-end aspect-based sentiment analysis. arXiv preprint arXiv:2004.01951.

[19] Chen Zhang, Qiuchi Li, and Dawei Song. 2019. Aspect-based sentiment classification with aspectspecific graph convolutional networks. arXiv preprint arXiv:1909.03477.

[20] Zeyang Lei, Yujiu Yang, Min Yang, and Yi Liu. 2018. A multi-sentiment-resource enhanced attention network for sentiment classification. In ACL 2018.

[21] Cambria E, Olsher D, Rajagopal D. SenticNet 3: a common and common-sense knowledge base for cognition-driven sentiment analysis. Quebec City: AAAI; 2014. p. 1515–21.

[22] FA Kunneman, CC Liebrecht, and APJ van den Bosch. 2014. The (un)predictability of emotional hashtags in twitter. In 52th Annual Meeting of the Association for Computational Linguistics (ACL). Association for Computational Linguistics.

[23] Felbo B, Mislove A, Søgaard A, Rahwan I, Lehmann S. Using millions of Emoji occurrences to learn any-domain representations for detecting sentiment, emotion and sarcasm; 2017. arXiv preprint arXiv:1708.00524.

[24] Da Yin, Tao Meng, and Kai-Wei Chang. 2020. Sentibert: A transferable transformer-based architecture for compositional sentiment semantics. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pages 3695–3706.

[25] Pei Ke, Haozhe Ji, Siyang Liu, Xiaoyan Zhu, and Minlie Huang. 2020. SentiLARE: Sentiment-aware language representation learning with linguistic knowledge. In Proceedings of EMNLP.

[26] Hao Tian, Can Gao, Xinyan Xiao, Hao Liu, Bolei He, Hua Wu, Haifeng Wang, and Feng Wu. 2020. SKEP: Sentiment knowledge enhanced pre-training for sentiment analysis. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pages 4067–4076, Online. Association for Computational Linguistics.

[27] Pengfei Liu, Xipeng Qiu, and Xuanjing Huang. 2016. Deep multi-task learning with shared memory. In Proceedings of EMNLP.

[28] Pengfei Liu, Xipeng Qiu, and Xuanjing Huang. 2017. Adversarial multi-task learning for text classification. In ACL, pages 1–10.

[29] Renjie Zheng, Junkun Chen, and Xipeng Qiu. 2018. Same Representation, Different Attentions: Shareable Sentence Representation Learning from Multiple Tasks. international joint conference on artificial intelligence, pages 4616–4622.

[30] Sarma, P. K., Liang, Y., and Sethares, B. Domain adapted word embeddings for improved sentiment classification. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics, ACL 2018, Melbourne, Australia, July 15-20, 2018, Volume 2: Short Papers, pp. 37–42, 2018.

[31] Sharma, R., Bhattacharyya, P., Dandapat, S., and Bhatt, H. S. Identifying transferable information across domains for cross-domain sentiment classification. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics, ACL 2018, Melbourne, Australia, July 15-20, 2018, Volume 1: Long Papers, pp. 968–978, 2018.

[32] Yuxian Gu, Zhengyan Zhang, Xiaozhi Wang, Zhiyuan Liu, and Maosong Sun. Train no evil: Selective masking for task-guided pre-training. arXiv preprint arXiv:2004.09733, 2020.

[33] Hu Xu, Bing Liu, Lei Shu, and Philip S. Yu. 2020. Dombert: Domain-oriented language model for aspect-based sentiment analysis. arXiv preprint arXiv: 2004.13816.

[34] Zhang W , Li X , Deng Y , et al. A Survey on Aspect-Based Sentiment Analysis: Tasks, Methods, and Challenges[J]. 2022.