1. A computer-based service system comprising: a database that contains affinity data of a plurality of users; a computer server configured to generate a subject affinity vector representation of a subject and an object affinity vector representation of an object, and to produce an object recommendation for delivery to an external application, the produced object recommendation based on the subject affinity vector, the object affinity vector, and the affinity data; wherein the subject affinity vector and the object affinity vector each have a respective number of dimensions; and wherein the predicted affinity of the subject to the object is calculated by matching the subject affinity vector to the object affinity vector; and wherein the computer server is further configured to generate the subject affinity vector and the object affinity vector by producing initial subject affinity vectors and initial object affinity vectors having respective initial dimensions, to determine predicted affinity values based on the initial subject affinity vectors, initial object affinity vectors, and a subset of the affinity data, and to calculate a cost function; and wherein the computer server iteratively increases the dimensions of the generated subject affinity and object affinity vectors, and recalculates the cost function based on the differences between the predicted affinity values and actual affinity values, until the cost function reaches a predetermined value, and wherein the actual affinity values are based on user input.