Patent ID: 7779040

Claim:
A computer-implemented method of detecting associations between items represented in a data repository, the method comprising: by a computer system comprising computer hardware: identifying a plurality of items represented in a data repository from which to select items to recommend to a target user, each item having one or more attributes; calculating degrees of fit of the attributes of a first item with a second item, wherein calculating the degrees of fit comprises: forming an initial matrix of values, each of the values reflecting whether the first and second items possess a selected one of the attributes; calculating a singular value decomposition of the initial matrix, the singular value decomposition comprising a left matrix, a singular value matrix, and a right transpose matrix; reducing the dimension of one or more of the left, singular value, and right transpose matrices to create a reduced singular value decomposition; and multiplying the matrices of the reduced singular value decomposition to create a reduced-dimension matrix approximating the initial matrix, wherein selected values of the reduced-dimension matrix reflect the degrees of fit of the attributes of the first item with the second item; calculating a correlation value between the values in the reduced-dimension matrix corresponding to the first and second items, the correlation value representing a degree of association between the first and second items, the degree of association between the first and second items reflecting the relatedness of the first and second items; programmatically using the calculated correlation value between the first and second items to create, in computer storage, an association between the first and second items; and programmatically using the association to generate a recommendation for the target user.