情感分析
从文本中判定正面、负面、中性等情感极性的处理过程。
情感分析 (sentiment analysis) 是一种自动判定文本中所含情感和意见极性 (正面、负面、中性) 的自然语言处理技术。它也称为意见挖掘,用于从大量文本数据中定量把握人们的意见和情感趋势。电商网站的商品评论、社交媒体的帖子、客服的咨询记录等,凡是想从人力无法读完的文本量中取出倾向的场合,都会用到它。
方法大致分为基于规则和基于机器学习两类。基于规则的方法使用情感词典 (正面词与负面词的列表),根据文本中情感词的出现频率计算分数。它实现起来相对容易、可解释性强,但缺点是不擅长处理讽刺和依赖上下文的表达。基于机器学习的方法使用 BERT、GPT 等深度学习模型,能够在考虑上下文的前提下做出高精度判定。截至 2026 年,不准备带标签的训练数据、只靠指示文本来判定的零样本情感分析也已成为一个选项。
在商业上的应用场景多种多样。社交媒体的帖子分析可以实时追踪舆论对品牌态度的变化,有助于及早发现舆情爆发。商品评论的评价汇总,能够提取出仅凭星级评分看不出来的具体不满点和好评要素。在客服方面,可以考虑把咨询的情感分数用于响应的优先级排序,先处理那些能读出强烈不满的咨询。
情感分析的精度因语言而有很大差异。英语的研究较为成熟,存在大量高精度模型,而日语由于主语省略、委婉表达以及讽刺检测的困难,确保精度是一大课题。例如"まあまあですね"(大致意为"还行吧") 依上下文既可能是正面也可能是负面。中文同样有大量依赖上下文的表达,需要应对方言和口语表达。
与情感分析相似的技术还有基于方面的情感分析 (ABSA)。普通的情感分析判定文本整体的极性,而 ABSA 则像"电池不错但屏幕不好"这样,针对特定的方面 (aspect) 分别判定各自的情感。在用于产品改进的反馈分析中,ABSA 能提供更具实用价值的洞察。
在与字符计数的关联上,情感分析的精度会受文本长度的影响。帖子越短,上下文信息就越少,判定也越困难。X (原 Twitter) 的发帖上限以加权方式定为 280,日语等 CJK 字符每 1 个字符按权重 2 计数,因此对日语而言实际上限是 140 个字符。在这个长度下,用于分辨讽刺与反语的线索并不充足,依赖情感词典的方法尤其容易判错。
就日语而言,需要注意按字符数机械地截断会使极性发生反转。由于否定和转折出现在句末,"この製品は素晴らしいとは言えない"(16 个字符) 若截取开头 10 个字符就变成"この製品は素晴らしい",只看剩下的部分会读成完全相反的评价。把为列表显示而截断的字符串,或按输入上限机械分割出的片段直接送去分析,就会发生这类反转。对于长篇评论,实务上的做法是先按句号切分成句子,求出各句的极性,然后看的不是平均值而是分布 (正面与负面是否混杂在一起)。字符数并不是衡量精度本身的指标,把它当作决定以哪个单位切分再分析的材料,才是恰当的理解。