88 votes

Analyse des sentiments sur Twitter en Python

Je suis à la recherche d'une implémentation open source, de préférence en python, de Analyse du sentiment textuel ( http://en.wikipedia.org/wiki/Sentiment_analysis ). Quelqu'un connaît-il une telle implémentation open source que je pourrais utiliser ?

J'écris une application qui recherche sur twitter un terme de recherche, disons "youtube", et compte les tweets "heureux" par rapport aux tweets "tristes". J'utilise l'appengine de Google, donc c'est en python. J'aimerais pouvoir classer les résultats de recherche renvoyés par Twitter et j'aimerais le faire en python. Je n'ai pas été en mesure de trouver un tel analyseur de sentiments jusqu'à présent, et surtout pas en python. Connaissez-vous une telle implémentation open source que je pourrais utiliser ? De préférence, c'est déjà en python, mais si non, j'espère pouvoir le traduire en python.

Notez que les textes que j'analyse sont TRES courts, ce sont des tweets. Donc idéalement, ce classifieur est optimisé pour des textes aussi courts.

BTW, twitter supporte les opérateurs " :)" et " :(" dans la recherche, qui visent à faire exactement cela, mais malheureusement, la classification fournie par eux n'est pas si grande, donc j'ai pensé que je pourrais essayer moi-même.

Gracias.

BTW, une première démo est aquí et le code que j'ai jusqu'à présent est aquí et je serais ravi de l'ouvrir à tout développeur intéressé.

4voto

StompChicken Points 6102

Je pense que vous aurez du mal à trouver ce que vous cherchez. La chose la plus proche que je connaisse est LingPipe qui a quelques la fonctionnalité d'analyse des sentiments et est disponible sous un type limité de licence open-source, mais est écrit en Java.

De plus, les systèmes d'analyse de sentiments sont généralement développés en entraînant un système sur des données de critiques de produits ou de films qui sont significativement différentes du tweet moyen. Ils vont être optimisés pour des textes comportant plusieurs phrases, toutes sur le même sujet. Je pense que vous feriez mieux d'élaborer vous-même un système basé sur des règles, peut-être sur la base d'un lexique de termes relatifs aux sentiments, tel que celui que l'Université de Pittsburgh fournit .

Vérifiez Nous nous sentons bien pour une mise en œuvre d'une idée similaire avec une interface vraiment belle (et twitrratr ).

2voto

cyhex Points 11

Jetez un coup d'œil à Outil d'analyse des sentiments sur Twitter . Il est écrit en python, et il utilise le classificateur Naive Bayes avec un apprentissage machine semi-supervisé. La source peut être trouvée aquí .

1voto

Luka Marinko Points 1184

Je suis tombé sur Boîte à outils en langage naturel il y a un moment. Vous pourriez probablement l'utiliser comme point de départ. Il comporte également de nombreux modules et addons, alors peut-être ont-ils déjà quelque chose de similaire.

1voto

Sonson123 Points 1464

Peut-être TextBlob (basé sur NLTK et pattern) est l'outil d'analyse des sentiments qu'il vous faut.

0voto

Une idée un peu farfelue : vous pourriez essayer d'utiliser l'API Twitter pour télécharger un grand nombre de tweets, puis classer un sous-ensemble de cet ensemble en utilisant des émoticônes : un groupe positif pour " :)", " :]", ":D", etc. et un autre groupe négatif avec " :(", etc.

Une fois que vous disposez de cette classification grossière, vous pouvez rechercher d'autres indices à l'aide d'une analyse de fréquence ou d'une analyse ngram ou quelque chose de ce genre.

Cela peut sembler idiot, mais des recherches sérieuses ont été menées à ce sujet (recherchez "analyse des sentiments" et émoticône). Cela vaut la peine d'y jeter un coup d'œil.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X