1. A machine translation method for translating source text from a first language to target text in a second language, comprising: receiving the source text in the first language; accessing a library of bi-fragments stored in computer memory, each of the bi-fragments including a text fragment from the first language and a text fragment from the second language, at least some of the bi-fragments comprising non-contiguous bi-fragments in which at least one of the text fragment from the first language and the text fragment from the second language comprises a non-contiguous fragment; and retrieving text fragments from the second language from the library corresponding to text fragments in the source text, including retrieving a non-contiguous bi-fragment for a text fragment in the first language for which the library includes a non-contiguous bi-fragment; generating at least one target hypothesis, each of said target hypotheses comprising text fragments selected from the second language; and evaluating the hypothesis with a translation scoring function, the translation scoring function comprising at least one feature function which accounts for non-contiguous text fragments.