情感分析 ❤️知识
当training数据不足以覆盖inference阶段遇到的特征时,是标注更多的数据还是利用现有外部知识充当监督信号?
为何要不断尝试在情感分析中融入知识
我们为什么要不断尝试在情感分析中融入知识呢?
笔者以为有如下几点原因:
1、一般的文本分类任务只提供句子或文档级别的情感标签,引入情感词典等先验情感知识可以给情感文本引入更细粒度监督信号,使得模型能学到更适合情感分析任务的特征表示。
2、底层的词性、句法等分析任务能给下游的情感分类、抽取任务提供参考信息,如评价表达通常是形容词或形容词短语,而评价对象通常是名词;不同情感分析任务本身存在相互促进作用,如评价对象和评价词在句子中出现的距离通常比较近,联合抽取能同时提高两者的性能表现。
3、短文本评论通常略去了大量的背景常识知识,从文本本身通常难以推断真实情感倾向性。
例如一条有关大选的推文内容是“I am so grateful for Joe Biden. Vote for #JoeBiden!!”,文本中并未涉及任何有关Trump的描述,要判断它关于Trump的立场倾向性时,需要了解的背景知识是,二者是这次大选的竞争对手,支持一个人就意味着反对另一个人。
那情感分析常用的知识又有哪些呢?
知识的类型及情感分析常用知识库
其中,以情感词典最为常用。
情感分析数据通常结合语言模型算法,产生情感向量表示作为下游任务输入;词法、句法分析模型一般直接为下游情感分析任务提供特征输入或者以多任务学习的方式参与到下游情感分析任务的训练过程中;结构化的外部知识库通常需要借助图算法进行特征挖掘,为文本提供更丰富的常识、情感上下文信息。
知识的引入方式及在情感分析部分任务上的应用
下表展示了几种常见的知识类型及其特点,我们将根据知识的获取途径及引入方式,结合具体论文阐述其使用方式。
知识类型 | 优点 | 缺点 |
---|---|---|
人工情感词典 | 质量高 | 规模小,静态,覆盖低 |
自动情感词典 | 规模大 | 静态、质量低 |
语言学规则 | 适用范围广 | 不够准确 |
预训练语言模型 | 上下文建模能力强 | 参数量大,训练时间长,运行速度慢 |
常识知识库 | 规模大、质量高、覆盖全 | 利用困难 |
目前,相关的情感分析工作可以大致分为以下几类:
要说情感知识,大部分人首先会想到的就是人工编纂的情感词典,它简明直观、质量高、极性明确,使用方便,广泛应用在情感分类、情感元素抽取、情感原因发现、情感文本风格迁移等多种情感分析任务上。
情感词区别于非情感词的地方在于,它们一般表征一定的情感/情绪状态,通常情感词典中还会给出其强度打分。
类似的,现在网络上流行的部分表情符 (emoj,如:) 、:( 、😄、😭)也能表征某些情感/情绪状态。
我们在这里介绍一个同时使用情感词典中词的极性和打分的工作,看看前人们是如何在神经网络中把情感词的情感信息融入文本的情感表示中的。
给定一段评论文本,Teng等人[2]首先找出其中的情感相关词汇(如情感词、转折词、否定词),并计算其对文本整体情感极性的贡献程度,然后将每个词的贡献值乘上其情感得分作为局部的情感极性值,最终加上全局的情感极性预测值作为整个文本的情感得分。
虽然上述工作在计算情感得分时,考虑了not、very等否定词、强化词的得分信息,但是没有显式把这些词对周围词的情感语义表示的影响刻画出来,Qian等人[3]考虑到情感词、否定词、强化词在情感语义组合过程中起到的不同作用,对文本建模过程中对不同位置词的情感分布加以约束。例如,若一个词的上文是not等否定词,会带来not处文本情感语义的翻转。
总体来看,情感词典作为一种易于获取、极性准确的情感知识,能够在标注语料之外,为情感分析提供额外的监督信号,既可以提升有监督模型的泛化能力,也能够为半监督、无监督模型提供一定的指导。
语言建模作为一个典型的自监督学习任务,其语言模型产生的词表示作为下游任务网络模型的输入,表现出优越的性能,因而得到广泛的应用。
如果能将情感知识融入到语言模型中,其产生的词表示必然对情感分析各子任务带来性能提升。
我们接着介绍一个在词向量中融入显式情感词典知识(实际使用的是表情符)的方法。
Tang等人[4]观察到,一般的词向量对于“good”和“bad”这种上下文相近但极性相反的词,给出的向量表示没有很强的区分性,不利于下游的各情感分析任务。
Twitter和微博中有海量包含表情符的文本,利用这些情感极性明确的表情符可以过滤得到大量弱标注的情感文本。
Tang等人使用这些语料,他们在普通的C&W模型基础上,引入情感得分相关的损失,将这些弱标注的情感信息融入词向量表示中,使“good”和“bad”这种上下文相近但情感不同的词的向量表示有明显的差异。
在情感分类任务上,他们验证了融入情感表情符知识的有效性。
在此基础上,他们还进一步自动构建大规模情感词典,该词典被[2]应用到Twitter情感分类任务上。
除了准确的情感词知识,词法、句法、语义依存信息、评价词和评价表达等情感信息在文本的情感语义建模过程中也发挥了重要作用,这些知识不是显性存在于大规模的知识图谱中,而是存在于对应的人工标注数据中。
一般利用学习算法从这些数据中训练用于提取特征的模型。
Tian等人[5]在近期的预训练BERT语言模型基础上,将文本中的评价对象(属性)、情感词等情感元素引入Mask Language Model预训练任务,进一步提高了BERT类模型在多个情感分类数据集上的性能。
Sun等人[7]提出在面向属性的情感分类(ABSA)任务上,引入Stanford parser解析得到的依存树信息辅助识别评价对象相关的评价词。他们将GCN在依存树上学习得到的表示与BLSTM学习到的特征结合,判断句子针对评价对象的情感极性。
在外部特征引入方式上,目前方法以两种方法为主:
(1)直接作为特征输入模型
(2)以多任务学习的方式,作为辅助任务与主任务一同训练。
这些方法的区别主要在引入特征类别或者辅助任务的任务设计。
除了情感词典、情感词向量、情感预训练语言模型、文本特征抽取器外,结构化的外部知识也是很常见的一种情感知识来源。
它的特点是规模大,覆盖面广,蕴含丰富的实体、事件或者常识概念间相关关系知识。
结构化知识中具备高质量的关系类型,因而适用于需要推理、泛化的情感分析任务。
一个典型的需要泛化的任务是跨领域文本情感分类任务。源端和目标端的评价对象、评价词等情感相关特征差异较大,训练时模型依赖的源端分类特征未必会在目标端文本中出现,如何将这些情感特征进行对齐是一个重要且富有挑战性的问题。
一类方法是使用通用情感词典作为pivot信息,建立源端、目标端共享特征的对齐,但这类方法只考虑共享的情感词信息,且通过文本本身学习到的情感表达对齐也不充分、准确,同时无法捕获到不同领域之间评价对象之间链接关系。
而结构化外部知识正好弥补了这些缺点,它蕴含情感词到非情感词、不同领域评价对象之间的关联关系。
近年由于图表示算法的进步,学者们能够更高效的对这些结构化外部知识加以利用。
类似地,在跨目标立场分类任务上,Zhang等人[9]利用SenticNet和EmoLex构建学习带情绪关系连接的语义-情绪图谱(SE-graph),并使用图卷积神经网络(GCN)学习节点表示。给定一段文本,他们使用SE-graph为每个词学习构建一个子图并学习其表示,得到的外部特征表示送入修改后的BLSTM隐层,与当前上下文特征进行融合。
这两个工作都使用外部结构知识,扩展了输入特征空间,利用知识库中的连接将源端和目标端的评价词、评价对象等特征进行对齐,极大地丰富了情感上下文信息。
总结
本文介绍了情感分析中引入外部知识的部分工作,简要介绍了现阶段情感分析常用的外部知识,从最常见的情感词典入手,逐步介绍基于情感词典的情感词向量、预训练语言模型,展示了使用多任务学习融合词性、依存句法等文本底层特征抽取器的工作,最后介绍了近期热门的使用结构化外部知识的文本情感迁移学习工作。
我们可以看出,情感词典虽然最为简单,却是情感知识引入多种引入方式的基石,在情感分析算法中地位无出其右。
对于未来工作,一方面,由于目前的情感分析中知识引入的应用场景仍局限在情感分类任务中,有待扩展到情感抽取、情感(多样性)生成等各个情感分析任务上;
另一方面,在情感分析专用预训练语言模型中融合结构化外部知识,增强预训练语言模型对情感分析相关世界知识的理解仍有待探索。
参考资料
在10月19日头条《专访吴军:未来10年,AI的发展方向是应用,不会出现重大的理论突破》留言区留言,谈一谈吴军博士对你的启示,或你对信息技术发展的理解。
AI 科技评论将会在留言区选出 10 名读者,每人送出《信息传》一本。
活动规则:
1. 在留言区留言,留言点赞最高的前 10 位读者将获得赠书。获得赠书的读者请联系 AI 科技评论客服(aitechreview)。
2. 留言内容会有筛选,例如“选我上去”等内容将不会被筛选,亦不会中奖。
3. 本活动时间为2020年10月19日 - 2020年10月23日(23:00),活动推送内仅允许中奖一次。
NeurIPS 2020论文接收列表已出,欢迎大家投稿让更多的人了解你们的工作~
点击阅读原文,直达NeurIPS小组~