Collaborative filtering with privacy

Collaborative filtering is a technique that can be used to develop recommenders, that help a user in finding relevant and interesting content from a vast amount of offered content. The basics behind collaborative filtering is that the rating histories of many users are combined and compared, based on which recommendations can be made. As such, collaborative filtering does not need detailed information about the content. Typically, collaborative filtering is implemented on a central server, that collects the users’ rating histories required for the calculations. A drawback of this typical setup is that all information of the users is available at the server side, vulnerable to abuse by the service provider himself or by a hacker that breaks into the system. Therefore, we want to investigate ways to protect the users’ privacy, by using encryption systems. In other words, we want to investigate whether it is possible to do collaborative filtering on encrypted user profiles. Next to the above main objective, we investigate the effectiveness of different collaborative filtering approaches, and look into computational issues. Conclusions: The most often used form of collaborative filtering is memory-based collaborative filtering. Basically, it consists of two steps: (i) determine similarities between different users by comparing their rating histories, and (ii) based on the similarities calculate a predicted score for each item not rated by a user yet. Although quite a number of different similarity measures and prediction formulas have been presented in literature, they all allow to be calculated in an encrypted situation, and we show how. Also item-based collaborative filtering can be done in an encrypted way. The setup and the distribution of computations is different from the traditional way of collaborative filtering, in the sense that now more computations have to take place at the users’ sides rather than at the server. In this way it is indeed possible to protect the privacy of users with respect to the server as well as with respect to the other users. c Koninklijke Philips Electronics N.V. 2003 iii PR-TN 2003/00733 Unclassified report Apart from memory-based collaborative filtering, we also discussed a model-based collaborative filtering technique called factor analysis, which tries to distill a small number of basic rating profiles from the entire set of users’ rating histories and expresses the users as linear combinations of these basic profiles. This technique can also be implemented in a way that guarantees the users’ privacy as well as protects the interests of the server. We tested this approach both in an unencrypted way, which shows that it outperforms memory-based algorithms for our test setting of music recommendation, and in an encrypted way, which shows that a straightforward implementation of the encryption and decryption modules in Java gives quite a run-time overhead. Nevertheless, most calculations only have to be done rather infrequently, namely to update the model, and by going to a C or hardware implementation, the run-time overhead can be reduced drastically. iv c Koninklijke Philips Electronics N.V. 2003 Unclassified report PR-TN 2003/00733