我们为什么要不断尝试在情感分析中融入知识呢?笔者以为有如下几点原因:
那情感分析常用的知识又有哪些呢?
2.1知识的类型及情感分析常用知识库
依据对知识获取途径的划分方式[1],我们简单总结了情感分析中常用的知识类型:
显性知识
SentiWordNet
ConceptNet,SenticNet
数据
数据(Twitter、微博表情符弱标注数据)
词法、句法、语义依存等模型
多任务学习算法
预训练语言模型、词向量学习算法
其中,以情感词典最为常用。情感分析数据通常结合语言模型算法,产生情感向量表示作为下游任务输入;词法、句法分析模型一般直接为下游情感分析任务提供特征输入或者以多任务学习的方式参与到下游情感分析任务的训练过程中;结构化的外部知识库通常需要借助图算法进行特征挖掘,为文本提供更丰富的常识、情感上下文信息。
2.2知识的引入方式及在情感分析部分任务上的应用
下表展示了几种常见的知识类型及其特点,我们将根据知识的获取途径及引入方式,结合具体论文阐述其使用方式。
引入情感词典知识
图1人工编纂的情感词典
图2同时使用情感词典中词的极性和打分
虽然上述工作在计算情感得分时,考虑了not、very等否定词、强化词的得分信息,但是没有显式把这些词对周围词的情感语义表示的影响刻画出来,Qian等人[3]考虑到情感词、否定词、强化词在情感语义组合过程中起到的不同作用,对文本建模过程中对不同位置词的情感分布加以约束。例如,若一个词的上文是not等否定词,会带来not处文本情感语义的翻转。
图3对不同位置词的情感分布加以约束
总体来看,情感词典作为一种易于获取、极性准确的情感知识,能够在标注语料之外,为情感分析提供额外的监督信号,既可以提升有监督模型的泛化能力,也能够为半监督、无监督模型提供一定的指导。
引入大规模无标注语料
语言建模作为一个典型的自监督学习任务,其语言模型产生的词表示作为下游任务网络模型的输入,表现出优越的性能,因而得到广泛的应用。如果能将情感知识融入到语言模型中,其产生的词表示必然对情感分析各子任务带来性能提升。
我们接着介绍一个在词向量中融入显式情感词典知识(实际使用的是表情符)的方法。
图4将基于表情符过滤的弱标注情感信息融入词向量表示中
引入外部特征提取算法
除了准确的情感词知识,词法、句法、语义依存信息、评价词和评价表达等情感信息在文本的情感语义建模过程中也发挥了重要作用,这些知识不是显性存在于大规模的知识图谱中,而是存在于对应的人工标注数据中。一般利用学习算法从这些数据中训练用于提取特征的模型。
Tian等人[5]在近期的预训练BERT语言模型基础上,将文本中的评价对象(属性)、情感词等情感元素引入MaskLanguageModel预训练任务,进一步提高了BERT类模型在多个情感分类数据集上的性能。
图5将多种情感元素引入MaskLanguageModel预训练任务同[3]类似,Ke等人[6]在预训练语言模型中引入词级别的情感、词性知识。他们先给每个词预测词性信息,然后依据词性信息从SentiWordNet中推断其情感极性。基于获得的词性和情感信息,他们在一般的MaskedLanguageModel基础上同时预测这些语言学标签,实现在预训练语言模型中注入情感知识。该模型在主流的情感分类、细粒度情感分析数据集上取得了目前最好的结果,证明引入词性和情感极性知识在预训练任务中的有效性。
图6在预训练语言模型中引入词级别的情感、词性知识
图7将GCN在依存树上学习得到的表示与BLSTM学习到的特征结合
在外部特征引入方式上,目前方法以两种方法为主:(1)直接作为特征输入模型(2)以多任务学习的方式,作为辅助任务与主任务一同训练。这些方法的区别主要在引入特征类别或者辅助任务的任务设计。
引入常识知识
而结构化外部知识正好弥补了这些缺点,它蕴含情感词到非情感词、不同领域评价对象之间的关联关系。近年由于图表示算法的进步,学者们能够更高效的对这些结构化外部知识加以利用。
图8KinGDOM算法
类似地,在跨目标立场分类任务上,Zhang等人[9]利用SenticNet和EmoLex构建学习带情绪关系连接的语义-情绪图谱(SE-graph),并使用图卷积神经网络(GCN)学习节点表示。给定一段文本,他们使用SE-graph为每个词学习构建一个子图并学习其表示,得到的外部特征表示送入修改后的BLSTM隐层,与当前上下文特征进行融合。
图9基于SE-graph使用GCN学习节点表示
这两个工作都使用外部结构知识,扩展了输入特征空间,利用知识库中的连接将源端和目标端的评价词、评价对象等特征进行对齐,极大地丰富了情感上下文信息。
3.总结
责任编辑:lq
原文标题:【情感分析】基于知识引入的情感分析
长沙市望城经济技术开发区航空路6号手机智能终端产业园2号厂房3层(0731-88081133)