9. A computer program product comprising a non-transitory recording medium storing instructions, which when executed on a computer, causes the computer to perform the method of claim 1 .
1. A method for predicting an optimal machine translation system for a user comprising: for each of a set of users, providing a respective user profile which includes rankings for at least some machine translation systems from a set of machine translation systems, the set of users including a first user and a plurality of other users, wherein the rankings are pairwise rankings for pairs of machine translation systems; updating the user profile of the first user based on the user profiles of at least a subset of the other users, the updating including generating at least one missing ranking, the updating including: for each of a subset of the other users whose user profiles include a pairwise ranking for a selected pair of the machine translation systems, computing a similarity between the first user's user profile and the respective other user's user profile; identifying, based on the computed similarities, a set of the other users as nearest neighbors to the first user, the identifying comprising applying at least one criterion for inclusion of the other users in the nearest neighbors; and computing a pairwise ranking for the pair of the machine translation systems as a function of the pairwise rankings of the nearest neighbors for the selected pair of machine translation systems, wherein when a number of the nearest neighbors does not meet a threshold number of nearest neighbors, the pairwise ranking for the pair of the machine translation systems is computed as a function of the pairwise rankings of at least one other of the users in addition to the nearest neighbors; predicting an optimal machine translation system for the first user from the set of machine translation systems based on the pairwise rankings for the pairs of machine translation systems in the updated user profile computed for the first user for translation of source text in a source language to target text in a target language; outputting a machine translation of source text in the target language for the first user, based on the prediction; and wherein at least one of the updating and the predicting of the optimal translation system is performed with a processor.