A brief description of Contextual Factors

RecSys Week 7: How are context factors described when used in a recommender system. A commentary on Context-Aware Recommender Systems.

Sebastian Amenabar
3 min readSep 25, 2017

Things are not usually black and white; they differ based on the conditions that surround us all, which ends up affecting our choices and preferences. We choose different kinds of music depending on the situation, quieter songs when we want to relax and some loud and energetic sounds if we need to get motivated.

Just looking at our listening history will not be enough in cases like these to generate recommendations, since we will probably have a mixture of both types, a song of any of them could come up next. To face these problems Context-Aware Recommender Systems are implemented. These systems use external information from the environment to improve the accuracy of recommendations.

According to the authors, contextual factors can belong in three categories according to their certainty:

  • Fully observable: All the relevant factors are explicitly known, for example, the time.
  • Partially observable: Only some of the relevant factors are known explicitly, for example, the time is known but not the weather.
  • Unobservable: No information is known, and the context is estimated implicitly, for example, the sound of cars could mean you are driving.

Adomavicius et al. also add two categories which the contextual factors can be categorized according to how they change over time:

  • Static: The relevance and structure of the factors do not change.
  • Dynamic: The relevance and structure of the factors may change over time.

The contextual information can be categorized based on its certainty and time dependence at the same time, so six different types of factors exist.

Once the contextual information is gathered, the authors point three ways in which it can be used to improve the recommendations:

  • Contextual Prefiltering: Before generating the recommendations, items that do not fit the context are removed, for example, loud music during a workday night.
  • Contextual Postfiltering: After generating the recommendations, the contextual information is used to filter or reorder the produced items, this can be applied in the same example of above, but filtering at the end.
  • Contextual Modeling: The context is included inside the model that predicts the items’ ratings.

Some commentaries

I consider that this paper works as a very general overview of some considerations that could be very important when designing a Context-Aware recommender system. Most certainly, a recommender will have a descending performance if it was designed considering the context factors as static when they truly were dynamic.

The possible variations of data, points out the relevance of characterizing the information and creating the system with that in mind. I found the example of the distributed model an excellent case in which they built the systems based on what they knew of the information. In short, they generated implicit factors considering users physically close as similar. So, once they determined the factors they found relevant, a solution was proposed to estimate its values.

Finally, even though I considered their work a significant contribution to the development of Context-Aware recommender systems, I found the paper unnecessarily long, and its relevant points could have been more succinct.

Thank you for reading, any correction, commentary or related reading I’ll thankfully accept. This post is a commentary on the paper Context-Aware Recommender Systems (2011), written by Gediminas Adomavicius, Bamshad Mobasher, Francesco Ricci and Alex Tuzhilin. This is a weekly post for the Recommender System course (IIC3633), Pontifical Catholic University of Chile.

--

--