21. A data processing system, the system comprising: an input for receiving text, the input coupled to a processor through a bus; a pattern engine executing on the processor; a statistical engine executing on the processor, wherein the pattern engine and the statistical engine together detect data of a plurality of predetermined types in the text, the statistical engine converting the text into a first sequence of tokens, each token comprising a lexeme and a token type relating to the function of the lexeme within the text and having a predetermined probability that the corresponding data is of at least one of the predetermined types, the pattern engine converting the text into a second sequence of tokens, each token corresponding to data that matchers a predetermined pattern indicative of the at least one of the predetermined types, the pattern engine further parsing a combination of the first and second sequence of tokens; and a comparison engine executing on the processor to compare the first and second sequence of tokens, wherein when corresponding tokens from the first and second sequence of tokens for a portion of the text are the same, parsing only one of the corresponding tokens, when the token are not name tokens and the corresponding tokens are different, parsing both corresponding tokens, and when the tokens are name tokens and the corresponding tokens are different, parsing the corresponding token only from the statistical engine; and an output for outputting the data corresponding to the combination of tokens as the data that matches the predetermined pattern, the output coupled to a processor through the bus.
22. The system according to claim 21 , wherein the at least one of said predetermined types is an address and the subset of types comprises at least one of a street, a town, a county, a state, a country and a postal code.