Domanda

Mi chiedo se qualcuno ha buone risorse da leggere o programmare per sperimentare "completamento automatico"

Vorrei sapere qual è la teoria alla base del completamento automatico, da dove iniziare quali sono gli errori comuni ecc.

Ho trovato affascinante il modo in cui prodotti come Enso, Launchy, Google Chrome e persino tcsh eseguono il loro completamento automatico, ho iniziato da solo per curiosità un po 'di codice di esempio e sono arrivato alla conclusione che questo deve essere un campo ampiamente esplorato prima.

Gradirei se qualcuno condividesse qualche buona risorsa tecnica su come implementarlo.

Grazie in anticipo.

È stato utile?

Altri suggerimenti

Dai un'occhiata a questo blog sull'implementazione del completamento automatico utilizzando GWT:

http://jroller.com/glongman/entry/gwt_autocompleter

Ma ti consiglio di iniziare con qualcosa di molto semplice da solo per capire come viene eseguita l'implementazione. Comincerei con un Trie, forse anche memorizzato completamente sul client, quindi passerei all'ottimizzazione con le query del server se ritieni che siano necessarie.

Il completamento automatico viene in genere implementato utilizzando una delle seguenti opzioni:

  • Alberi . Indicizzando il testo ricercabile in una struttura ad albero (albero dei prefissi, albero dei suffissi, dawg, ecc.) È possibile eseguire ricerche molto veloci a spese della memoria. L'attraversamento dell'albero può essere adattato per una corrispondenza approssimativa.
  • Partizionamento dei pattern . Suddividendo il testo in token (ngram) è possibile eseguire ricerche per occorrenze di pattern utilizzando un semplice schema di hashing.
  • Filtri . Trova una serie di potenziali corrispondenze e quindi applica un algoritmo sequenziale per controllare ciascun candidato.

Un paio di articoli sull'argomento:

  • Bo & # 345; ivoj Melichar. Corrispondenza approssimativa delle stringhe di Automi finiti;
  • Gonzalo Navarro. Una visita guidata alla corrispondenza approssimativa delle stringhe;
  • Leonid Boytsov. Metodi di indicizzazione per la ricerca approssimativa nel dizionario: analisi comparativa;
  • Marios Hadjieleftheriou e Divesh Srivastava. Elaborazione approssimativa delle stringhe;
  • Surajit Chaudhuri e Raghav Kaushik. Estensione del completamento automatico per tollerare errori;

Dai un'occhiata a completamente , una libreria di completamento automatico Java.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top