【问题标题】:nltk bags of words showing emotionsnltk 表达情绪的词袋
【发布时间】:2019-04-11 13:26:11
【问题描述】:

我正在使用 python 和 nltk 进行 NLP。

我想知道是否有任何数据集包含包含与情绪相关的关键字的词袋,例如快乐、快乐、愤怒、悲伤等

从我在 nltk 语料库中挖掘的内容来看,我看到一些情绪分析语料库包含正面和负面评论,这些评论与显示情绪的关键字并不完全相关。

有没有什么我可以建立自己的字典来包含为此目的表达情感的单词?是这样,我该怎么做,有没有这样的词的集合?

任何帮助将不胜感激

【问题讨论】:

    标签: python nlp nltk


    【解决方案1】:

    我不知道有任何将情感与关键字相关联的数据集,但您可以从通用情感分析数据集开始轻松构建一个。

    1) 从停用词和您不想与情绪关联的所有术语中清除数据集。

    2) 计算两个情感类中每个单词的计数并对其进行归一化。通过这种方式,您将关联每个单词属于某个类别的概率。假设你在肯定句中出现了 300 次“爱”这个词,而在否定句中出现了 150 次同一个词。归一化你会发现“爱”这个词有 66% (300/(150+300)) 的概率属于正类,33% 属于负类。

    3) 为了使字典对边界术语更加健壮,您可以设置一个阈值,以将最大概率低于阈值的所有单词视为中性。

    这是构建您要查找的字典的简单方法。您可以使用更复杂的方法作为词频-逆文档频率。

    【讨论】:

    • 我不太明白你的意思,例如,如果我正在使用这个 SentiWordNet 语料库,里面有很多条目,如下所示:better_off#1 in a更幸运或繁荣的条件; “如果她坚持教书,她会过得更好”; “比他的同学过得好” a 01048406 0.75 0 happy#2 felicitous#2 以好运为标志; “幸福的生活”; “一个快乐的结果”a 01048587 0.5 0 所以如果我只对代表情感的词感兴趣,我可以删除我不感兴趣的所有其他条目,例如 better_off 条目?
    • 你好@Calvin。我查看了 SentiwordNet。我不知道这个数据集。它似乎包含您要查找的内容。在数据集中,每个术语由 4 个值表征:POS:“a”;编号:“01048202”; POSITIVE_score:“0.875”; NEGATIVE_Score:0; SynsetTerms:“better_off#1”;词汇表:“非常幸运 [...]”。元组 (POS,ID) 唯一标识 WordNet (3.0) 中的术语。 POSITIVE/NEGATIVE_score 衡量术语与情绪的关联程度。 “SynsetTerms”:是正在分析的术语。 “词汇表”:是污染术语的句子列表(原始语料库?)
    • 基本上 SentiWordNet 包含我建议一步一步做的结果。在 SentiwordNet 中,您对“SynsetTerms”感兴趣:["better_off#1",happy#2,nonadaptive#1 compatible#2 ] 及其 POSITIVE/NEGATIVE_score。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 2017-03-21
    • 1970-01-01
    • 2013-11-06
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多