Gonzalo Sánchez nos presenta su TFM basado en las ofertas de empleo de los tweets de Twitter

Gonzalo Sánchez nos presenta su TFM basado en las ofertas de empleo de los tweets de Twitter

El proyecto que presenté como trabajo de fin de master es un prototipo funcional de una herramienta automática que extrae de Twitter ofertas de trabajo filtrando los mensajes con técnicas de Machine Learning. Dispone además de mecanismos de análisis de los datos extraídos, clasificación automática y exportación de datos. Para utilizarlo como usuario, solo necesitas un navegador web, pues consiste en un servicio online al que cualquier persona con Internet puede acceder y también utilizar.

La dirección del máster nos propuso que hiciéramos un proyecto de Data Science consistente en los siguientes puntos:

  1. Una pregunta.
  2. Una respuesta a esta pregunta.
  3. Una visualización interactiva de esa respuesta o solución.

 

En un principio empecé buscando por distintos portales que ofrecen conjuntos de datos, como por ejemplo este directorio: http://www.kdnuggets.com/datasets/index.html

 

Tras revisar muchos posibles conjuntos de datos pensé en enfocar el proyecto, tal como lo plantearía para ofrecerlo como una inversión a un cliente potencial. Los proyectos requieren una financiación, por lo que qué utilidad puede tener un proyecto por el que nadie se interesaría en subvencionar. Así que, por ejemplo, los challenges de Kaggle los descarté porque las compensaciones son muy limitadas y no hay continuidad.

 

Una de las áreas que más interesantes es el análisis de datos online, las técnicas de Data Mining, y el análisis de lenguaje natural. Esto incluye el estudio de contenidos en redes sociales. Se pueden extraer las conversaciones que ocurren en redes como Twitter o Facebook y descubrir información de gran valor, tanto para los usuarios de las redes, como para empresas y organizaciones, e incluso para gobiernos. De la actividad en las redes sociales se pueden prever eventos como una revolución en un país o la intención de voto ante unas elecciones. Incluso se pueden descubrir las relaciones entre diferentes usuarios que a simple vista permanecen ocultas.

 

Twitter es más accesible que Facebook actualmente, así que la decisión de Twitter fue tomada en base a su accesibilidad. Esto explicaría cómo decidí enfocar qué tipo de proyecto hacer. Una vez decidido había que planificar qué estructura darle, qué tecnología usar, su extensión y la fecha de inicio y fin.

 

La estructura a nivel de desarrollo se basó en una implementación end-to-end basada en capas. Es decir, tener siempre un proyecto entregable que cumpliera todos los mínimos lo antes posible, e ir mejorándolo a partir de ahí hasta la fecha límite, añadiendo mejoras y características de forma iterativa sobre el conjunto del mismo. En mi caso, me impuse una fecha límite de antes de terminar la última clase del proyecto. Por ese motivo lo entregué la penúltima semana del master, de forma que la última semana de clase ya tendría terminado el master completamente. Una cosa importante al entregar el proyecto creo que era indicar cláramente qué hacía la prueba de concepto, qué cosas quedaban por hacer y qué fallos de funcionamiento tenía; lo que se suele llamar known bugs.

 

La estructura a nivel de contenido tiene tres partes fundamentales. La primera es la memoria del proyecto donde se explica de forma ordenada cada paso dado; la segunda la forman el código fuente con otros elementos relacionados con el software, y la tercera la implementación y puesta en servicio del prototipo en sí.

 

cumpleanos-twitter

 

De acuerdo con la propuesta hecha por la dirección del master, la pregunta que se plantea en el proyecto es la siguiente:

– ¿Qué aplicación de Data Science sería viable como proyecto de inversión utilizando los datos de Twitter?

 

Para responder a esta pregunta, la cual no tenía respuesta inicial, configuré la primera parte del proyecto. Extraje durante varios días tweets y los sometí a un análisis estadístico descriptivo. Para preparar los tweets utilicé técnicas de tratamiento del lenguaje natural. Toda esta información me sirvió para componer la primera parte de la memoria y describir los pasos seguidos y conclusiones de este análisis inicial.

 

La respuesta a la pregunta del proyecto provino de los resultados del análisis. Entre los términos más frecuentes en las conversaciones de Twitter estaba la palabra “trabajo” (job). Job significa trabajo remunerado en inglés. Por este motivo decidí diseñar una aplicación que extrajera ofertas de trabajo de Twitter, ya que era un tópico que estaba entre los primeros en cuanto a frecuencia, para millones de usuarios de Twitter. Sin duda un nicho importante. La aplicación tendría que hacer uso de metodologías de Machine Learning para discriminar y extraer de forma autónoma este tipo de mensajes de la red.

 

La decisión sobre el requisito de cómo visualizar los datos fue circunstancial. En el momento en que empecé a elaborar el proyecto habíamos estado usando R como plataforma estadística y de Machine Learning. Asimismo habíamos estudiado cómo visualizar datos interactivos con un servidor de R llamado Shiny. Lo práctico era utilizar ambas tecnologías y así reforzar y mantenerse cerca del temario que estábamos dando en clase.

 

La composición del proyecto en cuanto a contenido intenta mostrar todas las áreas estudiadas durante el curso. Desde la estadística más elemental hasta técnicas avanzadas de Data Science. La extracción, tratamiento y preparación de los datos en sí también es un aspecto cuidado y desarrollado durante todo el proyecto. La visualización también se cuida incorporando métodos avanzados que convierten dicha visualización en una experiencia interactiva lo máximo posible en el tiempo previsto.

 

Para realizar la parte más científica me apoyé en libros sobre metodología estadística, en concreto y especialmente en cuanto a la preparación y evaluación de experimentos y variables estadísticas. Es decir, cualquier cosa que fuera a introducir en el proyecto tenía que estar respaldada por un método científico, acudiendo a materiales complementarios si era necesario. Tampoco me limité a los contenidos del master o a los conocimientos impartidos hasta el momento. Leí los libros recomendados por la escuela con antelación, lo que también me sirvió para ir más al día y poder dedicar el tiempo al proyecto en vez de a repasar.

 

Tras la fase propiamente estadística y con los mejores modelos estadísticos seleccionados para el problema de la clasificación de tweets, simplemente se eligen los mejores para clasificación, tanto supervisada como no supervisada. Aunque la aplicación tiene un objeto concreto, la detección y extracción automáticas de tweets que sean ofertas de trabajo, la implementación incluirá varias de las visualizaciones típicas de la estadística descriptiva, la optimización y algoritmos representativos de Data Science. No obstante, la primera parte de investigación y documentación supuso al menos la mitad del tiempo dedicado al proyecto.

 

El soporte para entregar el proyecto fue a través de Internet. El código fuente está subido en Github, una de las más importantes plataformas para tal propósito; otros ficheros de mayor tamaño se guardan en discos virtuales (OneDrive). La memoria es una parte fundamental del proyecto, donde se describe todo el proceso y se muestran los resultados. Github tiene una funcionalidad de wiki que soporta markdown, suficiente para hacer una presentación adecuada. Se puede visitar aquí: https://github.com/gonzsanc/kschool_data_science_master_project/wiki

 

La aplicación que es el producto final del proyecto finalmente la instalé en un servidor virtual privado en un servicio de hosting corriente, sobre una instalación con Linux, Nginx y el servidor Shiny. Se puede visitar aquí: http://vps284733.ovh.net/shiny

 

En líneas generales, lo que se pretende es que la realización del proyecto sirva para profundizar y afianzarse en los contenidos del master. El objetivo es superar con creces los requisitos mínimos del proyecto también y además, al publicarse en Internet, es el primer portfolio personal, con lo que cumple muchas funciones al mismo tiempo. El idioma elegido es el inglés porque de esta manera se aumenta exponencialmente el público objetivo, incluyendo a las mejores empresas del mundo cuyo idioma interno es éste, sin esfuerzo adicional relevante. Se trata pues de un enfoque muy práctico en todos los aspectos.

 

Esto describe las principales consideraciones y características que tuve en cuenta a la hora de realizar el proyecto. Tras la entrega he seguido publicando tanto en Linkedin, como en Kaggle, en Github e incluso he iniciado un blog de informática y estadística. El motivo es desarrollar públicamente las áreas en las que estoy profundizando ahora que son algoritmos y estructuras, redes neuronales y tratamiento de señal digital. Y por supuesto lo que venga tras ello, de manera que el trabajo empleado en el aprendizaje se incorpore al portfolio simultáneamente. Las empresas exigen pruebas de conocimiento en los niveles más altos y si quieres optar a ello creo que has de tener una presencia pública.

 

Este es el testimonio y la explicación del TFM de Gonzalo. Si cómo él quieres aprender a darle valor a los datos de tu negocio con el Master de Data Science, saldrás totalmente preparado para recoger y analizar grandes masas de datos y darles sentido.

 

quieromasinformacion

Related Post

No Comments

Post a Reply

css.php