Introducción a los sistemas de recomendación.

A pesar de que los gustos de los personas pueden variar, en general siguen patrones. Con eso, quiero decir que hay similitudes en las cosas que la gente tiende a guastar. Otra forma de mirarlo es que la gente tiende a gustar las cosas en la misma categoría o cosas que comparten las mismas características. Por ejemplo, si ha adquirido recientemente un libro sobre Machine Learning en Python y le ha gustado leerlo, es muy probable que también lea un libro sobre la Visualización de Datos. La gente también tiende a tener gustos similares a los de la gente a la que están cerca en sus vidas. Los sistemas de recomendación tratan de capturar estos patrones y conductas similares para ayudar a predecir qué más te podría gustar.

Los sistemas de recomendación tienen muchas aplicaciones que estoy seguro de que ya estas familiarizado. De hecho, los sistemas de recomendación suelen estar en juego en muchos sitios web. Por ejemplo, sugiriendo libros en Amazon y películas en Netflix. De hecho, todo en el sitio web de Netflix está controlado por la selección del cliente. Si una cierta pelicula se ve con una frecuencia suficiente, el sistema de recomendación de Netflix asegura que esa película obtenga un número creciente de recomendaciones. Otro ejemplo se puede encontrar en una aplicación móvil de uso diario, donde un motor de recomendaciones se utiliza para recomendar cualquier cosa desde dónde comer. En las redes sociales, sitios como Facebook o LinkedIn, recomiendan regularmente amistades. Los sistemas de recomendación son incluso usados para personalizar tu experiencia en la web. Por ejemplo, cuando vas a una plataforma web de noticias, un sistema de recomendacion hará una nota de los tipos de historias en los que ha hecho click y hará recomendaciones sobre qué tipos de historias podrías estar interesado en leer en el futuro.

Los principales beneficios de usar un sistema de recomendaciones es que los usuarios obtienen una exposición más amplia a muchos productos diferentes en los que podrían estar interesados. Esta exposición anima a los usuarios a utilizar o comprar continuamente su producto. Esto no sólo proporciona una mejor experiencia para el usuario, sino que también beneficia al proveedor de servicios, también, con mayores ingresos potenciales y mejor seguridad para sus clientes.

Por lo general, hay dos tipos principales de sistemas de recomendaciones: el filtrado basado en contenido y el filtrado de colaboración. La principal diferencia entre cada uno, puede resumirse por el tipo de declaración que un consumidor puede hacer. Por ejemplo, el paradigma principal de un sistema de recomendaciones basado en contenido está motivado por la declaración: «Muéstrame más de lo mismo de lo que me ha gustado antes». Los sistemas basados en contenido intentan de descubrir cuales son los aspectos favoritos de un usuario de un artículo y, a continuación, hace recomendaciones sobre los elementos que comparten esos aspectos. El filtrado colaborativo se basa en un usuario que dice: » Díganme lo que es popular entre mis vecinos porque a mí también me puede gustar.» Las técnicas de filtrado colaborativo encuentran grupos de usuarios similares, y proporciona recomendaciones basadas en gustos similares dentro de ese grupo. En resumen, supone que un usuario puede estar interesado en lo que los usuarios similares están interesados. Además, hay sistemas de recomendación híbridos, que combinan varios mecanismos.

En términos de implementación de sistemas de recomendación, hay 2 tipos: basado en memoria y basado en modelos. En los enfoques basados en memoria, se utiliza el dataset de elemento de usuario completo para generar un sistema de recomendación. Utiliza técnicas estadísticas para aproximar usuarios o artículos. Ejemplos de estas técnicas son: Correlación de Pearson, Similitud de Cosine y Distancia Euclidiana, entre otros. En los enfoques basados en modelos, un modelo de usuarios se desarrolla en un intento de aprender sus preferencias. Los modelos se pueden crear utilizando técnicas de Machine Learning como la regresión,la agrupación en clústeres,la clasificación,etc.

Ir al artículo anterior de la serie: Clustering DBSCAN

Ir al artículo siguiente de la serie: Recomendaciones basado en contenido