Ir al contenido principal

cómo hacer gráficos en Python con la palabra que más se repite en un texto Wordcloud Python

Quizá han visto algunos gráficos en internet o en publicidad donde podemos ver una serie de palabras ordenadas y que resaltan las palabras mas populares o mas utilizadas en un texto, si no lo han visto hablo de una imagen como la siguiente.

ejemplo diagrama word cloud


Este tipo de diagramas pueden construirse con la ayuda de Natural Language Processing, es decir un procesador de lenguaje que es capaz de interpretar las palabras. Tenemos varias aplicaciones para el procesamiento de lenguaje natura:
  • Como es en los chatbot
  • En los correctores de ortografía
  • En las aplicaciones que nos ayudan con la gramática
  • Resultados de búsqueda en navegadores
  • Texto predictivo en nuestros celulares o en correos
  • Traducción de texto
  • Análisis de datos 
Hoy les quiero platicar acerca del ultima aplicación, Análisis de Datos utilizando  Python y la librería Word Cloud para poder analizar datos y generar un diagrama como la primer imagen de esta publicación. 

Para hacerlo interesante tome una conversación de mi WhatssApp y lo respalde para tener un archivo de texto, es decir nuestro archivo de entrada. Para hacerlo selecciona el chat y da click en los 3 puntos de la esquina superior derecha y selecciona mas y luego Exportar chat, te lo puedes enviar por correo.
Después cree un Notebook en Jupyter ese archivo lo guarde en una variable leyendo el contenido del archivo y después generar el grafico. En resumen lo que haremos es como se ve el siguiente diagrama.



Para instalar la libreria https://pypi.org/project/wordcloud/  pip install wordcloud


El código del programa es el siguiente

import os
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
import matplotlib.pyplot as plt
from nltk.corpus import stopwords

# Leer los datos
#df = pd.read_fwf('Data/datosentrada.txt',header=None, encoding = 'utf8')
text_file = "Data/datosentrada.txt" #Modify this path accordingly
text = open(text_file, "r", encoding="utf-8").read()
text = text.lower()

#limpiar datos
text = text.replace('<multimedia omitido>','')

#definir stop word como la, lo 
nltk_sw = stopwords.words('spanish')


"convertir datos
# Create and generate a word cloud image:
word_cloud = WordCloud(
        width=3000,
        height=2000,
        random_state=1,
        background_color="salmon",
        colormap="Pastel1",
        collocations=False,
        stopwords=nltk_sw,
        ).generate(text)

#mostrar grafica
plt.imshow(word_cloud)
plt.axis("off")
plt.show()

Procese el archivo con nuestra librería Word Cloud y obtuve la siguiente imagen.


Podemos también utilizar una imagen para darle forma a nuestro grafico, como algo así, un Goku por supuesto


Un video para explicarles los pasos y vean como funciona




He de decir que me pareció muy divertido hacer este programa y poder conocer un poco mas de la información y verlo en una grafica. ¿En que mas podrían utilizarlo? a mi se me ocurre lo siguiente:

  • Si tienes un blog puedes tomar los comentarios que recibes y analizarlos asi
  • Si tienes un chat de ventas igual podrías ver cuales son las palabras mas utilizas y revisar si tus clientes están satisfechos o no
  • En un libro que estas escribiendo o si eres creador de contenido analizar tus textos
  • Si eres maestro y quieres saber que palabras son las que mas utilizan tus alumnos en su redacción
  • En una empresa, por ejemplo en RH las entrevistas de salida o de ingreso
Espero les sea de utilidad, nos compartan y dejen sus comentarios.
#programacionparatodos
#ejemplospython
#WordcloudPython

Comentarios

Entradas más populares de este blog

Graficar funciones en Python con dataframes

Bienvenidos a un nuevo post, en esta semana, en esta ocasión les quiero platicar acerca de una librería en Python que se llama  matplotlib  que nos sirve para gráfica funciones de  matemáticas. Habitualmente en Python existen muchas librerías, lo que hay que hacer es primero investigar si ya existe alguna que nos ayude y entenderla antes de inventar el hilo negro, en mi caso encontré la librería  Matplotlib Para instalar deben utilizar el comando PIP en 2.7 Instalando en Python 3.7 Si tienen Python 2.7 deben realizar la ejecución de estos 2 comandos desde consola python -m pip install -U pip python -m pip install -U matplotlib Aunque lo más recomendable es utilizar la versión 3.7 o superior de Python. Programa para graficar en Python import matplotlib.pyplot as plt import numpy as np import math as mt def move_spines():     """Esta funcion divide pone al eje y en el valor      0 de x para dividir claramente los valores positivos y     negativos.&quo

Ejemplo Macro en Word

Hola: ¿Sabían que no solo en Excel pueden hacer Macros?  ¡¡¡También en Outlook, Word, Power Point,Access  es posible hacer Macros!!!  ☺️ Ya que Word, Excel, Power Point,Access son de familia Microsoft y Visual Basic también es que podemos programar nuestras macros en esta paquetería. Como hemos visto antes, para poder programar nuestras macros, necesitamos primero configurar la Barra de tareas de Developer o Desarrollador Seleccionan el Menu File>Options>Customize Ribbon o en Español Archivo>Opciones>barra de tareas Despues la parte de seguridad de las macros Menu File>Options>Trus Center o Archivo>Opciones>Centro de Seguridad y marcamos como se ve en la imagen, la cuarta opción y el combo Ejemplo Vamos hacer un ejemplo donde, tengamos que generar varios diplomas de fin de curso, pero con una lista de Nombres , entonces vamos a crear un nuevo archivo en Word y le vamos a guardar como tipo Macro  Tenemos una plantill

Ejemplo Python para leer imagen y transformarla en una matriz

Como hemos visto en otros post, Python nos permite hacer programas de manera más rápida, en esta ocasión quiero compartirles un ejemplo para leer un archivo de imagen y como convertirlo en una matriz o un arreglo. Aplicaciones Poder hacer ingeniería de datos, es decir poder convertir una misma imagen en diferentes todos y utilizarlos para machine learning para reconocimiento de gatos, para ello hay que mostrar muchas imágenes a nuestro modelo es decir entrenarlo, para ello hay que colocarle imágenes claras y imagenes que no sean tan claras por ejemplo, se pone la imagen original y se agrega "ruido" para que se vea en rojos, grises, verdes. Se pudo utilizar para un mapa , para poder ver datos a detalle Se puede aplicar para manipular imágenes, por ejemplo agregar efectos  Seguramente a ustedes se les pueden ocurrir más aplicaciones Les comparto el ejemplo de como hacerlo en Jupiter y para hacer el ejemplo voy a utilizar el logo del blog es una imagen de 500x500 pixeles Los Pas