2011-07-19 10 views
2

ファジー検索のLevenshtein Distance Algorithmを検索しましたが、いずれかが私の行っていることに本当に適しているかどうかはわかりません。あなたの考えを知っていれば教えてください。人の名前に基づいた提案を作成する

私はどのようにしてユーザーのフルネームを取得し、同様の名前のリストを生成できますか?私は、アカウント作成前の最後のステップとして「あなたは誰もあなたの誰もあなたではないと確信していますか?」を提供することで、ユーザーがアプリケーション内に複数のアカウントを作成することを防止したいと考えています。

私はこの記事を見つけたが、それは(http://stackoverflow.com/questions/988050/matching-records-based-on-person-name)

私が使用している完全にSQLベースのですc#/ Linq、SqlServer。

ありがとうございました!ここで

+0

私の推薦は 'SOUNDEX()'を見てだろうが、それはまた、あなたのSQLソリューションです使用しているように見える。 – Yuck

+0

はい、私はそれをC言語で保管したいと思っています。 – Mark

+1

投稿したSQLの回答を使用することもできます。ちょうどストアドプロシージャを作成し、linqからそれを呼び出す –

答えて

0

も評価されるようです正確なが姓で一致し、最初の名前の差異だけを推測しようとします。これはあなたの仕事の分野をかなり狭めるでしょう。

あなたのコメントで示唆したように、文字の長さの+/-数文字のルールと、一致する必要がある文字のしきい値(80%)のルールを適用できます。

また、最初のX文字にも一致する名前だけを表示することができます。ほとんどの英語の名前の偏差はX文字の後になります。

例:

  • ジョン・ドウ
  • ジョニー・ドウ
  • ジョナサンドウ
関連する問題