Big data: Gestión de datos no estructurados

La gestión de los datos no estructurados se ha convertido en uno de los principales retos a los que hacen frente las compañías en lo relativo a gestión de información y Big Data. En este post damos una breve introducción al tratamiento de los mismos y las problemáticas más comunes en su gestión.

Gestión de datos no estructurados

Definición de datos no estructurados

Una posible definición de datos no estructurados,  son aquellos datos no almacenados en una base de datos tradicional. La información no estructurada no puede ser almacenada en estructuras de datos relacionales predefinidas.

Se pueden establecer diferentes clasificaciones, vamos a considerar dos de ellas.

  • Datos no estructurados y semiestructurados. Los datos semiestructurados serían aquellos datos que no residen de bases de datos relacionales, pero presentan una organización interna que facilita su tratamiento, tales como documentos XML y datos almacenados en bases de datos NoSQL.
  • Datos de tipo texto y no-texto. Datos no estructurados de tipo texto podrían ser datos generados en las redes sociales, foros, e-mails, presentaciones Power Point o documentos Word, mientras que datos no-texto podrían ser ficheros de  imágenes jpeg, ficheros de audio mp3 o ficheros de video tipo flash.

 

Características de datos no estructurados

Las principales características de los datos no estructurados son las siguientes: 

  • Volumen y crecimiento: el volumen de datos y la tasa de crecimiento de los datos no estructurados es muy superior al de los datos estructurados. Por ejemplo, twitter genera 12 Terabytes de información cada día. De acuerdo con Gartner, la tasa anual de crecimiento de datos es del 40 a 60 por ciento, pero para los datos no estructurados en empresas, la tasa de crecimiento puede llegar al 80 por ciento (informe 2012).
  • Orígenes de datos:  El origen de los datos es muy diverso: datos generados en redes sociales, datos generados en foros, e-mails, datos extraídos de la web empleando técnicas de web semántica, documentos internos de la compañía (word, pdf, ppt).
  • Almacenamiento: Debido a su estructura no podemos emplear arquitectura relacional, siendo necesario trabajar con herramientas ‘Big Data’, siendo crítico en estas arquitecturas los aspectos relacionados con la escalabilidad y paralelismo. Según el tipo de dato se impone el almacenamiento cloud.  Monitorizar la frecuencia de uso y la detección de datos inactivos son aspectos críticos de cara a reducir costes de almacenamiento.
  • Terminología e idiomas: La terminología es una cuestión crítica tratando datos no estructurados de tipo texto. Es habitual llamar a lo mismo de diferentes formas, de tal modo que es necesario una racionalización de la terminología. Otra cuestión es el idioma en el que se he generado la información tratada. 
  • Seguridad: Hay que considerar que algunos datos no estructurados de tipo texto, pueden no ser seguros. Por otra parte el control de accesos a los mismos es complejo debido a cuestiones de confidencialidad y la difícil clasificación del dato.

 

Tratamiento de datos no estructurados

Las principales cuestiones a considerar en el tratamiento de información no estructurada son las siguientes:

  • Crear una plataforma escalable (infraestructura y procesos) que permita tratar grandes cantidades de datos.  Las tecnologías RDBMS son insuficientes para tratar información no estructurada.  Es necesaria una capacidad de almacenamiento y una capacidad de proceso escalable.  Teniendo en cuenta que el coste económico de mantener plataformas escalables, hay que considerar la opción cloud. Desde el punto de vista de los procesos, en ocasiones es interesante utilizar in-memory analytics.
  • Añadir información/estructura complementaria a los datos no estructurados. Es importante añadir algún tipo de estructura a los datos no estructurados que ayude a su tratamiento. Por ejemplo, en una colección de tweets de redes sociales puede ser interesante añadir  campos tales como el idioma, la localización geográfica para su posterior procesado. Esta estructura adicional que añadimos debe ser modelizada de cara a estar en constante evolución.
  • Crear conjuntos reducidos de datos que sean representativos. Dado el volumen ingente  de información, es importante trabajar con muestras de datos que sean estadísticamente representativos sobre los datos a analizar. Muchos análisis pueden llevarse a cabo con un grado de exactitud razonable, utilizando conjuntos de datos que son más pequeños en un orden de magnitud que la información en bruto.
  • Desarrollo de algoritmos. Hay diferentes tipos de aproximación hacia la información no estructurada. Por ejemplo, para procesos de text mining, puede utilizarse natural language processing combinado con redes neuronales. Otras técnicas como redes bayesianas permiten descubrir patrones sobre múltiples dimensiones. Son importantes también las técnicas de visualización de datos.
  • Procesos de depuración/limpiado de datos. Dado el ingente volumen de datos, se convierte en crítico la correcta gestión del histórico de datos. Detección de datos no usados o de frecuencia de consulta muy baja con objeto de limpiar información y liberar espacio.

 

Ejemplo sencillo tratamiento datos no estructurados (redes sociales)

Dada la variada naturaleza de los datos no estructurados, hay infinidad de posibles procesos relacionados con ellos.  A continuación mostramos un sencillo ejemplo de tratamiento de datos provenientes de redes sociales. 

El objetivo de este análisis de datos es conocer la percepción que existe sobre el precio de determinado producto en twitter.

  • Extracción:  Utilizando una clase de java (ejemplo twitter4j) leemos el feed de Twitter disponible en https://twitter.com/search/realtime. Añadimos a los campos disponibles calificaciones del tipo: idioma, localización geográfica.

  • Transformación: Filtramos todos aquellos tuits que contengan el nombre del producto. Refinamos el filtro introduciendo campos del tipo (“precio” ) +  (“barato”, “caro”, “económico”, etc..) , teniendo en cuenta el idioma en el que  se generan lo tuits. Valorar la opción en base al volumen de obtener una muestra representativa de los datos extraídos y filtrados.
  • Volcado a BBDD : Insertamos en una tabla el registro del tuit con la calificación identificada (idioma, localización geográfica)
  • Informes: Creamos informe que permita realizar análisis por tiempo y campos de calificación. Hay que considerar que este informe puede ser actualizado en tiempo real. 

 

Me impresiona ver que esta tendencia esta tomando fuerza en el ambito empresarial, hoy en dia no solo se busca vender un producto, si no proporcionar el servicio que permita hacerse de mas clientes, creo que con la gran versatilidad de gestores de base de datos se pueden lograr muchas cosas. solo que aun no logro visualizar todas las ventajas que se tienen por el cambio de una base de datos no estructurada a los modelos convencionales, o sera que las empresas tendran que trabajar con ambas?

 

Es un almacén de datos que es utilizado para explotar grandes volúmenes de información (entre ellos información histórica) para efectos de análisis que ayuden a la toma de decisiones en las grandes empresas. Las bases de datos orientadas a Data Warehouse no contienen datos actuales, es decir, no es una base de datos transaccional OLTP, es un tipo de base de datos OLAP. Se ha mencionado que las bases de datos tienen muchos retos y uno de ellos es que no se puede utilizar la misma base de datos para transacciones y para efectos de análisis.

https://www.ibm.com/developerworks/ssa/data/library/tipos_bases_de_datos/

 

Muy buena la aportación, para complentar un poco anexo lo siguiente.

Desde finales de los años 90 cada vez más empresas y personas se conectan a Internet, aumentando con ello tanto los usuarios que acceden a la red como los servicios que se ofrecen a través de ella. Esto ha generado un aumento considerable en el volumen de datos que se deben procesar, por lo que la versión clásica de guardar los datos de forma centralizada, es decir en un único espacio físico como en una base de datos “tradicional”, no es ni óptima ni eficiente, por lo que son necesarios otros modelos que soporten la distribución masiva de los datos.

Tal es el caso por el que hoy en ademas de contar con información estructurada, también contamos con información no estructurada en donde ambos tipos de informacion juegan un papel importante al momento que se requiere realizar analisis efectivos de datos con ayuda del big data.

Datos Estructurados

Los datos estructurados por lo general residen en bases de datos relacionales. Los campos almacenan números de teléfono de datos, números de identificación o códigos postales delimitados por longitud. Incluso las cadenas de texto de longitud variable, como los nombres, están contenidas en los registros, por lo que es una cuestión fácil de buscar.

Los datos pueden generarse de forma humana o mecánica siempre que los datos se creen dentro de una estructura (base de datos relacional). Este formato se puede buscar tanto en consultas generadas por humanos como a través de algoritmos que usan tipos de datos y nombres de campos.

Las aplicaciones comunes de bases de datos relacionales con datos estructurados incluyen sistemas de reserva de líneas aéreas, control de inventario, transacciones de ventas y registros de cajeros automáticos.

Datos no Estructurados

Los datos no estructurados son esencialmente todo lo demás. Los datos no estructurados tienen una estructura interna, pero no están estructurados a través de esquemas o modelos de datos predefinidos.

Puede ser textual o no textual, y generado por hombre o la máquina. También se puede almacenar dentro de una base de datos no relacional como NoSQL.

Los datos no estructurados típicos generados por el hombre incluyen:

  • Archivos de texto: procesamiento de textos, hojas de cálculo, presentaciones, correo electrónico, registros.
  • Correo electrónico: el correo electrónico tiene cierta estructura interna gracias a sus metadatos, y a veces lo llamamos semiestructurado. Sin embargo, su campo de mensaje no está estructurado y las herramientas de análisis tradicionales no pueden analizarlo.
  • Redes sociales: Datos de Facebook, Twitter, LinkedIn.
  • Sitios web: YouTube, Instagram, sitios para compartir fotos.
  • Datos móviles: mensajes de texto, ubicaciones.
    Comunicaciones: chat, mensajería instantánea, grabaciones telefónicas, software de colaboración.
  • Medios: MP3, fotos digitales, archivos de audio y video.
  • Aplicaciones empresariales: documentos de MS Office, aplicaciones de productividad.

Los datos no estructurados típicos generados por una máquina incluyen:

  • Imágenes satelitales: datos meteorológicos, formas terrestres, movimientos militares.
  • Datos científicos: exploración de terreno, exploración espacial, imágenes sísmicas, datos atmosféricos.
  • Vigilancia digital: Fotos de vigilancia y video.
  • Datos de sensores: tráfico, clima, sensores oceanográficos.

Los datos no estructurados representan el 80% o más de los datos de la empresa y están creciendo a una tasa del 55% y 65% ​​por año. Y sin las herramientas para analizar estos datos masivos, las organizaciones están dejando enormes cantidades de datos valiosos fuera de la analítica de negocios.

Saludos.