17

我正在着手进行情绪分析的 NLP 项目。

我已经成功地为 python 安装了 NLTK(这似乎是一个很棒的软件)。但是,我无法理解如何使用它来完成我的任务。

这是我的任务:

  1. 我从一个很长的数据开始(让我们从他们的网络服务中说数百条关于英国大选主题的推文)
  2. 我想把它分解成句子(或信息不超过 100 个左右的字符)(我想我可以在 python 中做到这一点??)
  3. 然后在所有句子中搜索该句子中的特定实例,例如“David Cameron”
  4. 然后我想检查每个句子中的正面/负面情绪并相应地计算它们

注意:我不太担心准确性,因为我的数据集很大,也不太担心讽刺。

以下是我遇到的麻烦:

  1. 我能找到的所有数据集,例如 NLTK 附带的语料库电影评论数据,都不是 web 服务格式。看起来这已经完成了一些处理。据我所知,处理(由斯坦福大学)是用 WEKA 完成的。NLTK 不可能自己做这一切吗?这里所有的数据集已经被组织成正/负,例如极性数据集http://www.cs.cornell.edu/People/pabo/movie-review-data/这是怎么做的?(按情感来组织句子,肯定是WEKA吗?还是别的什么?)

  2. 我不确定我是否理解为什么 WEKA 和 NLTK 会一起使用。似乎他们做的事情大致相同。如果我首先使用 WEKA 处理数据以查找情绪,为什么我需要 NLTK?是否有可能解释为什么这可能是必要的?

我发现了一些与此任务有些接近的脚本,但它们都使用相同的预处理数据。是否可以自己处理这些数据以查找句子中的情绪,而不是使用链接中给出的数据样本?

非常感谢任何帮助,这将为我节省很多头发!

干杯柯

4

2 回答 2

12

电影评论数据已经被人类标记为正面或负面(评论的人给了电影一个用于确定极性的评级)。这些黄金标准标签允许您训练分类器,然后您可以将其用于其他电影评论。您可以使用该数据在 NLTK 中训练分类器,但将结果应用于选举推文可能不如随机猜测正面或负面准确。或者,您可以自己检查几千条推文并将其标记为正面或负面,并将其用作您的训练集。

有关使用 NLTK 进行情感分析的朴素贝叶斯的描述:http: //streamhacker.com/2010/05/10/text-classification-sentiment-analysis-naive-bayes-classifier/

然后在该代码中,不使用电影语料库,而是使用您自己的数据来计算字数(在word_feats方法中)。

于 2010-05-14T11:34:28.017 回答
1

你为什么不使用WSD。使用消歧工具寻找感官。并使用将极性映射到感官而不是单词。在这种情况下,与单词索引极性相比,您将获得更准确的结果。

于 2010-05-28T08:06:51.463 回答