【问题标题】:dictionary for sentiment analysis in NLTKNLTK 中的情感分析字典
【发布时间】:2021-05-25 15:14:46
【问题描述】:

我是 python 和 NLTk 的新手。我有一个模型用于 NLTK (NaivesBayesCalssifier) 中的调查情绪分析。为了提高准确性,我想在模型中添加一些包含正面和负面陈述列表的字典。 NLTK 中是否有任何模块,是否有任何其他功能可以改进我的模型?

【问题讨论】:

  • (1) 查看nltk.org/py-modindex.html 了解 NLTK 中有哪些模块。 (2) 可能有其他功能有所帮助,但很难说,因为您没有指定当前使用的内容。无论如何,特征工程不是一个编程问题,而更多的是一个研究课题(所以它不属于 SO)。
  • 你的情绪分析模型目前使用什么?

标签: python dictionary nltk


【解决方案1】:

您可以查看一些公共情绪词典,这些词典将为您提供积极和消极词汇的语料库。

其中一个可以在https://www.cs.uic.edu/~liub/FBS/sentiment-analysis.html找到

由于您尚未指定有关当前模型的任何详细信息,因此我假设您使用的是非常基本的朴素贝叶斯分类器。如果您现在正在使用 unigrams(words) 对文本进行矢量化,那么您可以考虑使用 bigrams 或 trigrams 来生成特征向量。这基本上可以让您在一定程度上使用单词的上下文信息。

如果您当前使用 Tfidf 等词袋模型将文本转换为转换,那么您可以考虑使用词嵌入来代替。词袋不考虑词的上下文信息,而词嵌入能够利用这一点。

您可以使用像 gensim 这样的东西,它使用深度学习将单词转换为向量。看看:https://radimrehurek.com/gensim/models/word2vec.html

此外,您始终可以尝试使用线性 SVC 分类器或逻辑回归分类器,然后选择准确率最高的分类器。

【讨论】:

    【解决方案2】:

    你可以从 NLTK 下载一个,就像:

    from nltk.corpus import opinion_lexicon
    
    pos_list=set(opinion_lexicon.positive())
    neg_list=set(opinion_lexicon.negative())
    

    【讨论】:

      猜你喜欢
      • 2014-01-16
      • 1970-01-01
      • 2017-11-15
      • 2015-01-20
      • 1970-01-01
      • 2019-12-18
      • 1970-01-01
      • 2017-10-23
      • 2018-12-01
      相关资源
      最近更新 更多