9. A computer system for determining a likelihood of a first and second document describing similar subject matter, the computer system comprising: a processor; and a memory; wherein the computer system is configured to: obtain a set of tokens for each of the first and second documents, wherein each set of tokens represents a series of characters found in its corresponding document; provide a matrix of token pairs, each token pair comprising a first token from the set of tokens corresponding to the first document and a second token from the set of tokens corresponding to the second document; generate a similarity score for each token pair in the matrix by: assigning each of the first token and the second token to one of a first type, a second type, or a third type based on the content of the tokens; setting the similarity score for the token pair to a floor value when the type of the first token is different from the type of the second token; setting the similarity score for the token pair based on a first calculation when the first token and the second token are of the first type; setting the similarity score for the token pair based on a second calculation different from the first calculation when the first token and the second token are of the second type; and setting the similarity score for the token pair based on a third calculation different from the first and second calculations when the first token and the second token are of the third type; identify those token pairs in the matrix with a similarity score above a threshold score and add the identified token pairs to a set of matched tokens; determine a similarity score for the first and second documents according to the scores of the token pairs in the set of matched tokens; and provide the determined similarity score as the likelihood of the first and second documents describing similar subject matter.
9. A computer system for determining a likelihood of a first and second document describing similar subject matter, the computer system comprising: a processor; and a memory; wherein the computer system is configured to: obtain a set of tokens for each of the first and second documents, wherein each set of tokens represents a series of characters found in its corresponding document; provide a matrix of token pairs, each token pair comprising a first token from the set of tokens corresponding to the first document and a second token from the set of tokens corresponding to the second document; generate a similarity score for each token pair in the matrix by: assigning each of the first token and the second token to one of a first type, a second type, or a third type based on the content of the tokens; setting the similarity score for the token pair to a floor value when the type of the first token is different from the type of the second token; setting the similarity score for the token pair based on a first calculation when the first token and the second token are of the first type; setting the similarity score for the token pair based on a second calculation different from the first calculation when the first token and the second token are of the second type; and setting the similarity score for the token pair based on a third calculation different from the first and second calculations when the first token and the second token are of the third type; identify those token pairs in the matrix with a similarity score above a threshold score and add the identified token pairs to a set of matched tokens; determine a similarity score for the first and second documents according to the scores of the token pairs in the set of matched tokens; and provide the determined similarity score as the likelihood of the first and second documents describing similar subject matter. 16. The computer system of claim 9 , wherein identifying those token pairs in the matrix with a similarity score above a threshold score and adding the selected token pairs to a set of matched tokens comprises repeatedly: identifying the token pair in the matrix with the highest similarity score; adding the identified token pair to the set of matched tokens; and removing the tokens of the identified token pair from the matrix; until there are no token pairs in the token matrix with a similarity score above a threshold score.