1. A computer implemented method for variant string matching, comprising: comparing with a computing device two unidentical strings in a training variant string pair, the two unidentical strings representing the same item from training data in a memory, to determine if they include an identical substring pair and a first unidentical substring pair including a first unidentical substring and a second unidentical substring; determining if the first unidentical substring pair is in the training data; and entering the first unidentical substring pair into the training data as a first variant string pair if it is not in the training data.