【发布时间】:2015-02-19 02:54:53
【问题描述】:
我正在研究基于方面的情绪分析。对于每条评论,我都有一个训练集(text 和 aspectTerms)。
使用 NLTK3,我想构建一个朴素贝叶斯分类器,用于预测未见测试数据的各个方面。我将使用一个特性词性标注方面。
特征方法是什么样的?如何训练分类器?如何在看不见的数据上测试分类器?
我尝试了以下方法:
我的特征函数看起来像
def featurepos(word):
return dict(wordpos,true) //return part of speech tagging for a given word
并构建了一个分类器
classifier=NaiveBayesClassifier.train(train_set)
#train_set contains [(posofaspect,"aspect")]
现在我想用测试数据测试分类器。
为了检查准确性,下面的代码需要test_set
nltk.classify.util.accuracy(classifier,test_set)
test_set 是字典列表吗?如果它是一个字典,它的结构是什么? -我糊涂了。
如果有例子,那就太有帮助了!
【问题讨论】:
-
wordpos是什么?一个词、它的 PoS 和“方面”之间的关系是什么?你能指出任何背景来帮助我们了解你想要做什么吗? -
我找到alt.qcri.org/semeval2014/task4 来简要解释我认为这里的任务。但是,贝叶斯分类器和 PoS 标签如何融入大局并不明显。请解释您的方法。
-
POS 是词性标注。我想构建一个分类器来从测试集中提取方面。方面是文本中的关键字,它们很可能是名词。所以我已经有了带有方面的火车集文本。
-
所以你提取名词作为方面,什么是动词、形容词和副词作为情感?您如何确定一种情绪以及如何确定它描述的哪个方面?或者你只是假设一个句子,一种情绪,一个方面?
-
更具体地说,在您的
featurepos函数中,您有一个未绑定或全局变量wordpos。它是什么,它来自哪里?
标签: python classification nltk sentiment-analysis