10. In computer-implemented apparatus, the apparatus having a processor and a memory, the memory having computer executable instructions stored therein, a method for recommending an item to a particular one of a plurality of users, the item not yet rated by the user, the method comprising steps, performed through the executable instructions, of: (a) generating, for the particular one user, a concept mask representing areas of interest of the one user; (b) storing, in the memory, a user profile in a memory for each of a plurality of users, wherein the user profile of the user includes a plurality of values, each of the plurality of values representing a rating given to one of a plurality of items by the user; (c) calculating, for each of the plurality of users, a plurality of similarity factor vectors representing the similarity between each user and another one of the plurality of users for at least one concept specified within the concept mask; (d) selecting, for each of the plurality of users, a plurality of neighboring users based on the similarity factor vectors; (e) assigning a weight to each of the neighboring users so as to define a plurality of weights assigned to the neighboring users; and (f) recommending at least one of the plurality of items to the particular one user based on the weights assigned to the neighboring users and the ratings given to the non-rated item by the neighboring users.
13. The method of claim 10 wherein the concept mask includes a number of concepts, wherein each of the concepts may be associated with at least one item rating, and wherein each item rating may be associated with at least one concept mask.