Сопоставление строк очень специфично для проблемы, потому что в большинстве случаев у вас будут совпадать характеристики шума в строках, будь то дополнительная пунктуация, опечатки или орфографические ошибки. Вам нужно будет найти алгоритм, который подходит для проблем ваших входных данных, если вы делаете это в широком масштабе.
Soundex придаст вам уверенность в том, что две строки звучат одинаково, но вам, возможно, придется сначала выполнить некоторую предварительную очистку (например, удалить пунктуацию и разбить строку на отдельные слова).
Лучшее, что вы можете сделать, - это запустить тест. Существует огромное количество различных алгоритмов, которые вы можете использовать, отличным является levenshtein, как и soundex (хотя ваш пробег зависит от вашей проблемной области). К тому же, существуют два варианта этих двух алгоритмов.
Я предлагаю взглянуть на библиотеки simmetrics и вторая строка , в которых есть множество реализаций сопоставления строк (из двух я предпочитаю вторую библиотеку строк).
Похоже, вам предстоит решить интересную проблему, удачи!