The sheer volume, diversity and varying quality of content on the web—ranging from personal blogs to professional news-sites—makes the discovery of current, interesting information a challenging task. Recommendation engines are programs giving online users (websurfers) daily recommendations on which websites to view. Typically these systems employ feedback from websurfers.
In Delicious, for example, surfers tag blogs with keywords describing the type of content appearing in the site; tagged websites then appear on the Delicious website as an aid to daily websurfing. The recommendation engines Digg and Reddit also employ surfer feedback: surfers vote for websites they visit, and the sites display recent content with high voting scores.
An alternative approach is employed by the recommendation engine StumbleUpon. StumbleUpon implements a toolbar, giving websurfers the option between two buttons. The first, labeled “Stumble!”, generates a randomly selected website. The second, labeled “I like this” allows surfers to indicate they like the website they see. Websurfers are thus presented with a sequence of different websites, until one that matches their interests is found.
The exact algorithm used by StumbleUpon to recommend websites to its users is proprietary. In broad terms, StumbleUpon learns through a registered user's feedback (i.e., clicks of the “I like this” button) which websites she or he likes; recommendations are then made by showing the user websites that have been recommended by other registered users with similar preferences. StumbleUpon also leverages social-networking information to make recommendations. In particular, registered users can declare their friends. Assuming that friends should have common interests, StumbleUpon exploits this information to recommend websites to users when selected by their friends.
A similar approach is adopted by El-Arini et al [K. El-Arini, G. V. D. Sharaf, and C. Guestin. “Turning down the noise in the blogosphere”, in KDD, 2009]. They propose a mechanism for recommending a list of websites to surfers that maximizes a personalized “coverage function”, indicating whether the suggested websites cover topics of interest to the surfer. A similar minimal feedback scheme as Stumble Upon is employed, based on whether suggested websites are approved or disapproved by the surfer.
An altogether different approach to recommendation engines is adopted by search engines like Google and Blogoscope [N. Banshal and N. Koudas. “Searching the Blogosphere”, in WebDB, 2007]. WEbsurfers submit queries to such engines, requesting specific content. These engines regularly crawl the World Wide Web and store information about the content published in every website. This information is stored and processed, and answers to a user's queries are given by matching these queries to relevant websites obtained through crawling the web.
Digg relies on the participation of websurfers through tag submission, which they may not always be able or willing to perform. In general, Digg, Delicious and Reddit lack personalization: the recommendations made are collective, and are not designed to meet the needs of any particular websurfer.
Both StumbleUpon and El-Arini et al. personalize the search for content to a particular websurfer. Moreover, they do so with minimal feedback. Tagging is not required; instead, users need only declare which sites they like and, in StumbleUpon, optionally provide social networking information.
El Arini et al. solve an optimization problem, in which they try to match websites to each websurfer's personal interests. Their solution is not optimal, but is within a constant factor of the optimal. Nonetheless, the approach proposed by El Arini et al. is not content-agnostic. It requires knowledge of the nature of the content published by websites. To obtain this information, a central server must crawl the web periodically and discover and analyse what type of content is published at different websites. This server needs to have considerable storage capacity to store and analyse the data it collects.
The exact mechanism employed by StumbleUpon is proprietary, so it is not possible to assess its operation. However, it is certainly a centralized mechanism: the preferences of users are aggregated and stored at a central server. Moreover, it is not possible to know whether the method used by StumbleUpon indeed matches websites to each individual interests optimally, or simple heuristics are used to offer website suggestions.
Search engines like Google and Blogscope have the following disadvantages. First, like El-Arini et al., they are by definition content-aware, and require extensive, frequent crawling of the web, and the storage and processing of terabytes of information. Second, they operate under the assumption that a websurfer knows what she or he wishes to find. However, eliciting a websurfer's interests is not always straightforward: the websurfer may not be able to declare what type of content she or he is interested in before actually being presented with it, and that is the reason why recommendation engines like StumbleUpon have been proposed as alternatives.
Finally, all of the above-mentioned approaches are centralized: recommendations are made by a central server that aggregates information, stores it, and processes it to give recommendations.