jueves, 13 de febrero de 2014

Algoritmos de Filtrado Colaborativo para Sistemas de Recomendación Automática

En los Sistemas de Recomendación existen dos paradigmas para la selección de elementos, basados en contenido y filtrado colaborativo. En los sistemas basados en contenido el usuario recibirá información similar a la que ha mostrado interés en el pasado, mientras en el filtrado colaborativo las sugerencias serán de elementos que han gustado a gente con intereses similares a los suyos.

En la literatura existente se describen los Sistemas de Recomendación basados en Filtrado Colaborativo (FC) como sistemas que trabajan recogiendo juicios humanos, expresados como votaciones, sobre una serie de ítems en un dominio dado, y tratan de emparejar personas que comparten las mismas necesidades o gustos [Herlocker et al. 1999; Pazzani 1999; Adomavicius and Tuzhilin 2005; Breese et al. 1998].  Los usuarios de un sistema colaborativo comparten sus valoraciones y opiniones con respecto a los ítems que conocen de forma que otros usuarios puedan decidir qué elección realizar. A cambio de compartir esta información, el sistema proporciona recomendaciones personalizadas para aquellos elementos que pueden resultar interesantes al usuario.

El proceso básico es hacer un esquema de concordancia entre la información que se tiene del perfil del usuario actual y los perfiles de otros usuarios que se tienen almacenados y de cuyas referencias se tiene conocimiento, a esto se le conoce como “filtrado colaborativo de vecindad más cercana”.



 Los algoritmos FC pueden ser agrupados en dos clases generales [Adomavicius and Tuzhilin 2005; Breese et al. 1998]: los basados en memoria, que se basan en una vecindad completa de usuarios y sus valoraciones para el cálculo de predicciones [Herlocker et al. 1999; Adomavicius and Tuzhilin 2005], y los basados en modelos, que usan esas valoraciones para aprender un modelo que será el usado para predecir [Ungar and Foster 1998; Kim and Yum 2005; Breese et al. 1998]. La información manejada en FC consta de una serie de ítems, usuarios y valoraciones proporcionada por los usuarios sobre esos ítems: el espacio del problema viene definido como una matriz de usuarios frente a ítems, en la que cada celda representa la puntuación de un usuario concreto referida a un ítem específico. 



Resolver un problema típico de FC implica predecir qué valores tendría un usuario para aquellos ítems que aún no ha puntuado, basándonos para ello en las valoraciones aportadas anteriormente por la comunidad de usuarios [Adomavicius and Tuzhilin 2005; Herlocker et al. 1999].

Sistemas de filtrado
Existen diversas formas de realizar un filtrado de información, dependiendo del algoritmo de aprendizaje empleado. Según [Vélez y Santos, 2006] existen dos formas de realizar un filtrado de información:

  •  Filtrado Colaborativo: se basa en las calificaciones que realizan los usuarios sobre un dominio.
  •  Filtrado de Contenido: se basa en el enfoque tradicional de recuperación de información por palabras claves.


El Filtrado Colaborativo se puede realizar aplicando diversas formas algorítmicas:

Algoritmo de Horting: Técnica basada en grafos en la cual los nodos son los objetos y las aristas entre nodos son indicadores de los grados de similitud entre dos objetos. Las predicciones se producen al recorrer el grafo entre nodos cercanos y combinando las informaciones entre objetos cercanos. 

Redes Bayesianas de Creencia: Las Redes Bayesianas de Creencias (RBC) también se  conocen como Redes de Creencias, Redes Probabilísticas Causales, Redes probabilísticas Gráficas. Una RBC es una red gráfica que representa relaciones probabilísticas entre variables. Las RBCs permiten razonar bajo incertidumbre y combinar las ventajas de una representación visual intuitiva con una base matemática en la probabilidad bayesiana P(A/B) = P(A,B)/P(B)

Similitud Basada en el Coseno: Esta similitud da una buena medida del “parecido” de dos  vectores en un espacio multidimensional, el espacio puede describir características de usuarios o  de ítems, tales como palabras claves. La similitud entre ítems es medida computando el coseno entre el Angulo entre estos dos, mediante la ecuación:

Redes Neuronales: Las Redes Neuronales (RN) proporcionan una forma muy conveniente de representación del conocimiento, donde los nodos representan objetos del proceso de recuperación de información como palabras claves y los enlaces representan la asociación ponderada de estos (relevancia). Las RN aplicadas al filtrado colaborativo son de reciente uso, en [Nasraoi, 2004], se desarrolla una aplicación de predicción de URLs que se dan como recomendación a los usuarios, según su perfil.

Correlación de Pearson: Es una métrica típica de similitud entre funciones de preferencias de usuarios o distancias de vectores. Los vectores comparados coinciden en una escala desde cero (no similares) a uno (coincidencia total), y -1 (diferencia total)


Desde el punto de vista científico-técnico, esta propuesta pretende abordar parte de los retos especificados como mejoras posibles a los mecanismos de filtrado. Inicialmente, nuestro modelo de sistemas estará basado en la Teoría de Vínculos Débiles de Granovetter, el cual afirma que el grado de coincidencia entre dos sistemas individuales varía directamente según la fuerza que los une o vincula entre sí. Nuestra decisión se fundamenta en el hecho de que la mayoría de los modelos sistémicos de filtros colaborativos emplean modelos de unión de lazos fuertes. Otro fallo fundamental de los actuales modelos existentes es que no relacionan de forma convincente las interacciones a un nivel micro con los modelos de nivel macro. Estudios estadísticos, al igual que cualitativos, ofrecen una buena muestra de investigación acerca de este fenómeno.

 Referencias:

[Adomavicius and Tuzhilin, 2005] Adomavicius, G., and A. Tuzhilin. 2005. Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions. Ieee Transactions on Knowledge and Data Engineering 17 (6):734-749.

[Herrera-Viedma et. al., 2003] E. Herrera-Viedma, L. Olvera, E. Peis, C. Porcel. 2003. Revisión de los sistemas de recomendaciones para la recuperación de información. Tendencias de investigación en organización del conocimiento. Trends in knowledge organization research, José Antonio Frías, Ed. Críspulo Travieso, Universidad de Salamanca, 507-513.

[Herlocker et al. 1999] Herlocker, J. L., J. A. Konstan, A. Borchers, and J. Riedl. 1999. An algorithmic framework for performing collaborative filtering. In Sigir'99: Proceedings of 22nd International Conference on Research and Development in Information Retrieval, edited by M. Hearst, F. Gey and R. Tong. New York: Assoc Computing Machinery, 230-237.

[Ungar and Foster, 1998] Ungar, L. H., and D. P. Foster. 1998. Clustering Methods for Collaborative Filtering. Paper read at Proceedings of the Workshop on Recommendation Systems.

[Velez & Santos, 2006] Velez, O., C. Santos. 2006. Sistemas Recomendadores: Un enfoque desde los algoritmos genéticos. Industrial data, año/vol 9, número 001. Universidad Nacional Mayor Dan Marcos, Lima, Perú. 23-31.

No hay comentarios:

Publicar un comentario