- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 python NLTK 对 Twitter 数据进行情绪分析。我需要一本字典,其中包含单词的 +ve 和 -ve 极性。我已经阅读了很多关于 sentiwordnet 的东西,但是当我将它用于我的项目时,它并没有给出高效和快速的结果。我想我没有正确使用它。谁能告诉我正确的使用方法?以下是我到目前为止所做的步骤:
我正在使用 nltk 包进行标记化和标记。请参阅下面我的部分代码:
import nltk
from nltk.stem import *
from nltk.corpus import sentiwordnet as swn
tokens=nltk.word_tokenize(row) #for tokenization, row is line of a file in which tweets are saved.
tagged=nltk.pos_tag(tokens) #for POSTagging
for i in range(0,len(tagged)):
if 'NN' in tagged[i][1] and len(swn.senti_synsets(tagged[i][0],'n'))>0:
pscore+=(list(swn.senti_synsets(tagged[i][0],'n'))[0]).pos_score() #positive score of a word
nscore+=(list(swn.senti_synsets(tagged[i][0],'n'))[0]).neg_score() #negative score of a word
elif 'VB' in tagged[i][1] and len(swn.senti_synsets(tagged[i][0],'v'))>0:
pscore+=(list(swn.senti_synsets(tagged[i][0],'v'))[0]).pos_score()
nscore+=(list(swn.senti_synsets(tagged[i][0],'v'))[0]).neg_score()
elif 'JJ' in tagged[i][1] and len(swn.senti_synsets(tagged[i][0],'a'))>0:
pscore+=(list(swn.senti_synsets(tagged[i][0],'a'))[0]).pos_score()
nscore+=(list(swn.senti_synsets(tagged[i][0],'a'))[0]).neg_score()
elif 'RB' in tagged[i][1] and len(swn.senti_synsets(tagged[i][0],'r'))>0:
pscore+=(list(swn.senti_synsets(tagged[i][0],'r'))[0]).pos_score()
nscore+=(list(swn.senti_synsets(tagged[i][0],'r'))[0]).neg_score()
最后,我将计算有多少推文是正面的,有多少推文是负面的。我哪里错了?我应该如何使用它?有没有其他类似的易于使用的词典?
最佳答案
是的,您还可以使用其他词典。您可以在这里找到一小部分词典:http://sentiment.christopherpotts.net/lexicons.html#resources看来刘冰的意见词典还是蛮好用的。
除了链接到那些词典之外,该网站还是一个非常好的情感分析教程。
关于python - nltk Sentiwordnet 与 python 的结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33959459/
我目前正在研究 Twitter 中的情绪分析。我想结合预定义的词典资源,如 sentiwordnet 极性分数。然后进行机器学习。问题在于获得 sentiwordnet 的正确分数,以前的工作总是简单
我需要对一些包含推文的 csv 文件进行情绪分析。我正在使用 SentiWordNet进行情绪分析。 我得到了他们在其网站上提供的以下示例 Java 代码。我不确定如何使用它。我要分析的 csv 文件
我想在我的项目中使用 SentiWordNet,但我无法弄清楚意义数字有什么作用?这是 SentiWordNet 单词列表的一部分; POS ID PosScore NegScore SynsetTe
我迫切需要以下方面的帮助。 在我的硕士论文中,我必须对一些亚马逊、Twitter 和 Facebook 数据进行情绪分析。我已将这些数据保存在 csv 文档中。现在我想使用 SentiWordNet
我正在使用 SentiWordNet 进行一些情绪分析,我引用了此处的帖子 How to use SentiWordNet .然而,尽管尝试了各种输入,我得到的分数是 0.0。我在这里做错了什么吗?谢
我需要一个带有 的正面和负面词的列表重量 根据单词的强度和周数分配单词。我有 : 1.) WordNet - 它为每个单词提供 + 或 - 分数。 2.) SentiWordNet - 在 [0,1]
sentiwordnett 的结果代表什么? 如果给good的值为0.6337,是否意味着good这个词为正的概率是0.6337,或者是否意味着good的权重为0.6337?如果是给定的权重,那么ex
我计划使用 Sentiwordnet 3.0 进行情感分类。有人可以澄清一下 Sentiwordnet 中与单词相关的数字代表什么吗?例如排名#5 中的 5 是什么意思?另外对于 POS 来说,用来表
我一直在从事与 Twitter 情绪分析相关的研究。我对如何在 Python 上编码有一点了解。由于我的研究与编码有关,因此我对如何使用 Python 分析情绪进行了一些研究,以下是我的研究进展:1.
我正在使用 python NLTK 对 Twitter 数据进行情绪分析。我需要一本字典,其中包含单词的 +ve 和 -ve 极性。我已经阅读了很多关于 sentiwordnet 的东西,但是当我将它
我正在使用 SentiWordNet 开发情绪分析工具和 Apache NLP图书馆。问题是当我使用 NLP 库标记句子时,我得到的结果是, Test_NNP Tweet_NNP is_VBZ rea
我是一名优秀的程序员,十分优秀!