10. A data processing apparatus for identifying a document within a block of text, comprising: a processor configured to: (i) tokenize a block of text into a plurality of text tokens according to at least one rule parser; (ii) compare each of the plurality of text tokens to a plurality of document tokens sequentially and determine if the text token matches one of the plurality of document tokens, wherein the plurality of document tokens correspond to a plurality of documents which have been tokenized according to the at least one rule parser; (iii) filter each matched text token according to predetermined filtering criteria to generate one or more candidate text tokens; and (iv) match a sequence of candidate text tokens from the one or more candidate text tokens to a sequence of document tokens, wherein the sequence of candidate text tokens occur in sequential order within the block of text, wherein the predetermined filtering criteria includes a plurality of stop words and a plurality of common words, and wherein the processor is further configured to filter a matched text token by comparing the matched text token to the plurality of stop words, wherein (i) if the matched text token matches one of the plurality of stop words, a next text token in sequential order, of the plurality of text tokens, is compared to the plurality of document tokens, and (ii) if the matched text token does not match one of the plurality of stop words, a common word analysis of comparing the matched text token to the plurality of common words is performed, such that (a) if the matched text token matches one of the plurality of common words and is not capitalized, the next text token in sequential order is compared to the plurality of document tokens, and (b) if the matched text token does not match one of the plurality of common words, the matched text token is identified as a candidate text token, and the next text token in sequential order is compared to the plurality of document tokens.
10. A data processing apparatus for identifying a document within a block of text, comprising: a processor configured to: (i) tokenize a block of text into a plurality of text tokens according to at least one rule parser; (ii) compare each of the plurality of text tokens to a plurality of document tokens sequentially and determine if the text token matches one of the plurality of document tokens, wherein the plurality of document tokens correspond to a plurality of documents which have been tokenized according to the at least one rule parser; (iii) filter each matched text token according to predetermined filtering criteria to generate one or more candidate text tokens; and (iv) match a sequence of candidate text tokens from the one or more candidate text tokens to a sequence of document tokens, wherein the sequence of candidate text tokens occur in sequential order within the block of text, wherein the predetermined filtering criteria includes a plurality of stop words and a plurality of common words, and wherein the processor is further configured to filter a matched text token by comparing the matched text token to the plurality of stop words, wherein (i) if the matched text token matches one of the plurality of stop words, a next text token in sequential order, of the plurality of text tokens, is compared to the plurality of document tokens, and (ii) if the matched text token does not match one of the plurality of stop words, a common word analysis of comparing the matched text token to the plurality of common words is performed, such that (a) if the matched text token matches one of the plurality of common words and is not capitalized, the next text token in sequential order is compared to the plurality of document tokens, and (b) if the matched text token does not match one of the plurality of common words, the matched text token is identified as a candidate text token, and the next text token in sequential order is compared to the plurality of document tokens. 11. A data processing apparatus according to claim 10 , wherein the plurality of documents include artist names, misspellings of the artists names, aliases of the artist names, song titles, misspellings of the song titles, and aliases of the song titles.