赞
踩
做文本情感分析(sentiment analysis),一般是需要自己标注数据,做特征工程,再训练模型,这样成本就很高。
当我们拿到一段文本,没有标注,也没有训练模型,有没有可能直接调用一个库来输出情感分析结果呢?
vaderSentiment(参考1)是一个基于词典和规则
的情感分析工具,作者专门对社交媒体信息做过调优,并在2014年发表过一篇文章(参考2),目前文章的引用量已经高达2680了(截止到20211105)。
vaderSentiment目前只支持英文,他的词典(参考3)中有7000多个词。
因为是基于词典和规则的分类器,所以并不需要特征工程、训练模型等步骤。而且作者再文章(参考2)中对多个数据集对比过SVM等分类器的结果,vaderSentiment表现还是很不错的。再加上目前github上对其关注量很大,所以给了我们比较高的信心直接拿来用。
除了支持python,vaderSentiment也支持Java, JS, C#等其他编程语言。
vaderSentiment这种基于词典和规则
的原理,保证了他的运行速度很快,使用起来也很方便,只需要如下简单几行代码,就能得出结果。
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
analyzer = SentimentIntensityAnalyzer()
vs = analyzer.polarity_scores('I like you')
print("{0}:{1}".format(sentence, str(vs)))
# Not bad at all:{'neg': 0.0, 'neu': 0.444, 'pos': 0.556, 'compound': 0.3612}
结果中,有4个label
如果只想用一个值来表示情绪,就用compound。
目前vaderSentiment也支持emoji符号了,更多案例见参考4.
使用vaderSentiment,三行代码就能实现情感分析!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。