У меня есть набор опорных слов (правильно написано), и мне нужно взять слово ввода пользователя. Входное слово сравнивается со списком ссылок, используя расстояние levenshtein, и мне нужно вернуть слово из списка ссылок, которое имеет самую низкую стоимость. Кроме того, этот список ссылок сортируется по частотам, поэтому сверху появляются более высокие частоты. Если расстояние равно 2 словам, возвращается слово с более высокой частотой. «NWORDS» - это список ссылок, отсортированный по частоте. «Кандидат» - это введенное пользователем слово.Levenshtein Цикличность расстояния в Python
Код:
for word in NWORDS: #iterate over all words in ref
i = jf.levenshtein_distance(candidate,word) #compute distance for each word with user input
#dont know what to do here
return word #function returns word from ref list with lowest dist and highest frequency of occurrence.
Levenstein расстояние не так подходить к этой проблеме. http://norvig.com/spell-correct.html –
См. также этот вопрос: http://stackoverflow.com/questions/2294915/what-algorithm-gives-suggestions-in-a-spell-checker – Krumelur
это просто часть всей проблемы. Я уже реализовал peter norvig до этого, но мне нужно повысить эффективность с помощью levenshtein. И мои данные содержат очень мало английских слов. –