Data exploration y NLP con herramientas no-code

Antes de irme de vacaciones quería probar la plataforma Orange3 para analizar cómo funciona una herramienta «no-code» y explorar datos mediante NLP. Para ello, utilizaremos los siguientes ingredientes:

  • Datos: Listado con los topics de las llamadas de H2020 con codeID, título y objetivos. He elegido los topics relacionados con «connected car», «autonomous vehicle», «transportation», … para ver cómo se relacionan entre ellos. Aquí tenéis el enlace al fichero CSV con los datos en la web EU Open Data Portal.
  • Herramientas: Orange3 con el add-on Text Mining. Aquí tenéis una lista con los diferentes widgets disponibles. Se trata de una herramienta Open Source de la Universidad de Ljubljana con documentación más que suficiente (blog, tutoriales, …). Como herramienta no-code visual te permite centrarte en el problema y en los diferentes componentes que te proporcionan para poder analizarlo sin el «inconveniente» de la programación. Eso no significa que no debas aprender algo de Data Science y Machine Learning (échale un vistazo a este libro de IBM). Está basada en python y en las herramientas más comunes como gensim,
  • Receta: Es mi primera prueba con Orange3 así que los comentarios con bienvenidos. Os dejo un link con el flujo de trabajo para que no tengáis que generarlo desde cero.
Orange3 and NLP
Flujo de trabajo en Orange3 para Hierarchical Clustering y Topic Modeling.

Como os decía, he utilizado los topics en inglés relacionados con transporte *ART* y *GV*. En total son 43 topics que incluyen el codeID, el titulo y los objetivos del mismo. Por ejemplo:

codeIDTítuloObjetivo
GV-2-2014Optimised and systematic energy management in electric vehicles

Specific challenge: Range limitation, due to the limited storage capacity of electric batteries, is one of the major drawbacks of electric vehicles. The main challenge will be to achieve a systematic energy management of the vehicle based on the integration of components and sub-systems. The problem is worsened by the need to use part of the storage capacity in order to feed auxiliary equipment such as climate control. In extreme conditions up to 50% of the batteries’ capacity is absorbed by these systems. The systematic management of energy in electric vehicles is a means to gain extended range without sacrificing comfort. The challenge is therefore to extend the range of electric vehicles in all weather conditions […]

Ejemplo de «topic» en el programa Horizon 2020 de la Comisión Europea.

Como podéis comprobar, disponéis de widgets de pre-procesado con diferentes funciones (Transformation, Tokenization, Normalization, Filtering, N-grams y POS tagger), nubes de palabras, visores de corpus y casi todos los necesarios para montar vuestro flujo de trabajo. Como primer resultado y después de utilizar el widget de distancias por coseno, estos son los 10 clusters que obtenemos del Hierarchical Clustering.

Top10 clusters para los topics estudiados

En cuanto al Topic Modeling, he utilizado el algoritmo LDA con 10 topics y aqui es donde se produce la magia: las capacidades de visualización de Orange3 nos permite seleccionar uno de los topics detectados, mostrar las palabras asociadas al mismo y, si seleccionamos alguna de ella, podemos ver los topics asociados a la misma para comprobar el grado de cercanía que tienen.

Conclusión

Como herramienta exploratoria, Orange3 me ha parecido de lo más conveniente ya que sólo tienes que concentrarte en los datos y su análisis. Y siempre puedes generar tu propio widget mediante python.

Evidentemente, no puedes desplegar tus modelos en ninguna infraestructura pero cumple su función. Una herramienta más avanzada en ese sentido sería KNIME, también OpenSource pero con planes premium para un entorno profesional.

¿Alguna sugerencia? Puedes dejarla en los comentarios. Aquí os dejo más flujos de trabajo directamente de la página de Orange3.