A computer implemented method for intra-language machine translation of phrases in a human language, the method comprising: receiving training data, the training data comprising pairings of source phrases and target phrases (120, 156, 158) in a same human language, wherein the pairings of source phrases and target phrases comprise query strings submitted by users paired with listings that a search engine matched with the query strings; obtaining an initial monotonic alignment between a source form and a target form of a source phrase and a target phrase pair by computing an edit distance; pairing words and/or phrases of the aligned sentences; using the pairs of training data to train (100, 126) an n-gram intra-language statistical machine translation model (160, 162), where the n-gram intra-language statistical machine translation model, when given an input phrase of text in the human language, can compute probabilities of semantic equivalence of the input phrase to possible translations of the input phrase in the human language, wherein the training comprises rearranging at least one of the source and the target phrase of a training pair so that semantically equivalent words of the source and target phrases are aligned; iteratively updating the alignment and parameters of the n-gram intra-language statistical machine translation model (160, 162); and using the n-gram statistical machine translation model to translate between queries and listings, where the queries comprise text strings in the human language submitted to a search engine, where the listing strings comprise text strings of formal names of real world entities that are to be searched by the search engine to find matches for the query strings. receiving training data, the training data comprising pairings of source phrases and target phrases (120, 156, 158) in a same human language, wherein the pairings of source phrases and target phrases comprise query strings submitted by users paired with listings that a search engine matched with the query strings; obtaining an initial monotonic alignment between a source form and a target form of a source phrase and a target phrase pair by computing an edit distance; pairing words and/or phrases of the aligned sentences; using the pairs of training data to train (100, 126) an n-gram intra-language statistical machine translation model (160, 162), where the n-gram intra-language statistical machine translation model, when given an input phrase of text in the human language, can compute probabilities of semantic equivalence of the input phrase to possible translations of the input phrase in the human language, wherein the training comprises rearranging at least one of the source and the target phrase of a training pair so that semantically equivalent words of the source and target phrases are aligned; iteratively updating the alignment and parameters of the n-gram intra-language statistical machine translation model (160, 162); and using the n-gram statistical machine translation model to translate between queries and listings, where the queries comprise text strings in the human language submitted to a search engine, where the listing strings comprise text strings of formal names of real world entities that are to be searched by the search engine to find matches for the query strings.