El 19 de enero se celebró el Seminario de la Cátedra Ciencia de datos y Aprendizaje Automático UAM-IIC, con la conferencia de Juan Arévalo, Data Scientist en BBVA Data & Analytics. En este seminario, Arévalo presentó un enfoque para los sistemas de recomendación basados en filtrado colaborativo, que es aplicable a millones de usuarios y un millón de productos.
Sistemas de recomendación
Los Sistemas de recomendación (SR) son cada vez más utilizados en las aplicaciones en línea más comunes, desde Netflix hasta Amazon. Los SR presentan a los usuarios sugerencias personalizadas, permitiendo a las empresas dar a conocer productos menos populares, pero rentables, en la larga cola (long tail products) de su catálogo.
Una técnica extendida para construir un SR para productos de nicho (si se tiene el historial de adopciones de usuarios) es el Filtrado Colaborativo (FC) para retroalimentación implícita. Sin embargo, este tipo de métodos de FC, basados generalmente en vecinos próximos, tiene el defecto de no proporcionar una recomendación para todos los productos posibles, sino solo para los más similares a uno dado.
Para superar este obstáculo y proporcionar recomendaciones para todo el catálogo de productos, se suele recurrir a otro método, la factorización implícita de la matriz usuarios-productos.
Existen varias implementaciones eficientes y escalables de factorización implícita de matrices en la industria. Primeramente, se usó la proporcionada por Apache Spark para el modelo, una versión distribuida del método de Alternating Least Square (ALS) con regularización de pesos. Pero, aunque fue posible calcular el modelo de factorización matricial con recursos razonables, la generación de todas las recomendaciones requeridas no fue posible.
El motivo para ello fue esencialmente que el número de operaciones requeridas para la recomendación era demasiado grande. De hecho, se tenía entre 2 y 20 millones de usuarios, dependiendo del país al que se aplicaba el SR, y más de un millón de artículos por país, lo que daba lugar a un número de recomendaciones potencialmente muy alto.
Esto hacía necesario paralelizar todo lo que fuera posible el cálculo y para ello se utilizaron las Unidades Gráficas de Computación (GPU). Mientras que las Unidades Centrales de Proceso (CPU) están optimizadas para realizar tareas complicadas una tras otra con baja latencia, las GPU están optimizadas para tareas paralelas y simples, siendo la multiplicación de matrices uno de los ámbitos en los que son más efectivas.
Una lección importante del proyecto es que involucrar a los equipos de Ciencia de Datos y de Ingeniería de Datos desde el principio fue un acierto, pues tener en cuenta los aspectos matemáticos y de ingeniería cuando se construye desde cero es una garantía a largo plazo.
En cualquier caso, un reto muy importante es seguir mejorando la calidad de las recomendaciones proporcionadas, dado que los sistemas de recomendación de factorización matricial estándar tales como ALS-WR proporcionan recomendaciones de calidad moderada.
Para finalizar, hubo un debate donde los asistentes plantearon diferentes cuestiones al ponente referidas al funcionamiento del sistema de recomendación, los modelos utilizados y a la eficacia y rentabilidad de este sistema.
Juan Arévalo concluyó el debate hablando de la nueva perspectiva que puede dar el uso de un sistema de recomendación basado en filtrado colaborativo: “puede generarse una relación diferente con el cliente e-commerce, cambiar totalmente cómo el cliente ve a la empresa”.
Data Analytics de BBVA
Juan Arévalo es Doctor en Física del Plasma y Fusión Nuclear por la Universidad Carlos III de Madrid y el Instituto de Investigación CIEMAT, donde colaboró con institutos de investigación internacionales.
Ha trabajado en el equipo de Data Scientists de la Travel Intelligence Unit de Amadeus y, actualmente, es profesor en la escuela técnica KSchool. Además, trabaja en BBVA Data & Analytics en las áreas de Fraud Detection, Deep Learning o Recommender Systems; donde se centra en la aplicación de técnicas avanzadas a escala, con Spark, TensorFlow y GPU.
Más información en https://www.bbvadata.com/cost-effective-scalable-collaborative-filtering-based-recommender-system/
Hola.
Una pregunta, se va a emitir certificado de asistencia a los que vamos asistir al seminario?
Gracias
Buenos día Lucrecia, por su puesto que podrás llevarte tu certificado de asistencia al seminario. Te esperamos!