9. A non-transitory computer readable storage medium having instructions stored thereon that, when executed by a processing device, cause the processing device to perform operations comprising: retrieving, by the processing device, a first document that is subsequently compared with a second document; preprocessing, with a document preprocessor executable by the processing device, the first document to enhance statistical features of the first document, wherein the preprocessing comprises: replacing a prefix in the first document with a semantically similar word of a same language as a language of the prefix, wherein the semantically similar word comprises a different word than the prefix and comprises a meaning of the prefix; computing a plurality of cyclic permutations from a plurality of tokens in the first document; sorting the plurality of cyclic permutations; taking the last token from each permutation of the set of cyclic permutations, and outputting a string constructed from the plurality of last tokens; transforming the first document into a first preprocessed document by matching the prefix and a trailing context in the first document with matching prefixes in a transformation database, wherein the prefix comprises a first string of tokens of the plurality of tokens in the first document and the trailing context comprises a second string of tokens of the plurality of tokens that trail the prefix in the first document; and transforming the first preprocessed document into a second preprocessed document by rearranging an order of the plurality of tokens in the first preprocessed document.
12. The non-transitory computer readable storage medium of claim 9 , wherein the operations further comprises: sorting the matching prefixes according to the weighting; and selecting one of the matching prefixes that has the highest weight.