6. A computer readable storage medium storing instructions executable by a processor, the instructions when executed causing a processor to: receive a document comprising text; parse the document to generate a token set comprising a plurality of tokens, each token corresponding to the text in the document separated by a predefined character characteristic; calculate a score for each token in the token set based on a frequency and distribution of the text in the document; rank each token in the token set based on the calculated score; select, from the ranked tokens a predetermined number of top ranked tokens to limit a number of signatures generated for said document; and generate a signature for each occurrence of the selected tokens, wherein said score calculation is such that a more even distribution of the occurrences of the text in the document results in a higher score, and wherein said score for each token is proportional to a first quantity divided by a second quantity, further wherein the first quantity comprises a position of a last occurrence of the text in the document minus a position of a first occurrence of the text in the document, and further wherein the second quantity comprises a square root of a sum of squares of differences in positions between adjacent occurrences of the text in the document.
8. The computer readable storage medium of claim 6 , further comprising instructions to cause the processor to output a predetermined number of top signatures in a list.