文本情感分析研究现状机器之心专栏作者:李明磊作为NLP领域重要的研究方向之一,情感分析在实际业务场景中存在巨大的应用价值。在此文中,华为云NLP算法专家李明磊为我们介绍了情感分析的概念以及华为云在情感分析方面的实践和进展。基本概念为什么:随着移动互联网的普及,网民已经习惯于在网络上表达意见和建议,比如电商网站上对商品的评价、社交媒体中对品牌、产品、政策的评价等等。这些评价中都蕴含着巨大的商业价值。比如某品牌公司可以分析社交媒体上广大民众对该品牌的评价,如果负面评价忽然增多,就可以快速采取相应的行动。而这种正负面评价的分析就是情感分析的主要应用场景。是什么:文本情感分析旨在分析出文本中针对某个对象的评价的正负面,比如「华为手机非常好」就是一个正面评价。情感分析主要有五个要素,(entity/实体,aspect/属性,opinion/观点,holder/观点持有者,time/时间),其中实体和属性合并称为评价对象(target)。情感分析的目标就是从非结构化的文本评论中抽取出这五个要素。图1情感分析五要素举例如下图:图2情感分析五要素例子上例中左侧为非结构化的评论文本,右侧为情感分析模型分析出的五个要素中的四个(不包括时间)。其中实体「华为手机」和属性「拍照」合并起来可以作为评价对象。评价对象又可细分为评价对象词抽取和评价对象类别识别。如实体可以是实体词和实体类别,实体词可以是「餐馆」、「饭店」、「路边摊」,而实体类别是「饭店」;属性可以是属性词和属性类别,如属性词可以是「水煮牛肉」、「三文鱼」等,都对应了属性类别「食物」。实体类别和属性类别相当于是对实体词和属性词的一层抽象和归类,是一对多的关系。词和类别分别对应了不同的任务。观点的取值范围一般是{正面,负面,中性}。类似的,可以把观点看做是对描述词的抽象和归类,如「好看」归为「正面」。任务类型当前研究中一般都不考虑情感分析五要素中的观点持有者和时间,故后文中的讨论都不考虑这两个因素。根据对剩下三个要素的简化,当前情感分析的主要任务包括可按照图3所示:词级别情感分析、句子/文档级情感分析、目标级情感分析。图3情感分析任务体系其中词级别和句子级别的分析对象分别是一个词和整个句子的情感正负向,不区分句子中具体的目标,如实体或属性,相当于忽略了五要素中的实体和属性这两个要素。词级别情感分析,即情感词典构建,研究的是如何给词赋予情感信息,如「生日」对应的情感标签是「正面」。句子级/篇章级情感分析研究的是如何给整个句子或篇章打情感标签,如「今天天气非常好」对应的情感标签是「正面」。而目标级情感分析是考虑了具体的目标,该目标可以是实体、某个实体的属性或实体加属性的组合。具体可分为三种:Target-groundedaspectbasedsentimentanalysis(TG-ABSA),Targetnoaspectbasedsentimentanalysis(TN-ABSA),Targetaspectbasedsentimentanalysis(T-ABSA).其中TG-ABSA的分析对象是给定某一个实体的情况下该实体给定属性集合下的各个属性的情感分析,如图4中的实体是汽车,属性集合是动力、外观、空间和油耗。图4TG-ABSA例子TN-ABSA的分析对象是文本中出现的实体的情感正负向,如图5中,实体华为和XX的情感正负向分别为正面和负面。这种情况下没有属性的概念,只有实体。图5TN-ABSA例子T-ABSA的分析对象是文本中出现的实体和属性组合,如图6所示,评价对象是实体+属性的组合,如华为+拍照和XX+性价比。图6TG-ABSA例子在清楚了目标级情感分析的分类之后,每个类别又都可以包含为两大类任务:第一个是评价对象的识别,第二个是情感识别。评价对象识别包括评价对象词抽取和评价对象词分类,情感识别包括评价词抽取和评价正负面分类。具体例子如图7所示。之所以要识别出对象词和评价词,是为了能够基于属性正负面过滤的时候可以高亮相应的评价文本片段。图7评价对象和评价词和类别识别例子本文主要介绍词级别情感分析、句子级情感分析和目标级情感分析中的T-ABSA的内容、方法和华为云语音语义团队在该领域实践中的一些成果。这里首先区分一些概念,本文所说的情感,包括emotion和sentiment两种。严格意义上来说sentiment属于emotion的一种,但是本文中不做区分。词级文本情感分析任务介绍词级别的情感分析,即构建情感词典(sentimentlexicon),旨在给词赋予情感信息。这里首先要确定的是情感怎么表示,常见的表示方法有离散表示法和多维度表示法。离散表示法如情感分析领域常用的{正面,负面,中性}的表示方法,或者如表图8离散情感模型,引用自「1」用离散表示法表示的情感词典如:高兴-正面,生日-正面,车祸-负面,灾难-负面多维度表示法也有多种,如Valence-Arousal-Dominance(VAD)模型,Evaluation-Potency-Activity(EPA)模型等。Valence和Evaluation表示好坏,arousal和activity表示人的唤起度,dominance和potency表示控制力。图9Valence-Arousal模型用连续多维表示方法的情感词典例子如:VAD模型在[1,9]取值范围下:车祸可表示为(2.05,6.26,3.76)常见的方法构建情感词典常见的方法如图10所示:图10常见情感词典构建方法人工标注优点是准确,缺点是成本太高。自动化方法中,都是先有人工标注一些种子词,然后通过不同的方法把种子词的标签信息扩展到其他词。基于点互信息的方法会基于大规模语料库统计新词和种子词之间的统计信息,然后基于该信息对种子词做加权求和得到信息的情感标签。基于标签传播的方法会先构建词和种子词的一个图,图上的边是基于词和词之间的统计信息获得。然后用标签传播的算法获得新词的情感信息。基于回归的方法先构建词的特征向量表示,然后基于种子词的标签信息训练一个回归或分类模型,得到该模型后再对新词做预测,获得新词的情感标签信息。我们的进展我们团队基于已经标注的情感词典,通过自动化的方法,构建了当前业界最大规模的多维度情感词典。图11情感词典构建流程基于该方法,我们构建了业界最大规模的情感词典库,采用了Valence-Arousal的二维情感表示模型,情感值取值范围为[-1,.1](-1表示不好(对应Valence维度)或无唤醒(对应Arousal维度),1表示好或高唤醒度),词典包含六百万词,例子如下:图12构建的情感词典例子句子文本情感分析任务介绍句子级和篇章级文本情感分析旨在整个句子或文章表达的情感倾向性,如下例子:买没几天就降价一点都不开心,闪存跑分就五百多点点---外观漂亮音质不错,现在电子产品基本上都是华为的了---汽车不错,省油,性价比高---这个政策好啊,利国利民---当前各友商推出的情感分析服务大部分都是这种整体文本的正负向预测。句子级情感分析服务在互联网时代的电商评论、政策评价中有着广泛的应用价值。句子级情感分析是一个典型的文本分类任务,我们团队也采用了当前比较有效的预训练模型+微调的方案,如下图所示:图13句子级情感分析方案我们的进展当前我们已经上线了电商、汽车和社交领域的情感分析模型,主要支持中文语言,标签是正面和负面,带有标签置信度。如下图的例子所示,分别是手机、汽车和社交领域。图14EI体验空间电商领域、汽车领域和社交领域例子目标级文本情感分析任务介绍前面介绍的句子级或篇章级的情感分析只关注整个文本的正负面,没有区分文本中具体的评价对象。所以就处理不了如下的例子:该例子对汽车的各个属性的评价正负面是不一样的,如对动力和外观来说是正面,对空间和油耗来说是负面,所以就不能简单的分析整体文本的正负面。本节介绍的目标情感分析中的TG-ABSA任务,即固定实体下的给定属性集合的评价正负面的预测。我们的进展传统的属性级情感分析可以采用每个属性训练一个情感分类模型。但是这种方法需要训练多个分类模型,成本比较高。我们提出了基于单模型多属性标签输出的方法,即一个模型同时输出N个属性的情感标签。图15是当前在汽车领域结果,其中AttributeHitRate是属性的命中率,即预测出的属性占评论中实际出现的比率。HitAttributeAccuracy是命中的属性标签预测的准确率,即在所有命中的属性中,标签预测正确属性的占比。因为我们的模型可以输出每个属性标签的置信度,所以可以基于置信度过滤来调节模型最终的输出标签,图中是个曲线。图16是汽车领域属性级情感分析的例子,可以同时预测出评论中出现的动力和外观两个属性对应的正负面。该功能支持汽车领域的八个属性的评价预测,包括:内饰、动力、外观、性价比、操控、能耗、空间、舒适性。图15属性级情感分析的效果图16汽车领域属性情感分析例子最后,打个小广告。本文前面主要介绍了情感分析的概念以及华为云在情感分析方面的实践和进展,部分服务已经可以在我们的「EI体验空间」小程序体验,欢迎大家体验并提出宝贵的意见。情感分析服务可以用于商品评价智能化分析、智能评分等,欢迎大家体验。关于作者李明磊,华为云NLP算法专家,博士毕业于香港理工大学,从事文本情感分析和情绪识别的研究,在TAC发表论文多篇,多次获得最佳论文奖。目前在华为云主要负责华为云文本分类、情感分析、舆情监控平台等业务。主导的文本分类平台在汽车、电商、社交等领域的情感分析达到了业界领先的水平。汽车领域属性级细粒度情感分析8属性准确率均达到90%以上.