Python

Analyse des sentiments avec TextBlob et Python

Analyse des sentiments avec TextBlob et Python
Dans cette leçon, nous utiliserons l'un des excellents packages Python - TextBlob, pour créer un analyseur sentimental simple. Nous savons tous que les tweets sont l'un des exemples d'ensembles de données préférés en matière d'analyse de texte en science des données et en apprentissage automatique. En effet, les Tweets sont en temps réel (si nécessaire), accessibles au public (principalement) et représentent un véritable comportement humain (probablement). C'est pourquoi les tweets sont généralement utilisés lors de tout type de preuve de concepts ou de tutoriels liés au traitement du langage naturel (NLP) et à l'analyse de texte.

Utilisation de TextBlob dans l'industrie

Comme ça en a l'air, TextBlob est un package Python permettant d'effectuer des opérations d'analyse de texte simples et complexes sur des données textuelles telles que le balisage vocal, l'extraction de phrases nominales, l'analyse des sentiments, la classification, la traduction, etc. Bien qu'il y ait beaucoup plus de cas d'utilisation pour TextBlob que nous pourrions couvrir dans d'autres blogs, celui-ci couvre l'analyse des Tweets pour leurs sentiments.

Les sentiments d'analyse ont une grande utilisation pratique pour de nombreux scénarios :

Premiers pas avec TextBlob

Nous savons que vous êtes venu ici pour voir du code pratique lié à un analyseur sentimental avec TextBlob. C'est pourquoi nous garderons cette section extrêmement courte pour présenter TextBlob aux nouveaux lecteurs. Juste une note avant de commencer est que nous utilisons un environnement virtuel pour cette leçon que nous avons faite avec la commande suivante

python -m virtualenv textblob
source textblob/bin/activate

Une fois l'environnement virtuel actif, nous pouvons installer la bibliothèque TextBlob dans l'environnement virtuel afin que les exemples que nous créons ensuite puissent être exécutés :

pip install -U textblob

Une fois que vous exécutez la commande ci-dessus, ce n'est pas ça. TextBlob a également besoin d'accéder à certaines données d'entraînement qui peuvent être téléchargées avec la commande suivante :

python -m textblob.download_corpora

Vous verrez quelque chose comme ceci en téléchargeant les données nécessaires :

Vous pouvez également utiliser Anaconda pour exécuter ces exemples, ce qui est plus facile. Si vous souhaitez l'installer sur votre machine, regardez la leçon qui décrit "Comment installer Anaconda Python sur Ubuntu 18.04 LTS" et partagez vos commentaires.

Pour montrer un exemple très rapide pour TextBlob, voici un exemple directement issu de sa documentation :

à partir de textblob importer TextBlob
texte = "'
La menace titulaire de The Blob m'a toujours semblé être le film ultime
monstre : une masse insatiable, semblable à une amibe, capable de pénétrer
pratiquement n'importe quelle sauvegarde, capable de - en tant que médecin condamné
le décrit - « assimiler la chair au contact.
Au diable les comparaisons avec la gélatine, c'est un concept avec le plus
dévastatrice des conséquences potentielles, un peu comme le scénario de la boue grise
proposé par les théoriciens de la technologie craignant
l'intelligence artificielle se déchaîne.
"'
blob = TextBlob(texte)
imprimer (tache.Mots clés)
imprimer (tache.phrases nominales)
pour la phrase en blob.Phrases:
imprimer (phrase.sentiment.polarité)
goutte.translate(to="es")

Lorsque nous exécutons le programme ci-dessus, nous obtiendrons les mots de balise suivants et enfin les émotions que les deux phrases de l'exemple de texte démontrent :

Tag mots et émotions nous aide à identifier les principaux mots qui ont réellement un effet sur le calcul du sentiment et la polarité de la phrase fournie au. C'est parce que le sens et le sentiment des mots changent dans l'ordre dans lequel ils sont utilisés, donc tout cela doit rester dynamique.

Analyse des sentiments basée sur le lexique

Tout sentiment peut simplement être défini en fonction de l'orientation sémantique et de l'intensité des mots utilisés dans une phrase. Avec une approche basée sur le lexique pour identifier les émotions dans des mots ou des phrases donnés, chaque mot est associé à un score qui décrit l'émotion que le mot manifeste (ou au moins essaie de manifester). Habituellement, la plupart des mots ont un dictionnaire prédéfini sur leur score lexical, mais quand il s'agit d'humain, il y a toujours du sarcasme, donc, ces dictionnaires ne sont pas quelque chose sur lequel nous pouvons compter à 100%. Le dictionnaire des sentiments WordStat comprend plus de 9164 modèles de mots négatifs et 4847 positifs.

Enfin, il existe une autre méthode pour effectuer une analyse des sentiments (hors du cadre de cette leçon) qui est une technique d'apprentissage automatique, mais nous ne pouvons pas utiliser tous les mots dans un algorithme ML car nous aurons sûrement des problèmes de surapprentissage. Nous pouvons appliquer l'un des algorithmes de sélection de caractéristiques comme Chi Square ou Mutual Information avant d'entraîner l'algorithme. Nous limiterons la discussion de l'approche ML à ce texte uniquement.

Utilisation de l'API Twitter

Pour commencer à recevoir des tweets directement depuis Twitter, visitez la page d'accueil des développeurs d'applications ici :

https://développeur.Twitter.fr/fr/apps

Enregistrez votre candidature en remplissant le formulaire donné comme ceci :

Une fois que vous avez tous les jetons disponibles dans l'onglet « Clés et jetons » :

Nous pouvons utiliser les clés pour obtenir les tweets requis à partir de l'API Twitter, mais nous devons installer juste un autre package Python qui fait le gros du travail pour nous d'obtenir les données Twitter :

pip installer tweepy

Le package ci-dessus sera utilisé pour compléter toutes les communications lourdes avec l'API Twitter. L'avantage pour Tweepy est que nous n'avons pas à écrire beaucoup de code lorsque nous voulons authentifier notre application pour interagir avec les données Twitter et elle est automatiquement encapsulée dans une API très simple exposée via le package Tweepy. Nous pouvons importer le package ci-dessus dans notre programme en tant que :

importer tweepy

Après cela, il nous suffit de définir les variables appropriées où nous pouvons conserver les clés Twitter que nous avons reçues de la console développeur :

consumer_key = '[consumer_key]'
consumer_key_secret = '[consumer_key_secret]'
access_token = '[access_token]'
access_token_secret = '[access_token_secret]'

Maintenant que nous avons défini des secrets pour Twitter dans le code, nous sommes enfin prêts à établir une connexion avec Twitter pour recevoir les Tweets et les juger, je veux dire, les analyser. Bien entendu, la connexion à Twitter doit être établie en utilisant la norme OAuth et Le package Tweepy sera utile pour établir la connexion ainsi que:

twitter_auth = tweepy.OAuthHandler(consumer_key, consumer_key_secret)

Enfin, nous avons besoin de la connexion:

api = tweepy.API (twitter_auth)

En utilisant l'instance d'API, nous pouvons rechercher sur Twitter n'importe quel sujet que nous lui transmettons. Il peut s'agir d'un seul mot ou de plusieurs mots. Même si nous recommanderons d'utiliser le moins de mots possible pour plus de précision. Essayons un exemple ici :

pm_tweets = api.rechercher ("Inde")

La recherche ci-dessus nous donne de nombreux Tweets, mais nous limiterons le nombre de tweets que nous recevrons afin que l'appel ne prenne pas trop de temps, car il doit également être traité ultérieurement par le package TextBlob :

pm_tweets = api.search("Inde", compte=10)

Enfin, nous pouvons imprimer le texte de chaque Tweet et le sentiment qui lui est associé :

pour tweeter dans pm_tweets :
imprimer (tweeter.texte)
analyse = TextBlob(tweet.texte)
imprimer (analyse.sentiment)

Une fois que nous aurons exécuté le script ci-dessus, nous commencerons à obtenir les 10 dernières mentions de la requête mentionnée et chaque tweet sera analysé pour la valeur du sentiment. Voici le résultat que nous avons reçu pour la même chose :

Notez que vous pouvez également créer un bot d'analyse des sentiments en streaming avec TextBlob et Tweepy. Tweepy permet d'établir une connexion de streaming websocket avec l'API Twitter et permet de diffuser des données Twitter en temps réel.

Conclusion

Dans cette leçon, nous avons examiné un excellent package d'analyse textuelle qui nous permet d'analyser les sentiments textuels et bien plus encore. TextBlob est populaire en raison de la façon dont il nous permet de travailler simplement avec des données textuelles sans aucun tracas d'appels d'API complexes. Nous avons également intégré Tweepy pour utiliser les données Twitter. Nous pouvons facilement modifier l'utilisation en un cas d'utilisation en streaming avec le même package et très peu de changements dans le code lui-même.

Veuillez partager librement vos commentaires sur la leçon sur Twitter avec @linuxhint et @sbmaggarwal (c'est moi!).

Top 5 des cartes de capture de jeu
Nous avons tous vu et aimé des gameplays en streaming sur YouTube. PewDiePie, Jakesepticye et Markiplier ne sont que quelques-uns des meilleurs joueur...
Comment développer un jeu sur Linux
Il y a dix ans, peu d'utilisateurs de Linux prédisaient que leur système d'exploitation préféré serait un jour une plate-forme de jeu populaire pour l...
Ports Open Source des moteurs de jeux commerciaux
Les récréations de moteur de jeu gratuites, open source et multiplateformes peuvent être utilisées pour jouer à d'anciens ainsi qu'à certains des titr...