• No se han encontrado resultados

Algoritmos de diversificaci´on

5. Diversificaci´on en sistemas de recomendaci´on

5.3. Algoritmos de diversificaci´on

5.3.

Algoritmos de diversificaci´on

Varios autores han realizado investigaciones enfocadas en desarrollar nuevos algo- ritmos de diversificaci´on y evaluarlos utilizando alguna de las medidas descritas en la Tabla 5.1. Ziegleret al. [92] fueron los primeros en usar diversificaci´on de t´opicos pa- ra aumentar la diversidad de las recomendaciones a costa de disminuir la precisi´on del sistema. Slaney y White [77], enfocados en mejorar la diversidad del recomendador, generaron listas de m´usica proyectando cada canci´on a un espacio de caracter´ısticas multidimensional creado a partir de las caracter´ısticas musicales de cada canci´on en el dataset, extra´ıdas utilizando una descomposici´on en valores singulares (SVD). Adoma- vicius y Kwon [3] presentaron una serie de t´ecnicas para recomendar productos, au- mentando sustancialmente la diversidad, sin perder demasiada precisi´on. Ellos tambi´en propusieron un enfoque basado en la teor´ıa de grafos [2] para aumentar la diversidad bas´andose en algoritmos de flujo m´aximo. Usando una filosof´ıa similar, Premchaiswadi

et al. [69] propuso un nuevo m´etodo h´ıbrido llamado Total Diversity Effect Ranking (TDE) que mejora la diversidad general de la recomendaci´on considerando el efecto de la diversidad de cada producto en la lista de recomendaci´on final.

Choi y Han [24] se enfocaron en consultas web, implementando un algoritmo que calculaba correlaciones de categor´ıas con el objetivo de encontrar el usuario con resul- tados de b´usqueda m´as diversos. De manera similar, Abbassi et al. [1] incrementaron la diversidad de documentos recuperados en sitios web, evitando mostrar muchos docu- mentos de la misma categor´ıa. Ellos lograron esto usando un algoritmo de restricci´on matroide. Bridge y Kelly [19] aumentaron la diversidad de la recomendaci´on usando so- lo datos colaborativos, que obtuvieron usando Distancia Hamming para comparar pro- ductos. Lathiaet al. [62] estudiaron el aspecto temporal de la diversidad en CF. Ellos analizaron como un sistema de recomendaci´on colaborativo cambia durante el tiempo y el impacto que esos cambios producen sobre la diversidad de las recomendaciones re- sultantes. Mouraoet al. [67] trataron con un problema similar al introducir el Oblivion problem, que intenta explotar productos que fueron relevantes para el usuario en el pa- sado, pero perdieron esa relevancia en el tiempo por distintos factores. Boimet al. [15] agregaron diversidad en los productos comparando todos los ratings dados a los pro- ductos por distintos usuarios. Usando este enfoque ellos crearon clusters de productos y generaron listas de recomendaci´on con alta diversidad. Vaishnaviet al. [82] manejaron el problema de la diversidad en marketing electr´onico proponiendo un enfoque basado en LCM versi´on 2 y I-Tree.

Basilleet al. [10] propusieron un enfoque que combinaba varios algoritmos existen- tes con el fin de lograr alta diversidad usando una gran variedad de factores sem´anticos disponibles. Hoet al. [46] usaron la diversificaci´on para manejar el problemalong-tail

en RS (productos que tienen pocos ratings y, por ende, rara vez se recomiendan a los usuarios). Ellos descubrieron que eran capaces de recomendar productos relevantes y mejorar la experiencia de los usuarios. Lee y Lee [63] presentaron un algoritmo de re-

comendaci´on basado en la teor´ıa de grafos que usaba solo los productos con ratings positivos de los usuarios para crear un grafo no-dirigido y usaban la entrop´ıa para en- contrar recomendaciones novedosas y relevantes.

Ren et al. [70] usaron un enfoque interdisciplinario y propusieron un algoritmo de diversificaci´on basado en econom´ıa (´ındice de Giny) y f´ısica (proceso de conducci´on del calor) para mejorar la novedad y diversidad de las recomendaciones. Bedi et al. [11] desarrollaron un enfoque basado en clustering y utilizaron la m´etrica Semi-Partial R-Squared (SPRS) para introducir diversidad en recomendaciones de noticias. Adem´as, ofrecieron explicaciones para recomendaciones inesperadas con el objetivo de aumentar la calidad en la experiencia de los usuarios al usar el sistema. Di Noiaet al. [30] dieron vuelta el problema de la diversidad modelando la tendencia de los usuarios a seleccionar productos diversos y luego utilizaron ese modelo para volver a ranquear los productos en listas de recomendaci´ontop-N.

El pseudoc´odigo de los algoritmos m´as relevantes descritos en esta secci´on aparecen en la Tabla 5.2. Se incluye el algoritmo propuesto y presentado en la Parte I, Cap´ıtulo 3, Secci´on 3.3.2,userCL.

Se puede apreciar que todos los algoritmos que crean una lista de recomendaciones diversa funcionan re-ordenando las recomendaciones despu´es de haber sido generadas usando alguno de los enfoques existentes. Esto significa que tales algoritmos asumen que las recomendaciones ya son diversas y solamente necesitan ser ordenadas correc- tamente para lograr la m´axima diversidad posible. La mayor´ıa de esos algoritmos son colaborativos [19, 15, 46, 63] o basados en contenido [92, 69]. Notables excepciones [24, 1] intentan diversificar productos durante el proceso de recomendaci´on. El resto de los algoritmos ([77, 62]) no diversifican las recomendaciones sino m´as bien se enfocan en medir la diversidad general de cada lista de productos entregada sin cambiar ning´un producto. La Tabla 5.3 entrega una comparaci´on de las ventajas y desventajas de dichos algoritmos, incluyendo la propuesta de esta Tesis, el m´etodo de recomendaci´onuserCL.

5.3 ALGORITMOS DE DIVERSIFICACI ´ON

Ref Pseudoc´odigo de los algoritmos

[92] 1. Generar predicciones (al menos listas de recomendaci´ontop-N=5). 2. Para cada producto en la posici´on N+1 calcular ILS (diversidad) si el

producto fue parte de la listatop-N.

3. Ordenar los productos restantes en reversa (de acuerdo al ranking ILS) para obtener su ranking de disimilaridad.

4. Calcular un nuevo ranking para cada producto seg´un r=a∗P+b∗Pd, dondeP es el ranking original, Pd es el ranking de disimilaridad y a,b

constantes en el rango[0,1].

5. Seleccionar lostop-N productos de acuerdo al nuevo ranking calculado.

[77] 1. Analizar y extraer caracter´ısticas relevantes de los archivos de audio. 2. Realizar una SVD seguido de multi-class LDA para transformar todas las

caracter´ısticas en un espacio SVD de 2 dimensiones.

3. Ajustar un modelo de probabilidad Gaussiana en cada una de las listas de audios (una canci´on ser´ıa un punto en el espacio SVD).

4. Calcular la diversidad para cada lista de audio estimando el volumen del modelo ajustado (elipsoide).

[69] 1. Calcular ratings predichos para el usuario actual usando la suma prome- dio ponderada.

2. Generar una lista de recomendacionestop-N+S(Nentre 3 y 10;Sentre 1 y 10).

3. Calcular el TDE de cada producto como la suma de las distancias a todos los otros productos (N+S−1) en la lista.

4. Remover los S productos con el TDE m´as bajo y as´ı generar las reco- mendacionestop-Npara el usuario actual.

[24] 1. Recolectar informaci´on del g´enero de cada pel´ıcula en el dataset.

2. Calcular la correlaci´on de g´enero para todas las pel´ıculas contando el n´umero de ocurrencias de cada posible par de g´eneros, y normalizar los valores.

3. Generar recomendaciones estimando ratings seg´un ∑RM∗ri j, con RM

los ratings promedio de las pel´ıculas y ri j las correlaciones de g´enero para todos los g´eneros que le gustan al usuarioi, y que son atribuibles al producto j.

4. Seleccionar los top-N productos con el rating estimado m´as alto y pre- sent´arselos al usuario.

[1] 1. Representar el espacio de documentos (D) y t´opicos (T) como un grafo bipartito, donde el peso de las aristas equivale a la relevancia del docu- mentoDsobre el t´opicoT.

2. Ordenar los documentos relevantes (aquellos considerados para reco- mendaci´on) de acuerdo a su cobertura ponderada (suma de los pesos para todos los t´opicos relevantes).

3. Para cada documento: (i) Si el tama˜no de la lista de recomendaci´on es menor que el deseado, agregar el documento a la lista. (ii) Si reemplazar cualquiera de los documentos de la lista con el actual aumenta la diversi- dad general, efectuar el reemplazo.

[19] 1. Generar recomendaciones usando una lista de productos ranqueados de acuerdo a los ratings promedio de los vecinos m´as cercanos.

2. Ofrecer esos productos al usuario y chequear si quiere m´as recomenda- ciones.

3. Si es as´ı, pedirle al usuario que seleccione el producto que considera m´as relevante.

4. Crear una lista de posibles recomendaciones usando un algoritmo Greedy, seleccionar los mejores y agregarlos a la lista de recomendaci´on final. Los mejores se determinan calculando la calidad de cada producto como combinaci´on del rating estimado y el ILD.

5. Presentar la lista de recomendaciones al usuario.

[62] 1. Generar recomendaciones usando MF, kNN o popularidad.

2. Ver si el usuario califica/selecciona alguno de los productos recomenda- dos.

3. Generar una nueva recomendaci´on usando la informaci´on actualizada (todos los nuevos ratings entregados por el usuario).

4. Calcular la diversidad de la nueva lista de recomendaciones, com- par´andola con la anterior. Nota: Este enfoque mide como la diversidad de las recomendaciones a los usuarios cambia con el tiempo, no mide la diversidad de los productos en la lista de recomendaci´on.

[15] 1. Crear una lista de recomendaciones para un usuario dado usando alguno de los recomendadores basados en CF existentes.

2. Agrupar esas recomendaciones en medoids basados en prioridad, com- parando los ratings dados por los usuarios a esos productos.

3. Determinar como representante del cluster al producto con mayor rating estimado, no el con menor distancia a los otros miembros del cluster. 4. Construir un ´arbol de cobertura usando los representantes de cada cluster. 5. Seleccionar un nivel del ´arbol que contengakproductos.

5.3 ALGORITMOS DE DIVERSIFICACI ´ON

[46] 1. Crear recomendaciones para todos los usuarios usando alg´un enfoque CF.

2. Para cada producto que fue recomendado al menos una vez, calcular el puntaje 5D: Precisi´on, Balance, Cobertura, Calidad y Cantidad de pro- ductoslong-tail.

3. Para cada usuario crear una lista de posibles recomendaciones y: (i) orde- nar la lista seg´un rating estimado para asignar un rankra cada producto. (ii) Crear un ranking combinadorn=r∗r5Dy ordenar los productos de

acuerdo a este puntaje.

4. Presentar los topNproductos al usuario.

[63] 1. Crear una matrix de adyacenciaM×M (producto/producto), conxmn=

n´umero de veces que los productosmynfueron ambos calificados con un rating superior al promedio.

2. Para cada usuario: remover todas las filas (productos) que no han sido a´un calificadas por el usuario (productos no vistos/consumidos).

3. Para cada nodo (producto) restante: calcular la entrop´ıa de Shannon. 4. Ordenar los nodos de acuerdo a sus pesos (n´umero de ocurrencias en la

matriz).

5. Remover los productos con valor de entrop´ıa menor al umbral.

userCL

[3.3.2]

1. Agrupar cada usuario en un cluster de acuerdo a alg´un algoritmo de clus- tering basado en prototipos.

2. Calcular las distancias para un usuario dado con respecto al resto seg´un una funci´on de proximidad propuesta (Ecuaci´on 3.2).

3. Formar un vecindario de usuarios, privilegiando optimizar la precisi´on o la diversidad en las recomendaciones:

3.1 Precisi´on: Incluir a los usuarios m´as cercanos en distancia, ubi- cados en cualquier cluster.

3.2 Diversidad: Incluir a los usuarios m´as cercanos en distancia, pero que est´en ubicados fuera de las fronteras del cluster.

4. Generar una lista de productostop-N, usando los ratings de los usuarios en el vecindario.

Ref Ventajas Desventajas [92] Flexible. Puede ser utilizado en

cualquier sistema capaz de trabajar con funciones de distancia (simila- ridad) entre objetos.

La diversificaci´on es aplicada des- pu´es de generar una recomenda- ci´on, significa que si los productos en la lista no son diversos, no exis- tir´a un aumento notable en la diver- sidad final.

[77] La definici´on de la funci´on de di- versidad est´a muy bien detallada y explicada. Cada producto (canci´on) debe ser procesado solo una vez.

No es generalizable: espec´ıfico pa- ra el dominio musical y dependiente de los g´eneros definidos.

[69] Flexible. Puede ser utilizado en cualquier sistema capaz de trabajar con funciones de distancia (simila- ridad) entre objetos.

Como la mayor´ıa de los sistemas orientados a diversidad depende de la definici´on de similaridad/distan- cia entre dos productos.

[24] No requiere mucho c´omputo, solo necesita la descripci´on del g´enero de cada producto.

Necesita recalcular valores para ca- da producto agregado, solo funcio- na si los productos incluyen des- cripci´on en meta-data, para funcio- nar requiere informaci´on expl´ıcita del usuario.

[1] Implementaci´on simple, represen- taci´on gr´afica.

Requiere t´opicos, e.g., meta-data del contenido.

[19] Flexible. Puede ser utilizado en cualquier sistema capaz de trabajar con funciones de distancia (simila- ridad) entre objetos.

Depende de la definici´on de simi- laridad/distancia entre dos produc- tos, solo considera diversidad des- pu´es de completar el proceso de re- comendaci´on.

[62] No requiere conocer las recomen- daciones para aumentar la diversi- dad. Utiliza m´ultiples RS para in- troducir diversidad.

Necesita paralelizaci´on – requie- re varios RS trabajando al mismo tiempo.

[15] Puede conectar cualquier algorit- mo CF existente, diversifica la lista construida.

No usa informaci´on sem´antica de los productos.

Documento similar