1. A computer-implemented method of parsing data using a plurality of pattern matching rules, the method comprising: parsing training data using a plurality of pattern matching rules; assigning a pattern matching rule as a parent rule of one or more child rules upon determining that failure of the parent rule to match the training data is a predictor of the one or more child rules failure to match the training data; receiving data as input to be parsed; and parsing the data using the plurality of pattern matching rules, the plurality of pattern matching rules organized according to a hierarchy including the parent rule and the one or more child rules of the parent rule, and wherein the parsing comprises: applying the parent rule to the data, determining the parent rule is unable to find a pattern match in the data, and bypassing application of each child rule to the data in response to the determination that the parent rule is unable to find a pattern match.
6. The method of claim 1 , wherein the data is unstructured data combined from a plurality of different data sources.