Patent ID: 7533094

Claim:
A method in a computer system with a processor for determining similarity between objects and between features of the objects, the method comprising: providing a mapping from objects to their features; initializing by the processor a similarity score for each pair of objects and each pair of features; for each of multiple iterations, setting by the processor the similarity scores for each pair of objects based on the similarity scores of the pairs of features set during the previous iteration and the mapping from objects to their features; and setting by the processor the similarity scores for each pair of features based on the similarity scores of the pair of objects set during the previous iteration and the mapping from objects to their features; receiving an indication of an object; and for each of a plurality of pair objects that includes the indicated object, retrieving by the processor the similarity score for that pair of objects; and when the retrieved similarity score satisfies a threshold similarity, indicating by the processor the objects of the pair of objects are similar wherein the setting of similarity scores is based on the following equations: S o k+1 =λ o B T S f k B+L o k and S f k+1 =λ f BS o k B T +L f k where S o k is a matrix of similarity scores for the objects for iteration k, S f k is a matrix of similarity scores for the features for iteration k, B is a matrix of the features of the objects, λ o is a normalization factor for the similarity scores of the objects, λ f is a normalization factor for the similarity scores of the features, and L o k and L f k are represented by the following equations: L o k =I −diag(λ o B T S f k B ) and L f k =I −diag(λ f BS o k B T ).