En un mundo dominado por los datos, ¿cómo balancear entre pocos datos y estar inundado por ellos? Diego Lis, CTO de Seenka Media Data, analiza soluciones a este dilema, partiendo de un Data Lake y llegando a un Data Warehouse, listo para ofrecer información valiosa y oportuna.
Por Diego Lis, CTO de Seenka Media Data
En un mundo dominado por los datos, enfrentamos un desafío: ¿Cómo balancear entre tener pocos datos y estar inundado por ellos? ¿De qué sirve tener muchos datos si no se usan? ¿Cómo diferenciar la paja del trigo?
Orillando el problema
Digamos que quieres conocer la presencia de tu marca en los medios. Tal vez necesitas entender cómo impacta esta presencia en tus ventas, optimizar tu inversión o comparar tu estrategia con la de tu competencia. En cualquier caso, vas a necesitar datos.
Contactas algunas agencias y proveedores y compras un CSV con datos del último trimestre. Luego de algunas semanas de análisis, compruebas que en ese trimestre has perdido decenas de oportunidades. Tomas nota de algunos aprendizajes, pero sabes que esas oportunidades no volverán a aparecer. Comprendes que la información la necesitas en tiempo real.
En busca de más
Por suerte, hay un mundo enorme de datos ahí afuera, esperando ser capturados y analizados. Mediante el método de scraping, capturas noticias de portales, contenido de redes sociales, e incluso te aventuras en el mundo de las señales audiovisuales como YouTube, televisión y radio.
Luego de un año de trabajo, ya tienes funcionando todos los crawlers que trabajarán día y noche. Decides almacenar la información en una base de datos no relacional que permite escalar en volumen y tener flexibilidad en el esquema de datos como Elastic Search o MongoDB.
Además, utilizas un Bucket de Google Storage o S3 para guardar la información audiovisual de manera fiable y performante. Creas así un Data Lake, es decir, un repositorio centralizado de datos en bruto.
Al poco tiempo tu Data Lake tiene millones de datos esperando que los uses. Sin embargo, la información que proviene de los medios es completamente heterogénea. Contiene textos, imágenes, audios, videos, cortos y largos, bien y mal escritos, etc. Necesitas, en efecto, transformar estos datos para normalizarlos y poder consumirlos de manera más homogénea.
Dando sentido a tus datos
La normalización de un dataset es particularmente importante en el caso de los medios. ¿De qué me sirve obtener diariamente el texto de miles de noticias si no sé a quién se menciona y de qué temática se habla? ¿Para qué saber que se han emitido cierta cantidad de publicidades si no puedo identificar cuál es la marca, el mensaje central de la misma, su audiencia e impacto?
Afortunadamente, viene a tu rescate el Machine Learning. En los últimos años, viene creciendo de manera exponencial el interés por este campo en el ámbito académico y en la industria. En este gráfico, podemos ver la cantidad de papers de inteligencia artificial que se han publicado en el sitio arXiv en los últimos 30 años.
Decides entonces contratar un equipo especializado de ingenieros de machine learning. Luego de dos años de trabajo aplicando decenas de técnicas, logras convertir tus datos "no estructurados" en datos "estructurados". Es decir, le das sentido a tus datos.
Y así decides utilizar un motor de base de datos relacional, como PostgreSQL o MySQL, donde vas guardando la información estructurada, normalizada y homogénea, para facilitar su análisis posterior. Estás por cantar victoria cuando descubres algo inquietante: la cantidad de datos que has acumulado, que ya llega a los centenares de millones, es tan grande que resulta demasiado lento hacer cualquier consulta medianamente compleja.
La etapa final: El Data Warehouse
Por fin, logras implementar una última etapa en tu pipeline: utilizas un base de datos orientada a columnas, como BigQuery o ClickHouse, para crear un Data Warehouse, es decir, una base de datos optimizada para el análisis y generación de informes.