我正在学习Python,并试图用它来执行情绪分析.我正在通过以下链接访问在线教程:http://www.alex-hanna.com/tworkshops/lesson-6-basic-sentiment-analysis/.我把一段代码作为mapper类,其摘录如下所示:
sentimentDict = {
'positive': {},
'negative': {}
}
def loadSentiment():
with open('Sentiment/positive_words.txt', 'r') as f:
for line in f:
sentimentDict['positive'][line.strip()] = 1
with open('Sentiment/negative_words.txt', 'r') as f:
for line in f:
sentimentDict['negative'][line.strip()] = 1
Run Code Online (Sandbox Code Playgroud)
在这里,我可以看到一个新的字典创建了两个键,正面和负面,但没有值.
在此之后,打开两个文本文件,每行都被剥离并映射到字典.
但是,= 1部分是什么?为什么需要这样做(如果不是这样就可以删除?)
当使用SVMlight或LIBSVM为了将短语分类为正面或负面时(情感分析),有没有办法确定哪些是影响算法决策的最有影响力的单词?例如,发现该单词"good"有助于将短语确定为正面等.
nlp machine-learning svm sentiment-analysis text-classification
有这样一篇关于阿拉伯语的情感分析.
在第5页的开头,它说:
"实验还表明,在特征提取和分类之前的词干几乎总是会降低结果".
稍后在同一页面中,他们声明:
"......还有一个阿拉伯语光词干用来阻止词汇"
嗯,我认为在文本分类之前总是使用词干/词形变换器,为什么他说它会降低结果?
谢谢 :)
我们如何使用斯坦福核心NLP获得完整句子的情绪评分?
它将完整的句子分为正面和负面的情绪,但我们可以得到斯坦福NLP工具的总情绪分数吗?
如何将标记添加NEG_到以后的所有单词not,no并且never直到在字符串中的下一个标点符号(用于情感分析)?我假设可以使用正则表达式,但我不确定如何.
输入:It was never going to work, he thought. He did not play so well, so he had to practice some more.
期望的输出:It was never NEG_going NEG_to NEG_work, he thought. He did not NEG_play NEG_so NEG_well, so he had to practice some more.
不知道怎么解决这个问题?
我正在尝试进行情绪分析并面临一个小问题.我正在使用一个包含主题标签和其他垃圾值的字典(如下所示).它还具有相关联的标签权重.我想只将标签及其相应的权重提取到一个新的数据框中.有没有简单的方法呢?我已经尝试过使用regmatches,但有些是如何以列表格式提供输出并且搞乱了.输入:
V1 V2
1 #fabulous 7.526
2 #excellent 7.247
3 superb 7.199
4 #perfection 7.099
5 #terrific 6.922
6 #magnificent 6.672
Run Code Online (Sandbox Code Playgroud)
输出:
V1 V2
1 #fabulous 7.526
2 #excellent 7.247
3 #perfection 7.099
4 #terrific 6.922
5 #magnificent 6.672
Run Code Online (Sandbox Code Playgroud) 我已经在我的电脑上训练了imdb_lstm.py.现在我想通过输入我自己的一些文本来测试训练有素的网络.我该怎么做?谢谢!
我想在我的项目中使用SentiWordNet,但我不知道感觉数字是做什么的?这是SentiWordNet单词列表的一部分;
POS ID PosScore NegScore SynsetTerms光泽度
a 00002730 0 0 acroscopic#1面向顶点或朝向顶点的一侧
a 00002843 0 0 basecopic#1面向底座或朝向底座
00003829 0.25 0分娩#2分娩;“产仔小母牛”
这是SentiWordNet的单词列表文档中的解释;
该对(POS,ID)唯一标识WordNet(3.0)同义词集。值PosScore和NegScore是SentiWordNet分配给同义词集的阳性和阴性分数。客观性得分可以计算为:ObjScore = 1-(PosScore + NegScore)SynsetTerms列报告具有意义编号的术语,属于同义集(用空格分隔)。
我在这里也找到了一个相关的问题,但我不从答案中理解有义数的特征。这是相关问题的链接:sentiwordnet 3.0结果表示什么?
我的问题是:如何在我的代码中使用这个有义数字部分?它到底是做什么的?
我试图使用polarity_scores()NLTK中的Vader情绪分析,但它给了我错误:
polarity_scores()缺少1个必需的位置参数:'text'
我完全是Python的初学者.感谢您的帮助!
from nltk.sentiment.vader import SentimentIntensityAnalyzer as sid
sentences=["hello","why is it not working?!"]
for sentence in sentences:
ss = sid.polarity_scores(sentence)
Run Code Online (Sandbox Code Playgroud) 我陷入了情绪分析,发现了Vader解决方案,这是迄今为止我能找到的最好的解决方案。我的问题是,我找不到任何有关如何用英语以外的其他语言来喂养它的文档。