Latent Context-aware Recommender Systems

The relevance of Recommender Systems (RS) grew with the increase in the variety of products, content and activities that users are presented with nowadays. These types of systems are used daily by millions of people on services as diverse as Spotify, Amazon and Netflix. Most approaches use relatively simple and straightforward data, such as user and item properties. As progress in this area was made, it was established that user preferences can change with context. For example, a person running would listen to a different type of music comparatively to a person relaxing at night. Even though context is hard to capture, the ubiquity and interconnectivity of devices present an opportunity to do so. With the widespread usage of smartphones and other smart devices, huge amounts of data are generated daily. Context-aware Recommender Systems (CARS) constitute an approach that aims to make better use of more of the available data. CARS are a subset of RS that use contextual information such as location, time of day, or other relevant variables to improve the quality of the recommendations. Amongst its main characterisation traits lies the fact that contextual data can be classified by whether it is latent or not. Non-latent variables’ meaning is known and well-defined from the start, such as the ones aforementioned. These variables can model context through predetermined variables, such as time and location, for an example. Even though non-latent variables are more prevalent, including these additional contextual variables turns the rating matrix into a tensor, which will be sparser than the matrix. On the other hand, latent variables must be extracted from non-latent context, and their explicit meaning is unknown. Even so, capturing these variables can help model context more accurately, with less variables and consequently, less sparsity. Since latent context is derived from the predetermined, non-latent context, it can reflect hidden relationships or patterns from combinations of the original variables. In the previous example, if time and location were the original non-latent context, we could extract one single variable to model both temporal and positional contexts. Another advantage is that this extraction process can be parameterised, which means it would be possible to decide the number of variables and experiment in order to obtain the best results. Therefore, latent context might be used implicitly to improve the end result. For all these reasons, we infer that it is relevant and important to ascertain the value of this type of context. Thus, in this dissertation we will develop a method to extract latent contextual variables and empirically evaluate their usefulness for recommendation. The project was composed of several tasks: firstly, a technique to extract latent context variables from contextual variables was employed. Afterwards, this context was integrated in a recommender system. The method developed was evaluated against another state of the art CARS approach. Our method was also compared with the same algorithm not using any type of context, as well as other traditional, popular noncontextual algorithms. All these methods were empirically evaluated in terms of the quality of their recommendations. The analysis of the results revealed potential in latent contextual approaches. In two out of the three data sets used, the approach developed obtained better results in all the evaluation metrics,