我一直在从事与 Twitter 情绪分析相关的研究。我对如何在 Python 上编码有一点了解。由于我的研究与编码有关,因此我对如何使用 Python 分析情绪进行了一些研究,以下是我的研究进展:1. 推文的标记化 2. 标记的 POS 标记,剩下的是计算积极和对我现在面临的问题的负面情绪需要你的帮助。
下面是我的代码示例:
import nltk
sentence = "Iphone6 camera is awesome for low light "
token = nltk.word_tokenize(sentence)
tagged = nltk.pos_tag(token)
因此,我想请问是否有人可以帮助我展示/指导使用 python 编写 sentiwordnet 代码的示例,以计算已经被 POS 标记的推文的正面和负面分数。预先感谢
原文由 pechdara 发布,翻译遵循 CC BY-SA 4.0 许可协议
您的问题到底是什么还不清楚。您需要使用 Sentiwordnet 的指南吗?如果是这样,请查看此链接,
http://www.nltk.org/howto/sentiwordnet.html
由于您已经对单词进行了标记化和 POS 标记,因此您现在需要做的就是使用此语法,
打破论点,
因此,对于标记数组中的每个元组,如上所述创建一个字符串并将其传递给 senti_synset 函数以获得该词的正面、负面和客观分数。
警告:词性标注器给你的标签与 senti_synset 接受的标签不同。使用以下内容转换为 synset 表示法。
(以上符号 归功于使用 Sentiwordnet 3.0 )
也就是说,使用 Sentiwordnet 进行 Twitter 情绪分析通常不是一个好主意,这就是为什么,
推文中充满了 Sentiwordnet 经常无法识别的拼写错误和非词典词。为了解决这个问题,要么在对推文进行 pos 标记之前对推文进行词形还原/词干化,要么使用机器学习分类器,例如 NLTK 内置函数的朴素贝叶斯。至于分类器的训练数据集,可以手动注释数据集或使用预标记集,例如 Sentiment140 语料库。
如果您对实际执行情绪分析不感兴趣,但需要给定推文的情绪标签,您始终可以为此目的使用 Sentiment140 API。