This post is a brief summary and personal commentary of the paper ‘Collaborative Filtering Recommender Systems’, published on ‘The Adaptive Web’ book and wrote by Ben Schafer, Dan Frankowski, Jon Herlocker and Shilad Sen, year 2007. This blog was written as a weekly read for the Recommender Systems (IIC3633) course, Pontifical Catholic University of Chile.
Receiving recommendations is common in every consumer product, we often get them from friends, like a cool TV Series or an inspiring book. But not only people, sites like Amazon.com recommend you a camera, or Spotify tells you about a group you’ve never heard before. But how does Amazon.com know that you’d like that camera, or Spotify about that group? They mainly use Collaborative Filtering systems, that predict whether you’ll like a product or not.
Some ideas on the Collaborative Filtering (CF) systems try to imitate the word-to-mouth behaviour and let users send recommendations to other people that might like the item, or you can look at the ratings given by a certain friend whose opinion you trust: this is called Active CF. But as these systems that rely on people doing the work exist, there is also the Automatic CF (ACF), in which computers using different algorithms generate the recommendations.
As we often have a friend with a taste similar to ours from whom we can get recommendations, common ACF systems try to do the same, and look for users or items, similar to the tastes of each one. To determine if two people are similar, they compare the ratings given by them, the closer they are, then the more similar the people.
But how can recommendations be made for a new user, or where no ratings have been given, like the publicity in Facebook? It is now becoming very common the tracking of the user interaction on a web page. For example, the amount of time spent looking at a product’s description, the images in which you stop when scrolling on Instagram, the position of the news you notice first (recognized by the position of the mouse or by clicking on them).
The examples above are implicit methods for information gathering, which may not be completely reliable. Maybe you spent a lot of time reading the description of a product on Amazon only to conclude that it was not what you needed, but you are shown that product on your home page. But still, relevant information, for the user and the provider, can be obtained through this method, and not necessarily to generate a recommendation for a product.
Behavior gathering. Source: http://www.gravityrd.jp/en/technology
Related to this topic, I think the authors did not add an interesting case of use for the CF systems (maybe just because of the novelty of these tracking implementations). We often hear of Facebook’s excellent A/B testing system, which allows them to determine, for example, which layout is the more engaging to their users. Things like these, that almost can’t be rated by the users, because they may not notice the big difference, allow to provide a much more satisfactory experience with the application.
What if we could personalize the whole application structure based on an user profile, some users may prefer different SAP dashboards, maybe some hate the automatic playback on Facebook videos (and don’t know it can be disabled). Just as we can generate a profile for a buyer’s interests, with the use of tracking implementations, practically different applications can be delivered to groups of users with a similar behavior when using it. With morphing applications we could be able to satisfy not only the preference of the majority, but the preference of almost everyone, and increase the overall satisfaction with the app.
An example of things we can track in order to build an user profile:
Of course there are also a lot of difficulties which must be faced, like the way to implement this morphing application, or the systems that’ll allow us to track the behaviours of interest, but there is also a good part, which would be the progress made the last years in recommender systems that’ll allow to hastily build profiles, once the correct data is gathered.
Thank you for reading. Any correction, commentary, related reading I will thankfully accept. With this work I do not intend to misinterpret or point as bad the original work on which most, if not all, of the contents of this post were obtained.