1. A method for generating a translation rule ( 308 ) to support natural language search, comprising: receiving a first expression ( 304 A) and a second expression ( 304 B); generating a first representation ( 402 ) based on the first expression ( 304 A); generating a second representation ( 406 ) based on the second expression ( 304 B); determining aligned pairs of a first term in the first representation ( 402 ) and a second term in the second representation ( 406 ); replacing, for each aligned pair, the first term in the first representation ( 402 ) and the second term in the second representation ( 406 ) with a variable associated the aligned pair; upon replacing the variables that correspond to the aligned pairs with the variable, removing word facts from the first representation ( 402 ) and the second representation ( 406 ) that occur in both the first representation and the second representation; upon removing the word facts that correspond to the replaced variables, replacing the remaining word facts in the first representation ( 402 ) with a broader representation of the word facts; and upon replacing the remaining word facts in the first representation ( 402 ) with the broader representation, generating the translation rule ( 308 ) including the first representation ( 402 ), an operator ( 404 ), and the second semantic representation ( 406 ).