ユーザーが入力した名前と住所に基づいて、連絡先に最も近い一致を返すアルゴリズムを作成する必要があります。会社名と住所を入力する方法はたくさんあるので、これらは両方とも厄介です。たとえば、次のようになります。
Company A, 123 Any Street Suite 200, Anytown, AK 99012
Comp. A, 123 Any St., Suite 200, Anytown, AK 99012
CA, 123 Any Street Ste 200, Anytown, AK 99012
名前でレーベンシュタイン距離を実行することを検討しましたが、名前を省略できるため、これは優れたツールではないようです。可能な限り多くの情報に一致するものを探しています。
私の最初の試みは、最初に郵便番号の最初の5桁で結果を制限し、次に他の情報に基づいて1つにフィルターをかけることでしたが、これを行うにはより標準的なアプローチが必要です。私は.NETで作業していますが、これを実現する方法についてのアイデアを得るために提供できるコードを調べます。