What weights are associated with these various permutations?  I would assume for example, that the user is more likely to mistype a key and hit a neighboring key than they are to add an extra character to their input. So predictions based on near-key replacements should probably have a higher ranking than predictions based on character deletions.