Métricas de similaridad y evaluación para sistemas de
recomendación de filtrado colaborativo
Similarity and evaluation metrics for collaborative based
recommender systems
Gustavo Mendoza Olguín
Facultad de Ciencias de la Computación, Benemérita
Universidad Autónoma de Puebla, México
lyon_db@hotmail.com
Yadira Laureano De Jesús
Facultad de Ciencias de la Computación, Benemérita
Universidad Autónoma de Puebla, México
star95ariday@hotmail.com
María Concepción Pérez de Celis Herrero
Facultad de Ciencias de la Computación, Benemérita
Universidad Autónoma de Puebla, México
mcpcelis@gmail.com
doi: https://doi.org/10.36825/RITI.07.14.019
Recibido: Julio 17, 2019
Aceptado: Noviembre 14, 2019
Resumen:
Los sistemas de recomendación son sistemas inteligentes que
proporcionan a los usuarios una serie de sugerencias personalizadas
sobre un determinado tipo de elementos (objetos). Para esto, se
recaban por diferentes medios las características de cada usuario
para, mediante un procesamiento de los datos, encontrar un subconjunto
de ítems que pueden resultarle de interés. Mejorar la
exactitud de las recomendaciones es una tarea crucial debido a la
tendencia que han adoptado los sitios web, principalmente comerciales,
de ofrecer a sus visitantes contenidos del catálogo que les
podrían interesar acorde a sus necesidades o gustos. En este
artículo se presenta un análisis comparativo entre algunas
de las métricas de similitud y evaluación propuestas para
los sistemas de recomendación basados en filtrado colaborativo;
realizando pruebas sobre datasets comúnmente utilizados para determinar su eficiencia en
producción.
Palabras clave:
Sistemas de Recomendación, Filtrado Colaborativo, Medidas de
Similitud.
Abstract: Recommender Systems are smart systems that bring to the users a set
of personalized suggestions from an specific type of items(objects).
In order to do this, several techniques are used to collect the
user’s characteristics
for, using data processing, to find a subset of items that could be
relevant to him. The improvement of the
recommendation’s accuracy is crucial because offering relevant
content (based on needs or likes) to the visitors of web sites, mainly
commercial ones, is trending. This article shows a comparative
analysis among different similarity and evaluation metrics proposed
for collaborative-filtering based recommender systems; doing tests on
commonly used datasets to determine its efficiency on production
time.
Keywords:
Recommender Systems, Collaborative Filtering, Similarity
Metrics.
1. Introducción
Cuando se utiliza un sitio de compras, un servicio de streaming, una red social o incluso para leer noticias en un portal, los
usuarios requieren que los contenidos que les puedan interesar,
estén a un clic de distancia. Lo anterior es posible si el sitio
incorpora las técnicas adecuadas para analizar los gustos de sus
usuarios y presentarles información que les sea relevante. Los
sistemas de recomendación (SR) son software que combinan
diferentes técnicas estadísticas para predecir cual
contenido conviene mostrar a un usuario durante una sesión. La
popularidad de estos sistemas radica en que conforme las
recomendaciones mejoran en precisión, generan en el usuario un
sentimiento de pertenencia; pues el sitio recuerda quién es y
qué le gusta [1].
Existen diferentes técnicas para la implementación de un
SR: pueden basarse en filtrado colaborativo, contenido, o
conocimientos. De la técnica utilizada depende la
información que será necesaria. Por ejemplo, si el sitio no
maneja perfiles entonces puede usarse un sistema de recomendación
que compare los ítems que el usuario ya posee contra los que se
encuentren en el catálogo para presentar otros similares. Si se
manejan entonces el SR puede elegir de entre su catálogo los
ítems que serían interesantes a partir de lo que conoce del
dueño del perfil. Usando otra técnica, el SR podría
ofrecer nuevas sugerencias a partir de las calificaciones que otros
usuarios con gustos similares hicieron sobre los objetos. O bien
generar combinaciones de estos métodos para obtener cada vez
predicciones más acertadas.
Cada una de estas formas de implementación tiene puntos fuertes
y débiles que dependen de la información disponible. Por
ejemplo, la falta de perfiles de usuario implicará que un SR
basado en conocimiento no podrá ser utilizado y que un SR basado
en contenido no tomará en cuenta los gustos de los usuarios, sino
sólo las características de los objetos del catálogo.
Si no se tienen calificaciones de los elementos a recomendar no
podrá utilizarse un SR basado en filtrado colaborativo (FC) pues
estos dependen de que los usuarios evalúen la mayor cantidad de
ítems posibles del catálogo, de lo contrario la
precisión de los resultados estará comprometida. Cada uno de
los enfoques ha sido estudiado de manera exhaustiva y se ha refinado
día a día. Es así que existe en la literatura una gama
de técnicas para generar las recomendaciones basándose en
diferentes herramientas matemáticas, desde la estadística
hasta los campos vectoriales, comprobando la validez de los
métodos y mejorando las métricas.
El objetivo de este trabajo es presentar un análisis de varias
métricas de similitud y evaluación de SR colaborativos; por
lo que inicialmente se hace una breve revisión de la
evolución de estos sistemas, haciendo hincapié en las
técnicas utilizadas para obtener la similitud y las métricas
de evaluación propuestas por diferentes autores. En las secciones
subsecuentes se describe primeramente el algoritmo general de un SR
basado en un filtrado colaborativo item-based
y a continuación los datasets utilizados para la implementación de los algoritmos.
Finalmente se presenta la comparativa de los resultados
obtenidos en pruebas de las técnicas mencionadas.
1.1. Justificación del trabajo
Se han presentado diversas implementaciones de sistemas de
recomendación basados en filtrado colaborativo, cada una con sus
propias métricas para similitud y evaluación. La efectividad
de estos depende del dominio para el cual están diseñados.
Esto significa que, cuando se tiene que crear una implementación
para un catálogo de ítems diferente, debe seleccionarse la
técnica que ofrezca una mayor precisión en sus
recomendaciones. Generalmente, el usuario está acostumbrado a
interactuar con los SR en redes sociales como Facebook [2], Twitter
[3] o Pinterest [4]; en tiendas en línea como Amazon [5] o Ebay
[6], o en sitios de streaming como Netflix [7] o Youtube [8]. En estos casos, aunque la
precisión es apreciada, el obtener un resultado poco relevante
tiene poco efecto en la decisión final del usuario. Es decir, si
se recomienda un ítem no interesante, la consecuencia más
catastrófica será que no se genere una nueva venta, en el
caso de una tienda en línea, que no se interactúe con el
contenido y no se muestre la publicidad asociada en el caso de una red
social o bien que la película no sea vista en el caso de un
servicio de video.
Sin embargo, si se desea llevar a los sistemas recomendadores a otras áreas como la medicina, la procuración de justicia o la
educación, es claro que las necesidades de precisión y
velocidad de respuesta en estas áreas es prioritario. Por
ejemplo: si se desean recomendar fármacos basándose en
interacciones medicamentosas, una mala recomendación puede tener
efectos fatales en el paciente; si se desea recomendar una sentencia
para un acusado, una mala consideración de alguna de las
condiciones de la base de conocimientos puede hacer que se condene a
un inocente o se libere a un culpable; en el caso de la
educación, una mala recomendación de contenidos tendrá
consecuencias en el aprendizaje de toda una generación de
usuarios.
Por esto es importante tener un conocimiento adecuado de las
diferentes métricas de similitud y precisión, de manera que
pueda elegirse la más adecuada al considerar el tipo de
ítems del catálogo y el rango de ratings que el usuario podrá asignar
2. Clasificación y funcionamiento de los sistemas de
recomendación
Para abordar de lleno las métricas utilizadas en la implementación
de SR es necesario entender cómo se componen y clasifican. La
definición que presenta Dietmar en [1] es la que mejor engloba
las diferentes definiciones existentes. En esta sección se
presenta la definición formal de un SR, las clasificaciones de
acuerdo al enfoque que pueden tener y los trabajos relacionados sobre
los cuáles está basado en trabajo de las pruebas
realizadas.
2.1. Definición y clasificación de los SR
Formalmente, puede definirse a un SR (ver Fig. 1) como una
función que devuelve una lista de ítems ordenados por su
utilidad con respecto al usuario u.
Figura
1. Esquema funcional de un RS. Fuente: [1].
Es decir: sea U el conjunto de usuarios del sistema, sea I el conjunto de
ítems en el catálogo. Y sea rec (u, i) la función de utilidad de U
→ I. R en [0,1]
RS(u,n) = {ii, i2, i3, … , in}
donde ii, i2, i3, … , in ∈ I y además
∀ k rec (u, ik) > 0 ∧ rec (u, ik) > rec (u, ik+1)
El mismo autor en [1], de acuerdo al enfoque utilizado para obtener la lista de recomendaciones,
clasifica a los SR en:
· Basados en contenido: realizan recomendaciones basados en similitudes
de los ítems de un catálogo. Dichas recomendaciones pueden
realizarse usando calificaciones que han recibido los objetos de forma
anónima o bien considerando sus características. Se basan en
la premisa de que, si una persona escogió un elemento, entonces
le gustarán otros similares. Estos sistemas tienen problemas con
los usuarios nuevos, pues requieren saber los intereses del usuario en
los objetos del catálogo para poder realizar su trabajo.
· Basados en conocimiento: realizan recomendaciones basados en la
información que conocen a priori o por medio de la
interacción con el usuario. Se basan en la premisa de satisfacer
necesidades en vez de intereses. Estos sistemas requieren de una base
de conocimientos que defina los criterios que los ítems deben
cumplir para poder ser recomendados. En la mayoría de las
implementaciones estos sistemas utilizan una estructura
taxonómica facetada para multicategorizar los elementos del
catálogo. Si ninguno de los ítems coincide con los
requerimientos solicitados entonces puede procederse a hacer un
relajamiento de alguna restricción o interactuar con el usuario
para establecer otro encuadre. Tienen la desventaja de que requieren
de un discriminante para ponderar las recomendaciones cuando existe
más de un artículo que cumpla con las especificaciones
solicitadas.
· Basados en colaboración: realizan recomendaciones basados en las
calificaciones que los usuarios han hecho sobre los ítems. Estos
sistemas trabajan sobre la matriz de calificaciones de los objetos y
se basan en la premisa de que debido a que a X le han gustado estos
elementos porque los ha calificado de esta manera, entonces le
gustarán las cosas que a otros han calificado de forma similar. Estos sistemas
tienen problemas con los comportamientos de las calificaciones, pues
puede ser que no haya ninguna o bien fueron asignadas al azar;
así también con los nuevos elementos en el catálogo
puesto que no han recibido ninguna calificación.
· Híbridos: combinan diferentes enfoques para generar las
recomendaciones. Pueden ser basados en conocimiento y contenido, para
subsanar las debilidades de cada uno de los métodos por separado,
o bien basados en colaboración y conocimiento, o inclusive
combinar varios métodos para obtener mejores
recomendaciones.
Sin importar la técnica a seguir, el proceso de obtención
de recomendaciones se basa en similaridad. La similaridad es un valor (generalmente de -1 a 1) que indica
cuan relacionados están dos componentes. Generalmente se usan las
medidas de distancia entre ítems para representar esta medida,
por ejemplo: la correlación de Pearson, la distancia
cuadrática media, la distancia Manhattan, la distancia del
coseno, la distancia del coseno ajustado, etc. Cada una de estas ha
sido propuesta por diferentes investigadores como una forma de definir
mejores relaciones entre los elementos basados en la información
que se posee; aquellos más parecidos serán los que
estarán involucrados dentro del cálculo de las
recomendaciones.
Los SR basados en FC pueden encontrarse con situaciones que no
permiten su correcto funcionamiento. Algunas de ellas son:
· Matriz de ratings dispersa: Esto sucede cuando los usuarios no califican los
ítems que van visitando. Resulta en un cálculo de
similaridad inexacto, o en casos como Pearson, no pueden ser
calculados debido a que no existen objetos evaluados en
común.
· Ítems o usuarios sin ratings: Cuando el sistema de recomendación no dispone de suficiente
información acerca de un usuario o contenido, es muy difícil
poder realizar recomendaciones, y sobre todo, que sean válidas
para él. El problema del arranque en frío se debe a la
existencia de ítems que nadie ha valorado explícita o
implícitamente dentro de un catálogo. En general, si no se
asigna una calificación no es posible hacer inferencia sobre el
interés o gusto de los usuarios.
· Ratings inexactos: Esto sucede cuando el usuario evalúa siempre
con el mismo puntaje, ya sea muy alto o muy bajo. En este caso es
posible que las recomendaciones obtenidas no sean de relevantes, dando
lugar a falsos positivos o falsos negativos.
· Usuarios que han calificado todo: Puede existir alguien que haya
calificado todos los ítems del catálogo, en este caso no
será posible hacer una recomendación, puesto que las
recomendaciones se hacen sobre elementos que aún no han sido
valorados.
2.2. Trabajos relacionados
La tesis de Moya García [9] realiza una revisión del estado
de los SR basados en FC, estudia e implementa la técnica de
descomposición en valores singulares (SVD) en el contexto de este
tipo de sistemas. Utiliza el dataset de Movielens y compara con las métricas tradicionales de
los k-vecinos obtenidas a través de diferentes métricas (la
diferencia cuadrática media, la correlación de Pearson y el
coseno). A final, aporta mejoras a los algoritmos para que estos obtengan predicciones en un tiempo menor.
En el artículo de Sarwar, Karypis, Konstan y Riedl [10] se
presenta un análisis de técnicas de recomendación de
filtrado colaborativo basados en ítems. Examinan
diferentes formas para calcular similitudes de ítems
(correlación de ítems frente a similitudes de coseno entre
vectores de ítems) y para obtener recomendaciones (suma ponderada
frente a modelo de regresión). Finalmente, evalúan de manera
experimental los resultados, donde utilizan el dataset de MovieLens y los comparan con el enfoque básico del
vecino más cercano. Los experimentos sugieren que los algoritmos
basados en ítems proporcionan un rendimiento
dramáticamente mejor que aquellos basados en
usuarios mientras que, al mismo tiempo, proporcionan una mejor calidad
de recomendaciones.
Gunawardana y Shani presentan en [11] una revisión de las
métricas de evaluación (raíz del error cuadrático
medio, precision-recall, error medio acumulado), donde sugieren un enfoque para decidir
cuál de ellas es la más adecuada para una aplicación
dada de acuerdo a la tarea que cumplirá el SR, analizando su
rendimiento. En su trabajo demuestran que el uso de una métrica
incorrecta puede llevar a la selección de un algoritmo inadecuado
para la tarea de interés del SR. También discuten otras
consideraciones importantes al diseñar experimentos fuera de
línea experimentando con una amplia colección de conjuntos
de datos y comparan los resultados obtenidos por diferentes
técnicas de evaluación, mostrando que éstas clasifican
a los algoritmos de manera diferente.
Haifeng, Zheng, Mian, Tian y Zhu [12] presentan un nuevo modelo para
el cálculo de la similitud de usuarios con el objetivo de mejorar
el rendimiento del SR cuando hay pocas calificaciones disponibles para
computar similitudes. El modelo no solo considera la información
de contexto local como las calificaciones otorgadas a los ítems,
sino también la preferencia global del comportamiento del
usuario. Los experimentos en tres conjuntos de datos reales se
implementan y se comparan con muchas medidas de similitud de
vanguardia. Los resultados muestran la superioridad del nuevo modelo
de similitud en el rendimiento recomendado.
Ramírez Morales [13] presenta una implementación del
algoritmo de descomposición en valores singulares (SVD) junto con técnicas de reducción de dimensionalidad y
de cálculo de mínimos, a partir del enfoque dado por Simon
Funk para la implementación de SR en el comercio. Se realizaron
pruebas con el dataset de Movielens, de convergencia y error medio absoluto. Para la
realización de las pruebas se utilizó el lenguaje de
programación Python.
Castellano, Martínez, Barranco y Pérez [14] presentan una evaluación de la validez del uso del filtrado colaborativo como
herramienta para orientar al alumnado a la hora de tomar decisiones
que impliquen alguno de los siguientes puntos: elección
individual de materias, elección de perfiles o modalidades
académicas, e incluso detección de asignaturas con
potenciales problemas y necesidades de refuerzo para el individuo.
Basándose en el trabajo realizado con 744 alumnos y con
asignaturas comprendidas entre valores enteros entre el 0 y el 10, se
construye OrieB, un sistema encargado de orientar académicamente
al alumnado cuando se enfrente a la complicada decisión de elegir
un perfil académico y unas materias a cursar en su siguiente
etapa educativa.
En el trabajo de Castellano y Rojas [15] se presenta una
investigación sobre el análisis de técnicas de
recomendación de filtrado colaborativo en referencia a los
beneficios de una comunidad. Se realiza el análisis de algoritmos
tanto basados en usuarios como en ítems,
seleccionando aquellos mejor evaluados utilizando un conjunto de datos
propio. También se identifican los principales problemas de las
técnicas seleccionadas y se proponen soluciones. El sistema
desarrollado es incorporado a la plataforma VideoWeb 1.0 que usa el
CMS Drupal en la versión 6. Los resultados se calculan utilizando
el método de error absoluto medio con un rango de 50 a 200
vecinos. La integración del módulo de recomendaciones a la
plataforma proporciona un aumento en la personalización del
contenido multimedia publicado para satisfacer las preferencias de
cada usuario.
Del Pino, Salazar y Cedeño presentan en su trabajo [16] la
adaptación de un SR de filtrado colaborativo basado en el usuario
a uno basado en el historial. Mediante el análisis de dos
métricas de similaridad: Tanimoto y LogLikelyhood en un conjunto de pruebas propio, miden la efectividad de
éstas utilizando dos algoritmos distintos de similaridad; con el
objetivo de recomendar materias a un estudiante del sexto semestre de
la carrera de Ingeniería en Electrónica y
Telecomunicaciones. Los resultados muestran que es factible adaptar un
SR colaborativo existente a un modelo basado en el historial del
usuario.
En su trabajo, Zeng, Zhu, Lüb y Zhou [17] aplican una
versión modificada de la llamada inferencia basada en red (NBI),
que puede distinguir las contribuciones de las calificaciones
positivas y negativas. De acuerdo con el extenso análisis
numérico en tres conjuntos de datos de referencia, MovieLens,
Netflix y Amazon, obtienen como resultados en el nivel
macroscópico que las calificaciones negativas son más
valiosas para los conjuntos de datos más dispersos, y en el nivel
microscópico que las calificaciones negativas de los usuarios
inactivos sobre objetos menos populares son más valiosas.
Finalmente, se destaca la relevancia significativa de los resultados
para los dos desafíos a largo plazo en el filtrado de la
información: el problema de escasez y el problema de arranque en
frío.
En el artículo de Taghavi, Bentahar, Bakhtiyari y Hanachi [18]
se presenta una investigación estadística sobre los SR
publicados por Web of Science. Para obtener una visión general del estado del arte, se
introducen taxonomías impulsadas por las siguientes cinco fases:
iniciación (técnicas de arquitectura y adquisición de
datos), diseño (tipos y técnicas de diseño), desarrollo
(métodos de implementación y algoritmos), evaluación
(métricas y técnicas de medición) y aplicación
(dominios de aplicaciones). Se proporcionan algunas ideas
inspiradoras de la economía computacional y el aprendizaje
automático para que los investigadores amplíen los aspectos
novedosos de los SR.
La publicación de Giorgos Papachristoudis [19] analiza las métricas de evaluación de relevancia en los sistemas de SR, se
habla sobre recall, precision y la necesidad de utilizar una métrica objetiva única
para comparar entre diferentes modelos. Finalmente, se explica el
concepto de precisión promedio que toma en cuenta no solo la
relevancia sino también el orden relativo de una
recomendación relevante y se proporciona el código TensorFlow para todas las métricas analizadas.
3. Métricas de similaridad y evaluación de los sistemas
de recomendación colaborativos
En esta sección se presentan algunas de las métricas
presentes en las implementaciones de SR colaborativos. En la primera
subsección se presentan las medidas de similitud y su
aplicación. En la segunda se muestran las técnicas
generadoras de recomendaciones más usuales. En la última, se
mencionan las métricas de evaluación más aplicadas y su
significado dentro del contexto de los SR.
3.1. Medidas de similitud
Un paso crítico en el algoritmo de FC basado en elementos es
calcular qué tan parecidos son los elementos y luego seleccionar
los que resulten más similares. La idea básica es escoger
dos objetos i y j, aislar a los usuarios que los han calificado en común y luego
aplicar una técnica para determinar la similitud si,j . La Fig. 2 ilustra este proceso; aquí las filas de la matriz
representan a los usuarios y las columnas representan los ítems
del catálogo.
Para que pueda calcularse la similaridad entre dos usuarios ui y uj, deben cumplirse dos condiciones: los usuarios deben tener
ítems calificados y al menos un elemento debe haber sido evaluado
en común; si alguna de estas condiciones no se cumple, entonces
debe trabajarse con otras técnicas que permitan realizar
recomendaciones, por ejemplo, utilizar una base de conocimientos, o
crear un perfil del usuario.
Varios autores coinciden en presentar las siguientes medidas de
similaridad en común, considerándolas las más
utilizadas en tiempo de producción ([9], [10], [11]).
Figura
2. Aislamiento de los elementos valorados conjuntamente y
cálculo de similitud. Fuente [9].
3.1.1. Diferencia cuadrática media (MSD)
Esta medida de similaridad computa la diferencia euclidiana entre dos
vectores de votos. La Ecuación 1 muestra la expresión a
utilizar para el cálculo de la similitud cuadrática media
[9].
|
(1) |
Donde Bx,y es el conjunto no vacío de ítems valorados en
común por los usuarios x y y.
3.1.2. Similitud basada en coseno
En este caso, los elementos se consideran dos vectores en el espacio
de usuario dimensional [9]. La similitud entre ellos se mide
calculando el coseno del ángulo formado por la intersección
de las representaciones vectoriales.
Formalmente, en la matriz de calificaciones MxN la similitud del coseno entre los elementos i y j se calcula como se muestra en la Ecuación 2.
|
(2) |
Donde “.” denota el producto punto de los dos
vectores.
3.1.3. Similitud basada en correlación
En este caso, los objetos i y j se comparan calculando el coeficiente de correlación de
Pearson [9]. Para que el cálculo sea preciso, primero se deben
aislar los casos de evaluación conjunta (es decir, los casos en
que los usuarios calificaron tanto i como j). Sea U el conjunto de usuarios que calificaron los ítems i y j entonces la similitud basada en correlación, se calcula
como se expresa en la Ecuación 3.
|
(3) |
Donde Ru,i denota la calificación del usuario u en el artículo i, Ri es la calificación promedio del i-ésimo elemento.
3.1.4. Similitud de coseno ajustado
Una diferencia fundamental entre el cálculo de similaridad en el
FC basado en el usuario y el basado en ítems es que, en el caso
de primera, se calcula a lo largo de las filas de la matriz; en el
caso de la segunda, la similitud se calcula a lo largo las columnas,
es decir, cada par en el conjunto de clasificación compartida
corresponde a un usuario diferente. La técnica del coseno
básica en un caso basado en artículos tiene un inconveniente
importante: las diferencias en la escala de calificación entre
diferentes evaluadores no se tienen en cuenta. La similitud de coseno
ajustada compensa este inconveniente al restar el promedio de las
calificaciones del usuario correspondiente de cada par clasificado
conjuntamente [10]. Formalmente, la similitud entre los elementos i y
j, se calcula como se expresa en la Ecuación 4.
|
(4) |
Donde es el promedio de las calificaciones asignadas por el usuario u.
3.1.5. Coeficiente de similitud de Tanimoto (Jaccard)
El coeficiente de Tanimoto [12] es la cantidad de elementos por la que dos usuarios expresan cierta
preferencia, dividida por la cantidad de elementos por los cuales el
usuario expresa cierta preferencia (llamado también coeficiente
de Jaccard).
En otras palabras, es la relación entre el tamaño de la
intersección y el tamaño de la unión de los elementos
preferidos de ambos usuarios. Puede utilizarse como una medida de
similitud debido a que cumple con las propiedades requeridas: cuando
los elementos favoritos de dos usuarios se superponen completamente,
el resultado es 1.0. Cuando no tienen nada en común, es 0.0. Es
posible ampliar los resultados en el rango de –1 a 1 con algunas
matemáticas simples.
3.1.6. Similitud basada en Log-likelihood
Al igual que el coeficiente de Tanimoto, se basa en el número de
elementos en común entre dos usuarios; pero su valor es más
una expresión de lo poco probable que sea que dos usuarios tengan
tanta superposición dado el número total de elementos que
hay y el número de elementos que cada usuario tiene como
preferencia [12].
Por ejemplo, supóngase dos fanáticos del cine que han visto
y calificado varias películas, pero que solo han visto Star Wars y Casablanca en común. ¿Serán similares?
Si cada uno ha visto cientos de películas, no significaría
mucho. Muchas personas las han visto, y si estos dos usuarios han
visto muchas películas, pero solo han logrado superponerse en
estas dos, probablemente no sean similares. Por otro lado, si cada uno
ha visto solo unas pocas películas, y estas dos estaban en las
listas de ambos, parecería implicar que son de gustos similares
cuando se trata de películas; y en este caso la
superposición sería significativa. El Log-likelihood evalúa si está superposición entre los dos
usuarios se debe al azar. Es decir, dos usuarios diferentes sin duda
coincidirán para calificar un par de películas en
común, pero dos similares mostrarán una superposición
que parece poco probable que sea una mera casualidad. El valor de
similitud resultante puede interpretarse como una probabilidad de que
la superposición no se deba al azar.
3.1.7. Coeficiente de correlación de Pearson restringido
(CPCC)
En [13] se presenta una variación de la correlación de
Pearson que considera el impacto de las calificaciones positivas y
negativas, la Ecuación 5 muestra el modelo a utilizar.
|
(5) |
Donde rmed es el valor de la mediana en la escala de
calificación. Por ejemplo, rmed es 3 en una escala del 1 al 5 y es 4 en una escala del 1 al
7.
3.1.8. El coeficiente de correlación de Pearson ponderado (WPCC)
y el coeficiente de correlación de Pearson basado en la
función sigmoidea (SPCC)
La literatura presenta entre otras, dos variaciones a la
correlación de Pearson. La versión ponderada se refiere a la
utilización de pesos asignados a los sujetos en el cálculo
de un coeficiente de correlación entre dos variables X e Y. Los
pesos pueden estar disponibles de forma natural de antemano o pueden
ser elegidos por el usuario para cumplir un propósito
específico [13], [14], [20].
La segunda variación, basada en la función sigmoidea, (la
cual se propuso para evitar favorecer el tamaño de los usuarios
comunes) considera el tamaño del conjunto de los usuarios comunes
en la métrica de similitud del elemento para reducir el error
[13]. Las dos variaciones para el coeficiente de correlación de
Pearson: ponderado (WPCC) y basado en la función sigmoidea
(SPCC), se muestran en la Ecuación 6.
|
(6) |
Donde H es un valor experimental y se establece en 50 para la
mayoría de los casos prácticos.
3.1.9. Proximity, Impact and Popularity (PIP)
Esta medida de similitud heurística se compone de tres factores
de similitud: Proximity, Impact
y Popularity (PIP), es propuesta en [13] y la fórmula se presenta en la
Ecuación 7.
|
(7) |
El primer factor, Proximity, no solo calcula la diferencia absoluta entre dos calificaciones,
sino que también considera si éstas están de acuerdo o
no, dando penalización a las evaluaciones en desacuerdo. El
factor Impact representa la fuerza con que los usuarios prefieren o rechazan
un elemento. Si dos de ellos han calificado 5 en un artículo,
mostrarán una preferencia más fuerte que la
calificación 4. Debe observarse que se penaliza repetidamente en
el cálculo de estas métricas cuando dos calificaciones no
están de acuerdo. El último factor es Popularity, el cual denota qué tan comunes son las puntuaciones de dos
usuarios: si el rating promedio de ambos evaluadores tiene una gran diferencia con el
promedio de las calificaciones totales de los usuarios, entonces los
puntajes pueden proporcionar más información sobre la
similitud de aquellos que las asignaron.
La Ecuación 8 ilustra el cálculo de la similitud a partir de los tres
factores antes mencionados.
|
(8) |
3.1.10. Proximity, Significance, Singularity (PSS)
De forma parecida a la métrica anterior, PSS se compone de tres
factores de similitud: Proximity, Significance
y Singularity
[13]. El primer factor solo considera la distancia entre dos ratings. El segundo supone que las calificaciones son más
significativas si éstas están más alejadas de la media.
El último representa cómo un par de valoraciones son
diferentes con respecto a todas las demás. Las formalizaciones de
los tres factores se definen en la Ecuación 9.
|
(9) |
Donde μp es la calificación promedio del ítem p
y ru,p es el puntaje dado al artículo p por el usuario u . Cada factor puede tomar valores entre [0,1].
Conociendo los factores, la similitud PSS de dos elementos se puede
calcular con en la Ecuación 10.
|
(10) |
Donde PSS(ru,p,rv,p) es el valor del producto de los factores entre dos
puntuaciones de los usuarios u y v para el mismo ítem, es decir:
|
(11) |
3.1.11. New Heuristic Similarity Model (NHSM)
En [13] se propone una nueva medida de similitud basada en una
combinación de otras medidas de similitud que han demostrado su
funcionamiento en determinadas características de los ratings de
los usuarios. Esencialmente, esta nueva medida de similaridad
está definida por la ecuación 12.
|
(12) |
Donde la similitud JPSS es una combinación de la similitud PSS y
la similitud de Jaccard modificada, Los modelos se mencionan en las
Ecuaciones 13 y 14 respectivamente.
|
(13) |
Donde I es el conjunto de ítems evaluados por los usuarios u y v respectivamente.
|
(14) |
Para tomar en cuenta las diferentes preferencias en las
calificaciones, se hace uso de la medida de similitud URP. Esta toma
en consideración que algunas personas prefieren dar altas
calificaciones; otras tienden a valorar bajos valores. Para
reflejar esta preferencia de comportamiento, se utiliza la media y la
varianza de la calificación para modelar la preferencia del
usuario. El modelo utilizado se presenta en Ecuación
15.
|
(15) |
Donde μu y μv es la media de las evaluaciones asignadas por los usuarios u y v respectivamente. Por su parte, σu y σv representan la varianza estándar del usuario u y v. La calificación promedio de los usuarios está dada por la
Ecuación 16 y la varianza estándar de los usuarios por la
Ecuación 17.
|
(16) |
|
|
|
(17) |
3.1.12. Descomposición en valores singulares (SVD)
La descomposición en valores singulares (Singular Value Decomposition, SVD) es una técnica de factorización de matrices que permite
descomponer una matriz A en otras matrices U, S, V, como se ilustra en
la ecuación 18 [15], [21].
|
(18) |
Es decir, el producto matricial de U por S por Vt da como resultado la matriz A. Con respecto a las dimensiones
se parte de que A será de NxM donde n representa las filas y m representa las columnas. U será una matriz ortogonal que
tendrá dimensiones de NxN; V será de MxM, también ortogonal. S (ver Fig. 3), será una matriz
diagonal de tamaño MxN la cual tendrá lo que se denomina valores singulares,
puestos en orden decreciente siendo estos mayores o iguales a cero, es
decir:
Figura 3. Matriz S. Fuente: [15].
En otras palabras, el procedimiento de descomposición de la
matriz A, se describe en la Ecuación 19:
|
(19) |
La validez de SVD en los sistemas de recomendación, está
basada en que, al reducir el número de valores singulares de la
matriz S a los primeros k valores, se obtendrá una aproximación de la matriz
original A (ver Ecuación 20), lo que permite reconstruirla a
partir de las versiones reducidas de las otras matrices cometiendo un
cierto error, pero disminuyendo el tamaño. Es decir:
|
(20) |
Esta importante propiedad es derivada del teorema de Eckart-Young que
aborda la mejor aproximación a la matriz original A,
obteniéndola al igualar a 0 los n valores singulares más pequeños, reduciendo las
matrices al número de valores singulares no nulos que tenga la
matriz S. Esto resulta entonces en la transformación de gran
cantidad de datos en su representación reducida, siendo por lo
tanto una propiedad muy importante que permite reducir
considerablemente el tiempo de cómputo y de uso de memoria para
las tres matrices.
3.2. Técnicas generadoras de recomendaciones.
Una vez obtenida la similaridad entre los usuarios, es posible
entonces predecir a partir de los vecinos cercanos cuáles de los
ítems que el usuario actual aún no ha calificado deben
recomendarse. Para esto, un SR debe predecir la calificación que
sería asignada al ítem en caso de evaluarlo, para decidir si
lo sugiere o no. Diferentes técnicas pueden ser aplicadas, aunque
las más comunes son tres: Promedio aritmético, suma
ponderada y suma ponderada con respecto a la media
aritmética.
En cualquiera de estas técnicas, serán los puntajes de los
usuarios similares al actual en el ítem i los que ayuden a predecir la calificación que el segundo
podría asignar al objeto en cuestión, siempre que no haya
sido calificado previamente.
3.2.1. La media
La media calcula el promedio de todos los valores de confianza
inferidos por cada una de las rutas alternativas de acuerdo con la
Ecuación 21. A pesar de que este enfoque es muy rentable, se
considera demasiado ingenuo [10], [16], [17], [18].
|
(21) |
3.2.2. La media ponderada
En la media ponderada se calcula el promedio ponderado de la
confianza inferida por las rutas alternativas, utilizando como pesos
la confianza propagada de cada asociación inferida entre los
usuarios, como se muestra en la Ecuación 22. Este enfoque es
más sofisticado ya que se toma la confianza de la ruta en
consideración. El cálculo final estará sesgado a la
confianza inferida por la ruta más segura. [10], [16], [17],
[18].
|
(22) |
3.2.3. La media ponderada de la desviación con respecto a la
media
La media ponderada de la desviación con respecto a la media
[18], calcula la suma ponderada de las desviaciones de la media de una
variable. Se muestra en la Ecuación 23.
|
(23) |
3.3. Métricas de evaluación
Para poder analizar la validez de las recomendaciones es necesario
establecer métricas que permitan conocer qué tan alejados
están los valores predichos por el algoritmo. Las más
utilizadas son: Error medio absoluto (MAE), coverage, precisión y recall.
3.3.1. Error medio absoluto (MAE)
El error medio absoluto, también denominado MAE (Mean Absolute Error), calcula la distancia absoluta existente entre las predicciones
realizadas y la votación real del usuario.
Para su cálculo [10],[22] se utiliza la Ecuación 24,
dónde Cu es el conjunto de ítems valorados por el usuario u para
los que ha sido posible obtener la predicción.
|
(24) |
El MAE de un usuario es el valor medio de la diferencia absoluta
entre las predicciones realizadas y las votaciones reales del usuario.
Para su cálculo se utiliza la Ecuación 25.
|
(25) |
El MAE del sistema se define como el promedio del error medio
absoluto cometido en cada usuario conforme la Ecuación 26.
|
(26) |
3.3.2. Coverage
Esta medida tiene como finalidad medir la capacidad de
recomendación que tienen los k-vecinos de cada usuario [10].
Dicho con otras palabras, indica el porcentaje de ítems que han
podido ser predichos respecto del total de los que podían haberlo
sido. Esta métrica se calcula como se indica en la Ecuación
27.
|
(27) |
Por su parte, el coverage del sistema es computado con la ecuación 28[10], como el
valor promedio de la métrica para cada usuario (ver Ecuación
28):
|
(28) |
3.3.3. Precisión y recall
La calidad de las recomendaciones realizadas puede medirse mediante
dos métricas que, habitualmente, aparecen unidas que son la
precisión y el recall. La precisión busca comprobar cuantos de los ítems
recomendados al usuario activo eran realmente relevantes para él.
El recall se encarga de comprobar qué porcentaje de los elementos
significativos para un usuario le fueron efectivamente recomendados.
Para poder definir cuando un objeto es o no relevante se emplea un
parámetro Θ que especifica la nota mínima que debe
tener para ser considerado como interesante.
Sean el conjunto de ítems para los cuales el usuario no
asignó una calificación y para los cuales pudo obtenerse una
recomendación, y un subconjunto de que contiene los elementos significativos para el usuario que
fueron correctamente recomendados [10], estos se definen en la
Ecuación 29.
|
(29) |
Si se definen los siguientes conjuntos para el usuario u: para ítems recomendados y que son significativos; para ítems recomendados que no son relevantes y para ítems no recomendados y que son de interés, es posible entonces definir la precisión de un usuario u como el porcentaje de ítems relevantes entre los
recomendados, como se muestra en la Ecuación 30.
|
(30) |
La precisión del sistema se calcula como se indica en la
Ecuación 31, resulta ser el valor promedio de la precisión
para cada usuario.
|
(31) |
El recall de un usuario u será el porcentaje de ítems relevantes recomendados
respecto del total de ellos (ver Ecuación 32)
|
(32) |
Finalmente, la métrica general del sistema puede calcularse como
el valor promedio del recall de cada usuario, como se muestra en la Ecuación 33.
|
(33) |
4. Metodología y resultados
El conjunto de datos utilizado en la realización de las pruebas
de FC basado en ítems fue obtenido del dataset de calificaciones de chistes del sitio web Jester [23]. Se seleccionaron aleatoriamente dos subconjuntos con las
siguientes características: para el primero se escogieron 100 registros con una calificación
de -10 a 10 para cada chiste leído con la característica de
ser denso, es decir, todos los ítems han sido evaluados por al
menos un usuario y todos éstos han calificado más de un
chiste. El segundo tiene la misma dimensión y rango de puntajes,
pero es poco denso.
Se procedió a construir módulos en Python para las
métricas de similitud: Pearson, Coseno y NHSM. Se usaron como
entradas los conjuntos de previamente definidos y se evaluaron los
resultados obtenidos. Asimismo, se obtuvieron recomendaciones
utilizando las tres técnicas generadoras mencionadas en la
sección anterior. Para las corridas, se solicitaron diferentes
cantidades de vecinos cercanos y se consideró como
calificación mínima para recomendación la mediana del
rango de ratings.
Realizando el análisis de las medidas de evaluación con
respecto a los vecinos cercanos considerados, la Fig. 4 muestra que la
precisión de cada algoritmo es dependiente del número de
éstos últimos y que en los métodos de Coseno y NHMS, la
participación del incremento de los mencionados en el valor final
de la métrica es marginal. La Fig. 5 muestra que el coverage de los sistemas es proporcional al número de vecinos, lo
cual es un comportamiento esperado. Sin embargo, la Fig. 6 muestra que
el incremento hace que el error del sistema aumente. Esto significa
que las calificaciones predichas son más inexactas.
Figura 4. Comparativa Precisión / Número de vecinos para datos poco
dispersos.
Figura 5. Comparativa Coverage / Número de vecinos para datos poco dispersos.
Figura 6. Comparativa MAE / Número de vecinos para datos poco
dispersos.
Para el caso de los datos dispersos, los algoritmos no pueden en la
mayoría de los casos terminar con el proceso de obtención de
similitudes. Esto sucede debido a que existen ítems que no han
sido valorados por ningún usuario o bien, casos de estos
últimos que no han valorado ningún otro elemento en
común con otros. Demostrando que el problema del inicio en
frío es una condición crítica para cualquiera de los
algoritmos de similitud [24]. En este caso es importante hacer notar
que esto debe ser subsanado con alguna otra técnica para
asegurarse que el elemento sea recomendado para empezar a obtener
ponderaciones [25]. Netflix, por ejemplo, utiliza una lista de
novedades para presentarla a los usuarios sin importar sus
preferencias, de esta manera se asegura que haya algunos que comiencen
a calificarlas.
5. Conclusiones
La validez de las recomendaciones obtenidas a partir de un SR basado
en FC depende de dos aspectos importantes: el dominio de los
contenidos del SR y la función de similitud utilizada para
generar los vecinos cercanos. Para el primer punto es necesario
identificar a priori si las características de los ítems
serán tomadas en cuenta o no. Si las características no
interesan y solo se recomendarán objetos similares en
calificación, el enfoque colaborativo basado en ítems
será una buena propuesta de solución si se tiene la matriz
de ratings correspondiente. Si se desea que las
características de los elementos sean tomadas en cuenta, entonces
debe considerarse un SR basado en contenido en vez del FC.
Para el segundo punto, la medida de similitud dependerá de la
naturaleza de la matriz de valoraciones. Si esta es dispersa entonces
procesos como Pearson o coseno darán resultados poco precisos
pues puede ser que no pueda establecerse similitud entre los
ítems/usuarios. NHSM puede ofrecer resultados más exactos en
este caso, sin embargo, es un proceso lento debido a todos los
cálculos previos que tiene que realizar antes de poder obtener la
similitud. Si es densa o poco dispersa, entonces Coseno o
Pearson podrán dar resultados mejores en menos tiempo.
Otro aspecto a considerar son los ratings que pueden utilizarse: NHSM es efectivo cuando las
calificaciones incluyen números negativos, lo mismo que Pearson
ponderado o PIP. Si solo incluyen números positivos entonces
Coseno o su versión ajustada son mejores opciones.
Al evaluar la precisión debe considerarse que el número de
vecinos a seleccionar es directamente proporcional al coverage del sistema. Sin embargo, también es directamente
proporcional al error del sistema e inversamente proporcional a la
precisión. Por lo que seleccionar el número correcto de
vecinos debe ser una de las primeras decisiones.
6. Referencias
[1] Dietmar, J., Zanker, M., Felfernig, A., Friedrich, G. (2011). Recommender Systems. New York: Cambridge University Press.
[2] Facebook. (2019). https://www.facebook.com
[3] Twitter. (2019). https://twitter.com
[4] Pinterest. (2019). https://www.pinterest.com.mx/
[5] Amazon. (2019). https://www.amazon.com.mx
[6] Ebay. (2019). https://www.ebay.es
[7] Netflix. (2019). https://www.netflix.com/browse
[8] YouTube. (2019). https://www.youtube.com/
[9] Moya García, R. (2013). SVD aplicado a sistemas de recomendación basados en filtrado
colaborativo (Tesis Master). Universidad Politécnica De Madrid,
España.
[10] Sarwar, B., Karypis, G., Konstan, J., Reidl, J. (2001). Item-based
collaborative filtering recommendation algorithms. Presentado en el Tenth International Conference on World Wide Web - WWW , Hong Kong. doi: https://doi.org/10.1145/371920.372071
[11] Gunawardana, A., Shani, G. (2009). A Survey of Accuracy Evaluation
Metrics of Recommendation Tasks. Journal of Machine Learning Research, 10, 2935-2962. Recuperado de: https://dl.acm.org/citation.cfm?id=1755883
[12] Owen S., Robin A. (2009). Mahout in Action. Greenwich: Manning Publications Publications Co.
[13] Liu, H., Hu, Z., Mian, A., Tian, H., Zhu, X. (2014). A new user
similarity model to improve the accuracy of collaborative filtering. Knowledge-Based Systems, 56, 156–166. doi:
https://doi.org/10.1016/j.knosys.2013.11.006
[14] Castellano, E. J., Martínez, L., Barranco, M., Pérez
Cordón, L. G. (2007). Recomendación de perfiles
académicos mediante algoritmos colaborativos basados en el
expediente. Presentado en la Conferência IADIS Ibero-Americana WWW/Internet, Villa Real, Portugal. Recuperado de:
https://sinbad2.ujaen.es/sites/default/files/publications/Castellano2007_IADIS.pdf
[15] Rojas Castellanos, Y. (2014). Sistema de recomendación por
filtrado colaborativo para el sistema de publicación de contenido
multimedia—VideoWeb 1.0. International Journal of Innovation and Applied Studies, 6 (3), 326-334. Recuperado de: http://www.ijias.issr-journals.org/abstract.php?article=IJIAS-14-098-04
[16] Del Pino, J., Salazar, G., Cedeño, V. (2011).
Adaptación de un Recomendador de Filtro Colaborativo Basado en el
Usuario para la Creación de un Recomendador de Materias de
Pregrado Basado en el Historial Académico de los Estudiantes. Revista Tecnológica - ESPOL, 24 (2), 29-34. Recuperado de:
http://www.rte.espol.edu.ec/index.php/tecnologica/article/view/85
[17] Zeng, W., Zhu, Y.-X., Lü, L., Zhou, T. (2011). Negative ratings play a positive role in information filtering. Physica A: Statistical Mechanics and its Applications, 390 (23-24), 4486–4493. doi:
https://doi.org/10.1016/j.physa.2011.07.005
[18] Taghavi, M., Bentahar, J., Bakhtiyari, K., Hanachi, C. (2018). New
Insights Towards Developing Recommender Systems. The Computer Journal,
61 (3), 319–348,
doi: https://doi.org/10.1093/comjnl/bxx056
[19] Papachristoudis, G. (2019). Popular evaluation metrics in recommender systems explained. Recuperado de: https://medium.com/qloo/popular-evaluation-metrics-in-recommender-systems-explained-324ff2fb427d
[20] Costa J.F.P. (2011) Weighted Correlation. En: M. Lovric (eds), International Encyclopedia of Statistical Science. Springer-Verlag Berlin Heidelberg. doi: https://doi.org/10.1007/978-3-642-04898-2_612
[21] Ramírez Morales, C. A. (2018). Algoritmo SVD aplicado a los
sistemas de recomendación en el comercio. Tecnología Investigación y Academia, 6 (1), 18-27. Recuperado de
https://revistas.udistrital.edu.co/index.php/tia/article/view/11827
[22] Sadegui Moghaddam, M. H., Mustapha, N., Mustapha, A., Sharef, N. S.,
Elahian, A. (2015). Rust metrics in recommender systems: a
survey. Advanced Computational Intelligence: An International Journal,
2 (3), 1-12. doi: 10.5121/acii.2015.2301
[23] Goldberg, K., Roeder , T., Gupta, D., Perkins, C. (2000). Information Retrieval, 4 (2), 133-151. doi: https://doi.org/10.1023/A:1011419012209
[24] Graham, D. (2019). Limitations of Collaborative Recommender Systems. Recuperado de:
https://towardsdatascience.com/limitations-of-collaborative-recommender-systems-9801036941b3
[25] Papagelis, M., Plexousakis, D., Kutsuras, T. (2005). Alleviating the sparsity problem of collaborative. En: Herrmann P.,
Issarny V., Shiu S. (eds), Trust Management. iTrust 2005. Lecture Notes in Computer Science, vol 3477. Springer,
Berlin, Heidelberg. doi: https://doi.org/10.1007/11429760_16