我是python和NLTk的新手。我为NLTK(NaivesBayesCalssifier)中的调查情绪分析创建了一个模型。为了提高准确性,我想在模型中添加一些包含正面和负面语句列表的字典。 NLTK中是否有任何模块,是否有任何其他功能可以改善我的模型?
答案 0 :(得分:1)
您可以查看一些公共情感词典,它们会为您提供正面和负面词汇。
其中一个可以在https://www.cs.uic.edu/~liub/FBS/sentiment-analysis.html
找到因为,您没有指定有关当前模型的任何细节,我假设您使用的是非常基本的Naive Bayes分类器。如果你现在使用unigrams(单词)来对文本进行矢量化,那么你可以考虑使用bigrams或trigrams来生成特征向量。这基本上可以让你在一定程度上使用单词的上下文信息。
如果您目前正在使用像Tfidf这样的单词模型将文本转换为转换,那么您可以考虑使用单词嵌入而不是单词嵌入。一袋词不考虑单词的上下文信息,而单词嵌入则能够利用它。
你可以使用像gensim这样的东西,它使用深度学习将单词转换为向量。看看:https://radimrehurek.com/gensim/models/word2vec.html
此外,您始终可以尝试使用linearSVC分类器或逻辑回归分类器,并选择最准确的分类器。
答案 1 :(得分:0)
你可以从 NLTK 下载一个,就像:
from nltk.corpus import opinion_lexicon
pos_list=set(opinion_lexicon.positive())
neg_list=set(opinion_lexicon.negative())