[en] Internet and the WWW rose in modern societies as a new communication channel and as a new media for information flow and transactions. The number of users grew dashingly and continuously since then. Given the massive amount of information available on the WWW, it soon became very difficult for users to find what they may be interested in amidst billions of documents and digital objects. This problem motivates the development and deployment of so-called automatic recommendation technologies, which track the user's actions, identify potential user trends and preferences and, based on this, suggest items and choices the user may find interesting or useful (Youtube videos, LinkedIn contacts or Netflix movies). Many recommendation algorithms, techniques, and theories have been developed in this field, defining different approaches to predict the interest that users may have within huge spaces of available choices. The present work undertakes an extensive study comparing some of the most important algorithms in the literature on different datasets obtained from real user applications (such as Twitter, Eurekakids and Netflix). The comparison is carried out in several dimensions, including accuracy, but also novelty and diversity, which in recent years have raised increasing in the recommender systems field. Furthermore, we study the efficiency of the algorithms in terms of computational cost. This work also includes the development of recommendation algorithms, for some of which we study and compare arrays of configurations in order to understand which elements and parameters of the algorithms are crucial to their effectiveness, and to identify optimal configurations. External libraries implementing the same and different algorithms have also been added to our experimental testbed for comparison in order to observe and find optimal algorithms and versions thereof. For the tested domains (MovieLens, Netflix, Last.fm, Twitter and Blueknow) the family of algorithms that obtained the best results in accuracy, novelty and diversity metrics has been by and large collaborative filtering based on nearest neighbors. However, in some cases these algorithms do not scale to real use because of the computional cost. Simpler content-based algorithms, or matrix factorization methods (as pLSA), take advantage over them in these cases.

[es] Internet irrumpió en las sociedades modernas como medio de comunicación y soporte a procesos de información y transacciones. El número de usuarios se extendió rápidamente y desde entonces no ha dejado de aumentar. Debido a la cantidad masiva de información que Internet alberga, se vuelve muy complicado para los usuarios encontrar aquello que le interese entre toda la variedad disponible. Este problema motiva el desarrollo y despliegue de sistemas de recomendación, que estudian el perfil del usuario y le sugieren aquello que puede interesarle según sus gustos (vídeos de Youtube, contactos de LinkedIn o películas en Netflix). Existen diversos algoritmos de recomendación basados en diferentes formas de establecer el posible interés que el usuario pueda tener sobre cada "ítem", y a lo largo de la literatura se han ido investigando y desarrollando nuevos métodos fundamentados en diferentes bases. El presente trabajo consiste en la realización de un estudio exhaustivo que compara algunos de los algoritmos más destacados de la literatura sobre diferentes conjuntos de datos obtenidos de aplicaciones con usuarios reales (como Twitter o Netflix). La forma de realizar esta comparación ha sido mediante métricas de precisión, novedad y diversidad, que son las que en años recientes han cobrado mayor interés en el campo de la recomendación frente a las tradicionales métricas de error. Asimismo, se analiza la eficiencia de los algoritmos en términos de costes computacionales. Este trabajo incluye asimismo una puesta a punto de los algoritmos a estudiar, tanto configuraciones propias de cada uno como variaciones que mejoren su escalabilidad y eficiencia en el consumo de recursos, a fin de determinar qué elementos y parámetros de los algoritmos son determinantes en la efectividad de los mismos, con vistas a identificar configuraciones óptimas. Además, se han añadido librerías externas a las baterías de prueba, con implementaciones de estos y otros algoritmos en busca del mejor resultado posible para cada algoritmo y poder realizar la comparación entre sus versiones más óptimas (en cuanto a la métricas establecidas). Como conclusión del presente trabajo, se puede decir que para las aplicaciones escogidas (MovieLens, Netflix, Last.fm, Blueknow y Twitter), la familia de algoritmos que mejor resultado ha obtenido en métricas de precisión, novedad y diversidad ha sido la del filtrado colaborativo basado en vecinos próximos. Sin embargo, en muchos casos estos algoritmos resultan inviables para su ejecución, donde toman la ventaja algoritmos basados en contenido como Rocchio o de factorización de matrices como pLSA.