Tag: Inteligencia Artificial

Actualmente, miles de millones de productos se venden online y existen numerosas plataformas e-commerce que los venden. Identificar y combinar determinados productos para diversos fines, como para la comparación de precios, se convierte en un desafío para el sector del comercio electrónico, ya que no existen identificadores únicos y globales para cada producto. En este punto es donde entra en juego la Inteligencia Artificial y el Machine Learning.

Existen diversos portales webs enfocados a la comparación de precios para obtener las mejores ofertas en un determinado producto como la contratación de seguros de coche. Estos comparadores de precios están enfocados al cliente pero… ¿y si somos una tienda online y queremos comparar los precios de los productos de la competencia con los nuestros? ¿Cómo podemos abordarlo?

Antes de profundizar, un breve aspecto a tener en cuenta: el naming y descripción de los productos no poseen un formato estándar. Cada tienda online incluye estos datos (marca, titulo y descripción del producto) en su web de diferente forma para un mismo producto. Asimismo, las imágenes que se muestran del producto tampoco son estandarizadas y pueden aparecer con diferente perspectiva, color, claridad, etc. Evidentemente, sí existen identificadores generalizados para algunos productos como son las pulgadas de un televisor, pero es posible que según el portal de venta online no lo mencionen, lo incluyan en el titulo del producto o lo incluyan en la descripción.

Por tanto, una persona de forma manual puede visitar diferentes tiendas online y verificar que éstas coinciden con los mismos productos. No obstante,  el problema surge cuando no es viable realizar esta labor de forma manual porque el coste sería muy elevado. Es aquí donde entra en juego la Inteligencia Artificial y el Machine Learning para automatizar el proceso de Product Matching.

¡La Inteligencia Artificial y Machine Learning al rescate!

Inicialmente, en las soluciones de machine learning para la coincidencia de productos, el proveedor de soluciones tiene que construir primero una base de datos de miles de millones de productos. Esto se hace mediante la recopilación de información a través de rastreos web y feeds (crawlers).

Una vez se tiene la base de datos, se realiza el proceso de Product Matching. Un producto puede identificarse utilizando su título, su descripción, imágenes y lista de atributos o especificaciones. En muchos casos, el título del producto en sí mismo proporcionará mucha información y el sistema tiene que aprender a ordenar el nombre del producto (por ejemplo, el modelo de marca) de los atributos (pulgadas, resolución, etc. Toda esta información debe extraerse, clasificarse y colocarse en las categorías apropiadas: modelo de televisor, versión, resolución, etc.

Para cada comparación, el sistema pasa por muchos pasos y verificaciones. Se busca un número de identificación único, una prueba de similitudes de palabras clave, normalización de marca y coincidencia (por ejemplo, LG es lo mismo que Life´s Good), normalización de atributo y coincidencia (32″es lo mismo que 32 pulgadas, 32 pulg. , 32 pulgadas), coincidencia de imágenes, etc.

LG televisor

Figura 1. Ejemplo de Televisor LG en dos portales webs diferentes y cuyo título y descripción no aparecen estandarizados.

Todo esto es un proceso complicado, y existen diferentes soluciones Product Matching que se pueden emplear con diferentes técnicas pero la ventaja es que las redes neuronales y los sistemas de Product Matching aprenden con el tiempo, incluso de sus errores, y así mejoran con cada uso.

Por otro lado, el procesamiento de las imágenes de productos puede proporcionarnos información relevante que no aparece reflejado en el titulo y/o descripción del producto. En la figura 2, podemos ver cómo detectar un mismo producto (ej. Nata Pascual) en dos supermercados diferentes (supermercado A, supermercado B). En el supermercado B tenemos dos productos de Nata Pascual y queremos ver cuál de los dos hace “match” con el supermercado A. Si atendemos únicamente a las taxonomías de la descripción, ambos productos del supermercado B coinciden, en parte, con la descripción del proudcto del supermercado A. Sin embargo, ayudándonos de la imagen en lugar de la descripción se detecta cual de los dos productos del supermercado B coincide con el del supermercado A. Detectar este tipo de “anomalías” es bastante complicado, sin embargo, la herramienta netPrecie de ITELLIGENT a través de técnicas de Deep Learning detecta este tipo de diferencias en imágenes para aportar una mayor optimización al sistema de Product Matching.

PRODUCT MATCHING Ejemplo imagenes

Figura 2. Ejemplo de Product Matching a través del procesamiento imágenes con técnica de Deep Learning (netPrice)

El sistema automatizado de Product Matching desarrollado por ITELLIGENT se llama netPrice. Esta herramienta de monitorización de precios permite enlazar tu catálogo de productos con los de tu competencia a través de técnicas de Inteligencia Artificial y Machine Learning para asegurar la correcta analítica de precios. ¿Quieres saber más sobre nuestra herramienta? ¿Deseas tener una demo de netPrice?

¡Escríbenos!

El Premio Turing se trata de un reconocimiento de las Ciencia de la Computación y es considerado el “Premio Nobel” en ésta área. Anualmente, este galardón es otorgado a quienes hayan contribuido de manera trascendental a este campo y concedido por la Association of Computing Machinery (ACM), la mayor agrupación de profesionales de la informática. Este premio, como su propio nombre indica, rinde homenaje a Alan M. Turing.

Alan M. Turing (1912-1954) es considerado uno de los padres de la Informática, precursor de la informática moderna que proporcionó una influyente formalización de los conceptos de algoritmo y computación. Las aportaciones más relevantes de toda su trayectoria científica en Ciencias de la Computación fueron: la maquina de Turing, Enigma,  el test de Turing, el primer programa de ajedrez para un ordenador, aportaciones al estudio de la Cibernética, entre otras.

El último Premio Turing (2018) ha sido otorgado a tres investigadores en Inteligencia Artificial: Geoffrey Hinton, Yann LeCun y Yoshua Bengio, por sus aportaciones en Deep Learning (aprendizaje profundo). Las técnicas que han desarrolló a lo largo de los 90 y 2000 han permitido grandes avances en áreas como la visión artificial y el reconocimiento de voz. Sus aportaciones han sido clave para el desarrollo de las actuales tecnologías de Inteligencia Artificial, desde coches autónomos como “Google self-driving car”, reconocimiento facial como “Face ID” de Apple hasta asistentes virtuales en el hogar como “Alexa” de Amazon.

Desde 2004, el Premio Turing es patrocinado por Google y gratifica al ganador con 1 millón de USD.

Geoffrey Hinton

Hinton (Reino Unido, 1947) es Doctor (Phd) en Inteligencia Artificial por la Universidad de Edimburgo y actualmente es profesor en el departamento de informática en la Universidad de Toronto. Desde 2013 trabaja en Inteligencia Artificial para Google. Estudió Psicología Experimental en Cambrigde; allí, alguna influencia tuvo que se inspiró en nuestra biología, la mente humana, para programar y crear las conocidas redes neuronales.

Yann LeCun

LeCun (Francia, 1960) es profesor de Plata del Courant Institute of Mathematical Sciences de la Universidad de Nueva York y vicepresidente, jefe científico de Inteligencia Artificial en Facebook. Sus contribuciones datan desde finales de los ochenta, inventó el algoritmo de reconocimiento óptico de caracteres y la visión por computadora utilizando Convolutional Neural Networks (CNN). Es uno de los principales creadores de la tecnología de compresión de imágenes DjVu, junto a Leon Bottou y Patrick Haffner; y co-desarrolló el lenguaje de programación Lush, junto a León Bottou.

Yoshua Bengio

Desde 1993, Bengio (Francia-Canada,  1964) es profesor en el Departamento de Ciencias de la Computación e Investigación de Operaciones en la Université de Montréal y además de ocupar la Cátedra de Investigación de Canadá en Algoritmos de Aprendizaje Estadístico, también es el fundador y director científico de Mila (Instituto de Montreal para los Algoritmos de Aprendizaje), el grupo de investigación universitario más grande del mundo en Deep Learning.

Su contribución a la investigación es innegable. Su objetivo final es comprender los principios que conducen a la inteligencia a través del aprendizaje y su investigación le ha valido múltiples premios, entre ellos, el actual Premio Turing en 2018. En este mismo año también recibió la Medalla del 50 aniversario del Ministère des Relations Internationales et de la Francophonie. Estos honores reflejan la profunda influencia de su trabajo en la evolución de nuestra sociedad. Preocupado por los impactos sociales de esta nueva tecnología, ha contribuido activamente al desarrollo de la Declaración de Montreal para el Desarrollo Responsable de la Inteligencia Artificial.

 

python que es para que sirve

Qué es Python

Se trata de un lenguaje de programación creado en 1991 por Guindo Van Rossum (1956, Holanda). Python es una opción interesante para realizar todo tipo de programas que se ejecuten en cualquier máquina. Está orientado a objetos y preparado para realizar cualquier tipo de programa, con este lenguaje podemos desarrollar software para app científicas, para comunicaciones de red, para app de escritorio con interfaz gráfica de usuario (GUI), para crear videojuegos, para smartphones, para inteligencia artificial, para automatización de tareas y por supuesto, para programación web.

Python es uno de los lenguajes de programación más utilizados, encargado de asegurarse de que la sintaxis haga posible que el código sea legible. Está considerado un lenguaje multiparadigma, al poder ser enfocado a varios estilos, y posee la ventaja de ser de código abierto, lo que permite que cualquiera pueda acceder a él. Desde que en 1991 se publicó el código, han ido evolucionando sus características, las cuales van siendo planteadas desde su filosofía de transparencia y legibilidad:

  • Python puede ser fácil de aprender si eres programador o si tienes experiencia con otros lenguajes programación.
  • Friendly & fácil de aprender. La comunidad organiza conferencias y reuniones, colabora en el código entre otras actividades.
  • Aplicaciones. El Índice de paquetes de Python (PyPI) alberga miles de módulos de terceros para Python. Tanto la biblioteca estándar de Python como los módulos aportados por la comunidad permiten infinitas posibilidades.
  • Open Source. Python se desarrolla bajo una licencia de código abierto aprobada por OSI, por lo que se puede usar y distribuir libremente, incluso para uso comercial. La licencia de Python es administrada por Python Software Foundation.

Para qué sirve

Uno de los principales objetivos del uso de Python es conseguir evitar complicaciones y ahorrar tiempo. Además, es muy útil para trabajar con grandes volúmenes de datos, ya que nos favorece los procesos de extracción y procesamiento de estos. Por este motivo, cuando se habla de Big Data también suele mencionarse Python. Algunos de los usos más comunes para los que sirve Python son:

  • Realizar cálculos científicos y de ingeniería.
  • Desarrollo web.
  • Programación de videojuegos.
  • Ejecutar programas gráficos.
  • Creación de efectos especiales.

Características y ventajas que ofrece Python:

  1. Sistema multiplataforma. No fuerza a los programadores a aprender un estilo especial sino que permite poder implementar varios estilos de programación enfocados a distintos aspectos. Entre dichos estilos podemos encontrar: programación imperativa, programación orientada a objetos y programación funcional.
  2. Orientado a objetos. Una de las características de un lenguaje de programación orientado a objetos es la capacidad de permitir a un programador crear nuevas clases que modelen los datos necesarios para resolver un problema. Con Python, nos encontramos ante un paradigma que propone modelar todo en función a clases y a objetos. Esto nos ofrece un uso de conceptos de cohesión, polimorfismo, abstracción y mucho más.
  3. Código abierto y libre. Posee una licencia de código abierto denominada Python Software Foundation Licence.  Toda la información relativa a este lenguaje de programación es libre por lo que, como hemos mencionado anteriormente, cualquier persona puede acceder a él.
  4. Frameworks. Python cuenta con frameworks de gran calibre para auxiliar el desarrollo web, el desarrollo de juegos o algoritmos avanzados.  Son estructuras o espacios de trabajo en base a las cuales se pueden organizar y desarrollar los softwares. Python posee algunos de los más poderosos (como son por ejemplo Django, Flask, Pyramid y Web2py), destacando todos ellos por su gran utilidad, puesto que facilitan en gran medida trabajo de los desarrolladores.
  5. Tipado dinámico. En Python, una misma variable puede tomar valores de distinto tipo en distintos momentos y en cualquier lugar de su código fuente.
  6. Calidad en la sintaxis. Esta es una de las ventajas de Python.  Este lenguaje de programación nos ofrece una sintaxis clara y limpia que facilita su aprendizaje y enseñanza. Se caracteriza por sustituir las delimitaciones y elementos de alto nivel por sangrías y tokens, componentes lexicográficos elementales que facilitan la escritura y lectura del código. También, otra de las funciones es la de reducir el uso de caracteres y escribir un formato que testee una secuencia determinada.

¿Quieres aprender Pyhton?

En la web se pueden encontrar diversos sites en los que se ofrece información y tutoriales detallados para aprender Python desde cero. Asimismo, el sitio pyhton.org cuenta con una guía para principiantes

ITELLIGENT, con diez años en el mercado, ha sido pionera en España en aplicaciones de Inteligencia Artificial y Big Data. En este post se presentan algunos proyectos desarrollados por ITELLIGENT en diversos sectores de la Industria 4.0 y con soluciones óptimas en su aplicación:

ENERGÍA

CLIENTE Empresa eléctrica

OBJETIVO Inteligencia de mercado y fidelización de clientes.

Imaginemos un proyecto realizado para multinacional de generación y comercialización de energía. El objetivo del proyecto ha sido la generación de inteligencia a partir de los datos obtenidos de contadores inteligentes de los consumidores. Este proyecto ha presentado diversos retos:

  • Hibridación de los datos de los contadores inteligentes con otros datos relevantes (ej. datos meteorológicos).
  • Generación de modelos de inteligencia artificial para entender y predecir los consumos. Gestión de grandes volúmenes de datos utilizando técnicas de big data.
  • Obtención de inteligencia explotable por el cliente.

ARTES GRÁFICAS

CLIENTE Taller de Artes Gráficas

OBJETIVO Mejora de la operativa del taller

En este proyecto se creó un sistema de planificación de operaciones, reactivo para un taller de artes gráficas. El sistema parte de un modelo flexible del taller que se actualiza de forma automática a partir del sistema de monitorización del taller y utiliza distintos algoritmos de inteligencia artificial para dado un objetivo de producción (ej. reducir el numero de trabajos con retraso respecto a su fecha de entrega), proponer el plan de producción que optimice dicho objetivo.

El sistema dispone de un interface visual, basado en gráficos de Gantt interactivos, que permite al jefe de taller interactuar de forma fácil con el sistema y reaccionar de forma efectiva ante los cambios que el día a día impone en un taller.

industria 4 ejemplo artes gráficas

DISTRIBUCIÓN

CLIENTE Distribuidora de alimentos

OBJETIVO Entender y predecir la demanda y mejorar el esfuerzo comercial

Sistema que permite entender y predecir la demanda de un gran numero de puntos de consumo, con una importante componente geoespacial (los consumos en puntos de venta cercanos son parecidos) y a partir de dicho sistema se ha desarrollado un sistema de decisión para optimizar el esfuerzo comercial de la fuerza de venta, de forma que el responsable comercial pueda optimizar el uso de su fuerza de venta y a la vez la fuerza de venta disponga de la información (inteligencia comercial) para determinar que productos ofrecer a cada punto de venta de forma que se maximicen los beneficios y los argumentos asociado a dichas opciones (ej. El consumo de producto A va a subir por la proximidad del verano o de un festivo).

industria40 ejemplo distribuidora alimentos