【问题标题】:nltk NaiveBayesClassifier training for blogs sentiment analysis用于博客情感分析的 nltk NaiveBayesClassifier 培训
【发布时间】:2015-01-20 09:05:05
【问题描述】:

我从不同的博客文章中删除了关于特定主题的文本。我读到的大多数关于情感网络分析的主题都是基于训练分类器,以确定它是否是正/负答案,如thread 所示。 我的问题是我在哪里可以找到单词词典,以及那里的情绪。 例如:Nice: Positive , bad: negative

【问题讨论】:

    标签: python nltk


    【解决方案1】:

    如果您使用英文文本,您可以使用与预训练模型相关的极性分数字典。 我建议使用 NLTK 的 Vader,因为它非常易于处理。

    from nltk.sentiment import vader
    analyzer = vader.SentimentIntensityAnalyzer()
    words_with_sentiments = analyzer.make_lex_dict()
    len(words_with_sentiments)
    

    输出是 7502 个条目。

    .make_lex_dict() 的输出是一个字典,其结构如下:

    {...
    'agree': 1.5,
     'agreeability': 1.9,
     'agreeable': 1.8,
     'agreeableness': 1.8,
     'agreeablenesses': 1.3,
     'agreeably': 1.6,
     'agreed': 1.1,
     'agreeing': 1.4,
     'agreement': 2.2,
     'agreements': 1.1,
     'agrees': 0.8,
     'alarm': -1.4
    ...}
    

    理论上,正值对应于积极情绪,而负值对应于消极情绪。然后,您可以将此字典用作您正在解析的字符串的查找表。

    【讨论】:

      【解决方案2】:

      您正在寻找的是情感词典。情感词典是一个单词字典,其中每个单词都有一个相应的情感分数(范围从非常负面到非常正面),或者您提到的标签,例如好或坏(但后者并不常见)。您可以使用多种情绪词典,例如 sentiwordnet、sentistrength 和 AFINN 等等。在所有这三个词典中,您可以获得与每个情感词相对应的情感分数,当然,您可以简单地设置一个条件,即如果一个词具有相应的负分,则为差,如果为正,则为好。 其中最容易使用的是 AFINN,我建议您从它开始。稍后您可以根据您的应用升级到更合适的版本。 您可以找到有关 AFINN 的信息here 并从here 下载。

      如果您还有其他问题,请告诉我。

      【讨论】:

        猜你喜欢
        • 2014-01-16
        • 2014-04-21
        • 2016-09-08
        • 1970-01-01
        • 1970-01-01
        • 2017-11-15
        • 2019-01-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多