1. A computer-readable storage medium having computer-executable instructions that, when executed by a computer, perform a method to parse a phrase, the method comprising: generating at least one parse tree representing a syntactically valid parse of the phrase, wherein the parse tree has hierarchical nodes; calculating a syntactic history for each node.