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:
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:
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.
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.
En este post desglosamos los tres problemas más habituales que hacen fracasar un proyecto de monitorización de precios o pricing. De todo problema puede surgir una oportunidad si aprendemos a resolver de forma inteligente estos problemas habituales en pricing. Por este motivo, además de exponer estos problemas, aportamos soluciones smart para enfrentarnos a ellos.
Problema 1: BIG DATA.
Los proyectos de monitorización de precios implica mantener ciento de miles o millones de precios diarios. Es complicado sacar a flote la información relevante frente al océano de datos que este tipo de proyectos posee. Cuando el volumen de datos es alto, no solo es complicada la extracción de los datos, sino además encontrar la información relevante se convierte en un reto
Por lo que, ¿cómo evitamos este problemas?¿cómo encontramos la información relevante? Lo mostramos con un ejemplo.
Ejemplo. Amenazas y Oportunidades.
En un proyecto de pricing para una empresa de medio de transporte, los precios recopilados para rutas, días, horarios y billetes de viaje, se empleó un sistema de oportunidades y amenazas.
- Amenazas. Es cuando el precio de la competencia está anormalmente bajo. Gracias a esta información, evitamos perder clientes y podemos actuar en consecuencia ante esta amenaza.
- Oportunidades. Si el precio de mi competencia es habitualmente alto pero en algunos días es aún más alto, podemos aprovechar para subir nuestros precios y no perderé clientes.
¿Qué debe aportar un sistema respecto al volumen de datos?
- Que extraiga datos de cualquier web.
- Que te permita analizar cualquier precio. A través de un modelo, el sistema debe ser de ayuda para ver lo realmente relevante y no demorarse en temas accesorios.
- Que posea un sistema de alertas: recibir alertas vía email.
- Facilidad en extraer un histórico de los datos.
Problema 2: ONE SIZE DOESN´T FIT ALL.
Cada sector posee peculiaridades diferentes que requieren soluciones diferentes por lo que «one size doesn´t fit all». Es decir, no existe una única fórmula ni un software único y fijo para todo tipo de proyectos de pricing.
Por lo que, ¿qué debemos tener en cuenta a la hora de elegir un software de monitorización de precios?
Ejemplo. Establecer elementos de filtraje adaptado al proyecto.
Para un proyecto de viajes, tener un sistema de filtros sencillos para visualizar los datos a través de una gráfica que nos permita analizar los precios.
¿Qué debe aportar un sistema respecto a las peculiaridades del proyecto?
- La herramienta debe adaptarse al sector y no el sector a la herramienta
- La visualización de los datos debe adaptarse a las necesidades del proyecto
- Debe poseer elementos de filtraje para facilitar la visualización de los datos.
Problema 3: PRODUCT MATCHING.
Para la comparación de la competencia cada empresa nombra un mismo producto de forma diferente. Esto es un problema de product matching.
El proceso de Product Matching consiste en relacionar para distintas fuentes aquellos productos que son el mismo. Dependiendo del sector, el problema del Product Matching es más complejo o no.
Problema 3: Productos de Gran Consumo.
En los proyectos de productos de gran consumo (supermercado, zapatería, por ejemplo), determinar cuando un producto en dos webs diferentes es el mismo, puede ser trivial.
Existen dos enfoques para solventar el problema que conlleva el Product Matching: técnica de similitud de textos y técnicas de aprendizaje automático para generar modelos que realicen el matching entre productos.
¿Qué debe aportar un sistema respecto al Product Matching?
En muchos sectores como el retail, electrónica y productos de gran consumo, este problema es algo muy importante y habitualmente se pasa por alto (overlook) no se le da la importancia que realmente tiene. Es fundamental que un sistema de pricing tenga una herramienta sofisticada que ayude a realizar el Product Matching.
Estos tres problemas son requisitos mínimos que debe tener en cuenta cualquier proyecto de pricing, pero, también, cada proyecto posee necesidades específicas según el sector y tipo de empresa sea.
A continuación os especificamos cinco necesidades específicas en proyectos de monitorización de precios: