Cómo hacer Business Intelligence sin saber SQL
#DataDayMx
Adolfo Martínez
¿Cómo se hace BI?
¿Qué pasaría si el tomador de decisiones pudiera preguntar directamente lo que quiere saber?
¿Cuál es el promedio de ventas diarias para las sucursales de la región "A" durante 2018?
A partir de:
Llegar a:
SELECT
AVERAGE(total)
FROM
daily_sales
WHERE
region = "A" AND year = 2018
Algunos detalles y supuestos
*: Estos son supuestos, en el problema general pueden no cumplirse
Approach: Semantic Parsing
Problema de Machine Learning
Dado un dataset de pares de pregunta/query, construir un modelo de aprendizaje supervisado para encontrar la query apropiada dada una pregunta.
Datos: WikiSQL
Dataset crowd-sourced de 80,564 preguntas anotadas a mano, con el query correspondiente, basadas en tablas de Wikipedia
Publicado junto con un script para evaluar soluciones al problema, muchos de los papers en el campo basan sus resultados en WikiSQL
Datos: WikiSQL
Un embedding de una palabra es una representación vectorial de la misma. Una manera de obtenerlos es a través de una red neuronal que prediga una palabra dado su contexto (Word2Vec).
Embeddings similares corresponden a palabras semánticamente similares, (utilizadas en contextos similares).
Las redes neuronales recurrentes (RNNs) son una arquitectura de red neuronal diseñada para procesar datos secuenciales.
El output (estado oculto) de una capa recurrente para el elemento t de una secuencia, es input de la misma capa para el elemento t+1. Esto les permite "recordar" valores anteriores
Una celda o unidad LSTM es una extensión de una capa recurrente. Estas unidades incluyen "compuertas" que permiten a la capa "olvidar" o "recordar" información a través de un estado, que se produce junto con el estado oculto de la capa.
Otra extensión de una capa RNN, se agrega una capa que recorre la secuencia en el sentido opuesto. Esto le permite a la siguiente capa obtener información no sólo de elementos pasados, sino también futuros.
Una arquitectura para generar secuencias a partir de secuencias dadas. Una o varias capas recurrentes producen un estado oculto a partir de la secuencia de entrada, que se alimenta a otra serie de capas recurrentes para producir la secuencia de salida
En RNNs, el mecanismo de atención le permite a capas posteriores a una capa recurrente tener acceso a la información en estados ocultos distintos del estado final a través de pesos. Esto le permite a esta capa "poner atención" en partes específicas de la secuencia.
¿Te interesa? adolfo@datank.ai