Facebook情感分析API

3
我希望尝试创建一个基于内容(情感分析)对用户Facebook帖子进行评分的应用程序。 起初我尝试自己创建算法,但我觉得它不太可靠。 我创建了一个单词字典列表,并将帖子与字典进行扫描并评分,以确定是否为积极或消极。 但是,我觉得这还不够。我想根据帖子对人的情绪、感受/个性特征进行评分。这是否可能? 希望能利用一些在线API,请协助。谢谢;)

只需注册SimplyMeasured即可。 - Alan
4个回答

3
正如@Jared所指出的那样,使用基于字典的方法在某些情况下可以很好地工作,这取决于您的训练语料库的质量。这实际上就是CLIPS patternTextBlob的实现方式。
以下是使用TextBlob的示例:
from text.blob import TextBlob
b = TextBlob("StackOverflow is very useful")
b.sentiment  # returns (polarity, subjectivity)
# (0.39, 0.0)

默认情况下,TextBlob使用pattern的基于字典的算法。但是,您可以轻松地切换算法。例如,您可以使用在电影评论语料库上训练的朴素贝叶斯分类器。
from text.blob import TextBlob
from text.sentiments import NaiveBayesAnalyzer

b = TextBlob("Today is a good day", analyzer=NaiveBayesAnalyzer())
b.sentiment  # returns (label, prob_pos, prob_neg)
# ('pos', 0.7265237431528468, 0.2734762568471531)

导入现在是这样的 from textblob.sentiments import NaiveBayesAnalyzer。如果有人需要的话。 - Jaroslav Klimčík

1
有许多情感分析API可以轻松地集成到您的应用程序中,而且许多都有免费使用额度(通常是每天500个请求)。我开始了一个小项目,比较了每个API(目前支持10个不同的API:AIApplied、Alchemy、Bitext、Chatterbox、Datumbox、Lymbix、Repustate、Semantria、Skyttle和Viralheat)如何将给定的一组文本分类为积极、消极或中性:https://github.com/skyttle/sentiment-evaluation 每个具体的API可以提供许多其他功能,例如对情绪进行分类(高兴、愤怒、悲伤等),或将情感链接到被归属情感的实体上。您只需要浏览可用功能并选择适合您需求的功能。
TextBlob https://textblob.readthedocs.io/en/dev/ 是另一个可能性,但它只会将文本分类为正面、负面或中性。

1
您所描述的算法应该能够很好地工作,但结果的质量在很大程度上取决于使用的单词列表。对于情感分析,我们获取 Facebook 帖子上的评论,并基于情感进行评分。使用 AFINN 111 单词列表逐个评分评论中的单词,这种方法(也许出人意料地)非常有效。通过先对单词进行规范化和词干提取,您甚至可以做得更好。

0

如果您正在寻找基于朴素贝叶斯分类器的情感分析引擎的开源实现,使用C#语言,请看一眼https://github.com/amrishdeep/Dragon。它在处理大量词汇的文本上效果最佳,例如博客文章或多段产品评论。但是,我不确定它是否适用于只有少量单词的Facebook帖子。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接