1. A computer-implemented method comprising: determining, at a computing device including a processor, a plurality of error surfaces corresponding to a plurality of feature functions in a translation hypergraph, for each of one or more candidate translations represented in the translation hypergraph, including: generating, at the computing device, a factor graph from the translation hypergraph, wherein the factor graph is an isomorphic transformation of the translation hypergraph, and generating, at the computing device, the plurality of error surfaces from the factor graph; combining, at the computing device, the plurality of error surfaces to produce a combined error surface; traversing, at the computing device, the combined error surface to select weights for the feature functions that minimize error counts for traversing the combined error surface; and applying, at the computing device, the selected weights to reduce an error count in a decoder that converts a sample of text from a first language to a second language.