Comment créer un programme Python d'analyse des sentiments Twitter ? [Tutoriel étape par étape]
Publié: 2020-08-07La source
Alors que les entreprises sont de plus en plus axées sur les données, une technique d'apprentissage automatique appelée «analyse des sentiments» gagne chaque jour en popularité. Il analyse les données/textes numériques par le biais du traitement du langage naturel (TALN) pour trouver la polarité (positive, négative, neutre), les sentiments et les émotions (colère, heureux, triste, etc.) exprimés dans le texte.
Étant donné que Twitter est l'une des sources les plus complètes de conversations publiques en direct dans le monde, les entreprises, les groupes politiques, etc. sont intéressés par la réalisation d'une « analyse des sentiments » des tweets pour comprendre les émotions/opinions du marché cible ou pour étudier le marché des concurrents. . Bien qu'ils soient prêts à utiliser des programmes à cette fin, mais pour obtenir des prédictions avec un haut niveau de précision, spécifiques à des critères et à des domaines particuliers, la meilleure façon est de créer un modèle ou un programme Python d'analyse des sentiments Twitter personnalisé.
Table des matières
Tutoriel étape par étape : Créer un programme d'analyse des sentiments Twitter à l'aide de Python
Ce didacticiel vise à créer un programme d'analyse des sentiments Twitter à l'aide de Python. Le programme résultant devrait être capable d'analyser les tweets récupérés sur Twitter et de comprendre les sentiments du texte, comme sa polarité et sa subjectivité.
Les avantages indirects
1. Le plus important est la connaissance de base du codage/programmation de Python.
2. Outils à installer sur votre ordinateur :

- Python
- Bibliothèques : Tweepy, text blob, word cloud, pandas, NumPy, matplotlib
(Tweepy est la bibliothèque python officielle pour l'API Twitter qui permet à Python de communiquer avec la plate-forme Twitter)
3. Un compte Twitter
4. Une application Twitter doit être créée et authentifiée par Twitter : cela est nécessaire pour obtenir la « clé client et les jetons d'accès » dont vous aurez besoin dans votre programmation.
Si vous n'avez pas encore créé d'application Twitter à cet effet, voici comment la créer.
Lire la suite : Tutoriel Python NumPy : Apprendre Python Numpy avec des exemples
Comment créer une application Twitter ?
- Accédez au site des développeurs Twitter : dev.twitter.com.
- Connectez-vous avec votre compte Twitter
- Allez dans 'Mes candidatures'
- Cliquez sur "Créer une nouvelle application".
- Ensuite, vous devez remplir un formulaire, comme indiqué ci-dessous.
La source
- Cliquez ensuite sur "Créer mon jeton d'accès".
- Dans la page suivante, choisissez l'option "Lecture et écriture" sous la colonne "Type d'application".
Vous recevrez vos paramètres OAuth de l'application Twitter, qui incluent tous les détails nécessaires liés à votre clé consommateur, votre secret consommateur, votre jeton d'accès, votre secret de jeton d'accès, etc. Vous devez noter ces détails car ces informations d'identification API vous permettront de récupérer des tweets. de twitter. Mieux vaut l'enregistrer dans un fichier CSV sur votre ordinateur, ce dernier vous pouvez directement télécharger le fichier CSV dans votre programme pour lire les informations d'identification de l'API
Démarrer avec la création du programme Python d'analyse des sentiments Twitter
1. Importez les Librairies : Tweepy, text blob, word cloud, pandas, NumPy, matplotlib
2. Authentifiez l'application Twitter : Ensuite, vous devez authentifier votre application Twitter à l'aide des informations d'identification des paramètres OAuth de l'application Twitter, également appelées informations d'identification de l'API Twitter. Pour cela, vous devez créer un objet d'authentification, en utilisant les codes comme indiqué dans l'image ci-dessous.
La source
Pour remplir les informations d'identification de l'API Twitter, vous pouvez soit télécharger le fichier CSV, soit copier-coller manuellement les informations d'identification.
3. Récupérer les tweets de l'utilisateur Twitter : Maintenant, pour récupérer les tweets, vous devez d'abord choisir un utilisateur Twitter dont vous souhaitez analyser les tweets pour comprendre le sentiment qui y est exprimé. Disons; vous voulez voir si les tweets de 'UserXYZ' sont positifs, négatifs ou neutres en effectuant une analyse des sentiments des 100 tweets de UserXYZ.
Code pour récupérer les tweets
posts = api.user_timeline(screen_name = ”UserXYZ”, count= 100, Lang =”en”, tweet_mode="extended")
L'exécution de la commande ci-dessus affichera les tweets.
4. Créer une trame de données : Maintenant, vous devez créer une trame de données pour les tweets que vous avez récupérés. Disons que vous nommez la première colonne de votre df comme "Tweets", et elle contiendra tous les tweets répartis sur 100 lignes puisque vous analysez 100 tweets.
Df = pd.dataframe( [tweet.full_text for tweet in posts] , columns=[ 'Tweet'])
5. Nettoyez le texte : Le nettoyage du texte des tweets est important pour le succès de votre programme python d'analyse des sentiments Twitter, car il y aura de nombreux symboles indésirables comme @, #, re-tweets, hyperliens dans les URL, etc. Ici, votre La bibliothèque python'' est mise en service.
Obtenez la subjectivité et la polarité : une fois que vous avez nettoyé le texte, vous devez créer deux fonctions à l'aide de la bibliothèque python TextBlob pour obtenir la subjectivité et la polarité des tweets. La subjectivité montre à quel point le texte est opiniâtre et la polarité décrit la positivité ou la négativité du texte. Il serait préférable d'écrire le script python pour créer deux colonnes supplémentaires dans votre bloc de données pour héberger la subjectivité et la polarité. Donc, maintenant votre bloc de données aura trois colonnes (la première pour les tweets, la 2ème pour la subjectivité, la 3ème pour la polarité)

Les codes pour créer les fonctions de subjectivité et de polarité sont les suivants :
La source
Après avoir exécuté le code, vous verrez les scores de subjectivité et de polarité de chaque tweet affichés dans les colonnes respectives. TextBlob décrit la polarité sur une échelle de 1 à -1. Donc, si un tweet a une polarité -0,4 signifie qu'il est légèrement négatif, et s'il a une subjectivité de 0,6, alors il est assez subjectif.
6. Ensuite, vous pouvez choisir d'inclure un nuage de mots dans votre programme Python d'analyse des sentiments Twitter , car les nuages de mots sont également populaires en tant que technique de visualisation de données utilisée pour l'analyse des sentiments, dans laquelle la taille des mots indique son importance.
Exemple de WordCloud :
La source
Les bibliothèques matplotlib, Pandas et WordCloud entreront en action que vous avez déjà importées. Pour tracer un nuage de mots d'abord, vous devez créer une variable ; nommons-le 'allwords' pour représenter tous les tweets dans la colonne 'Tweets' du bloc de données.
Code pour créer WordCloud
allwords = ' '.join( [twts pour twts dans df [ 'Tweets' ]] )
WordCloud = WordCloud (width =xxx, height =xxx, randon_state =xxx, max_font_size =xxx. générer (tous les mots)
plt.imshow(wordcloud)
plt.axis("off")
plt.show()
7. Comme vous avez les scores de polarité pour chaque tweet, vous pouvez commencer à calculer une analyse positive, négative et neutre des tweets. Pour cela, vous devez créer une fonction, appelons-la 'Analyse', dans laquelle vous pouvez attribuer le score 0 à neutre, <0 à négatif et >0 à positif.
Analyse de la définition (score) :
Si score < 0
renvoie 'Négatif.'
score elif == 0
retour 'neutre
autre,
renvoie 'positif'.
Ensuite, pour héberger les résultats de l'analyse des sentiments des tweets, créez une nouvelle colonne dans votre data frame, nommons la 'TwtAnalysis' puis écrivons le code suivant :
df [ 'TwtAnalysis' ] = df [ 'Polarité' ]. appliquer (Analyse)
8. Le nouveau bloc de données aura la colonne ajoutée nommée "TwtAnalysis", et il fera référence à chaque tweet comme positif, négatif ou neutre en fonction de son score de polarité. Un exemple est montré ci-dessous dans l'image :
La source

9. Une fois que vous avez la classification des tweets comme positifs, négatifs et neutres, vous pouvez continuer à construire votre programme Python d'analyse des sentiments Twitter pour représenter les données dans différents formats tels que :
- Obtenez le pourcentage de tweets positifs, négatifs ou neutres.
- Imprimez séparément tous les commentaires positifs ou les tweets négatifs ou neutres
- Créez un tableau d'analyse visuelle des sentiments des tweets positifs, négatifs et neutres, et bien plus encore.
Lisez également : Top 9 des bibliothèques Python pour l'apprentissage automatique
Conclusion
Le programme Python d'analyse des sentiments de Twitter , expliqué dans cet article n'en est qu'un façon de créer un tel programme. Le développeur peut personnaliser le programme de plusieurs manières pour correspondre aux spécifications afin d'obtenir la plus grande précision dans la lecture des données, c'est la beauté de le programmer via python, qui est un excellent langage, pris en charge par une communauté active de développeurs et trop de bibliothèques.
Python a une portée immense dans l'espace de l'apprentissage automatique et de la science des données. Ceux qui sont dans la programmation depuis un certain temps savent bien que l'apprentissage automatique continuera d'être l'une des percées dans l'avenir de la programmation.
Si vous souhaitez vivre une expérience d'apprentissage complète et structurée, et si vous souhaitez en savoir plus sur l'apprentissage automatique, consultez le diplôme PG IIIT-B & upGrad en apprentissage automatique et IA, conçu pour les professionnels en activité et offrant plus de 450 heures. de formation rigoureuse, plus de 30 études de cas et missions, le statut d'ancien IIIT-B, plus de 5 projets pratiques de synthèse et une assistance à l'emploi avec les meilleures entreprises.
Quelle est l'importance fonctionnelle de l'analyse des sentiments sur les réseaux sociaux ?
À l'ère des médias sociaux, les opinions des consommateurs détiennent un pouvoir infini pour faire ou défaire une marque. L'analyse des sentiments est le meilleur moyen de comprendre avec précision les facteurs déterminants des opinions et des émotions des consommateurs. Grâce aux données disponibles à partir de l'analyse des sentiments, les entreprises peuvent trouver leur public cible, identifier les influenceurs des médias sociaux pour leur marque et repérer les tendances émergentes du marché. De plus, l'analyse des sentiments sur les plateformes de médias sociaux offre également une idée complète de la santé de leur marque ; les entreprises peuvent recevoir des commentaires honnêtes des consommateurs sur leurs produits et services nouvellement lancés afin de les améliorer. Il est également efficace dans la gestion de la réputation en ligne en identifiant mieux les domaines d'amélioration et la résolution des problèmes.
Pouvez-vous apprendre Python par vous-même ?
Si vous avez un certain niveau d'expérience en programmation, vous pouvez certainement commencer à apprendre Python par vous-même. Python est livré avec une structure syntaxique relativement simple et est également intuitif, ce qui le rend facile à comprendre même pour les débutants. En outre, il est facile d'installer le package et de l'exécuter sur votre machine depuis n'importe où. Vous pouvez accélérer votre apprentissage en vous inscrivant à des cours Python, en assistant à des bootcamps de codage. Avec une communauté de développeurs active toujours prête à étendre le support, une abondance de ressources d'apprentissage et de documentation, les débutants peuvent apprendre les bases de Python en 7 à 8 semaines environ.
Qu'est-ce qui est le plus difficile à apprendre entre Python et C++ ?
Python et C++ sont des langages de programmation entièrement différents avec un comportement et des fonctionnalités entièrement différents. Cependant, les deux supportent fortement la programmation orientée objet. Mais compte tenu du framework Python global, il est simple, beaucoup plus facile et plus rapide à apprendre que C++. En fait, beaucoup de gens apprennent Python pour découvrir ce qu'est un codage simple. Python est open-source, gratuit et offre une fiabilité et une facilité exceptionnelles lorsqu'il s'agit de développer des applications d'apprentissage automatique complexes. Bien que C++ soit plus efficace en termes de performances, il n'est pas considéré comme adapté à Python pour les projets d'apprentissage automatique.