Ver temas

Última actualización: 15 · 03 · 2017

TFM Data Science: Describiendo tendencias de búsquedas en Google utilizando tweets relacionados

Juan Bernardo Gómez (@juanbert) y Michael Ellner (@mikeellner) desarrollaron una aplicación web capaz de describir ciertos aspectos de las tendencias de búsqueda de Google (SQ) con información disponible en Twitter como Trabajo de Fin de Máster de Data Science de KSchool y que ya tienen publicado en Github para que los más curiosos podáis verlo […]

Juan Bernardo Gómez (@juanbert) y Michael Ellner (@mikeellner) desarrollaron una aplicación web capaz de describir ciertos aspectos de las tendencias de búsqueda de Google (SQ) con información disponible en Twitter como Trabajo de Fin de Máster de Data Science de KSchool y que ya tienen publicado en Github para que los más curiosos podáis verlo por aquí.

 

Cuando alguien hace una búsqueda en Google, lo que obtiene  una lista de páginas web relacionadas con su búsqueda y ordenadas según el criterio del algoritmo de Google.

Mientras tanto, Twitter es una aplicación con micro-blogs y cada tweet representa una actualización del estado personal del dueño del perfil, entonces se podría decir que cada tweet representa una opinión personal del administrador de la cuenta.

 

Aclarados estos conceptos y basándose en Google Trends, (una interesante herramienta que permite medir los tópicos «trending» en búsquedas de Google,  y posteriormente analizar que es ese algo que puede haber causado los picos de búsqueda) querían poder describir lo mismo pero con Twitter.

 

Y había 3 factores que fueron capaces de describir en este análisis:

1) -> Generación de contenido relacionado en twitter y las cantidad de impresiones o tweets hechos, a lo largo del tiempo

2) -> Análisis de Opinión a través de procesamiento de lenguaje natural

3) -> Ubicación de las personas detrás de las cuentas de twitter que han generado el contenido

 

 

Detrás de Escenas (tecnología)

  1.  ETL (Extract transform and Load)

Desarrollaron un proceso ETL para poder disponibilizar los datos que necesitaban las diferentes funcionalidades analíticas previamente mencionadas. La aplicación está basada en datos no estructurados y Mongodb era la tecnología indicada para este caso.

Toda la información se manejó como objetos con formatos json, desde que era extraída de las diferentes fuentes hasta que era cargada en la base de datos.

 

Algunos ejemplos ejemplos de un objeto por fuente de datos podrían ser:

 

Google trend:

 

«`python

db.google_hottrends.find_one()

«`

 

«`javascript

{u’_id’: ObjectId(‘580f771d9bb0062a76e06d3f’),

u’dateTime’: datetime.datetime(2016, 10, 25, 17, 15, 41),

u’formated_time’: u’Tue_Oct_25_17_15_41_2016′,

u’geo’: u’ES’,

u’qs’: [u’Praga’,

 u’Copa del Rey’,

 u’Antoni Van Leeuwenhoek’,

 u’Pete Burns’,

 u’France Football’,

 u’Fox’,

 u’FastPokeMap’,

 u’Los Otros Dos’,

 u’San Rafael’]}

 

«`

 

Tweet:

«`python

db.tweets.find_one()

«`

 

«`javascript

{u’_id’: ‘790720412531433472L’,

u’contributors’: None,

u’coordinates’: None,

u’created_at’: u’Tue Oct 25 01:03:31 +0000 2016′,

u’dateTime’: datetime.datetime(2016, 10, 25, 1, 3, 31),

u’entities’: {u’hashtags’: [],

 u’symbols’: [],

 u’urls’: [],

 u’user_mentions’: []},

u’favorite_count’: 1,

u’favorited’: False,

u’geo’: None,

u’id_str’: u’790720412531433472′,

u’in_reply_to_screen_name’: None}

«`

 

         2.  Asi, obtuvieron dos tipos de extracción de información para el análisis:

Estructurada:

Una la línea de tiempo de las impresiones de google trends y la cuenta de tweets para cada google trend. Aplicando una agregación a nivel de fecha obtenemos las datos y luego graficándolo en d3.js. Por ejemplo:

 

estructurada

 

No-Estructurada:

Procesamiento de lenguaje natural:  el análisis consiste en una cuenta de palabras para los tweets más recientes relacionados a un Google Trend. Una serie de procesamientos preceden a la cuenta de palabras eliminado artículos, preposiciones, palabras comunes y URLs publicadas con los tweets que no agregan información o desviaban el resultado. Por ejemplo:

 

no_estructurada

 

Ubicación geográfica de los tweets:  La mayoría de las cuentas de twitter tienen la ubicación en coordenadas vacías. Aun así hay un campo en las descripción de perfil que llamado «Location» escrito por el administrador de la cuenta. Por ejemplo:

 

__New York__

..*New York City,

..*New York City, US

..*The Big Apple

..*Nueva York

 

Así que la única manera de asociar estas palabras con una coordenada era mapeando cualquier posible combinación de nombres para una ciudad usando un conjunto de datos que contenía los posibles valores (para este conjunto de datos acudieron a Internet :)). Por ejemplo:

 

ubicacion_tweets

Tecnología empleada:

 

  1. __Jupyter notebooks:__  

Donde mostramos código y los gráficos relacionados con el análisis.

 

  1. __Web Page ()__  Desarrollamos una página web con capacidades análiticas, el modo más accesible para hacer público este tipo de análisis.

 

* __Flask:__ for the backend of the web page to deliver services for the html and javascript. Values shown in the frontend are retrieved from here as well there is an API to feed the D3.js objects

 

El backend de la página web está construido en este framework. Donde renderizamos el html y javascript, desarrollamos controladores con funciones para cada una de las vistas disponibles. Además los gráficos eran alimentados con APIs tambíen construida en flask.

 

* __D3.js:__ para transformar valores numéricos en pixeles, D3.js hace el trabajo excelente y en internet hay miles de ejemplos disponibles.

* __DataMaps:__ una librería de D3 especializada en mapas (para mostrar la ubicación de los tweets)

* __Bootstrap:__ Librerías muy ágil para construir páginas web.

 

Dicho esto, si queréis profundizar en el código y en el resto del proyecto podéis acceder al repositorio del TFM en Github aquí y si además queréis más información sobre el Máster de Data Science para conseguir crear desarrollos tan útiles como éste de Juan Bernardo y Michael, ya sabéis: info@kschool.com

 

[dt_sc_button type=»type1″ link=»https://kschool.com/cursos/master-en-data-science-madrid» size=»medium» bgcolor=»#dfdedc» textcolor=»#000000″ target=»_new» timeline_button=»no»]Quiero más información del Máster de Data Science[/dt_sc_button]

 

 

 

El artículo TFM Data Science: Describiendo tendencias de búsquedas en Google utilizando tweets relacionados fue escrito el 15 de marzo de 2017 y guardado bajo la categoría Data Science. Puedes encontrar el post en el que hablamos sobre bajo las siguientes etiquetas Alumnos KSchool, Big data, kschool, master de data science, tfm data science.

Noticias analítica web

09 · 03 · 2023

4 libros de profesores de KSchool para regalar o regalarte esta Navidad

¿No sabes qué regalar estas navidades? Echa un vistazo a las sugerencias que te hacemos a continuación para acertar con los libros de los profesores de KSchool. Un regalo que te ayudará a mejorar tu formación de una manera muy entretenida. Libros de profesores de Kschool A continuación te mostramos 4 libros imprescindibles para mejorar […]

Noticias Data Science

03 · 03 · 2023

Beneficios de estudiar Data Science

Los datos son uno de los valores más importantes para las empresas, pero debido a la gran cantidad de ellos que podemos encontrar en la red, es complicado poder gestionarlos correctamente para obtener una información valiosa y necesaria que ayude a mejorar la toma de decisiones en cualquier empresa. Debido a esto, cada vez más […]

Noticias Data Science

03 · 03 · 2023

Razones para aprender a programar en Python

En los últimos años se ha convertido en uno de los lenguajes de programación favorito de los profesionales por su versatilidad, por lo que aprender a programar en Python es una gran opción para cualquier programador. Si aún no lo conoces te contamos por qué motivos deberías formarte en este lenguaje y cómo puede ayudarte […]

Noticias Data Science

03 · 03 · 2023

¿Por qué los Data Scientists usan la programación en Python?

¿Te has preguntado alguna vez por qué los Data Scientist prefieren utilizar la programación en Python frente a otros lenguajes? Te contamos qué ventajas tiene para estos profesionales y por qué motivo se ha convertido en su preferido a la hora de poder realizar su trabajo. Entre las funciones de los Data Scientists está la […]

Solicita información

    Información sin compromiso

      Por cierto...

      Selecciona las opciones que prefieres para comunicarnos contigo.

      Acepto que un asesor me contacte por Whatsapp
      Recibir información de KSchool, así como del resto de empresas del Grupo Proeduca, vinculadas al sector de la educación.

      Gracias

      Nos pondremos en
      contacto contigo lo antes
      posible.

      En cualquier caso, si tienes
      alguna pregunta o duda, puedes
      llamarnos al:

      917 873 991

      Lunes a jueves de 9:00 a 18:00 y viernes de
      9:00 a 14:00

      Terminar

        Por cierto...

        Selecciona las opciones que prefieres para comunicarnos contigo.

        Acepto que un asesor me contacte por Whatsapp
        Recibir información de KSchool, así como del resto de empresas del Grupo Proeduca, vinculadas al sector de la educación.

        Gracias

        Nos pondremos en
        contacto contigo lo antes
        posible.

        En cualquier caso, si tienes
        alguna pregunta o duda, puedes
        llamarnos al:

        917 873 991

        Lunes a jueves de 9:00 a 18:00 y viernes de
        9:00 a 14:00

        Terminar

        Llama ahora

        y un asesor te informará sin
        compromiso

        o si lo prefieres

        ¿Te llamamos?

          Información sin compromiso