1. A method for generating a translation rule to support natural language search, comprising: receiving a first expression and a second expression; generating a first representation based on the first expression; generating a second representation based on the second expression; determining aligned pairs of a first term in the first representation and a second term in the second representation; replacing, for each aligned pair, the first term in the first representation and the second term in the second representation 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 and the second representation 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 with a broader representation of the word facts; and upon replacing the remaining word facts in the first representation with the broader representation, generating the translation rule including the first representation, an operator, and the second semantic representation.