• No se han encontrado resultados

Recommended No Recommended Used TruePositive

Unusued FalsePositive

True Negative False Negative (tp) (fp) (tn) (fn)

Tabla 5.1: Clasificaci´on de los posibles resultados de una recomendaci´on de un ´ıtem a un usuarioFuente: adaptaci´on de [105]

5.3.

Definici´on del plan de pruebas

A partir de lo anterior se ha definido un plan de pruebas para la evaluaci´on de cada uno de los algoritmos definidos en la secci´on 5.1. El plan de pruebas se encuentra dividido en dos secciones, en primer lugar se realizar´an tests offline utilizando ´unicamente la informaci´on contenida en el dataset, y en segundo lugar se realizar´an tests online con usuarios reales. Adem´as, en cada una de las secciones se evaluar´an tanto la m´etrica RMSE, como la m´etrica de Precisi´on.

5.3.1. Pruebas Offline

Las pruebas offline de sistemas de recomendaciones com´unmente se hacen a partir del particionado del dataset en dos grupos de calificaciones de la formaR→U×I×C. El primer grupo es conocido comodataset testo en espa˜nol, pruebas, y es una secci´on del dataset que se esconde de las evaluacio- nes y que se utiliza para determinar aquellos ratings que son conocidos; el segundo grupo es eldataset training o entrenamiento, y a partir de ´el se predicen los ratings del de pruebas. Dicho de otro modo, para calcular las m´etricas se comparan las predicciones generadas a partir el dataset de entrenamiento con los valores reales obtenidos de pruebas. Para este proyecto se tomar´a un dataset de pruebas del 25 % del tama˜no real, es decir, un entrenamiento del 75 % del dataset. Adicionalmente, Mahout cuenta con las clases necesarias para realizar el particionado de forma aleatoria, y para evitar que se generen cambios en alguna de las partes se duplicar´a del dataset eliminando aquellos ratings que hacen parte de pruebas. Luego, con el objetivo de medir RMSE se pedir´a al sistema que prediga los ratings eliminados para compararlos con los valores reales. Por otro lado, para la medida de precisi´on se ubicar´a un umbral que permita considerar los verdaderos-positivos como aquellos que se encuentren con una calificaci´on por encima de ´el, este umbral ser´a de2,7, seguidamente se solicitar´a al sistema re- comendar algunos ´ıtems y se verificar´a cu´antos de ellos hacen parte del grupo de verdaderos positivos.

5.3.2. Pruebas Online

Para realizar las pruebas online se ha utilizado el aplicativo construido como piloto del sistema dise˜nado en el cap´ıtulo 4. A continuaci´on se describe el aplicativo desarrollado.

5.3.2.1. Aplicativo construido para la evaluaci´on online de algoritmos de recomendaciones

La descripci´on del aplicativo construido para la evaluaci´on online de los algoritmos de recomenda- ciones se realizar´a a partir del diagrama de procesos presentado en la figura??, donde se indica uno a

Cap´ıtulo 5. Experimentaci´on y resultados

uno los pasos que guiar´an al usuario a trav´es del experimento.

Context

Recommender System

Test

Login 1 Set Context Values 2 Rate Ads 3 Select Good Recommendations 4

RMSE

Test

Precision

Test

Figura 5.1: Diagrama de procesos para evaluaci´on onlineFuente: creaci´on propia

Fases del experimento para la prueba online Las fases presentadas en la figura se describen a continuaci´on:

1. Login

Se espera que s´olo usuarios que hayan participado en el experimento de creaci´on del da- taset descrito en el cap´ıtulo 3 participen tambi´en en este experimento. Por este motivo, existe una interfaz deLogin donde a partir del nombre de usuario y contrase˜na antes utilizados para el registro en el sistema, el usuario puede ser identificado e inicie el experimento. Esta interfaz es similar a la utilizada para iniciar sesi´on en el experimento de creaci´on del dataset ver figura 3.9. En caso de no encontrar al usuario en la base de datos, el sistema presentar´a un mensaje de error y revocar´a el inicio de sesi´on. Adicionalmente, El usuario puede intentar recordar su contrase˜na, en caso de haberla olvidado. Para ello ingresar´a el correo utilizado en el registro y los datos le ser´an enviados v´ıa email.

5.3. Definici´on del plan de pruebas

2. Fijar contexto

Al igual que en el experimento de creaci´on del dataset, se espera que el usuario ingrese de forma expl´ıcita los valores para cada una de las variables de contexto. Una vez el usuario a ingresado estos valores, el sistema busca en la base de datos si existe un contexto con los valores indicados por el usuario, si el contexto existe, el sistema lo fija con dicho Id. De lo contrario, crea uno nuevo. Esta interfaz es similar a la utilizada para fijar el contexto en el experimento de creaci´on del dataset ver figura 3.10

3. Calificaci´on de anuncios: Prueba RMSE

Una vez el usuario ha fijado su contexto inicia la prueba RMSE, para ello debe calificar 10 anuncios que le son presentados. El sistema antes de presentarlos genera predicciones para dichos anuncios con cada uno de los algoritmos y sus variaciones, esta informaci´on luego ser´a utilizada para comparar las calificaciones reales con las predichas. Esta interfaz es similar a la utilizada para calificar en el experimento de creaci´on del dataset ver figura 3.11

4. Selecci´on de anuncios relevantes: Prueba de Precisi´on

En este paso se espera contribuir con la prueba de precisi´on. Para ello, el sistema gene- rar´a recomendaciones de 15 anuncios utilizando cada uno de los algoritmos definidos en el secci´on 5.1 y el usuario deber´a indicar cuales de ellos considera que son una buena recomen- daci´on (verdaderos positivos) y cuales son una muy mala recomendaci´on. La imagen de la figura 5.2 presenta la interfaz de selecci´on de anuncios relevantes. En ella puede observarse que cada anuncio cuenta con tres botones: el bot´on verde para indicar que es relevante, el bot´on blanco para indicar que le es indiferente y el bot´on amarillo para indicar que es una muy mala recomendaci´on.

Finalmente es importante mencionar que para la construcci´on del aplicativo se utilizaron las herra- mientas: Java Enterprise Edition1, Java Server Faces2 para la capa de presentaci´on soportada con la librer´ıa Primefaces3, y el dataset se encuentra alojado en una base de datos MySQL4. Finalmente, se utiliz´o tambi´en la librer´ıaMahout-Context-Recommender creada como aporte de este proyecto para la generaci´on de SRs basados en contexto.

1

JEE: es la versi´on empresarial de JAVA y es construido bajo la contribuci´on de expertos de la industria. Ofrece interfaces de usuario enriquecidas, alto rendimiento, versatilidad y portabilidad [106]

2

JSF: esta tecnolog´ıa establece el est´andar para construir interfaces de usuario de lado del servidor [95] 3

Primefaces: es una librer´ıa de c´odigo abierto con componentes para soportar interfaces de usuario en JSF. Se distribuye bajo licencia apache [107]

4

MySQL Server: es tal vez el motor de base de datos de c´odigo abierto m´as popular, ofrece alto rendimiento y escalabi- lidad [108]

Cap´ıtulo 5. Experimentaci´on y resultados

Figura 5.2: Interfaz de m´etrica de precisi´onFuente: creaci´on propia