1. 概述
在本教程中,我们将探讨自然语言处理(NLP)中的情感分析问题,并介绍一些可用于构建模型原型的常见训练数据集。
通过本教程,你将了解如何获取常见的情感分析数据集,以及如何在自然语言处理任务中使用它们。
2. 情感分析概述
2.1 简要介绍情感分析
情感分析是自然语言处理、认知科学、情感心理学、计算语言学和传播学等多个领域的研究热点。每个学科都从不同角度探讨语言与情感之间的关系,这种关系既普遍又复杂。
我们在情绪检测文章中提到,语言与情绪之间是否存在唯一映射尚不明确。如果不存在这种映射,那么情感识别与处理就无法通过算法解决,进而影响机器学习的应用。
但事实上,机器学习在许多实际应用中已经成功实现了情感分析,比如:
- 分析用户评论中的负面反馈
- 检测候选人政治支持率的变化
- 基于社交媒体数据预测股市价格
这就引出了一个关键问题:为什么理论上不可解的问题,却在实践中能被有效处理?
2.2 窄任务与广义任务
人工智能理论中将任务分为窄任务(narrow tasks)与广义任务(general tasks)。广义认知问题目前仍无法解决,但对窄任务,机器学习表现非常出色。
情感分析也是如此。尽管我们无法从理论上解决情感识别的广义问题,但在定义明确的场景下,我们仍能获得高精度的结果。
此外,目前对于情绪的本体论(ontology)还没有统一的共识,这意味着我们无法在文本中统一定义情绪。但如果我们人为地设定一个本体,就可以使用机器学习来解决特定问题。
最常见的本体是将情绪分为“正向”和“负向”两类,如下图所示:
“正向”和“负向”的定义可能因作者而异。因此,有多种情感分析方法存在,每种方法都基于对情感的不同定义。定义越清晰,越适合机器学习建模。
2.3 数据集质量参差不齐
这也意味着并非所有训练数据集都适合你的项目。一个在特定方法论下构建的数据集,可能在另一个上下文中表现不佳。因此,选择符合你项目理论假设的数据集至关重要。
接下来,我们将介绍一些常见的情感分析数据集,包括它们的背景和使用场景。
3. 用于监督学习的数据集
我们将从监督学习的角度介绍一些常见数据集,它们都适合用于文本情感分类任务。
3.1 MPQA 情感语料库
MPQA Opinion Corpus 包含70篇标注文档,是英文新闻语料。其标注体系包含以下标签:
- Agent(主体):情感表达的接收者
- Expressive-subjectivity(表达主观性):间接表达对主体的评价
- Direct-subjective(直接主观性):直接表达对特定实体的情感
- Objective-speech-event(客观陈述):中性语句
- Attitude value(态度值):情感极性值
这些标签还包含极性值,适用于训练识别显性和隐性情感表达的模型。
3.2 Sentiment 140
Sentiment 140 包含160万条英文推文,适合训练情感分类模型。其名称来源于推文140字符的限制。
该数据集自动标注了“正向”或“负向”情感,基于是否包含 :)
或 :(
表情符号。尽管这种方法效率高,但也存在无法识别讽刺等局限。
数据集特征包括:
- 情感极性(正向 / 负向)
- 推文ID与日期
- 用户名
- 推文文本
适合用于训练最大熵模型、朴素贝叶斯模型和SVM模型。
3.3 Paper Reviews
Paper Reviews 数据集包含405条中英文论文评审意见,格式为JSON。
特征包括:
- 论文ID与日期
- 接收/拒绝决定
- 评审意见正文
- 编辑备注(作者不可见)
- 情感倾向(正向/负向)
- 评分
- 评审信心度
该数据集适合训练混合模型(如结合群体优化算法),也可用于研究同行评审中的语言偏见。
3.4 大型电影评论数据集
Large Movie Review Dataset 包含5万条电影评论,用于二分类任务。
特征包括:
- 评论文本
- 情感极性(正向 / 负向)
该数据集被广泛用于训练监督与非监督混合模型、SVM、朴素贝叶斯、神经网络等。
3.5 Stanford Sentiment Treebank
Stanford Sentiment Treebank 是一篇名为《Deeply Moving: Deep Learning for Sentiment Analysis》的论文中使用的数据集。
包含10,605条来自 Rotten Tomatoes 的电影评论,特征包括:
- 原始文本
- 分句及ID
- 句法树结构
适合训练SVM与深度学习模型,也被用于构建其他语言的情感树库(如阿拉伯语)。
3.6 多领域情感数据集
Multi-Domain Sentiment Dataset 包含来自Amazon的电子产品、图书、厨房用品和DVD的评论。
特征包括:
- 单词或双词分词
- 出现次数
- 极性标签(正向 / 负向)
每类情感有1000条数据,另有无标签数据用于模型比较。
该数据集被用于构建情感-主题联合模型,以及朴素贝叶斯和SVM分类器。
3.7 Pros and Cons 数据集
Pros and Cons Dataset 包含约23,000条带有情感倾向的句子,用于句级情感分析。
适合用途:
- 作为情感词典查找句子极性
- 基于相似度判断新句子情感
被用于语音识别和YouTube视频情感分析,并启发了多语言情感分析语料的构建。
3.8 Opinosis 情感数据集
Opinosis Opinion Dataset 包含来自Amazon、Tripadvisor和Edmunds的产品评论,按主题分组,共51个主题。
特征包括:
- 分词
- 词性标注(POS)
该数据集适合文本摘要任务,也可结合情感词典进行监督情感分析。
优势在于其词性标注,可用于构建结合词性与词汇的情感分析模型。
3.9 Twitter US Airlines
Twitter US Airlines Dataset 包含关于美国航空服务质量的推文。
特征包括:
- 推文ID
- 情感极性
- 负面反馈原因
- 标注者信心度
- 转发次数
- 航空公司名称
适合用于SVM、AdaBoost和集成学习方法。一些航空公司对负面反馈反应迅速,说明其可能使用了情感分析系统。
4. 用于无监督情感分析的数据集
4.1 无监督情感分析
虽然情感分析本质上是分类或回归任务,但也有研究尝试使用无监督或半监督方法进行情感分析。
一种方法是选择两个极性词(如“excellent”和“poor”)作为种子词,赋予它们固定极性值:
✅ P(positive | excellent) = 1
✅ P(negative | poor) = 1
然后使用互信息等方法推断其他词的极性。这种方法称为种子法(seeding)。
但研究表明,不同种子词可能导致极性判断差异较大,影响模型可靠性。
4.2 词典作为数据集
除了种子法,还可以使用情感词典(lexicon)进行无监督情感分析。例如:
- VERY NEG VERY POS 词典:包含词性标注
- SO-CAL:包含权重和否定词处理
此外,也有自动构建词典的方法,适用于无现成词典的语言。
5. 总结
在本文中,我们介绍了情感分析的基本方法,包括:
- 情感分析的理论背景
- 常用监督学习数据集及其特征
- 无监督情感分析方法及可用词典
这些数据集和方法可作为情感分析模型开发的基础。选择合适的数据集和方法,是构建高质量情感分析系统的前提。