使用 WN-Affect 检测字符串的 emotion/mood

Using WN-Affect to detect emotion/mood of a string

我下载了WN-Affect。但是,我不确定如何使用它来检测句子的情绪。例如,如果我有一个字符串 "I hate football." 我希望能够检测情绪是否不好以及情绪是否是恐惧。 WN-Affect 没有关于如何操作的教程,我对 python 有点陌生。任何帮助都会很棒!

简而言之:改用SentiWordNet,看看https://github.com/kevincobain2000/sentiment_classifier


中长:

影响力 vs 情绪

情感和情感之间的界限非常微妙。人们应该在语言学研究中研究 Affectedness,例如http://compling.hss.ntu.edu.sg/events/2014-ws-affectedness/Sentiment Analysis 在计算研究中。现在,让我们将识别影响和情绪的任务称为情绪分析。

另请注意,与 SentiWordNethttp://sentiwordnet.isti.cnr.it/ 相比,WN-Affect 是一个相当古老的资源。

这是使用 SentiWordNet 进行情绪分析的好资源https://github.com/kevincobain2000/sentiment_classifier

通常情绪分析只有两个 类、positivenegative 情绪。而 WN-affect 使用 11 种类型的影响标签:

  • 感动
  • 心情
  • 特质
  • 认知状态
  • 物理状态
  • 享乐信号
  • 引发情绪
  • 情绪反应
  • 行为
  • 态度
  • 感觉

每种类型都有多个类,见https://github.com/larsmans/wordnet-domains-sentiwords/blob/master/wn-domains/wn-affect-1.1/a-hierarchy.xml


要回答如何使用 WN-Affect 的问题,您需要做几件事:

首先把WN1.6映射到WN3.0(这不是一件容易的事,你必须做几次映射,尤其是2.0-2.1之间的映射)

WN3.0现在使用WN-Affect,可以申请

  • 与 SentiWordNet 情感分类器或
  • 相同的分类技术
  • 尝试最大化文本中的 类,然后使用一些试探法来选择 'positive' / 'negative'

WordNet-Affect 使用 WordNet 1.6 偏移量。

但是,WordNet 1.6 仍可供下载。您可以使用 nltk.corpus.WordNetCorpusReader class 加载它。我写了所有的代码来做到这一点 here.