Делать предложения на основе имени человека

Поэтому я искал нечеткий поиск, алгоритм расстояния Левенштейна, и я не уверен, подходит ли он для того, что я делаю. Пожалуйста, дайте мне знать ваши мысли, если таковые имеются...

Как я могу взять полное имя пользователя и создать список похожих имен? Я хочу запретить пользователю создавать несколько учетных записей в приложении, указав "Привет, ты уверен, что ни один из них не ты", как последний шаг перед созданием учетной записи.

Я нашел эту статью, но она полностью основана на SQL (http://stackru.com/questions/988050/matching-records-based-on-person-name)

Я использую C# / Linq, SqlServer.

Спасибо за ваше время!

2 ответа

Вот ссылка на реализацию SOUNDEX в.NET:

http://www.codeproject.com/KB/recipes/soundex.aspx

Я не использовал это, но это, кажется, оценено хорошо

Если бы это был я, мне потребовалось бы точное совпадение с фамилией, а затем только попытался бы угадать отклонения имени. Это немного сузит вашу область работы.

Затем, как вы предложили в своих комментариях, вы можете применить правила +/- несколько символов длины имени, а также допустимое пороговое значение (80%) символов должно совпадать.

Кроме того, вы можете просматривать только имена, которые также совпадают с первыми символами X, так как большинство английских отклонений имен будут после числа X символов.

Пример:

  • Джон Доу
  • Джонни Доу
  • Джонатан Доу
Другие вопросы по тегам