Analyse du Sentiment avec NLTK python pour les phrases utilisant des données d'échantillon ou webservice?

je me lance dans un projet de NLP pour l'analyse du sentiment.

j'ai installé NLTK avec succès pour python (semble être un bon logiciel pour cela). Cependant, j'ai du mal à comprendre comment il peut être utilisé pour accomplir ma tâche.

Voici ma tâche:

  1. je commence avec un long morceau de données (disons plusieurs centaines de tweets sur le sujet de L'élection au Royaume-Uni de leur webservice)
  2. je voudrais briser cette dans des phrases (ou des infos qui ne dépassent pas une centaine de caractères) (je suppose que je peux le faire en python??)
  3. puis chercher dans toutes les phrases les cas spécifiques dans cette phrase par exemple "David Cameron"
  4. puis je voudrais vérifier les sentiments positifs/négatifs dans chaque phrase et les Compter en conséquence

NB: Je ne m'inquiète pas trop de l'exactitude parce que mes ensembles de données sont volumineux et aussi parce que je ne m'inquiète pas trop des sarcasmes.

Voici les problèmes que je vais avoir:

  1. tous les ensembles de données que je peux trouver par exemple les données de revue de film de corpus qui vient avec NLTK arent dans le format de webservice. Il ressemble à ceci a eu un traitement déjà fait. Pour autant que je puisse voir le traitement (par stanford) a été fait avec WEKA. N'est-il pas possible pour le NLTK de faire tout cela tout seul? Ici, tous les ensembles de données ont déjà été organisés en positif / négatif déjà par exemple ensemble de données de polarité http://www.cs.cornell.edu/People/pabo/movie-review-data/ Comment fait-on cela? (pour organiser les phrases par sentiment, est-ce bien WEKA? ou quelque chose d'autre?)

  2. Je ne suis pas sûr de comprendre pourquoi WEKA et NLTK seraient utilisés ensemble. Semble comme ils font à peu près la même chose. Si je traite les données avec WEKA en premier pour trouver des sentiments, pourquoi aurais-je besoin de NLTK? Est-il possible d'expliquer pourquoi il peut être nécessaire?

j'ai j'ai trouvé quelques scripts qui s'approchent un peu de cette tâche, mais tous utilisent les mêmes données pré-traitées. N'est-il pas possible de traiter ces données moi-même pour trouver des sentiments dans des phrases plutôt que d'utiliser les échantillons de données donnés dans le lien?

toute aide est très appréciée et me fera économiser beaucoup de cheveux!

Cheers Ke

17
demandé sur mjv 2010-05-14 11:04:19

2 réponses

les données de la critique du film ont déjà été marquées par les humains comme étant positives ou négatives (la personne qui a fait la critique a donné au film une note qui est utilisée pour déterminer la polarité). Ces Gold standard les étiquettes vous permettent de former un classificateur, que vous pourriez ensuite utiliser pour d'autres critiques de films. Vous pourriez former un classificateur en NLTK avec ces données, mais appliquer les résultats aux tweets électoraux pourrait être moins précis que de deviner au hasard positif ou négatif. Alternativement, vous pouvez aller à travers et étiqueter quelques milliers de tweets vous-même comme positif ou négatif et de l'utiliser comme votre ensemble de formation.

Pour une description de l'utilisation Naïve Bayes pour l'analyse de sentiment avec NLTK: http://streamhacker.com/2010/05/10/text-classification-sentiment-analysis-naive-bayes-classifier/

Alors dans ce code, au lieu d'utiliser le film corpus, utiliser vos propres données pour calculer le nombre de mots (dans le word_feats méthode).

12
répondu ealdent 2010-05-14 11:43:01

pourquoi ne pas utiliser WSD. Utilisez L'outil de désambiguïsation pour trouver des sens. et utilisez la polarité de carte aux sens au lieu de mot. Dans ce cas, vous obtiendrez des résultats un peu plus précis par rapport à la polarité de l'index word.

1
répondu Kevin 2010-05-28 08:06:51