[en] Recommender systems have become a key element in the internet in different aspects such as scientific articles browsing (Mendeley), music (Spotify, Last.fm), movies (Netflix, IMDB), people (LinkedIn, Facebook, Twitter), even online selling platforms (Amazon). Such recommender systems are also motivated by the exponential growth experimented by the web in the past years and with the appearance of a substantial quantity of digital content; they are characterised by taking advantage of observing user's activity to predict their interests. The expected preferred products will be presented differently each time in an individual and personalised way. In this bachelor thesis, it will be explored a very common kind of recommendation algorithm: k-nearest neighbours (KNN). These algorithms are typically used to make recommendations based on similarities between users or items, being that way a kind of collaborative filtering; however, if the similarity considers user's or item's attributes, it also will be possible to use it for content-based algorithms. This potential allows to use them in many domains, having the advantage of producing an easily interpretable and analysable output. This work contemplates designing and implementing a framework oriented to generate and evaluate recommendations based on this kind of algorithms, as well as the study of the different parameter configurations to distinguish which is the most beneficial combination. Therefore, the principal objectives will be to obtain general implementations that will be executed in the most efficient way.

[es] Los sistemas de recomendación se han convertido en una pieza clave en internet, bien sea navegando a través de artículos científicos (Mendeley), música (Spotify, Last.fm), películas o vídeos (Netflix, IMDB, YouTube), personas (LinkedIn, Facebook, Twitter), así como plataformas online de venta de infinidad de productos (Amazon). Dichos sistemas de recomendación están motivados a su vez por el crecimiento exponencial que ha experimentado la web en los últimos años y con la aparición de gran contenido digital y se caracterizan por observar la actividad de los usuarios y aprovecharla para predecir cuáles son los intereses de éstos, según los cuales se presentarán unos productos u otros, de una forma individual y personalizada. En este TFG se explorará un tipo de algoritmo de recomendación muy habitual: aquellos basados en vecinos cercanos (KNN). Estos algoritmos se suelen utilizar para hacer recomendaciones basadas en similitudes entre usuarios o entre objetos, siendo de esta forma un tipo de filtrado colaborativo; sin embargo, si la similitud tiene en cuenta atributos de los usuarios o de los objetos, también se podría utilizar para algoritmos basados en contenido. Este potencial permite, en principio, que se puedan utilizar en multitud de dominios, teniendo la ventaja adicional de que su salida es fácil de interpretar y analizar. En este trabajo se plantea diseñar e implementar un framework orientado a generar y evaluar recomendaciones basadas en este tipo de algoritmos, así como el estudio sobre los distintos parámetros a configurar para discernir cuál es la combinación que aporta mejores resultados. Por ello los objetivos principales serán obtener implementaciones generales, así como que se ejecuten de la forma más eficiente posible.