Category: Big Data e Inteligencia Artificial

La inteligencia artificial en la actualidad juega un papel importante en nuestra vida cotidiana; desde nuestros teléfonos inteligentes (smartphones) a otros dispositivos electrónicos como neveras inteligentes. La tecnología nos ha proporcionado oportunidades de cambiar nuestro modo de vida tanto en el trabajo como al hacer la compra, consumir energía, etc.

La  tecnología se vuelve, cada vez más, más inteligente y con capacidades múltiples: procesamiento de lenguaje natural, visión artificial, sistemas de recomendaciones, entre otros. Sin embargo, pese a que la inteligencia artificial y las máquinas se hayan convertido en parte de la vida cotidiana, esto no significa que las entendamos bien. Por este motivo queremos explicar qué diferencias existen entre Inteligencia Artificial (IA), Machine Learning y Deep Learning para entender mejor el entorno en el que se construye a nuestro alrededor con estas tecnologías inteligentes.

Qué es Inteligencia Artificial

En computación, la Inteligencia Artificial se trata de programas o bots diseñados para realizar determinadas operaciones que se consideran propias de la inteligencia humana. Se trata de hacer que éstos sean tan inteligentes como un humano. La idea es que perciban su entorno y actúen en base a ello, centrado en el auto-aprendizaje y que sean capaces de reaccionar ante nuevas situaciones.

El sueño de los pioneros en Inteligencia Artificial era construir máquinas complejas, habilitadas por computadoras emergentes, que poseyeran las mismas características de la inteligencia humana. Este es el concepto que consideramos “genérico” de Inteligencia Artificial: maquinas fabulosas que tienen todos nuestros sentidos (tal vez incluso más), toda nuestra razón y piensan igual que nosotros.  Podemos poner ejemplos de este concepto en películas como Star Wars (C-3PO) o Teminator. Claro está que este concepto genérico de máquinas de IA sólo quedan en el imaginario del cine y de novelas de ciencia ficción por una buena razón: no podemos llevarlo a cabo, por ahora.

imagenes similares pinterest

Imágenes similares en Pinterest

Sin embargo, sí existen en la actualidad tecnologías que pueden realizar tareas específicas que normalmente requieren inteligencia humana, como la percepción visual, el reconocimiento de voz, la toma de decisiones y la traducción entre idiomas. Algunos ejemplos de este tipo de Inteligencia Artificial, en la actualidad, son cosas como la clasificación de imágenes similares en Pinterest o Google Images y el reconocimiento facial en Face ID en  iPhone.

Estos son claros ejemplos de Inteligencia Artificial que exhiben algunas características de la inteligencia humana. Pero, ¿cómo lo hacen? ¿De dónde viene esa inteligencia? Eso nos lleva al siguiente concepto, Machine Learning.

Qué es Machine Learning

Machine Learning o aprendizaje automático es un subconjunto de Inteligencia Artificial en el campo de la informática que a menudo utiliza técnicas estadísticas para dar a las computadoras la capacidad de “aprender” (es decir, mejorar progresivamente el rendimiento en una tarea específica) con datos, sin estar explícitamente programadas.

En otras palabras, el aprendizaje automático en su forma más básica es la práctica de usar algoritmos para analizar datos, aprender de ellos y luego hacer una determinación o predicción sobre algo en el mundo. Por lo tanto, la máquina está “entrenada” utilizando grandes cantidades de datos y algoritmos que le dan la capacidad de aprender a realizar la tarea por sí misma.

El aprendizaje automático vino directamente de las mentes de los pioneros en Inteligencia Artificial. Resultó que una de las mejores áreas de aplicación para el aprendizaje automático, durante muchos años, fue la visión por computadora, aunque requería una gran cantidad de codificación manual para hacer el trabajo. La gente entraba y escribía clasificadores codificados a mano, como filtros de detección de bordes, para que el programa identificara dónde se inició y se detuvo un objeto; detección de forma para determinar si tenía ocho lados; o  un clasificador para reconocer las letras “S-t-o-p”. De todos los clasificadores codificados a mano, desarrollarían algoritmos para dar sentido a la imagen y “aprender” a determinar si era una señal de Stop, especialmente en un día de niebla cuando el cartel no es perfectamente visible o un árbol oscurece parte de él. Hay una razón por la que la visión por computadora y la detección de imágenes no se acercan a rivalizar con los humanos. Hasta hace poco, era demasiado frágil y propenso al error. Con el tiempo, los algoritmos de aprendizaje se corrigieron y marcaron una diferencia; esto nos lleva al siguiente concepto, Deep Learning.

Qué es Deep Learning

Deep Learning o aprendizaje profundo es una técnica dentro del machine learning basado en arquitecturas neuronales. Un modelo basado en deep learning puede aprender a realizar tareas de clasificación directamente a partir de imágenes, texto o sonido, etc. Sin necesidad de intervención humana para la selección de características. Esto se puede considera la principal ventaja del deep learning, llamada “feature discovering”. Pueden, además, poseer una precisión que supera a la capacidad del ser humano.

El aprendizaje profundo es un subconjunto de aprendizaje automático en Inteligencia Artificial (AI) que tiene redes capaces de aprender sin supervisión a partir de datos que no están estructurados ni etiquetados. También conocido como Deep Neural Learning o Deep Neural Network. Aquí es donde reside la gran diferencia respecto al Machine Learning.

Las Redes Neuronales Artificiales se inspiran en nuestra comprensión de la biología de nuestros cerebros, todas esas interconexiones entre neuronas. Pero, a diferencia de un cerebro biológico donde cualquier neurona se puede conectar a cualquier otra neurona dentro de una cierta distancia física, estas redes neuronales artificiales tienen capas discretas, conexiones y direcciones de propagación de datos.

Pueden, por ejemplo, tomar una imagen, cortarla en un grupo de teselas que se ingresan en la primera capa de la red neuronal. En la primera capa, las neuronas individuales pasan los datos a una segunda capa. La segunda capa de neuronas hace su tarea, y así sucesivamente, hasta que se produce la última capa y producción final. Cada neurona asigna una ponderación a su entrada: qué tan correcta o incorrecta es en relación con la tarea que se realiza. El resultado final se determina luego por el total de esas ponderaciones.

Por ejemplo, imaginemos de nuevo la señal de Stop. Los atributos de una imagen de una señal de stop son cortados y “examinados” por las neuronas: su forma octogonal, el color rojo de su motor de bomberos, sus letras distintivas, el tamaño de su señal de tráfico y su movimiento o falta de ella. La tarea de la red neuronal es concluir si esto es una señal de Stop o no. Se trata de un “vector de probabilidad”, realmente una suposición altamente educada, basada en la ponderación.

google self driving

Self-driving car de Google

El Deep Learning ha permitido muchas aplicaciones prácticas de Machine Learning y, por extensión, el campo general de Inteligencia Artifical. El aprendizaje profundo desglosa las tareas de manera que hace que todo tipo de asistencia en máquinas parezca posible, incluso probable. Los automóviles sin conductor, una mejor atención médica preventiva, incluso mejores recomendaciones de películas, son claros ejemplos de aplicación. La Inteligencia es el presente y el futuro. Con la ayuda de Deep Learning, la Inteligencia Artificial puede llegar a ese estado de ciencia ficción que tanto tiempo hemos imaginado con Star Wars y Terminator.

En la última década, las empresas están utilizando el aprendizaje profundo para resolver los desafíos a nivel empresarial. Desde la detección de rostros (Face ID) hasta recomendaciones de productos, segmentación de clientes, reorganización de dígitos, traducción automática, inteligencia de negocios, Internet de las cosas, seguridad de redes, etc. El uso del  deep learning  y machine learning han transformado por completo el mundo en el que vivimos hoy.

Fuente: https://hackernoon.com/top-differences-between-artificial-intelligence-machine-learning-deep-learning-d39cb6f6feaa

 

Qué es Elasticsearch

ElasticSearch es un gestor de datos y motor de búsqueda basado en Lucene. Se trata de un sistema distribuido que permite trabajar con un gran volumen de datos de cualquier tipo, con una interfaz web RESTful de búsqueda así como clientes para distintos lenguajes de programación, y un sistema de analítica que permite realizar consultas en tiempo real. Elasticsearch está publicado como open source (código abierto) bajo licencia Apache y desarrollado en Java. Se trata de una tecnología que ayuda a optimizar la arquitectura de datos de nuestro negocio.

También es conocido bajo el acrónimo ELK, un conjunto de tres tecnologías de código abierto:

  • Elasticsearch. Motor de búsqueda y análisis.
  • Logstash. Canal de procesamiento de la información que ingiere datos de múltiples fuentes simultáneamente, las transforma y luego las envía a un “stash” como Elasticsearch.
  • Kibana. Permite la visualización de datos a través de tablas y gráficos.

Qué ventajas ofrece Elasticsearch

  1. Sistema distribuido. Los datos se almacenan en diferentes sistemas que colaboran entre sí y nos muestran los resultados que les demandamos en cada momento en una sola petición.
  2. Multitenencia de datos. Nos permite operar sobre distintos índices al mismo tiempo y así potenciar nuestras búsquedas.
  3. Acceso en tiempo real. Esta tecnología nos permite acceder de forma instantánea a los datos.
  4. Búsqueda de texto completo. Usar Elasticsearch hace que implementen una gran cantidad de funciones, tales como la división personalizada de texto en palabras, derivación personalizada, búsqueda personalizada, etc.
  5. Autocompletado y búsqueda instantánea. Buscar mientras el usuario escribe. Pueden ser simples sugerencias de búsquedas tratando de predecirlas en base al historial de búsqueda, o simplemente haciendo una búsqueda completamente nueva para cada palabra clave. Esta opción funciona como ocurre en el buscador Google, que escribimos una palabra y nos sugiere otras opciones de búsqueda. Además, al usar Elasticsearch nos permite encontrar lo que estamos buscando aunque tenga un error ortográfico.
  6. Consultas complejas y afinación. Elasticsearch tiene una poderosa DSL basada en JSON, que permite a los equipos de desarrollo construir consultas complejas y afinarlas para recibir los resultados más precisos de una búsqueda. También proporciona una forma de clasificar y agrupar los resultados.
  7. Ahorro tiempo de análisis y mayor velocidad. Elasticsearch puede ejecutar consultas complejas extremadamente rápido. También almacena casi todas las consultas estructuradas comúnmente utilizadas como filtro para el conjunto de resultados y las ejecuta solo una vez. Para cada otra solicitud que contiene un filtro en caché, comprueba el resultado de la caché. Esto ahorra el tiempo de análisis y ejecución de la consulta mejorando la velocidad.
  8. Elasticsearch está orientado a documentos.  Elasticsearch no utiliza esquemas, acepta documentos JSON e intenta detectar la estructura de datos, indexar los datos y hacer que se pueda buscar.
  9. Uso de facetas. Una búsqueda facetada es más sólida que una búsqueda de texto típica, lo que permite a los usuarios aplicar una cantidad de filtros a la información e incluso tener un sistema de clasificación basado en los datos. Esto permite una mejor organización de los resultados de búsqueda y permite a los usuarios determinar mejor qué información necesitan examinar.
  10. Escalabilidad horizontal y registro de nodos. Elasticsearch permite escalar horizontalmente, por lo que, gracias a su diseño, permite extender los recursos y equilibrar la carga entre los nodos de un cluster. Además, registra cualquier cambio realizado en registros de transacciones en múltiples nodos en el clúster para minimizar la posibilidad de pérdida de datos. Por otro lado, estos cluster pueden detectar aquellos nodos que fallan y reorganizarlos para que los datos siempre sean accesibles.

Al tratarse de una tecnología de open source, en su web, existen diversos videos tutoriales y webinars a los que puedes acceder de forma gratuita tan solo facilitando tu correo electrónico puedes aprender a utilizar Elasticsearch ¡si aún no lo has hecho!

videos_elasticsearch

Optimiza tus búsquedas de información del sector público con iboof.com, el primer motor de búsqueda gratuito de Open Data en España.

En este post te ofrecemos una guía completa de cómo mejorar tus búsquedas en iboof.com. En el caso que en tu búsqueda incluyas más de una palabra clave o keyword debes tener en cuenta una serie de criterios para que, aquello que buscas, sea realmente lo que te interesa. Para ello, estableceremos un ejemplo de varios términos (palabras) en una única búsqueda, para que te sirva de guía y así optimizar futuras búsquedas en iboof.com. Como ejemplo, supongamos que deseas buscar licitaciones sobre “marketing digital”, ¿qué funcionalidades ofrece iBOOF?

Estas son las 4 funcionalidades en las búsquedas en iboof.com:

  1. Búsqueda por defecto “comillas”~4. Si en el buscador incluyes las palabras (ej. marketing digital), por defecto iboof.com realizará una búsqueda en la base de datos de cualquier aparición de ambas palabras sin que necesariamente éstas aparezca una junto a la otra. Es decir, aparecerán los resultados que contengan todas las palabras de la búsqueda y que estén próximas entre sí. A esta opción se le llama Operador de palabras próximas (ej. “marketing digital”~4). El número (~4) significa que entre la palabra (marketing) y (digital) pueden aparecer en el documento hasta cuatro palabras entre ambas (ej. plan de marketing de contenido y digital).
  2. Búsqueda con operador “comillas”Los resultados que obtendrás en esta búsqueda (ej. “marketing digital”) será una búsqueda literal de los términos, es decir, aparecerán los resultados que contengan ambas palabras, una seguida de la otra, en cada uno de los documentos (ej. ..plan de marketing digital y..).
  3. Búsqueda con operador AND. Los resultados contiene todas las palabras de búsqueda incluyen los dos tipos de búsqueda anterior pero sin limitación de palabaras entre ambos términos. Esto quiere decir que, en los  resultados de búsqueda, aparezca:
    • (…) plan de marketing de contenido y digital (…)
    • (…) plan de marketing digital y (…)
    • (…) plan de marketing (…) -página 2 del documento- (…) en el ámbito digital (…) -página 10 del documento-.
  4. Búsqueda con operador OR. Los resultados contiene al menos una de las palabras de búsqueda. Se trata de una búsqueda más ampliada que contempla todos los resultados de las anteriores búsquedas además de aquellos documentos donde sólo aparezca la palabra marketing (sin digital) o digital (sin marketing). En base al ejemplo expuesto, esto supondría los resultados de textos tales como:
    • (…) plan de marketing de contenido y digital (…)
    • (…) plan de marketing digital y (…)
    • (…) plan de marketing (…) -página 2 del documento- (…) en el ámbito digital (…) -página 10 del docuemento-.
    • (…) plan de marketing (…) -sin necesidad que aparezca la palabra (digital) en el documento-.
    • (…) ámbito digital (…) -sin necesidad que aparezca la palabra (marketing) en el documento-.

¡OJO!  Si realizas esta última búsqueda ampliada puede aparecer mucho contenido irrelevante ya que si tu objetivo es buscar licitaciones de marketing digital, esta búsqueda te aparecerán licitaciones de marketing en general ademas de las digitales.

¿Ya has realizado una búsqueda? Si crees que los resultado mostrados son de interés para ti, el siguiente paso para mantenerte constantemente informado es crear una alerta inteligente en base a la búsqueda realizada. De esta forma, cada vez que se publique un nuevo boletín, licitación o documento de información pública en el que incluyan los términos de interés, recibirás en tu bandeja de entrada de tu correo electrónico un mail con la relación de documentos públicos publicados, un día después a la fecha de publicación. Este sistema de alertas inteligentes de iboof.com es muy sencillo, ¿sabes cómo crear una alerta?

Sigue los siguientes pasos para activar una alerta inteligente en iboof.com:

PASO UNO. Dirígete al icono de la campana que aparece en la parte superior izquierda de la página de resultados de la búsqueda realizada. Haz clic en el icono.

PASO UNO crear alerta en iboof

PASO DOS. Aparecerá un pop up en el que tendrás que introducir el mail al que quieras que lleguen estas alertas de iboof.com. Debes leer la política de privacidad y Aviso Legal de la web iboof.com y marcar la casilla que aceptas las misma. Tan solo haz clic en el boton “….)”

PASO DOS crear alerta en iboof

¡Y listo! Cuando se publique algún boletín/licitación/documento oficial donde aparezca los términos incluidos en la alerta, recibirás un mail en tu bandeja de entrada.

En todo proyecto en el que se trabaja con Big Data,  la visualización de datos es una de las áreas más relevantes para la comprensión y análisis de datos masivos. Asimismo, poder sacar partido a toda esa información y extraer conclusiones es imprescindible para cualquier empresa que trabaje con Big Data.

En concreto, la visualización de grandes volúmenes datos (Big Data Visualization) consiste en representar de forma comprensible y medible los datos obtenidos del procesamiento y modelización de grandes volúmenes de datos (Big Data) con el objetivo de, no sólo de mostrar de forma más atractiva los datos, sino de comunicar esta información de forma clara y entendible a través de gráficos, diagramas o infografías. En este punto es donde entran en juego las herramientas para la visualización de datos masivos. Saber elegir la herramienta adecuada para aquello que queramos comunicar es imprescindible para desarrollar una analítica empresarial o Business Analytics de forma eficiente.  A continuación, desglosamos cinco herramientas para la visualización de datos:

TABLEAU 

Se trata de una de las más conocidas herramientas de visualización de datos. Su interfaz permite generar visualizaciones sobre grandes volúmenes de datos y personalizarlo.  Posee una versión gratuita: Tableau Public, con la que puedes crear mapas interactivos, gráficos de barras, tartas, etc. de forma sencilla.

Características:

  • Puede importar tablas Excel,
  • Gráficos interactivos y pueden ser embebidos en tu web y/o compartirlos
  • Gráficos Responsive, optimizados para visualizarlos en diversos dispositivos (tablets y moviles)

QLIK View & Sense

QlikView pertenece a la empresa Qlik la cual posee varios productos para la visualización de datos masivos. El más popular es QlikView. Destaca por su sencillez, con una configuración muy personalizable, permitiendo a los usuarios tomar decisiones basadas en datos. Posibilita trabajar con grandes cantidades de datos procedentes de diferentes fuentes. La otra herramienta de la empres Qlik se llama QkikSense. Se trata de una versión aún más sencilla que QlikView para crear visualizaciones flexibles e interactivas.

QlikView y Qlik Sense comparten el mismo motor y una serie de capacidades básicas, pero hay diferencias entre ellos que reflejan tanto los avances en tecnología, como la evolución de las necesidades del consumidor en el mercado.

Características:

  • Gráficos Responsive, optimizados para visualizarlos en diversos dispositivos (tablets y móviles)
  • Permite formular y responder sus propias preguntas y seguir sus propias rutas hacia el conocimiento.

PLOTLY

Plotly, también conocida por su versión web Plot.ly, es una herramienta de visualización y análisis de datos online. Se trata de un software colaborativo bastante flexible que ofrece visualizaciones complejas y sofisticadas. Posee todo tipo de gráficas: columnas, líneas, circulares, histogramas, etc. Funciona con cualquier formato de datos (Excel, CSV o texto) y se puede importar desde Google Drive o Dropbox.

Características:

  • Está integrado con lenguajes de programación como Python, JavaScript o Matlab.
  • Se puede compartir y editar datos, gráficas y macros con otros usuarios.

CARTO

Aunque esta tecnología sólo permite establecer visualizaciones de datos masivos sobre mapas, se trata de un servicio open source dirigido a cualquier usuario, independientemente del nivel técnico que tenga, con una interfaz muy amigable. Carto ofrece dos aplicaciones muy completas: Carto Builder, donde los usuarios pueden administrar datos, ejecutar análisis o diseñar mapas personalizados; y Carto Engine, el cual ofrece un conjunto de bibliotecas para crear interfaces de visualización de mapas y datos personalizados.

Características:

  • Permite crear una gran variedad de mapas interactivos, lo que permite elegir entre el catálogo que el mismo servicio ofrece, incluir mapas de Google Maps, o agregar a la lista tus propios mapas personalizados.
  • Permite el acceso a los datos de Twitter.

KIBANA

Kibana es un complemento de visualización de datos de código abierto para Elasticsearch. Posee una gran variedad de gráficos interactivos: histogramas, gráficos de líneas, gráficos circulares, rayos solares, etc. Además, puedes diseñar tus propias visualizaciones y Elastic Maps para visualizar datos geoespaciales. Todos ellos aprovechan las capacidades de agregación de Elasticsearch.

Características;

  • Con Kibana se puede detectar las anomalías que se esconden en los datos de Elasticsearch y explorar las propiedades que los influencian significativamente.
  • Kibana permite visualizar los datos de Elasticsearch y navegar por Elastic Stack, de modo que puedes hacer cualquier cosa, desde saber por qué te están buscando por Internet a las 2:00 a.m. hasta comprender el impacto que la lluvia puede tener en tus números trimestrales.

kibana_web