Sistemas de Recomendación
Existen 2 grandes grupos de Sistemas de Recomendación
1- Sistemas basados en el análisis de contenidos asociados con artículos o usuarios, o ambos. La principal característica de este enfoque basado en contenidos es la acumulación y análisis de información relacionada con los usuarios y los elementos. El sistema puede recopilar información acerca de los usuarios de forma explícita a través de su respuesta a los cuestionarios o implícitamente a través de la extracción de perfil o de hábitos de lectura del usuario, correos, blogs, etc.
2- Sistemas de filtrado colaborativo que confían en el rastro que un usuario deja tras de sí a través de la interacción con un sistema. Normalmente, este rastro son las puntuaciones del usuario, tales como las puntuaciones de películas. Dependen del comportamiento pasado más que del contenido de cada elemento para la generación de interés y no requieren ni conocimiento del dominio ni recopilación o análisis inicial para producir recomendaciones.
En este ejemplo hemos implementado un filtrado colaborativo de películas ¿Cómo obtener recomendaciones de películas para un usuario?
1º Identificar vecinos del usuario objetivo (amigos). Necesaria función de similitud
2º Identificar artículos (películas) que los vecinos hayan puntuado positivamente.
3º Generar una predicción de los artículos desconocidos (películas no vistas) para el usuario objetivo.
Para información relacionada, puede consultar la siguiente entrada en el blog de TodoBI.
Filtrado colaborativo
Dado un usuario X
Encontrar un subconjunto de usuarios N que son parecidos
Estimar las valoraciones de X's en función de esos usuarios N
Para información relacionada, puede consultar la siguiente entrada en el blog de TodoBI.
Información
En esta demo hemos utilizado como algoritmo de aprendizaje para la factorización de la matriz el método de alternancia de mínimos cuadrados (ALS) en su versión incluida en Spark MLlib.
http://spark.apache.org/docs/latest/mllib-collaborative-filtering.html
Estamos ejecutando Spark utilizando el gestor de clúster de Hadoop YARN.
Para información relacionada, puede consultar la siguiente entrada en el blog de TodoBI.