9. The computer program product of claim 8 further comprising instructions for incrementing at least one of: a first pair counter configured to increment if the first unidentical substring pair is in the training data; a first substring counter configured to increment if the first unidentical substring is in the training data; a second substring counter configured to increment if the second unidentical substring is in the training data; a second pair counter configured to increment if the second unidentical substring pair is in the training data; a third substring counter configured to increment if the third unidentical substring is in the training data; and a fourth substring counter configured to increment if the fourth unidentical substring is in the training data.
9. The computer program product of claim 8 further comprising instructions for incrementing at least one of: a first pair counter configured to increment if the first unidentical substring pair is in the training data; a first substring counter configured to increment if the first unidentical substring is in the training data; a second substring counter configured to increment if the second unidentical substring is in the training data; a second pair counter configured to increment if the second unidentical substring pair is in the training data; a third substring counter configured to increment if the third unidentical substring is in the training data; and a fourth substring counter configured to increment if the fourth unidentical substring is in the training data. 10. The computer program product of claim 9 further comprising instructions for: generating a matching score for each variant string pair in the training data, based upon, at least in part, at least one of the first pair counter, the first substring counter, the second substring counter, the second pair counter, the third substring counter, and the fourth substring counter.