如果让你描述一下,在经历了漫长艰难的一周并最终取得小胜后的感受,你大概不会只说“快乐”或“悲伤”。你可能会说你感到如释重负精疲力竭成就感满满或者苦乐参半

人类的情感是高维且微妙的。然而,多年来,自然语言处理 (NLP) 一直将情感分析视为一个简单的分类任务。大多数系统试图将复杂的人类语句强行塞进一小部分预设的框框里——通常是心理学家 Paul Ekman 提出的“六种基本情绪” (愤怒、厌恶、恐惧、快乐、悲伤、惊讶) 。

虽然这种分类方法在工程上很容易实现,但它无法捕捉我们在书写感受时的真实情况。哥伦比亚大学的一篇新论文 “MASIVE: Open-Ended Affective State Identification in English and Spanish” 提出了一个激进的转变。研究人员不再将文本归类为寥寥几种类别,而是介绍了一种识别几乎无限的“情感状态”的方法。

在这篇文章中,我们将详细拆解他们如何构建包含 1000 多个情感标签的数据集,为什么小模型在这项任务上击败了大型语言模型 (LLM) ,以及为什么机器翻译可能会毁掉你的多语言分析。

问题所在: “基本情绪”的瓶颈

情感分析的主流范式是分类 。 你把一条推文或评论输入模型,模型输出一个像“积极”或“愤怒”这样的标签。

问题在于,这些标签集很少是为文本设计的。例如,Ekman 的情绪分类最初是基于面部表情定义的,而非书面语言。当我们把这些僵化的类别套用到文本上时,我们就会失去细微差别。此外,这种方法通常是以英语为中心的——假设英语的情感类别可以完美映射到其他语言和文化上。

研究人员主张采用一种描述性方法 。 他们不再问“这是 6 种情绪中的哪一种?”,而是让模型预测作者用来描述其状态的确切词汇。

Figure 1: Paraphrased input and expected output examples from MASIVE in English and Spanish. Models are tasked with predicting affective states (highlighted), which reflect more nuanced feelings than label sets in prior work, such as the Ekman basic emotions.

图 1 所示,一个标准模型 (Ekman Output) 可能会将一个复杂的句子简单地标记为“happy” (快乐) 。然而,这段文字实际上表达的是被valued (重视) 和 seen (看见) 的感觉。在西班牙语的例子中,通用的标签“feliz” (快乐) 完全错失了感觉 querido (被爱) 、aceptado (被接纳) 或 desesperado (绝望) 的细微差别。

为了解决这个问题,作者定义了一个新任务: 情感状态识别 (Affective State Identification, ASI)

核心方法: 如何捕捉感觉

ASI 的目标是预测描述情感体验的具体词汇——称为情感状态。这包括情绪 (短期) 、心境 (长期) ,甚至修辞表达 (比如感觉“blue”代表忧郁) 。

为了训练一个模型来做这件事,你需要数据。但你不可能手动标记成千上万种不同的情绪;那太昂贵且太主观了。相反,研究人员使用了一种聪明的自举法 (bootstrapping) 技术从 Reddit 上抓取数据。

自举循环

研究人员并不是从 1000 个情绪列表开始的。他们仅从基础词汇开始 (像“happy”、“sad”、“angry”这样的 Ekman 种子词) ,然后让数据教会他们剩下的部分。

Figure 2: Illustration of the bootstrapping procedure used to collect texts and automatically extracted affective state labels in the MASIVE corpus.

图 2 所示,该过程分为四个步骤:

  1. 种子词 (Seed Terms) : 从基本的形容词开始 (例如,“happy”) 。
  2. 查询模板 (Query Templates) : 在 Reddit 上搜索包含 “I feel [seed] and…”“I don’t feel [seed] and…” 等短语的帖子。
  3. 提取 (Extraction) : 当找到一个帖子时,查看与种子词连接的词。如果有人写道 “I feel happy and proud” (我感到快乐和自豪 ),系统就会提取“proud”。
  4. 扩展 (Expansion) : “Proud”成为一个新的种子词。重复该过程,搜索 “I feel proud and…” 以寻找新词。

这种方法假设,如果一个词作为形容词与某种情绪并列使用,那么它本身很可能也是一种情感状态。

MASIVE 数据集

这个过程产生了 MASIVE (Multilingual Affective State Identification with Varied Expressions,具有多种表达的多语言情感状态识别) 。这是一个庞大的 Reddit 帖子语料库,包含:

  • 英语: 约 93,000 个训练样本,包含 1,627 个唯一的情感状态。
  • 西班牙语: 约 31,000 个训练样本,包含 1,002 个唯一的情感状态。

该数据集捕捉了情绪的“长尾”——那些在标准数据集中很少见但对理解人类体验至关重要的词汇,例如 *giddy (眼花缭乱的/轻浮的) 、euphoric (欣快的) 、grumpy (暴躁的) 、terrified (恐惧的) 、disconnected (脱节的) * 或 *empty (空虚的) *。

至关重要的是,该数据集包含否定 (“I don’t feel…”) 和西班牙语中的语法性别 (阳性/阴性形容词) ,促使模型理解语言结构,而不仅仅是关键词。

Table 9: Example texts and accompanying affective state labels from the English and Spanish subsets of MASIVE. Affective state labels are colored red.

上面的表 9 提供了原始数据的示例。请注意,这些文本不是简单的句子;它们是关于候补名单、人际关系和客户服务挫折的复杂叙述。模型必须从这些密集的上下文中推断出像 *discouraged (气馁) * 或 *cheated (被欺骗) * 这样的感觉。

实验: 大卫与歌利亚

研究人员测试了不同 AI 模型执行 ASI 任务的能力。他们将其构建为一个掩码跨度预测 (Masked Span Prediction) 任务。

他们取出句子,隐藏情感状态词 (例如,“I feel [MASK]”) ,并要求模型填空。他们比较了两种类型的模型:

  1. 小型、微调模型: T5 和 mT5 (多语言 T5) 。这些是较旧、较小的模型,针对 MASIVE 数据集进行了专门的微调。
  2. 大型语言模型 (LLM) : Llama-3 和 Mixtral。这些是庞大的、最先进的生成模型,在零样本设置下使用 (没有经过特定训练的提示) 。

指标: 准确率与相似度

对此类模型进行评分很难。如果正确的词是“furious” (狂怒) ,而模型猜的是“angry” (生气) ,严格来说它是错的。但在语义上,它是接近的。

为了处理这个问题,研究人员主要使用了两个指标:

  • Top-k 准确率 (Top-k Accuracy) : 正确的词是否出现在模型的前 1、3 或 5 个猜测中?
  • Top-k 相似度 (Top-k Similarity) : 模型的猜测与正确的词在语义上有多接近?

他们使用上下文嵌入计算相似度,如下面的公式所示。本质上,他们检查预测词的向量在向量空间中是否接近实际词的向量。

Equation for Top-k Similarity

结果 1: 小型专家战胜大型通才

对于那些追随 LLM 热潮的人来说,结果令人惊讶。

Table 4: Comparison of T5, mT5, and two LLMs on our proposed Reddit dataset, aggregated scores only. Note that the Spanish test set and the English test set are not directly comparable as noted in subsection 4.2. Bolded scores highlight the best-performing multilingual model.

表 4 所示,经过微调的 mT5 模型在性能上显著优于庞大的 Llama-3 和 Mixtral 模型

  • 在英语中,mT5 达到了 17.91% 的准确率 (Top-1),而 Llama-3 仅为 1.29%
  • 在西班牙语中,mT5 达到了 24.51% 的准确率,相比之下 Llama-3 仅为 2.52%

为什么? LLM 是通才。如果没有特定的微调,它们很难精准定位作者会使用的确切情感词汇,往往会生成通用的回答或无法遵循任务的严格格式要求。而在 Reddit 情感语言分布上专门训练过的小型模型,则成为了该领域的专家。

结果 2: 学习 MASIVE 有助于理解基本情绪

有人可能会担心,在 1000 多个松散的标签上进行训练会使模型在需要进行标准分类时感到困惑。研究人员通过取出经过 MASIVE 训练的模型,并在标准情绪基准 (如 GoEmotions,它使用固定类别) 上再次对其进行微调来测试这一点。

Table 5: Performance of mT5 fine-tuned on emotion classification datasets, with and without prior fine-tuning on MASIVE. Bolded scores highlight the best performing model on each dataset under each metric.

表 5 展示了明显的迁移学习优势。标记为 \(mT5^{MAS}\) (在 MASIVE 上预训练的模型) 的行通常显示出比普通 mT5 模型更高的 F1 分数 (精确率和召回率的平衡) 。

这表明,学习“giddy”、“content”和“elated”的细微差别,能帮助模型比只见过“joy”标签时更好地理解“joy”这一更广泛的概念。

深入探究: 语言细微差别与翻译

这项研究不仅限于简单的准确率数字,还深入探讨了模型如何处理语言的复杂性。

性别与否定

西班牙语是一种有性别的语言。如果作者写道 “Estoy [MASK]” (我是…) ,形容词必须与说话者的性别相匹配。

Figure 3: Top-k accuracy and similarity results on subsets reflecting different linguistic constructions in MASIVE: grammatical gender of affective states in Spanish (left) and negated expressions in Spanish (center) and English (right).

图 3 (左) 显示,经过微调的 mT5 模型 (红色和蓝色条) 在阴性和阳性形容词上表现一致良好。然而,LLM (绿色条) 显示出对阳性形式的偏见,或者未能正确对齐性别。

右侧的图表显示了否定 。 处理 “I am not happy” 对 AI 来说很棘手,因为它经常忽略 “not” 而专注于 “happy”。经过微调的模型成功学会了预测否定状态 (当输入为 “not happy” 时预测 “sad”) ,进一步验证了数据集的质量。

机器翻译的失败

在多语言 NLP 中,一种常见的捷径是“翻译-训练 (Translate-Train) ”或“翻译-测试 (Translate-Test) ”。如果你没有西班牙语数据,你就把英语数据翻译成西班牙语来训练模型,或者把西班牙语测试数据翻译成英语来评估它。

研究人员测试了这一假设,发现效果不佳。

  • 原生数据为王:原生西班牙语文本 (由讲西班牙语的人撰写) 上训练的模型,大大优于在翻译的英语文本上训练的模型。
  • 翻译伪影: 机器翻译往往会将情感标准化。它可能会将“悲伤”的五种不同细微差别翻译成同一个通用的西班牙语词汇 triste。这破坏了 ASI 试图捕捉的颗粒度。

这一发现对 NLP 从业者是一个强烈的警告: 你不能依赖 Google 翻译来构建高质量的文化或情感 AI。 你需要由母语人士撰写的数据。

区域方言的挑战

最后,研究人员收集了一组区域性西班牙语词汇的“挑战集” (来自墨西哥、西班牙、委内瑞拉等地的俚语和方言) 。

Table 6: Comparison of mT5 performance between affective states included and held out from fine-tuning.

虽然模型在标准语言上表现良好,但在未见过或区域性的术语上性能显著下降 (如表 6 中的“Unseen”行所示) 。这凸显了该领域遗留的一个空白: 当前的模型仍然偏向于“标准”或主导方言,难以应对区域情感表达的丰富多样性。

结论: 情感 AI 的未来

MASIVE 论文提出了一个令人信服的观点: 我们需要停止将人类情感塞进盒子里。通过从分类 (挑选类别) 转向识别 (生成描述性词汇) ,我们可以构建出能够理解 angry (生气) 和 indignant (义愤) 之间区别的 AI。

给学生和研究人员的关键要点:

  1. 细微差别很重要: 在开放式词汇表上进行训练可以提高标准任务的性能。
  2. 小模型可以获胜: 对于特定的、微妙的任务,微调后的 T5 往往击败零样本 LLM。不要以为越大总是越好。
  3. 文化无法被翻译: 要捕捉其他语言中的真实情感色彩,你需要原生数据。翻译会抹去情感的文化指纹。

随着 AI 越来越多地融入心理健康支持、客户服务和社会分析,区分 grief (悲痛) 与 despair (绝望) ,或 joy (快乐) 与 relief (宽慰) 的能力,将是机械的回答与真正理解之间的区别。