Esos son muchos datos sin estructura, pero no te preocupes.
Tomado de Giphy y creado con online-image-editor
Cuando te das cuenta de la amplitud y variedad de posibilidades que Alteryx te ofrece con la Minería de Texto.
Los siguientes 3 bloques analíticos tienen que ver más con el tema de procesamiento de lenguaje natural (NLP).
El primero que revisaremos será el proceso de identificación de tópicos para el que utilizaremos 3 bloques analíticos:
Tomado de giphy
Es un tipo de modelo estadístico que barre documentos e identifica patrones de uso de palabras y las agrupa en temas. Los modelos de tópicos ayudan a organizar y ofrecen información para comprender una gran colección de texto no estructurado, ayuda a los analistas a dar sentido a las colecciones de documentos (conocidos como corpus en el mundo del procesamiento de lenguaje natual) identificando temas y organizando los textos en grupos.
Para llevarlo a cabo el primer paso es:
Antes de empezar es buena práctica hacer una limpieza del texto usando el bloque analítico de Limpieza de datos para eliminar los espacios en blanco al principio y al final, los números, signos de puntuación y cambiar todo el texto a minúsculas.
Este bloque analítico nos presenta varias opciones para preparar los datos antes de hacer la identificación de tópicos.
El primer paso es escoger el idioma entre:
El siguiente es el campo de texto que preprocesaremos.
A continuación, seleccionamos si queremos aplicar lematización.
Lematizar es el proceso que estandariza el texto, convierte las palabras a su raíz para facilitar su agrupación y análisis si tenemos, por ejemplo:
Corriendo, corrí, corrimos, corrieron, corran, corramos. Si lematizamos ese verbo, quedaría como correr, en infinitivo.
Otro proceso importante que ocurre en el preprocesamiento es la tokenización, es decir agregarle símbolos individuales a cada componente del texto para poder procesarlo fácilmente.
El proceso tiene que ver con separar cada palabra en una lista de tokens para que el proceso de análisis de texto lo trate como elemento independiente cada palabra.
Posteriormente aplicamos filtros a los dígitos y signos de puntuación.
El último paso es remover las palabras vacías o stop words.
Son palabras que se filtran antes de procesar el texto para su análisis pero, aunque estás se refieren a las palabras más comunes del lenguaje como las preposiciones y los pronombres que son frecuentes pero no aportan al significado del texto, sólo le aportan validez gramatical, no es posible filtrar todas ni todas las que se remueven necesariamente no tienen utilidad.
Debido a la complejidad del lenguaje, incluso hay palabras que pueden ser útiles como dependiendo del objetivo que se busca.
Si tomamos por ejemplo nombres de películas, podríamos filtrar Eso pero dejaríamos de fuera un título o si quitamos números podríamos dejar de considerar libros como 1984 de George Orwell por citar algunos.
Para eso se utiliza la librería SpaCy. Si una palabra se cuela en tu análisis quiere decir que no está incluida en la lista de palabras vacías de la librería, es ahí donde puedes agregarla manualmente para filtrarla. Si son varias las puedes separar con comas.
Este proceso no dará un nuevo campo con el texto preprocesado y listo para utilizarlo en el modelado de tópicos.
Para modelar o identificar temas dentro de documentos, utilizamos el algoritmo LDA (Latent Dirichlet Allocation).
Para hacerlo, básicamente crea grupos o clusters de palabras de acuerdo a los patrones de uso de palabras que tienen.
Es muy útil para organizar y aportar hallazgos para la comprensión de grandes cantidades de texto no estructurado y darles sentido a colecciones de documentos, identificando temas y organizando los textos en grupos.
Las opciones de configuración son las siguientes:
Comenzamos seleccionando el campo de texto que procesaremos y el número de tópicos que queremos generar. Típicamente este es un paso que requiere varias iteraciones y un proceso de prueba y error para encontrar el número óptimo de temas de acuerdo al objetivo que estamos buscando.
Requiere un proceso iterativo porque el proceso utiliza un modelo no supervisado y difuso, que hace más fácil comenzar a usarlo ya que no requiere entrenamiento pero que necesita interpretación de los tópicos por parte del usuario.
Opciones de salida.
Más adelante las explicaré.
A continuación, tenemos las opciones de diccionario. Aquí podemos escoger las palabras que queremos considerar para nuestro análisis.
La recomendación cuando estamos comenzando es dejar los valores por omisión que tiene el bloque analítico para así obtener el mejor resultado.
Y finalmente las opciones de LDA.
Aquí también la recomendación es mantener las opciones recomendadas para un resultado óptimo.
Seleccionando la salida R (resultados), podemos ver el gráfico interactivo con los resultados.
El gráfico interactivo tiene dos partes, un mapa con la distancia entre los tópicos, que nos muestra que tan similares son los temas que se identificaron, podemos ver si hay traslape en algunos términos si son lo suficientemente separados para nuestro análisis.
Eso quiere decir que los tópicos que están más cerca uno de otro, tienen más palabras en común.
Para graficarlo se usa componentes principales para reducir las dimensiones y poder visualizarlo en una gráfica bidimensional.
En la imagen tenemos un mapa con 3 tópicos y podemos ver que están claramente diferenciados entre sí, el tamaño del circulo representa la cantidad de palabras que contiene cada tópico.
Si seleccionamos un tópico, cambia de color y nos presenta las palabras que contiene en la parte izquierda de la pantalla.
En la parte izquierda del reporte interactivo nos muestra las 30 palabras más relevantes para cada tópico, donde podemos evaluar el contenido de cada tópico y seleccionar las palabras que consideremos más convenientes para asignar como tópico para hacerlo más sencillo de consumir para los usuarios finales.
Las barras indican la qué tanto aparece una palabra dentro del total de documentos.
Prominencia (saliency) es una métrica específica que se define al final de la visualización y se puede pensar como la métrica usada para identificar las palabras que sean más informativas o útiles para identificar tópicos. Una prominencia mayor indica que la palabra es más útil para identificar un tópico específico.
Cuando se selecciona un tópico en el mapa de distancia entre temas, o se específica un tópico en el panel superior, la gráfica de barras cambia para mostrar las palabras más prominentes incluidas en el tópico seleccionado.
Una segunda barra más oscura se muestra encima de la frecuencia total de la palabra y muestra la frecuencia específica por tópico de palabras que pertenecen al tópico seleccionado. Si la barra oscura se sobrepone por completo a la barra clara, la palabra pertenece casi exclusivamente al tópico seleccionado.
Cuando se selecciona una palabra en la gráfica de barras, los tópicos y probabilidades por cada tópico de esa palabra se muestran en el mapa de distancia entre tópicos, de esta forma puedes ver qué otros tópicos comparten esa palabra.
Por ejemplo, la palabra atender aparece abajo en los tres temas.
Mientras que la palabra recordar a continuación solo aparece en el tópico 1.
Esto quiere decir que podemos usar las palabras que tienen mayor frecuencia dentro de cada tópico para etiquetarlo, como en caso anterior, el tópico 3 sería Recordar/Verificar.
Si ajustamos la barra con la métrica de relevancia, nos mostrará los términos que sean potencialmente más raros y exclusivos para el tópico seleccionado.
Este resumen es una versión con los datos de la visualización, nos devuelve dos métricas: relevancia (relevance) y prominencia (saliency).
Prominencia
Nos ayuda a identificar las palabras que son más informativas para identificar tópicos dentro de los documentos. Un valor de prominencia mayor indica que una palabra es más útil para identificar un tópico específico.
La prominencia es siempre un valor positivo y no tiene un máximo. Un valor de 0 nos indica que una palabra está presente en todos los tópicos. La prominencia está diseñada para ver palabras específicas en relación a la totalidad de documentos que estamos analizando.
Relevancia
Es una métrica usada para ordenar palabras dentro de los tópicos. Nos ayuda a identificar las palabras más relevantes para cada tópico, es un reflejo del nivel en el que una palabra pertenece a un tópico. Entre mayor sea el valor para un tópico dado, esa palabra será más exclusiva para ese tópico.
Ambas métricas muestran valores relativos que podemos utilizar para describir y entender un tópico específico.
Para facilitar el proceso de asignar etiquetas a los tópicos podemos seleccionar la salida R del modelado de tópicos, ejecutarla y agregarle un bloque analítico de formula a continuación para poder tomar el tópico al que pertenece cada palabra.
La formula MaxIDX nos dará como resultado el número máximo entre los 3 campos, para que sea un entero el resultado, al final le sumamos 1.
De esta forma tendremos asignado un tópico para cada palabra, junto con su prominencia.
El siguiente paso es agregar un bloque analítico de muestreo que nos permita seleccionar solo las primeras N palabras de cada tópico que creamos.
Y así obtenemos las 3 palabras más prominentes y relevantes.
El siguiente paso es crear las etiquetas basados en los términos. Para hacerlo de forma automatizada podemos crear un sumarizado que concatene las 3 palabras para que sirvan de etiqueta para el tópico.
Usando un bloque analítico de sumarizado lo haremos.
Utilizando un bloque de buscar y reemplazar podemos cambiar los números de tópico por etiquetas que tengan más sentido para los usuarios de negocio que consuman este análisis.
Ahora ya tenemos cada documento etiquetado con el tópico que le pertenece. Con eso podemos sumarizar los tópicos para contar cuántos documentos pertenecen a cada categoría.
Ahora para categorizar cada documento dentro de su tópico, haremos un proceso similar.
Tomando la salida D del modelado de tópicos, le agregamos un bloque de formula.
Aplicamos la formula para obtener el tópico que tenga la mayor relevancia para cada documento.
Filtramos cada tópico para poder visualizarlo de forma independiente.
Utilizando el bloque analítico nube palabras, configuramos la visualización.
Primero seleccionamos el campo que queremos visualizar. Si queremos personalizar la nube de palabras, seleccionamos la opción correspondiente.
Para personalizar la nube tenemos varias posibilidades.
Podemos elegir un color para el fondo.
Seleccionar el máximo de palabras que tomará.
Cambiar el tamaño.
Y enmascararla, eso quiere decir que podemos una imagen como un logotipo para que la nube se muestre con esa forma.
Para que tome una imagen como plantilla tenemos que agregar un bloque de entrada BLOB (binary large object) de la categoría desarrollador y seleccionar la ruta donde se encuentra el archivo.
Una vez hecho esto, en la configuración de la nube de palabras nos aparecerá la opción de Blob en la opción de enmascarar. Una vez ejecutado el flujo, la nube de palabras se presenta.
En este caso yo utilicé una imagen de twitter para darle forma al reporte.
La imagen que utilicé como plantilla es la siguiente.
De esta forma es más sencillo de consumir el análisis de tópicos y hacerlo de forma automática para aprovechar todo el potencial de la plataforma para Automatización de Procesos Analíticos.
Espero este artículo sea interesante y de utilidad para ustedes.
Ahora, bailemos un poco.
Tomado de Giphy
Debe ser un usuario registrado para añadir un comentario aquí. Si ya está registrado, inicie sesión. Si todavía no está registrado, hágalo e inicie sesión.