Tag: Deep Learning

El congreso IWANN se trata de un foro de discusión para científicos, ingenieros, educadores y estudiantes en el que se debaten y se exponen los últimos descubrimientos realizados en teorías, modelos y sistemas inspirados en la naturaleza. Estos descubrimientos han sido realizados mediante la utilización de diferentes metodologías de inteligencia computacional, enfocadas particularmente en temas relevantes al Deep Learning, la computación centrada en el ser humano y en proyectos del cerebro humano.

Este evento, organizado por la Universidad de Málaga, Universidad de Granada, Universidad Politécnica de Catalunya, Universidad de Cádiz y IEEE Computational Intelligence Society se realiza cada dos años, y los próximos días 14, 15 y 16 de junio se celebrará por primera vez en la ciudad de Cádiz.

Coincidiendo con el estreno de la Universidad de Cádiz en la participación de este Congreso, nuestro compañero Mario Rivas, ingeniero I+D+i  de nuestro equipo técnico, asistirá al IWANN el primer día del congreso para hablar de  “Using deep learning for image similarity in Product Matching”. En esta ponencia colaboran también nuestro director técnico Jaime Martel junto a docentes de la Universidad de Cádiz como María De La Paz Guerrero, Elisa Guerrero, Guillermo Bárcena y Pedro L. Galindo.

Ésta ponencia tendrá lugar el primer día de IWANN 2017, el miércoles 14 de junio de 9 a 11 de la mañana en el Salón Lequerica del edificio Constitución 1812 (ver programación).  Será la primera ponencia de las que componen la sesión “Image and Signal Processing” moderada por el Dr. Joseph Constantin.

Asimismo,  a lo largo de estos tres días, en IWANN 2017 se darán cita docentes, investigadores y profesionales del sector donde compartirán experiencias y estudios relacionados con:

  • Los métodos matemáticos y teóricos en la inteligencia computacional.
  • Formulaciones neurocomputacional.
  • Aprendizaje y adaptación.
  • La emulación de las funciones cognitivas.
  • Sistemas y neuro-ingeniería Bio-inspirado.
  • Temas avanzados en inteligencia computacional.
  • Aplicaciones

Además, IWANN 2017 contará con tres ponentes invitados de gran prestigio cómo son:

invited speakers IWANN

  • Matthias Rauterberg, de la Universidad de Eindhoven, que hablará sobre “How to desig for tne unconscious”.
  • Ulrich Rückert, de la Universidad de Bielefeld, cuya ponencia tratará acerca de “Cognitronics: Resource-efficient Architectures for Cognitive Systems”.
  • Le Lu, del Instituto Nacional de Salud de Estados Unidos, cuyo tema será “Towards ´Big Data, Weak Label and True Clinical Impact´ on Medical Image Diagnosis: The Roles of Deep Label Discovery and Open-ended Recognition”.

El Product Matching es un área perteneciente a Data Matching o Record Linkage encargada de identificar automáticamente aquellas ofertas, productos o entidades en general, que aparecen en la web procedente de diversas fuentes, aparentemente de forma distinta e independiente, pero que hacen referencia a una misma entidad real.

Actualmente, el Product Matching está experimentando un auge debido al incremento de compras online, lo cual ha propiciado la aparición de herramientas de comparación, monitorización y análisis de precios de los productos en venta. Desde el punto de vista de la implementación software, este proceso conlleva un arduo trabajo, ya que para un mismo producto, su descripción o nombre puede aparecer de distinta forma en páginas web diferentes, lo cual puede llevar a equívoco al motor de búsqueda obteniendo resultados incorrectos. Por tanto, se requiere de:

  • Un minucioso, exhaustivo y preciso proceso de búsqueda de productos a través de la web
  • Un filtrado de elementos candidatos, extracción de características, identificación y asociación de productos iguales y distintos
  • Un análisis de los parámetros o características que se requieren investigar entre estas entidades

Aproximación al estado del arte

El Product Matching debido a su relación con el Data Matching o Record Linkage comparte muchas de sus características. El Record Linkage se ha centrado principalmente, desde su nacimiento, en la fusión de distintas bases de datos en una única en la que se identifiquen aquellos elementos relacionados en ambas bases de datos, bien eliminando esas duplicaciones  y/o registrando nuevos enlaces. En las investigaciones realizadas hasta la fecha en el campo del Product Matching se pueden distinguir dos enfoques distintos:

  1. Uso de técnicas de similitud de textos (asociar a cada producto el título, descripción, características técnicas, etc.) para decidir si dos elementos de fuentes distintas hacen referencia a una misma entidad.
  2. Aplicar técnicas de aprendizaje automático para generar modelos que realicen la correspondencia entre productos.

Estos dos enfoques no son independientes entre sí. Normalmente, para el uso de técnicas de aprendizaje automático es necesario el uso de técnicas englobadas en el primer enfoque (Ej. tokenizado de textos, medidas de similitud, etc.) para obtener las entradas a los modelos que serán generados con el segundo enfoque.

Una nueva aplicación conocida como Content Based Image Retrieval (CBIR) ha surgido en el ámito del procesamiento de imágenes con el objetivo de resumir la información de una imagen en varias de sus características tales como el color, textura, forma o la combinación de éstas.

La forma de los objetos que se encuentran dentro de una imagen, es una de las características más usadas en las técnicas CBIR. Para obtenerla con necesarias técnicas de extracción morfológicas. Dentro de estas técnicas tiene una especial relevancia la basada en los Descriptores de Fourier. Dentro del campo de CBIR, también se deben destacar las técnicas de descomposición de imágenes en regiones locales de interés. Estas técnicas detectan, en una imagen, aquellos puntos más importantes y significativos pertenecientes a una región. Dichos puntos son denominados keypoints. En la literatura es posible encontrar una gran variedad de algoritmos para la obtención de keypoints dentro de una imagen.

ITELLIGENT_Product Marching_Monitorizacion de precios

Con el reciente auge del Deep Learning también han aparecido aplicaciones para CBIR. El Deep Learning consiste en un conjunto de algortimos de aprendizaje automático que generan modelos abstractos de alto nivel mediante el empleo de arquitecturas “profundas” -deep- compuestas de múltiples transformaciones no lineales, dispuestas de manera jerárquica. Ese enfoque es diferente a las técnicas convencionales de aprendizaje automático que se basan en arquitecturas “planas”.

Dentro de las múltiples técnicas englobadas dentro del Deep Learning, la técnica Convolutional Neuronal Network (CNN) es especialmente usada en el campo de CBIR. Esta técnica consiste en la utilización de múltiples capas de convolución situadas una encima de otra. Entre estas capas se comparten pesos así como la salia producida a la capa inferior. Mediante el entrenamiento de estos pesos y la disposición de las capas se consiguen modeles capaces de ser independientes a la rotación, traslación, contrastes, etc.

La importancia e imparable crecimiento del comercio electrónico –ecommerce- ha obligado a las organizaciones a disponer herramientas de monitorización de precios, que le permitan gestionar sus políticas de precios y conocer las estrategias de la competencia. Para estas herramientas es fundamental realizar una identificación adecuada de los productos entre las distintas fuentes que se monitorizan, ya que de no ser así no se podrán comparar los productos con sus verdaderos rivales, distorsionando toda la información obtenida.

“Aplicación práctica del Deep Learning al Marketing Digital: análisis y desambiguación de conversaciones digitales”. Por Jaime Martel y Enrique Pérez Montero

El análisis de conversaciones procedentes de la web (tweets, posts en facebook, blogs,etc.) es un recursos primordial para entender a los usuarios y clientes: ¿de qué hablan?, ¿cuál es el sentimiento respecto a la marca?, ¿quiénes son los que más hablan?, ¿qué efecto tiene la conversación que la marca genera?, etcétera.

Deep Learning_Marcas que implican desambiguación en conversaciones_ITELLIGENTUno de los recursos más utilizado para capturar esta conversación es la utilización de términos de búsqueda sobre la web o sobre redes sociales, como por ejemplo: realizar búsquedas del termino “Mapfre” para capturar la conversación en Twitter sobre dicha empresa. Un problema habitual de la conversación captada mediante términos de búsqueda es la captura de conversación no relevante o “ruido” debido a la existencia de términos ambiguos, es decir palabras que se escriben de la misma forma y tienen distinto significado (términos polisémicos). Así, si intentamos capturar conversación sobre la empresa de cosméticos MAC utilizando como búsqueda el termino MAC, capturaremos conversación sobre los MAC de Apple, sobre Big MAC de Mac Donalds, sobre la MAC de los ordenadores, etc. Como es bien sabido, si introducimos “ruido” en los datos solo conseguiremos que los resultados de los análisis resultantes no sean fiables (principio de Garbage In Garbage Out).

A continuación vamos a describir un caso de uso en el que se utilizan técnicas de Deep Learning para resolver un caso real de conversaciones obtenidas a partir de un término polisémico, este problema se suele denominar “desambiguación” de las conversaciones y consiste en eliminar aquellas conversaciones que no sean relevantes de todas las extraídas.

NECESIDAD DEL CLIENTE:

El cliente nos solicitó realizar un estudio que requería la captura de conversación sobre el Banco de Santander, desgraciadamente el termino Santander puede referirse al banco pero también a la ciudad, al equipo de futbol, etc. Para evitar la ambigüedad del término SANTANDER cabía la posibilidad de restringir la búsqueda a aquella conversaciones que contuviesen el término BANCO y SANTANDER, pero tras un análisis de los resultados se comprobó que esta opción sesgaría mucho los resultados ya que una parte considerable (más del 30%) de las conversaciones sobe el Banco de Santander se dejaban fuera, lo que invalidaría realizar comparativa con otras entidades bancarias como BANKIA o BBVA que no sufren de este problema de ambigüedad.

Deep Learning_tweets desambiguación_ITELLIGENT

SOLUCION PROPUESTA:

Habitualmente hemos resuelto este problema utilizando un clasificador supervisado (svm, naive bayes, logit,…) que es un algoritmo que a partir de una serie de ejemplos (ej. un conjunto de conversaciones sobre el Banco de Santander y otro conjunto que conteniendo el término SANTANDER no se refieran al Banco) se entrena y una vez entrenado se le puede pasar un texto y el clasificador decide si habla del Banco de Santader o no. El problema de esta aproximación es que para textos cortos (Ej. tweets) para tener buenos resultados se requieren un gran número de ejemplos revisados a mano que sirvan para entrenar el clasificador, lo que representa una fuerte inversión en tiempo.

Debido a lo anterior, se decidió probar con una técnica más novedosa basada en Word2Vec, que es un algoritmo desarrollado por Google  basado en Deep Learning, que permite hacer una representación vectorial de palabras manteniendo esa representación vectorial el significado (semántico) de la palabra. Esto es, una vez entrenado con un conjunto de textos, word2vec permite dada una palabra presente en los textos de entrenamiento (ej. coche) obtener palabras relacionadas (ej. autobús, chofer, conducción,…), operar con las palabras como si fueran vectores (ej. coche + conductor -> viaje), obtener la similitud entre dos palabras y muchas otras cosas. Conocimos Word2Vec a través de nuestros amigos del grupo de Procesamiento del Lenguaje Natural de la Universidad de Sevilla que nos habían introducido a Word2Vec en un proyecto de turismo inteligente que participamos con ellos.

La aplicación de Word2Vec al problema de la “desambiguación” de la conversación sobre el Banco de Santander, se realizo de la siguiente forma:

  • PASO 1: Se crearon dos listas de palabras una de ella relacionada con el Banco de Santander (ej. banco, entidad, crédito,…) y otra no relacionada con el Banco pero si con el término Santander (ej. ciudad, fútbol, lluvia, …).  Para la creación de estas listas de términos se utilizo una técnica denominada Mutual Information -esta técnica no es objeto de este post-.
  • PASO 2: Dado un texto se definió una métrica para medir la similitud del texto frente a las dos listas, pera ellos se utilizo una técnica basada en programación lineal -esta técnica tampoco es objeto de este post-.
  • PASO 3: El sistema procesa todas las conversaciones comparando el texto de cada conversación (ej. el texto de cada tweet) con las dos lista de palabras y a partir de la similitud con cada lista decide si es una conversación sobre el Banco de Santander o no lo es.

RESULTADOS:

Nuestro objetivo en el proyecto era reducir al máximo el esfuerzo de supervisión y al mismo tiempo obtener unos resultados muy fiables que permitiesen reducir al mínimo el “ruido” que pudiese pasar a la fase de análisis. Para medir la fiabilidad utilizamos dos medidas la Precisión y la Cobertura.

Para explicar cada una de ellas supongamos que tenemos un conjunto de conversaciones (tweets) y hemos comprobado manualmente cada una de ellas para determinar si son del Banco de Santander o no. Supongamos que clasificamos dichas conversaciones utilizando nuestro algoritmo basado en Word2Vec, la Cobertura será del total de conversaciones sobre el Banco de Santander, es decir de las comprobadas manualmente, cuántas de ellas (que proporción) han sido también señaladas como pertenecientes al Banco de Santander por el algoritmo. Mientras que la Precisión será del total de las conversaciones que nuestro algoritmo ha marcado como pertenecientes al Banco de Santander que proporción son realmente del Banco de Santader (es decir que proporción están también en las manualmente señaladas).

Una vez obtenidas la Cobertura y la Precisión obtenemos una combinación de las mismas denominada F1, la idea fue calcular F1 como medida de la bondad de los resultados y el Número de Conversaciones Supervisadas como medida del esfuerzo necesario para obtener dicho resultado. Así, la situación ideal sería obtener un F1 alto con pocas conversaciones supervisadas.

Deep Learning_Desambiguación conversaciones_ITELLIGENT

En esta imagen se comprueba que con un esfuerzo de supervisión de unos  40 minutos (200 ejemplos) se consiguen unos resultados muy buenos, por lo que el Deep Learning es una estupenda alternativa a métodos tradicionales basados en clasificadores que para textos de pequeña longitud (Ej. tweets) requieren un esfuerzo mucho mayor.

Guardar

Guardar

Guardar