Dynamic updating of online recommender systems via feed-forward controllers

  • Authors:
  • Valentina Zanardi;Licia Capra

  • Affiliations:
  • University College London, London, United Kingdom;University College London, London, United Kingdom

  • Venue:
  • Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Recommender systems have become an essential software component of many online businesses, supporting customers in finding the items (e.g., books on Amazon, movies on Netflix, songs on Last.fm) they are interested in. Key to their success is the level of accuracy they achieve: the more precisely they can predict how much a customer will enjoy an item, the higher the profit that the business will make (e.g., in terms of more purchases). In quantifying the accuracy of recommender systems, the evaluation methodology followed by researchers has so far neglected an important aspect: that these businesses grow continuously over time, both in terms of users and items. The data structures used by the recommender system to compute predictions become stale and thus have to be updated regularly. Intuitively, the more often the data structures are being updated, the higher the accuracy achieved, but the higher the computational cost afforded, because of the extremely large volume of data being handled. System administrators often perform the update at fixed intervals of time (e.g., weekly, fortnightly), in an effort to balance accuracy versus cost. We argue that such an approach benefits neither accuracy nor cost, as businesses do not grow linearly in time, thus risking the fixed update interval to be at times too coarse (with negative impact on accuracy), and at other times too fine grained (with negative impact on cost). We thus advocate for a self-monitoring and self-adaptive approach, whereby the system monitors its own growth over time, estimates the loss in accuracy it would endure if an update were not being performed based on the observed growth, and dynamically decides whether the benefit of performing an update (accuracy) outweighs its computational cost. Using real data from the Bibsonomy website, we demonstrate how this simple technique enables system administrators to transparently balance these two conflicting requirements.