Nuage de mot Python | Comment créer Word Cloud en Python?

Contenu

Les nuages ​​de mots se sont avérés être une technique de visualisation révolutionnaire pour comprendre et déterminer l'évolution des modèles et des tendances.. Que ce soit pour découvrir les agendas politiques des candidats électoraux d'un pays ou pour analyser les opinions des clients sur le produit récemment lancé, une représentation visuelle peut être obtenue en traçant le nuage de mots.

Dans les lignes suivantes, nous allons en apprendre davantage sur les nuages ​​de mots, vos applications et comment les construire en python.

introduction

Word Cloud ou Tag Clouds est une technique de visualisation de texte qui est utilisée nativement pour visualiser les balises ou mots-clés de sites web. Comme d'habitude, ces mots-clés sont des mots individuels qui représentent le contexte de la page Web à partir de laquelle le nuage de mots est créé. Ces mots sont regroupés pour former un nuage de mots.

Chaque mot de ce nuage a une taille de police et un ton de couleur variables. Pourtant, cette représentation aide à déterminer les mots importants. Une taille de police plus grande d'un mot dépeint davantage sa proéminence par rapport aux autres mots du groupe. Word Cloud peut être construit sous différentes formes et tailles selon la vision des créateurs. Le nombre de mots joue un rôle important lors de la création d'un nuage de mots. Plus de mots ne signifie pas toujours un meilleur nuage de mots, car il devient encombré et difficile à lire. Un nuage de mots doit toujours être sémantiquement significatif et doit représenter ce à quoi il est destiné.

Même si, il existe différentes manières de créer des nuages ​​de mots, mais le type le plus utilisé est d'utiliser Fréquence des mots dans notre corpus. Et donc, nous allons créer notre nuage de mots en utilisant le type de fréquence.

33978nuage de mots-679937_1280-3645359

Histoire

L'histoire de Word Clouds remonte à 1976 quand un psychologue social américain Stanley Milgram a mené une étude psychologique et a interrogé les gens sur les lieux à Paris. L'idée principale était de construire une carte mentale de Paris lorsque les gens étaient interrogés sur la ville. Analyser et dessiner une carte basée sur les réponses reçues des personnes et conserver une taille de police plus grande pour les réponses fréquemment reçues.

Les nuages ​​​​de tags ont été mis à l'honneur lorsque Flickr, un site de partage de photos, dans 2006 commencé à utiliser des nuages ​​de tags pour l'exploration du site. A la fin de la première décennie du XXIe siècle, Word Cloud est devenu un outil très populaire parmi les mineurs de texte.

Mais, La tendance du nuage de tags continue d'osciller et, finalement, a commencé à diminuer avec le temps. Et donc, les nuages ​​de mots sont couramment utilisés dans le monde d'aujourd'hui.

63368mot20vs20tag20tendance-4852295
Word Cloud vs Tag Cloud Trend de Google Trends (La source – Ordinateur personnel)

Applications

Word Cloud trouve sa place dans de nombreuses applications dans plusieurs domaines. Certaines des applications populaires de Word Clouds sont:

1. Commentaires des clients

Les nuages ​​de mots sont largement utilisés par les parties prenantes dans les industries pour analyser les commentaires reçus des utilisateurs finaux. Supposons qu'une entreprise lance un produit et souhaite connaître les commentaires des clients. Disons que l'entreprise a reçu 1000 commentaires de différents utilisateurs. Il serait très difficile pour les parties intéressées de lire et de prendre note de tous les commentaires. Donc, Word Cloud jouerait un rôle clé pour obtenir les meilleurs mots-clés parmi les commentaires. Cela aiderait l'entreprise à déterminer si les commentaires sont positifs ou négatifs et leurs domaines d'amélioration respectifs.. Par exemple, une société « ABC »’ a lancé un nouveau téléviseur et, sur la base des commentaires reçus, la société peut apporter des modifications en conséquence dans la prochaine série de téléviseurs.

2. Agenda politique des candidats

Souvent, les candidats aux élections maintiennent une liste de contrôle de l'ordre du jour pour parler pendant les campagnes. Donc, l'équipe de soutien du candidat analyserait le discours du candidat et créerait un nuage de mots pour sélectionner les mots du prochain discours afin de maintenir un équilibre sur la liste de contrôle de l'ordre du jour. Les analystes créent souvent un nuage de mots des discours des candidats de différents partis pour analyser et produire des résultats afin que les gens sachent quel candidat se concentre sur quels domaines d'improvisation.. Par exemple, aux élections américaines de 2021, les analystes ont pu accéder facilement au mot Nuages ​​des discours des candidats du Parti républicain et du Parti démocrate pour que le peuple décide.

3. Thèmes d'actualités

Les agences de publicité auraient souvent besoin de connaître les tendances pour créer la prochaine annonce dans le contexte des sujets tendances.. Par exemple, Amul crée une annonce créative basée sur le thème ou la tendance actuelle.

Comment créer un nuage de mots en Python

Vous pouvez créer un nuage de mots en Python dans les étapes suivantes:

1. Importez les bibliothèques requises

importer les bibliothèques suivantes requises pour créer un nuage de mots

importer des pandas en tant que importer matplotlib.pyplot en tant que plt à partir de wordcloud importer WordCloud

2. Sélectionner le jeu de données

Pour cet exemple, estamos usando Popular Jeu de données Meilleurs jeux sur Google Play Store de Kaggle.

Téléchargez le jeu de données et enregistrez-le dans votre répertoire de travail actuel pour un déploiement fluide du code.

Importe el conjunto de datos en una variable de su elección. Ici, nos données sont importées en variable df.

Le texte word cloud n’a pas besoin d’être issu d’un jeu de données. Pour obtenir un texte significatif avec moins d’effort, nous utilisons le jeu de données pour notre exemple.

df = pd.read_csv("jeux android.csv")

3. Sélectionner le texte et la quantité de texte pour Word Cloud

Sélectionner du texte pour créer un nuage de mots est une tâche importante. Plusieurs facteurs doivent être vérifiés pour la sélection de Texte, comme:

  • Avons-nous un énoncé de problème?
  • Le texte sélectionné a-t-il un sens?
  • Pouvons-nous conclure le nuage de mots créé?
  • Notre texte a-t-il une quantité de texte adéquate?

Word Cloud nécessite du texte en quantité appropriée. Un grand nombre de mots nuirait à l'apparence visuelle de Word Cloud et moins de mots n'auraient pas de sens.

Nous pouvons utiliser la méthode .head () de DataFrame pour vérifier les colonnes et le type de données qu'elles contiennent. Dans notre exemple, nous avons pris la colonne Catégorie comme texte.

Étant donné que la catégorie de colonne a un préfixe de JOUER avant chaque match de catégorie, notre nuage de mots finirait par créer JOUER puisque le mot le plus fréquent et Word Cloud n'auront aucun sens en int. Donc, nous allons filtrer en ajoutant le Catégorie colonne en texte.

4. Compruebe los valores NUL

Les valeurs nulles doivent être vérifiées dans notre jeu de données, depuis lors de la création du nuage de mots, n'accepterait pas de texte avec yaya valeurs.

df.isna().somme()

Si notre jeu de données avait des valeurs NaN, nous devons traiter les valeurs manquantes en conséquence. Heureusement, cet ensemble de données n'a pas de valeurs NaN, afin que nous puissions passer à l'étape suivante.

S'il y a trop peu de valeurs NaN, il est toujours conseillé de supprimer ces lignes, ya que no afectaría a Word Cloud en mayor mesure.

4. Ajouter du texte à une variable

Según los paramètres de l'étape 3, ajoutez les données textuelles à une variable de votre choix. Ici, nous ajoutons les données à la variable texte.

texte = " ".rejoindre(cat.split()[1] pour chat dans df.category)

Puisque nous devons filtrer les JOUER de la catégorie, nous avons divisé la valeur de chaque ligne et nous avons pris le deuxième élément, c'est-à-dire, le nom de la catégorie du Catégorie colonne.

5. Création du nuage de mots

Créez un objet de la classe WordCloud avec le nom de votre choix et appelez la méthode generate (). Ici, nous avons créé l'objet avec le nom mot nuage.

Mot nuage () prendre divers arguments au besoin. Ici, nous ajoutons deux arguments:

1. collocations = Faux, qui ignorera les mots de placement de texte

2. background_color = 'Blanc', ça rendra les mots plus clairs

La méthode .generate () prendre un argument de la texte nous créons. Dans notre cas, nous donnerons le texte variable comme argument pour .generate ().

word_cloud = WordCloud(collocations = Faux, background_color="blanche").produire(texte)

6. Traçage du nuage de mots

En utilisant le .imshow () méthode matplotlib.pyplot pour afficher le nuage de mots sous forme d'image.

.imshow () prend plusieurs arguments, mais dans notre exemple, on prend deux arguments:

1. mot nuage créé à l'étape 5

2. interpolation = 'bilinéaire’

Puisque nous créons une image avec .imshow (), el remuestreo de la imagen se realiza porque el tamaño de píxel de la imagen y la résolution de la pantalla no coinciden. Ce rééchantillonnage est contrôlé par le interpolation argument pour produire des images plus lisses ou plus nettes selon notre besoin. Il existe plusieurs types d'interpolation disponibles, comme gaussien, quadrique, bicubique. Ici, nous utilisons binaural interpolation.

Tracer l'image avec l'axe désactivé, puisque nous ne voulons pas de marques d'axe sur notre image.

plt.imshow(mot nuage, interpolation='bilinéaire')
plt.axis("désactivé")
plt.show()

7. Le code complet

#Importation de bibliothèques importer des pandas en tant que importer matplotlib.pyplot en tant que plt %matplotlib en ligne à partir de wordcloud importer WordCloud #Importing Dataset df = pd.read_csv("jeux android.csv")
#Vérification du fichier Data df.head()
#Vérification des valeurs NaN df.isna().somme()
#Suppression des valeurs NaN #df.dropna(en place = vrai)
#Création de la variable de texte texte = " ".rejoindre(cat.split()[1] pour chat dans df.category)
# Création d’word_cloud avec du texte comme argument dans .generate() méthode word_cloud = WordCloud(collocations = Faux, background_color="blanche").produire(texte)
# Afficher le Word Cloud plt.imshow généré(mot nuage, interpolation='bilinéaire')
plt.axis("désactivé")
plt.show()
711281-8602837

Nube de palabras de Catégorie colonne (Source de l'image – Ordinateur personnel) * El tamaño de la imagen adjunta es independiente del tamaño de la imagen de salida

De la même manière, creemos Word Cloud para qualification columna del conjunto de datos importado.

#Importation de bibliothèques importer des pandas en tant que importer matplotlib.pyplot en tant que plt %matplotlib en ligne à partir de wordcloud importer WordCloud #Importing Dataset df = pd.read_csv("1.csv")

#Vérification du fichier Data df.head()

#Création de la variable de texte text2 = " ".rejoindre(titre pour titre dans df.title)

# Création d’word_cloud avec du texte comme argument dans .generate() méthode word_cloud2 = WordCloud(collocations = Faux, background_color="blanche").produire(texte2)

# Afficher le Word Cloud plt.imshow généré(word_cloud2, interpolation='bilinéaire')

plt.axis("désactivé")

plt.show()
225102-9751593

Nuage de mots de colonne de titre (Source de l'image – Ordinateur personnel) * El tamaño de la imagen adjunta es independiente del tamaño de la imagen de salida

Conclusion

Les nuages de mots créés précédemment peuvent être personnalisés en ajoutant des fonctionnalités avancées telles que le masquage, contour et redimensionnement des nuages.

Las nubes de palabras se pueden crear no solo con Python, mais aussi avec d’autres outils comme Microsoft Word, herramientas de inteligencia empresarial como Tableau. Actuellement, il existe de nombreux outils disponibles sur Internet qui créent un nuage de mots simplement en fournissant le texte d’entrée. Depuis que la tendance du nuage de mots est en hausse, le nombre de formes et d'outils augmente également.

Nuage de mots puede ser engañoso a veces. Dans certains scénarios, il peut arriver que plusieurs mots de notre nuage de mots aient la même taille, il peut donc être difficile de dire lequel d'entre eux est plus fréquent que l'autre. Nous pouvons utiliser des techniques plus avancées pour contrer le problème.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.