情感分析:一个非技术性的技术指南
随着社交媒体的兴起,跨行业的企业越来越依赖社交媒体帖子的情感分析,以更好地了解他们的客户或公众对其产品、服务、品牌形象或营销活动、以及他们的竞争对手的意见。准确全面的了解公众意见有助于推动营销、销售、产品设计、服务质量、顾客忠诚度等方面。 及时发现重大的负面事件也有助于有效的危机管理,企业可以迅速作出反应,尽量减少任何不可预见的负面消息的影响。
情感分析是一个复杂且具有挑战性的任务
一般来说,在文本分析中,情感分析旨在确定文章的正面、负面或中性的意见极性。 这听起来很直接,但事实上,这是一个复杂且具有挑战性的任务。
情绪是一个非常主观的事情。不同的读者在阅读同一篇文章时可能会有不同的反应。以往的研究表明,不同人对文本情感的典型认同低于 85%。根据我们自己的经验,这个数字对于更复杂的话题甚至更低。例如,在我们的一个项目中,分析社交媒体的用户对股票交易的看法,参与者之间达成共识的仅仅占不到 65%。由于任何自动化情感分析引擎的准确性都是相对于人为判断(所谓的黄金标准)进行衡量的,因此重要的是要根据多个注释者相互同意的标注数据进行衡量,而不是仅依赖唯一的注释者;同样重要的是:85%(即人类情感共识水平)通常被认为是任何自动化情绪分析引擎的准确性的理论上限。针对一个小型封闭的测试数据集,或者基于一个人的判断,引擎可以达到高于 85% 甚至 90% 的情感分析准确度。然而,在针对开放领域数据的时候,任何超过 90% 分析准确率的说法都更像是幻想,而不具有现实性。
人们常常认为社交媒体和新闻文章的情感分析是一样的,因为它们都处理文本。事实上,他们之间简直是天壤之别。社交媒体帖子或用户评论文章的作者可以在文本中明确地表达他们的意见(如:不喜欢,或好与坏);而新闻报道的作者则不太可能在案文中露骨地强加他们的个人意见/判断。相反,新闻事件本身可能会导致读者对积极的,消极的或中立的感觉做出不同的反应。同样的新闻文章往往会导致不同的观点,这取决于读者是谁。例如,关于 A 公司赢得了针对 B 公司诉讼的文章,A 公司和 B 公司的人会有完全相反的情绪。因此,需要用不同的技术来处理针对社交媒体或针对新闻的情感分析。
语言很复杂。讽刺、歧义、多义性、否定性和俚语都是机器难以理解的因素,对情感分析有巨大的影响。因此,简单的基于字典的方法往往无法分析复杂的情感表达。
人们通常喜欢比较不同的主体,例如产品、功能或品牌,这在他们的社交媒体帖子中可见一斑。新闻报道也可能在一个单一的报告中提及多个实体,例如公司或个人。全文档级别的自动化情感分析相对容易实现,但很难实现在文本中识别意见与意见持有者之间的正确关联。市场上的大多数供应商只是回应文档级的情绪分析,以获得单一的意见极性;然后将其与本文提到的实体(公司,产品或品牌等)进行简单直接的关联(通常通过基于规则的关键字匹配来检测)。我们需要更先进的技术来实现更准确的主体或实体级别的情感分析。
情感分析技术/方法
在强调了所有关于情感分析的挑战或误解之后,让我们来谈谈自动情绪分析有哪些技术/方法可用。
基于词典的方法:
它依靠基于预定义的字典从文本中提取情感关键字或关键短语;然后根据一些硬编码的评分公式(例如多数票或加权总结)推导出情绪判断。大多数公开可用的情感词典通常由学术研究人员制作。如果没有足够的资金和人力,这些字典往往被很快地生产出来而且缺乏质量控制。通常来说,情感词典对于英语比对其他语言更容易定义,因为英语是迄今为止在自然语言处理(NLP)中研究最多的语言。很多时候,人们只是翻译英文情感词典,并用它来分析其他语言的文本。然而,翻译的关键字和短语可能不完全适用于其他语言,特别是非拉丁语言。硬编码的情绪公式是僵化的,所以可能无法涵盖所有情况;并且,这些公式还依赖于定义它们的人的知识。
基于机器学习的方法:
它依赖于从训练数据集中学习某种 “以数学/统计学定义的分类模型” 的决策参数,此训练数据集由大量的,由人类手动标记的关于他们的情感极性的文章组成。许多因素都可能决定机器学习型情感分类器的有效性。
机器学习的模型:不同的机器学习模型被设计为具有不同的基础数学或统计假设。人们或许认为一个更复杂的模型将超越一个更简单的模型,但事实并非总是如此。因此,在选择某种模型之前,了解你力图应用这种模型于其上的数据是否符合模型的基本假设是非常重要的。许多没有经过适当培训的所谓的 “数据科学家” 往往缺乏这方面的知识。
特征,即原始文本如何以数学形式表示。原始字符或单词不能直接馈送到机器学习模型中。他们必须以某种方式转换成数学形式的值。我们称这个过程为特征提取或特征工程。设计优良的特征将比设计不佳的特征表现更好。例如,NLP 中有一种流行且简单的特征被称为 bag-of-words,即句子/文章中的每个单词由 0 或 1 表示,其中 1 表示其在文本中的存在,否则为 0。它在一个好的训练数据集上通常可以工作得不错。然而,它往往不能处理更复杂的语言表达,比如前文提到的讽刺,含糊,多义和否定,因为它在设计上就不是用来编码这些信息的。
训练数据:对于机器学习系统来说,提供高质量的训练数据集是非常重要的。所谓高质量就是说:该训练数据集对于学习任务来说足够大,而对于目标应用而言更大的不可见的数据具有足够的代表性。如果训练数据的代表性不是很好,那么尽管在训练集上可以获得非常高的准确度,它在实际应用中(in the wild)也会表现不佳,这就是机器学习领域中着名的 “过度拟合” 问题。
基于深度学习的方法:
深度学习是机器学习算法的一个子集,因为是受到人脑连接和学习机制的启发,所以也被称为深度神经网络。自
20 世纪 40
年代以来,人工神经网络的研究一直在进行,过去曾有许多起起落落。深度神经网络或深度学习的最新浪潮得益于计算所需的硬件,软件和学习理论的最新进展。主要的概念是,给定充分的训练数据,一个具有足够多层次和神经元的深度神经网络将能够从原始数据中学习出良好的表示(译者注:也可译为表征),从而可以消除在典型机器学习范例中困难和耗时的特征工程步骤;这些自动学习出的表示可以引出更好的问题求解(预测或分类)。近年来,深度学习在图像识别,语音识别,NLP
方面取得了重大突破。然而,深度学习通常需要比机器学习多得多的训练数据,因为它的模型复杂性和调谐所需的参数数量。对于那些难以获得训练数据,或训练数据稀少的目标应用,研究表明,深度学习不一定会胜过传统的机器学习;而且深度学习比机器学习更容易过度拟合。在一个小型受控数据集中(许多学术基准数据集就是这种情况),深度学习通常达到最好的精度,但它在实际开放领域数据中的应用则取决于训练数据的代表性。就情感分析而言,我们的研究结果表明,现成的非定制化深度学习模型往往更倾向于学习文章的背景话题信息,而不是文章中的特定情感信息;所以它们对话题分类的表现会非常不错,但是它们针对情感分析的准确性在开放的数据测试中经常会大大降低。尽管如此,深度学习在解决文本情感分析问题方面仍然具有巨大的潜力。积累更多的训练数据,采用半监督学习,并将其与语言学知识相结合,是开发更好的基于深度学习的情感分析模型的方向。
综上所述,文本情感分析是受读者主观性和语言复杂性影响的,具有挑战性的任务。 有一些现有的技术可以解决自动化的情感分析问题,包括词典,机器学习和基于深度学习的方法。 然而,对于开放领域的数据情感分析,仍然有一些限制和改进空间。
思考问题
选择情感分析的解决方案时,不要忘记提出以下问题:
你是在分析社交媒体帖子(用户评论)还是新闻?
你的应用程序是针对开放领域还是特定的垂直领域?
该解决方案构建在哪种方法上?它使用什么样的特征?
它使用了什么样的训练数据? 数据集足够大吗? 数据集对于你的应用而言有代表性吗?
它声称的准确度是如何衡量的? 它是基于一个小的封闭的数据集,还是从训练样本中提取的数据集,还是基于大型的开放式测试集?
训练和测试数据是否由多个注释者标记? 研究者们采取了哪些措施来最大限度地减少注释/评估的主观性?
解决方案仅支持文档级的情感分析吗?它是否支持面向话题或实体的分析?
本文原文:https://www.linkedin.com/pulse/sentiment-analysis-non-technical-technical-guide-dr-chao-he/
本文译者:吴笛,科大讯飞产品经理,集智俱乐部志愿者,现任注意力与知识管理微信群群主,笔记信息管理专家,百科知识爱好者,知乎知名答主(擅长话题:笔记管理、学习方法等),擅长用电脑和手机搞定笔记管理,思维导图,概念图,启发信息网络图等。
推荐阅读
集智QQ群|292641157
商务合作|zhangqian@swarma.org
投稿转载|wangting@swarma.org
◆ ◆ ◆
搜索公众号:集智俱乐部
加入“没有围墙的研究所”
让苹果砸得更猛烈些吧!