1. A computer-implemented method of predicting a user behavior with respect to an item, the method comprising the steps of: arranging a memory to store a data structure specifying a bi-linear collaborative filtering model of user behaviors; and arranging a first processor to apply an inference process to the data structure in order to predict the user behavior given information about the user and information about the item.