Estoy trabajando en una aplicación OCR donde necesito seleccionar una opción basada en la entrada de texto del usuario.
Ex:
Available Options:
["python", "ruby", "java", "clojure", "haskell"]
Input: kava
Output: java
Input: ruby
Output: ruby
Input: clujuro
Output: clojure
etc..
mi aplicación está basada en Python, ¿ya existe un algoritmo para resolver este problema?
python
algorithms
strings
Shiv Deepak
fuente
fuente
Respuestas:
Esto se realiza mediante algoritmos de la categoría " coincidencia aproximada de cadenas ". Una medida común para comparar dos cadenas se llama distancia de Levenshtein . Hay una implementación de Python disponible aquí .
Básicamente, compara la entrada con las salidas posibles y elige la que tenga la menor distancia a la salida deseada.
El artículo de Wikipedia también menciona varios otros algoritmos que puedes probar en caso de que necesites algo más específico.
fuente
Podrías usar google "¿quisiste decir?" API ...
http://pygoogle.sourceforge.net/dist/doc/public/google-module.html#doSpellingSuggestion
fuente