Estás navegando por el archivo de herramienta.

Mezclando cronologías y gráficos lineales (o de fiebre) con StorylineJS

- el marzo 27, 2018 en Tutoriales

Los datos no se explican por sí mismos. Esta herramienta te permite hacer anotaciones en los diferentes puntos de una serie de tiempo. Como una cronología, puedes ir comentando o explicando una serie de puntos en un gráfico de líneas.

Lee el resto de la entrada →

Puedes usar minería de texto y «Machine Learning» sin programación

- el enero 10, 2017 en Tutoriales

Esta API te permite obtener datos procesables y clasificables a partir de textos. Puedes entrenarla para que aprenda automáticamente (machine learning) a reconocer y clasificar en las categorías que tú establezcas.

A partir de un set de datos (que puede ser .csv, o .xls) puedes entrenar esta API para que trabaje para ti. En la interfaz web de MonkeyLearn puedes ir probando y entrenando para aplicar un modelo.  Debido a que es una API, esta plataforma es integrable con otros lenguajes de programación que te permitirán procesar los textos de tu fuente de datos a tiempo real y publicarlos.

Una de las ventajas de esta plataforma es que no tienes que ser programador o un experto en Machine Learning para empezar a usarla. La interfaz de usuario te irá dando pasos que deberás seguir para crear un modelo y cuando entiendas la manera en que funciona, podrás ir avanzando en su uso.

Esta herramienta aprende a base de clasificadores de texto, una categoría o etiqueta que se asigna automáticamente a una pieza de texto. Aunque el programa ya cuenta con unos clasificadores comunes, puedes crear los propios.

Con base en estas etiquetas, MonkeyLearn hará una clasificación al leer el contenido de tu set de datos. Por ejemplo, en una base de datos sobre proyectos de compras de una institución pública, esta herramienta te podría ayudar a reconocer los rubros de los fondos, o a clasificar qué tipo de productos se compraron y clasificarlos en base a una jerarquía establecida.

Al leer el texto, MonkeyLearn aplica los parámetros establecidos en los clasificadores de texto y te provee un resultado. El resultado se muestra en lenguaje JSON, para la API. La categorización del producto puede ser en varias categorías, por ejemplo Compras / Materiales de construcción / Asfalto. Aparte de esta clasificación, el programa también te provee un valor de probabilidad, el cual determina el nivel de certidumbre sobre la predicción realizada para que puedas mantener control sobre el rigor con el que tu modelo se aplica y la manera en que funciona.

Los módulos

Esta herramienta te permite tres funciones principales que indican el tipo de módulo que creas:

  1. Clasificación: Es un módulo que toma el texto y lo devuelve con etiquetas o categorías organizadas en algún tipo de jerarquía
  2. Extracción: Es el módulo que extrae ciertos datos dentro de un texto, que pueden ser entidades, nombres, direcciones, palabras clave, etc.
  3. Pipeline: Es el módulo que combina otros módulos, tanto de clasificación como de extracción, para que puedas construir un modelo más robusto con mayor nivel de procesamiento.

Las tres funciones principales de esta plataforma son:

    1. Análisis de sentimientos: Te permite detectar sentimientos (positivos, negativos, etc) en un texto a través de machine learning.
    2. Categorización de temas: Identifica el tema de un texto y lo reconoce.
  • Otras clasificaciones: Clasifica los contenidos de un texto y los asigna a una jerarquía.

Tutorial: Cómo crear un clasificador de textos a partir de una descripción

Para probar esta herramienta, vamos a crear un clasificador que lea un texto y lo asigne a una categoría y jerarquía establecida por nosotros. En este caso, trabajaré con los datos de las compras del estado de Guatemala. Aunque mi set de datos contiene mucha información, voy a trabajar solo con el campo “Descripción” que tiene contenidos como este: INTRODUCCION DE ENERGIA ELECTRICA, CASERIO PENIEL, TUCURU, A. V.

Para utilizar MonkeyLearn debes crear un usuario o vincularlo a tu cuenta de Github.
Al hacer click en +Create Module se te desplegarán las opciones para guardar tu primer clasificador.

image09

MonkeyLearn te va guiando paso a paso para que completes la información necesaria para crear un módulo. Al rellenar los datos de tu clasificador, da click en Next.image04

Responde a las preguntas que te hace sobre el tipo de trabajo que estás haciendo. En este caso, seleccionamos “otras clasificaciones”.

image11

Selecciona la opción que más se ajuste al tipo de texto que vas a analizar, pueden ser tweets (textos cortos con emoticones), noticias de diferentes medios, comentarios o reseñas de usuarios, descripciones de productos, emails, o texto personalizado. Debido a que estamos trabajando las compras del estado, vamos a seleccionar Product Descriptions. También es importante que señales el idioma en que está tu texto.

image01

Al crear tu módulo, se abrirá un panel con diferentes opciones. En Category Tree se enlistan las diferentes categorías de tu modelo. Para crear nuevas categorías, haz click en el menú a la par de Root y selecciona Add child. Al hacer esto, creas nuevas categorías “hijas”. En este caso crearemos “Agua potable” “Caminos y carreteras” “Energía eléctrica” “Agricultura” y cuantas secciones queramos tener. MonkeyLearn también permite añadir subcategorías dentro de las categorías.

image05

Para que nuestro modelo funcione, debemos entrenar cada categoría con ejemplos que le permitirán al programa reconocer automáticamente textos similares a los ejemplos que le dimos. Al hacer click en el menú desplegable a la par de cada categoría se muestra la opción Create sample, que te permite ingresar ejemplos.

image06

Para entrenar la categoría “Caminos y carreteras” vamos a añadir cuantos ejemplos podamos de descripciones que se ajusten a esta sección. Por ejemplo, “MEJORAMIENTO CALLE PAVIMENTADO Y ENCUNETADO…”. El agregar muchos ejemplos robustece la capacidad de que nuestro modelo identifique con mayor celeridad las categorías.

El panel principal de MonkeyLearn muestra las categorías en la sección Tree. Al hacer click en Samples, podemos ver los ejemplos que añadimos para cada categoría.

image00

 

Luego de añadir varios ejemplos a todas nuestras categorías, dejamos que las capacidades de machine learning se ajusten al hacer click en Train

image08

Con nuestro modelo ya entrenado, nos vamos a la secció Classify para aplicar este modelo a un set de datos. La fuente de datos puede ser un texto corrido o un archivo csv o xls.

image08

Seleccionamos nuestro archivo y nos presenta una muestra de nuestro set de datos y nos  pregunta qué columna es la que vamos a analizar.  Para seleccionar nuestra columna debemos marcar la opción Use as text que se muestra en la primera fila.  Y para aplicar el modelo pulsamos Next.

image03

image07

MonkeyLearn aplicará el modelo de clasificación que creamos y devolverá un archivo descargable.

En nuestro ejemplo, utilizamos un set de datos de las adjudicaciones del estado a proveedores. Nuestra base de datos contaba con categorías útiles como la entidad compradora, modalidad, fecha de adjudicación, proveedor y descripción. Sin embargo, las descripciones son texto escrito no categorizado, por lo que buscábamos categorizar esas compras por el tipo de materiales que se compraban.

En el archivo que MonkeyLearn produce se agregan varios elementos. “Classification path” te muestra la categorización que realizó y, si tiene jerarquía, te muestra los diferentes niveles separados por / una barra diagonal. Te muestra también “Level 1 label”, la clasificación que realizó, y “Level 1 probability”, un índice de probabilidad sobre la similitud entre el texto que encontró y los ejemplos que le mostraste.

image10

 

A medida que entrenes más cada categoría, tus resultados serán más certeros. Debido a la cantidad de registros de una base de datos, la clasificación manual sería un proceso muy tardado. Así que cuando tengas estos problemas puedes aplicar el machine learning para clasificar o tematizar bases de datos con texto.

Yo estoy aprendiendo a utilizar esta herramienta, pero si tienes dudas o ejemplos sobre cómo aplicar estas habilidades a un trabajo con datos, tuiteanos a @EscuelaDeDatos y @danyvillatoro. Nos gustaría saber de qué manera has podido aplicar esta herramienta a tu trabajo.

 

magazine.image = https://es.schoolofdata.org/files/2017/01/image07.png

 

Analiza tus datos cualitativos con QDA Miner

- el agosto 16, 2016 en Uncategorized

Hace un par de semanas tuve la oportunidad de conocer a un grupo de entusiastas sociólogos que tienen el proyecto de lanzar un observatorio de medios sobre temas de género. Entre café y café me comentaron que habían empezado a recolectar publicaciones de medios sobre violencia de género y mencionaron QDA Miner como herramienta para su análisis. Está de más decir que esto llamó mi atención y decidí probarla por mi cuenta.

En la descripción del producto indica que “QDA Miner es un paquete de software fácil  en su uso para análisis de datos cualitativos: codificar, anotar, recuperar y analizar pequeñas y grandes colecciones de documentos e imágenes. (…) herramienta de análisis de datos cualitativos puede utilizarse para analizar las transcripciones de entrevistas o grupos focales, documentos legales, artículos de revistas, discursos, incluso libros enteros.”; y además de ello provee una suite de herramientas complementarias de integración como SimStat y WordStat.

Se trata de una herramienta de pago con una versión de prueba de un mes y una versión “lite” gratuita y disponible para descarga a través de un formulario. Sea cual fuera el caso, la instalación es rápida y sencilla y tiene la particularidad de permitirte instalar recursos de lenguaje que podrías utilizar, como ortografía, lematización y tesauro, u ortografía médica y legal.

Puedes seleccionar varios documentos sobre los que quieras trabajar, la herramienta te permite subir documentos tipo .txt, .pdf, .html, .rtf, .doc y otros.

Empezamos con los códigos

Antes de empezar a trabajar con la herramienta es recomendable leer los textos que quieres analizar y empezar a identificar los elementos en común que serán la base para tus futuras codificaciones porque ahí es donde empieza el trabajo con la herramienta.

El sistema de códigos de QDA Miner funciona a partir de un principio de anidación donde escoges un código principal e indicas las variables dentro del mismo; conocer el contenido de tus textos te permitirá empezar a identificar los códigos para empezar a marcar tu documento. Puedes tener tantos códigos como veas necesario.

 

Para facilitar tu trabajo en la asignación de códigos puedes resaltar, oscurecer o darle colores al texto yendo a la pestaña “Documento”, “Texto Codificado” y escoger de las opciones que mejor te convenga.

Claro que no siempre es posible leer todo el texto completo, aunque esto se recomienda. Pero para darte una mano extra la herramienta dispone de una ayuda en la pestaña “Recuperación”. En el caso de ejemplo, quise buscar todas las oraciones que tuvieran la palabra violencia para identificar si todas han sido codificadas correctamente. Entonces, dentro la pestaña “Recuperación” seleccionamos la opción recuperación de texto que justamente nos permitirá recuperar la palabra de los textos en los que estamos trabajando. Es recomendable expandir las previsualizaciones de los textos y mostrar resultados de la pantalla usando la tabla de codificación para tener un contexto más claro de nuestra búsqueda y los códigos que ya han sido asignados al párrafo en cuestión. Si encuentras una oración o párrafo que tiene relación con tu búsqueda y que no ha sido codificada puedes seleccionar la casilla y hacer doble clic en el código de tu elección.

Uno de los elementos más útiles de esta herramienta es que puedes guardar tus recuperaciones para volver a usarlas más adelante en caso de que aumentes nuevos documentos a tu proyecto. Solo debes ir a donde empezaste la búsqueda, selecciona “Guardar consulta” y en adelante, cuando vuelvas a tu proyecto con más documentos solo tendrás que cargar la consulta previamente guardada.

Paso dos: analizar desde las codificaciones

La opción “Recuperando Código” es útil cuando ya casi terminas de asignar los códigos a tus textos; selecciona los códigos que tengan más relación entre sí y la búsqueda te arrojará los resultados de los códigos seleccionados; nuevamente es recomendable expandir las previsualizaciones de los textos. Lo más útil de esta opción radica en usar las condicionales (por ejemplo: es igual a, cerca de, seguido de, precedido de, etc.) con las que puedes hacer relaciones de los códigos preseleccionados y adicionar uno diferente, en este caso usé los códigos “víctima” y “victimario” y la condicional “cerca de Activista”.

Ahora, ¿cómo se analiza?

Finalmente, puedes analizar tu proyecto codificado identificando la frecuencia de ciertos códigos, para ello ve a la pestaña “Analizar” y selecciona la opción “frecuencia de código”, selecciona los códigos que deseas analizar y te mostrará el resultado de cuántas veces aparece el código y en cuántos casos. Para hacer más sencillo el trabajo selecciona todos tus resultados y selecciona el gráfico para mostrar tus columnas.

La herramienta permite que puedas guardar cada uno de los segmentos trabajados, ya sea como tablas en xls en el caso de los análisis de código o gráficos de frecuencia como imágenes.

Tiene más funcionalidades de las que describo, sin embargo estos tres pasos te permiten conocer la potencialidad general de la herramienta y hacer tus propios descubrimientos en adelante.