什么是情感分析?
情感分析定义
情感分析是一种自然语言处理(NLP)技术,旨在利用计算语言学与机器学习来识别文本数据中的情绪基调。这有助于组织识别用户针对其品牌、产品、服务或理念所表达的积极、中立或消极情绪基调。
核心技术包括:
- 自然语言处理(NLP):允许机器处理和解释人类语言
- 计算语言学:提供用于文本分析的语言框架
- 机器学习 (ML):模型从带标签的文本中学习模式以对情感进行分类
情感分析如何运作?
- 文本摄取:原始文本数据收集自多种来源,包括电子邮件、支持票据、聊天记录、社交媒体和客户评论。处理管道“摄取”这些数据。
- 文本预处理:对未处理的文本进行清理和标准化:
- 分词:将数据(文本)分割成单词或短语
- 小写:输入已标准化
- 停用词移除:过滤常见的非信息性词语
- 词干提取/词形还原:将单词分解为其最基本的形式
- 命名实体识别 (NER):识别专有名词和实体的过程
- 功能提取:从文本中生成结构化的数值表示:
- 用于稀疏向量模型的 Bag of Words (BoW) 或 TF-IDF
- 用于语义上下文的词嵌入(Word2Vec、GloVe、BERT 等)
- 上下文向量(例如,来自基于转换器的模型)
- 情感分类:文本使用机器学习或深度学习模型被分类为情感类别:
- 基于规则的模型(使用情感词典和语言启发法)
- 传统 ML 模型(朴素贝叶斯、SVM、逻辑回归)
- 神经模型(LSTM、CNN、Transformer)
- 输出和评分:每个输入文本都有一个情感连续体得分(例如,-1 到 +1),或被标记为正面、负面或中性。接下来,这个元数据是:
- 用于过滤或搜索的索引
- 结合用于分析和仪表板
- 用于触发警告(例如,当负面情绪激增时)
- 反馈+模型更新:模型可以使用标注输出进行微调或重新训练。
情感分析与自然语言处理 (NLP) 的区别
情感分析是自然语言处理的一个子类,也就是说它是 NLP 完成的很多任务中的一项。情感分析侧重于捕捉文本中的情感和观点,而 NLP 是赋予机器处理人类语言能力的总体技术。
由自然语言处理 (NLP) 驱动的语言相关任务包括:
- NER:识别文本中的专有名词,例如人物、组织或地点
- 词性标注:用语法角色(名词、动词、形容词等)标记词语
- 文本分类:将文本分为不同类别(如垃圾邮件与非垃圾邮件)。
- 语言建模:预测句子中的下一个词或理解句子结构
- 文本摘要:生成长文档的简要总结
- 机器翻译:将文本从一种语言转换为另一种语言
- 问题解答:构建能够根据文本输入回答问题的系统
- 自然语言生成:从结构化数据或提示中生成类似人类的文本
情感分析与人工智能 (AI) 的区别
AI 是一门广泛的学科,旨在创建能够执行通常需要人类认知能力的任务的系统。情感分析是人工智能的一个细节应用,主要属于 NLP 领域。
NLP、计算机视觉和机器学习都是 AI 的子领域。
情感分析建立在分词、句法解析和语言向量表示等 NLP 核心要素之上。当前常见的情感分析系统大多由 BERT、RoBERTa 等预训练并经过情感数据集微调的模型提供支持。归根结底,AI 涵盖的范围广泛,而情感分析聚焦于借助 AI 与 NLP 技术识别文本数据中的情绪基调。
情感分析与数据挖掘的区别
数据挖掘是一个广泛的计算过程,旨在从大型数据集中发现模式、关联性和异常。
情感分析和数据挖掘之间的关键区别包括:
- 方法论:情感分析结合 NLP 技术与监督式或非监督式机器学习模型,以解读语言的细微差别。另一方面,数据挖掘使用统计、数学和算法方法,这些方法经过优化,能够在各种数据格式中发现模式。
- 输出:情感分析的输出包括情感分类或连续的情感评分。数据挖掘的输出包括预测模型、集群和关联规则。
- 数据类型关注:数据挖掘涉及多种数据类型(例如,数值型、类别型和文本型数据)。情感分析针对非结构化文本,以提取情感见解。
情感分析的类型
情感分析可以通过不同的方法进行:基于规则的方法、机器学习模型或混合方法。每种方法都可以应用于不同类型的情感分析任务,包括:
- 细粒度情感分析
- 基于属性的情感分析(ABSA)
- 情感检测与情感分析
- 基于意图的情感分析
细粒度情感分析
这种类型也被称为分级情感分析,它将情感细化为多个层次,而不仅仅是正面、中性或负面。典型的类别包括非常正面、正面、中性、负面和非常负面。这种更高的细粒度在特定场景和/或行业中可能会有所帮助,例如企业希望更好地了解客户满意度水平。
基于属性的情感分析(ABSA)
这种方法侧重于识别对产品或服务特定方面或功能的情感倾向。举个例子,比如无线耳机的评论。不同的方面可能包括连接性、设计和音质。ABSA 可以帮助企业准确定位客户喜欢或不喜欢其产品的具体部分。
| “这些耳机看起来很棒。” | 对设计的积极情绪 |
| “音量控制令人感到沮丧。” | 关于特定功能的负面情绪 |
情感检测与情感分析
情感检测不仅限于识别极性,还能识别特定的情感,如快乐、悲伤、愤怒或沮丧。这种分析通常使用词汇表来评估主观语言。
| "卡住","令人沮丧" | 感知到的负面情绪 |
| "慷慨"、"令人兴奋" | 感知的积极情绪 |
然而,基于词汇的方法在处理上下文或微妙的情感表达时可能会遇到困难。
基于意图的情感分析
顾名思义,意图分析旨在解读文本背后的意图。这可能使企业能够识别客户的意图和兴趣水平,例如购买、升级、取消或退订的意图。意图检测通常需要在标记数据(例如客户电子邮件或支持查询)上训练分类器。
| “我的存储空间已经用完了。”我有哪些选择?" | 潜在升级意图 |
| “我不喜欢我收到的样品。” | 可能取消意图 |
情感分析方法
要执行情感分析,通常需按照以下步骤操作:
- 文本预处理,包括切分句子、将单词还原到原形,以及删除停用词
- 特征提取,包括将还原后的词元转换为数字表示,或者生成嵌入
- 分类,涉及对数据应用情感分类器(这通常使用特定的模型或算法,利用提取的特征来对情感进行分类。)
情感分析还有三种常见的方法
- 基于规则的情感分析
- 机器学习的情感分析
- 混合情感分析
基于规则的情感分析
基于规则的情感分析依赖于预设的语言规则和情感词典来确定文本的情感基调。
组件包括:
- 情感词典:包含标记有情感值(正面、负面、中性)的词语的词典
- 语言规则:一套手工制定的规则,用于处理修饰语,例如否定词(“不好”)、强化词(“非常高兴”)和连词
过程:
- 标记化:将文本拆分为标记(单词或短语)。
- 词典查找:将标记与情感词典匹配以分配极性分数。
- 规则应用:根据上下文使用规则来调整分数(例如,否定会改变极性,强化词会增强情感)。
- 聚合:将单个标记得分汇总为文本的整体情感得分。
尽管这种方法的好处包括易于解释的结果,并且不需要大型的标注数据集,但基于规则的情感分析可能显得僵化,有时难以处理讽刺、语境和不断变化的语言使用等微妙的细微差别。
机器学习的情感分析
机器学习情感分析使用从标记的训练数据中学习的算法。
组件包括:
- 训练数据:标注数据集(例如,电影评论、产品评论)用于教导模型哪些词语或短语对应正面、负面或中性情感。
- 功能:文本的数字表示,例如字数、TF-IDF 向量或捕捉语义的嵌入
- 分类:深度神经网络、朴素贝叶斯1、逻辑回归或支持向量机等模型,根据提取的功能对文本进行分类
过程:
- 数据预处理:文本被清理和分词,停用词被删除,最后将文本转换为功能向量。
- 模型训练:将功能和相应的情感标签反馈给ML算法,以学习模式。
- 预测:将训练好的模型应用于新的文本数据,以预测情感标签。
- 评估和调整:通过使用指标(准确率、精确度、召回率)来评估模型性能,并对超参数进行微调以提升结果。
与基于规则的系统相比,机器学习方法能够更好地捕捉复杂的模式和上下文。他们也更容易适应新的语言使用。然而,它们往往需要大量的标记数据和计算资源来进行训练。
混合情感分析
混合情感分析通过结合规则基础和机器学习方法,利用两者的优势。
因此,组件包括:
- 基于规则的系统:预设的语言规则和情感词典,提供可解释的情感信号
- 机器学习模型:在标注数据上训练的算法,用于捕捉复杂的语言模式和语境
过程:
- 预处理:根据机器学习组件的要求,对文本进行清理、分词并转换为功能向量。
- 规则应用:应用语言学规则以识别明确的情感指标,并处理修饰词,例如否定词或加强语气词。
- 机器学习预测:机器学习模型分析相同或互补的特征,以检测超出明确规则的细微情绪。
- 融合:通过加权或投票机制,将基于规则的组件和机器学习组件的输出结合起来,以生成最终的情感预测。
在处理情感表达较为微妙或语言持续演变的场景时,结合规则方法与机器学习往往能获得更优效果。不过,混合系统要在复杂性与性能之间实现平衡,还需精细调优与深入集成。
情感分析:示例和用例
情感分析可通过识别以下信息来为企业提供切实可行的见解:
- 所用语言的极性(积极、中立、消极)
- 消费者响应的情绪基调(例如愤怒、快乐或悲伤)
- 语气是否传达紧迫感
- 消费者的意向或兴趣水平
作为自动化意见挖掘的一种形式,情感分析可以支持多种商业应用。
通过聚合情感分析进行竞争性基准测试
企业可以收集和分析来自社交平台、博客文章以及各类讨论或评论论坛的留言、评价和提及,以了解公众对其品牌的看法。情感分析工具可以实现自动化处理,并大规模开展分析工作。
数据源可能包括:
- 社交媒体(X、Instagram 评论)
- 评论网站(Yelp, Google Reviews)
- 论坛和博客
- 应用商店评论
通过对这些数据进行情感分析,企业可以识别积极反馈中的模式、发现消极反馈中的痛点,并评估其紧迫性与情绪强度。
营销团队通常使用这种方法来优化信息传递策略,并监测品牌的健康状况和受欢迎程度。
借助市场趋势分析优化产品战略
情感分析可以作为一种可靠的工具,用于提取关于整个市场、行业或客户群体的高层次和综合见解,而不仅仅是单个品牌的情感。
常见的数据源包括:
- 新闻报道和新闻稿
- 行业报告和分析师评论
- 金融新闻和股票市场讨论
- 博客和论坛
- 产品和服务评论
- 调查和反馈数据
情感分析工具可利用这些数据来源量化市场情绪趋势,为风险评估与产品战略提供支持。
用于电子商务的情感增强搜索和过滤
将情感分析集成至电商平台,可增强产品搜索与筛选能力。除了上述社交媒体和评论外,进一步的数据来源可能包括:
- 记录用户导航路径的 Web 服务器日志,结合带有情感标记的会话记录
- 物联网设备日志(例如,智能家居设备通过嵌入式应用收集客户反馈),可用于关联情感标签。
- 增强现实(AR)产品交互反馈(用户的口头评论会被转录并进行情感分析)
- 来自国际客户支持沟通的多语言情感数据
通过聚合情感分析进行竞争性基准测试
通过聚合和分析来自多种文本及半结构化数据源的情感信号,可将品牌与产品认知表现与竞争对手进行对比评估。
非常规数据源包括:
- 通过挖掘专利申请和技术白皮书,识别带有情绪色彩的用语
- 通过分析财报电话会议纪要,检测情绪变化和投资者信心信号
- 带有情感注释的客户投诉单和处理记录
- 通过 NLP 技术分析多媒体转录内容中的网红发布与代言所表达的情绪基调
情感分析的常见挑战
情感分析依赖于对人类语言的理解,而人类语言本质上是复杂、模糊且不断演变的。这使得准确解释对于自动化系统来说是一项具有挑战性的任务。
B2B 评论中的实体消歧问题
区分针对不同实体的情感是一项常见的挑战,尤其是在竞争环境中。例如,在 B2B 评论中,可以使用类似的语言来描述您的公司和竞争对手,但对每个公司的情绪应该以不同的方式解释。
| [您所在公司]发货速度真快,我真的好喜欢。 | 表达出对贵公司的正面情绪 |
| 在[您的竞争对手]购物时,我能够设置收货窗口期,我真的好喜欢。 | 对竞争对手的正面情绪,这可能对您的业务构成挑战 |
情感分析工具可能缺乏实体消歧功能,导致将正面情感错误地归因于贵公司,而实际上该声明指的是竞争对手。
讽刺、反语与语境
检测和理解讽刺与反语仍是情感分析中的一大挑战。
这些表达形式使用正面词语来传达负面或相反的含义,通常没有明确的文字提示,这种模糊性可能会使自动情感分类变得复杂。
情感在很大程度上依赖于上下文,相同的短语可能会因问题或情境的不同而呈现不同的情感极性。
| 情感极性 | 问:“您推荐这款产品的可能性有多大?” | 问:“价格调整对您造成了多大困扰?” |
| 答:“只有一点点。” | 消极 | 正面 |
| 答:“非常多!” | 正面 | 消极 |
处理讽刺和讥讽需要更高级的技术,例如语境感知模型(transformers)和/或多模态分析(结合语调或视觉线索)。
上下文相关的情感分类通常依赖于结合提示或对话历史记录来正确解释响应。
主观性
情感分析的主要挑战之一是语言的主观性。不同文化中的幽默、习语表达和方言的差异可能会改变含义。
| 美式英语 | 英式英语 |
| “裤子”→“裤子” | “裤子”→“内裤” |
由于词汇和句法差异,基于某种语言变体或文化训练的情感模型,在应用到其他语言或文化背景时,可能表现不佳。
情感分析的成功应用离不开本地化策略,例如地区适配的训练数据和具有文化特定性的词汇表。
情感分析的优点
情感分析可为用户提供切实可行的见解。作为一个工具,它有多重优势:
大规模挖掘客户情感
情感分析工具提供来自多种文本来源的实时分析。
主要用途包括:
- 及早检测负面情绪波动和新出现的问题
- 通过及时告警进行危机管理
- 为公关策略提供信息支持
在此上下文中,文本挖掘过程通常涉及持续的数据摄取、预处理和数据可视化工具。可以通过使用异常检测算法进行情感评分来标记突发变化。
支持预测分析模型
情感分析的输出可作为工程化特征集成到预测建模流程中。
典型的工作流包括:
- 使用 NLP 模型或 API 从非结构化文本中提取情感极性和强度评分
- 在相关时间窗口或客户群体内聚合评分,以生成数值特征
- 将情感衍生特征与结构化数据集(如 CRM 记录、交易日志)相结合
- 训练监督式机器学习模型(随机森林、梯度提升、深度神经网络)以预测结果
- 使用 AUC-ROC、F1 分数或 RMSE 等指标进行模型验证
改进产品和服务的开发
借助情感分析,持续监测反馈可提升数据驱动的产品迭代效率:
- 通过 API 或流媒体平台,从多个渠道(评论、支持票、论坛)实时摄取客户反馈。
- 应用 NLP 预处理步骤:分词、词形还原、停用词移除,然后使用基于规则或基于 ML 的模型进行情感分类。
- 将带有情感标记的反馈存储在时间序列或文档数据库中,以进行趋势分析。
- 开发可视化仪表板,展示情感分布或数量激增等指标。
情感分析常见方法
您可以自己构建情感分析系统,投资第三方提供商,或购买附加组件以集成到您的应用程序中。市面上有很多软件即服务 (SaaS) 情感分析工具,而且您还可以使用 Python 或 Java 等开源库来自行构建工具。通常,云服务提供商会提供他们自己的 AI 套件。
- 建立您自己的情感模型
您可以使用 NLP 库(如 spaCy 或 NLTK)自行构建情感模型。说到定制,实践方法允许对预处理、功能工程、模型架构和训练数据进行全面控制。也就是说,构建您自己的情感模型需要 NLP 和机器学习方面的专业知识,以及在数据标注、模型训练和调优方面的重大投资。当特定领域的语言或细粒度的情感细微差别需要定制模型时,自己动手的方法可能适合您。 - 使用开箱即用型 SaaS 情感分析解决方案
预先打包的解决方案可能包括 Amazon Comprehend、Google AI 或 Azure 的认知服务。此类 SaaS 情感分析工具的优势包括快速部署、托管基础架构、预训练模型和可扩展 API。然而,对模型内部的控制较少也意味着偶尔需要通过额外的训练进行微调或领域适应。 - 集成第三方情感分析模型
您还可以选择将自定义或开源情感模型上传到Elastic 的 Search AI Platform等平台。通过将 Elasticsearch 的索引与搜索功能与情感评分结合,可分析大规模文本数据集,并构建混合架构,结合预训练模型与自定义规则集或机器学习增强模块。如果您想灵活地管理自己的模型,同时使用已有的可靠搜索和分析基础设施,这就是您的选择。 - 云服务提供商 AI 套件
云服务提供商的 AI 和 ML 套件通常将情感分析作为更广泛 NLP 功能的一部分。这些解决方案提供与其他服务的轻松集成和持续的模型更新。然而,供应商锁定和有限的定制可能会带来挑战。
使用 Elasticsearch 开始进行情感分析
借助 Elastic 启动情感分析,助您自主开展观点挖掘并获取切实可行的见解。
情感分析术语表
算法:计算机遵循的一个流程或一套规则
人工智能:机器和计算机系统对人类智能的模拟
计算语言学:语言学的一个分支,利用计算机科学理论来分析和生成语言与语音
共指消解:识别文本中所有指代同一实体的词语的过程
词形还原:将同一单词的不同屈折形式组合在一起的过程
词典:某种语言的词汇清单
机器学习:人工智能的一个子领域,利用数据和算法让计算机无需人工明确编程即可自主学习
命名实体识别:识别文本中专有名词或实体的过程
自然语言处理:计算机科学的一个分支,作为人工智能的一个子领域,关注如何帮助计算机系统理解人类语言
词性标注:在文本中标记一个词,以对其进行分类,确定其属于哪个词性(例如,apple = 名词;slowly = 副词;closed = 形容词)的过程
词干提取:将单词还原为词干或词根形式的过程
标记化:将一段文本分割成较小的单位,称为标记的过程
词义消歧:根据上下文判断词语具体含义的过程
脚注
1 Webb, G.I. "朴素贝叶斯。"《机器学习和数据挖掘百科全书》,Springer,2017年,https://doi.org/10.1007/978-1-4899-7687-1_581。