Come selezionare l'opzione più probabile dall'elenco in base al testo utente Input

11

Sto lavorando su un'applicazione OCR in cui devo selezionare un'opzione in base all'input di testo dell'utente.

Ex:
Available Options:
["python", "ruby", "java", "clojure", "haskell"]

Input: kava
Output: java

Input: ruby
Output: ruby

Input: clujuro
Output: clojure

etc.. 

la mia applicazione è basata su Python, esiste già un algoritmo per risolvere questo problema.

    
posta Shiv Deepak 08.08.2011 - 10:08
fonte

2 risposte

10

Questo viene fatto dagli algoritmi della categoria " corrispondenza approssimativa della stringa ". Una misura comune per confrontare due stringhe è chiamata distanza Levenshtein . È disponibile un'implementazione python qui .

In pratica confronti l'input con le uscite possibili e scegli quello con la distanza più piccola dall'output desiderato.

L'articolo di wikipedia menziona anche vari altri algoritmi che puoi provare nel caso tu abbia bisogno di qualcosa di più specifico.

    
risposta data 08.08.2011 - 10:17
fonte
7

Potresti usare google "volevi dire?" API ...
link

    
risposta data 08.08.2011 - 11:37
fonte

Leggi altre domande sui tag