私は文字列の比較のために Double Metaphone と Caverphone2 を使用してきましたが、名前や住所などでうまく機能します (Caverphone2 が私には最適です)。ただし、電話番号、IP アドレス、クレジット カード番号などの数値に到達すると、あまりにも多くの誤検知が発生します。
そこで、 LuhnとVerhoeffのアルゴリズムを調べましたが、それらは本質的に私が望むものを説明していますが、完全ではありません。それらは検証には優れているように見えますが、あいまい一致用に構築されているようには見えません。ファジー文字列アルゴリズムと同様のエンコードと比較の目的で、1 桁のエラーと隣接する 2 桁を含む転置エラーを検出できる Luhn と Verhoeff のように動作するものはありますか?
数値をエンコードしてから、それを他の 100,000 の数値と比較して、ほぼ同一の一致を見つけたいと思います。したがって、7041234 のようなものは転記エラーの可能性として 7041324 と一致しますが、4213704 のようなものは一致しません。