Струнное сходство -> расстояние Левенштейна

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

CONAIR
AIRCON

Алгоритм даст расстояние 6. Таким образом, для этого слова из 6 букв (вы смотрите на слово с наибольшим количеством букв), разница составляет 100% = & gt; сходство 0%.

Мне нужно найти способ найти сходство между двумя строками, а также принять во внимание случаи, подобные тому, который я представил ранее.

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

РЕДАКТИРОВАТЬ: Я также посмотрел в "Damerau" Левенштейн " алгоритм, который добавляет транспозиции. Проблема в том, что это транспонирование только для смежных символов (а не для ряда символов).

Ответы на вопрос(7)

Ваш ответ на вопрос