Я работаю над приложением OCR, где мне нужно выбрать опцию, основанную на вводе текста пользователем.
Ex:
Available Options:
["python", "ruby", "java", "clojure", "haskell"]
Input: kava
Output: java
Input: ruby
Output: ruby
Input: clujuro
Output: clojure
etc..
мое приложение основано на Python, существует ли алгоритм для решения этой проблемы.
python
algorithms
strings
Шив Дипак
источник
источник
Ответы:
Это делается с помощью алгоритмов категории « приблизительное сопоставление строк ». Обычная мера для сравнения двух строк называется расстоянием Левенштейна . Там есть реализация питон доступна здесь .
Вы в основном сравниваете вход с возможными выходами и выбираете тот, у которого наименьшее расстояние до желаемого выхода.
В статье Википедии также упоминаются различные другие алгоритмы, которые вы можете попробовать, если вам нужно что-то более конкретное.
источник
Вы можете использовать Google "Вы имели в виду?" API ...
http://pygoogle.sourceforge.net/dist/doc/public/google-module.html#doSpellingSuggestion
источник