¿Cómo funciona el algoritmo de recomendación de filtrado basado en contenido?

En un sistema de recomendación basado en contenido, se usan palabras clave o atributos para describir elementos. Se crea un perfil de usuario con estos atributos (tal vez como un usuario vota a favor o “le gusta” algo). Los elementos se clasifican según el grado de coincidencia con el perfil de atributo del usuario, y se recomiendan las mejores coincidencias. (Wikipedia tiene más información sobre: ​​Sistema de recomendación)

Vale la pena revisar este documento sobre cómo Pandora hace recomendaciones de música basadas en contenido:
La recomendación musical de Pandora
http: //courses.cs.washington.edu….

Una descripción más general de la curación del atributo de la canción de Pandora está disponible en wikipedia: Music Genome Project

Para responder a sus otras preguntas (reformulado para mayor claridad):

P: ¿Definimos una función de similitud para uso entre usuarios?
R: Una vez que tenga atributos para sus usuarios, y tenga atributos para lo que desea recomendar (supongo que no son también usuarios, pero podría serlo), entonces sí, se utiliza una función de similitud (también llamada función de distancia) recomendar elementos similares para ese usuario. Tenga en cuenta que esta recomendación (a diferencia del filtrado colaborativo) no depende de las acciones que otros usuarios hayan tomado.

No es raro implementar esta función de similitud / distancia en la parte superior de un motor de búsqueda (Creación de un motor de recomendación en tiempo real, con tecnología solr), ya que los motores de búsqueda modernos se adaptan bien a la tarea (Solr, ElasticSearch).

P: ¿Hay disponible un documento público sobre filtrado colaborativo y basado en contenido?
R: Pruebe el filtrado colaborativo y basado en contenido para el elemento
Recomendación sobre sitios web de marcadores sociales http://ceur-ws.org/Vol-532/paper…

P: ¿Se puede usar el conjunto de datos tanto para el algoritmo de filtrado colaborativo como para el algoritmo de filtrado basado en contenido al mismo tiempo? ¿Cómo?
A: si. Esto se conoce como filtrado híbrido ; Los dos algoritmos se complementan muy bien, por lo que funciona bien. Implemente tanto individualmente como visualice por separado, o multiplique los puntajes de clasificación para fusionarlos en un solo conjunto de recomendaciones.

El artículo de Wikipedia vinculado por Steven Soroka ofrece una buena descripción general.

En cuanto a su pregunta sobre si es “realmente así”, la respuesta es que es más complicada en la mayoría de los casos prácticos.

Para continuar con su ejemplo de recomendación de película, está bien tratar a los actores involucrados como una característica de los usuarios. La desventaja de ese enfoque es que esto puede conducir a un espacio de características de alta dimensión rápidamente. Hay muchos actores para elegir, y los actores pueden tener sus propios atributos, etc. Puede ser golpeado por un fenómeno conocido como la maldición de la dimensionalidad en ese camino.

Una forma de abordar esto es usar el agrupamiento para agrupar las películas o los actores, y luego tratar la afinidad del usuario con los grupos dados como características del usuario. Hay muchas formas de realizar la agrupación, incluida la conocida agrupación básica de k-medias, y métodos que analizan la semántica latente, como la descomposición de valores singulares (SVD) y la factorización de matriz no negativa (NMF).

Para una “buena” solución, es probable que termine con un conjunto de métodos de aprendizaje estadístico que se optimizan individualmente y se optimizan como un conjunto. Hacer esto requiere tiempo y experimentación, pero en última instancia es donde se genera el valor agregado.

Una simple búsqueda en Google arroja una gran cantidad de publicaciones recientes: http://scholar.google.com/schola

El conjunto de datos de calificaciones MovieLens contiene una lista de usuarios y sus calificaciones para varias películas. El conjunto de datos no contiene nada sobre la película en sí. Sin embargo, puede recuperar los atributos de una película usted mismo (los diversos géneros a los que está etiquetada una película, palabras clave de reseñas / borrones sobre la película, etc.). Para su información, IMDB ofrece un conjunto de datos bastante exhaustivo con muchos datos interesantes: interfaces alternativas. Una vez que tenga los dos conjuntos de datos, dado un conjunto de películas que un usuario en particular ha calificado altamente, puede recomendar otras películas que compartan atributos similares (filtrado basado en contenido).

Creo que debe haber una cantidad considerable de documentos disponibles sobre filtrado colaborativo. Aquí he encontrado algunos, no vi lo que todavía tienen.

http://www.ics.forth.gr/~potamia
http://ilk.uvt.nl/~toine/publica
http://fias.uni-frankfurt.de/~di … – Parece interesante.

Puedes encontrar más aquí. http://scholar.google.com/schola

Creo que este capítulo describe el método claramente
http://facweb.cs.depaul.edu/moba