Sentiment Analysis of Twitter Data 基于推特数据的情绪分析
由IEEE发表的一篇关于推特数据的情绪分析的推文,主要介绍了通过推特数据对麦当劳和肯德基两家店的比较,具体内容如下:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8733bad0ae2a88e639f26ada0328a4af.png#pic_center)
摘要:本文提出一个针对推特收集的真实数据进行情绪分析的模型。针对Twitter中的数据高度非结构化难以分析的问题,因此结合有监督和无监督机器学习算法。执行情绪分析的过程如下:Tweet直接从Twitter API中提取,然后清理和发现执行的数据。之后,对预处理数据分别输入到几个模型中进行训练,每一条推文都根据其情绪进行分为积极、消极、中立。收集了麦当劳和肯德基两个主题的数据,以显示哪家餐厅更受欢迎。本文使用了不同的机器学习算法,并使用交叉验证和f-score等各种测试指标对这些模型的结果进行了测试。此外,本文模型在挖掘Twitter文本方面表现出了强大的性能。
1 引言
情绪分析,也称为意见挖掘,用于将特定的单词分为积极的或消极的。本文使用情绪分析对肯德基和麦当劳两家餐厅的推文进行分类,来比较二者。
2 相关工作
现阶段对于推特文本的分析主要采用以下方法:文本分类经常采用有监督的机器学习算法(例如;支持向量机(SVM)和朴素贝叶斯(Naïve Bayes)和基于词典的分类方法;使用TF-IDF(术语频率-文档频率倒数)来衡量单词对某一推文的重要性。具体表现为使用二元模型(BM)和TF-IDF来观察几个项加权函数对情绪分析准确性的影响。
3 方法论
数据提取:
使用R语言从Twitter API中提取推文。R语言是一种用于统计计算和机器学习算法的编程语言。
数据量:
麦当劳和KFC分别提取各7000条数据。
推文频率:
有关麦当劳的推特频率数量低值在于早上六点到下午十二点;而KFC的推特低值在于早上十点左右。
词云对比:
数据预处理:
从文本中重新移动URL,删除诸如(the,a,to…)、用户名和帐户之类的停止语,删除数字和不必要的空格,删除标点符号和将编码(表情符号)从拉丁语1转换为ASCII
文本标记:
使用无监督学习算法将每条推特都被标记为1,-1,0。(积极的、消极的或中立的)。由于本文没有预先分类的数据,使用基于alexicon的dmodel用于对推文进行分类。
通过使用两个文本文件,其中包含积极和消极单词的列表,以及与领域相关的更多单词。将每条推文中的每个单词与积极和消极文档进行比较,以找到匹配的单词,并对推文进行分类,比较推文中是否有更多的积极或负面单词。该模型的结果如表III所示
监督学习算法:
之后,应用多种监督学习算法进行训练:朴素贝叶斯、支持向量机、最大熵、决策树、随机森林和引导聚集算法(bagging)
朴素贝叶斯:定义为用于确定每个对象最可能的类标签的分类器。
支持向量机:定义为监督模型,用于分类、回归分析。
最大熵:是一种用于各种文本分类的分类器。
决策树:一种灵活的算法,用于根据最高分数分配标签。
随机森林:是一种用于构建多个决策树的监督算法。
Bagging:是一种分类器,用于提取多个随机样本,并分别使用每个样本来构建预测模型。
4 结论与讨论
本文使用直接从Twitter API中提取的数据对模型进行训练和测试。基于Alexicon的分类器使用手动创建的词典来查找每条推文的情感。我们提出的方法使用了一种新的方法来同时使用监督和非监督建模。因此,与存在标签数据的现有工作相比,预测显示出了改进。我们的模型结合了几种算法,得到了最适合我们数据的模型。使用一些度量来验证和测试每个模型[12]的准确性,如下所示:
评价指标:召回率、精度、F1值
交叉验证:
在交叉验证中,将原始训练数据集分为四组,四次交叉验证用于测试和训练。结果如下:
此外,几种监督算法的测试数据表明,Maxent(最大熵)是肯德基和麦当劳数据的最佳模型。
作为在其他指标中使用交叉验证作为指标的结果。此外,麦当劳和肯德基的积极或消极推特数量略有差异(见表III)。越来越多的人在推特上对麦当劳持有更极端的态度(更喜欢或者更不喜欢),而肯德基则有更中性的推文态度。
5 总结
情绪分析是分析几个社交媒体网站文本中表达的情绪的一个研究领域。本文比较了多种算法来提高将推文分类的准确性。本文提出的方法结合了无监督机器学习算法的使用,在最初不存在先前标记的数据的情况下,使用基于词典的算法。之后,数据被输入到几个监督模型中。对于测试所使用的各种度量,结果表明,基于交叉验证,最大熵算法具有最高的准确性。
无论是负面评价还是正面评价,麦当劳都比肯德基更受欢迎,更有讨论度。
对于未来的工作来说,一种可以自动对推文进行分类的算法将是一个有趣的研究领域。相同的方法可以用于各种领域。