1. A method for determining user interests, the method comprising: storing data items relating to usage patterns of the user, wherein the data items include an interest portion having one or more ratings as to the degree of interest the user has for one or more interests and a context portion having information as to the context to which the ratings pertain; grouping the data items into context groups, each context group having data items with related context portions; for each context group, determining if the number of data items in the context group is greater than or equal to a first threshold; creating a first partition having context groups having a number of data items greater than or equal to the first threshold; averaging the ratings for interests in the data items in the context groups in the first partition, resulting in each context group in the first partition being a cluster; and deriving a user's interest by comparing a current context to a context group in the first partition.