Come funziona il testo predittivo?
Ci sono molti modi per costruire un sistema di testo predittivo, ma la maggior parte dei sistemi di testo predittivo hanno impostazioni predefinite che possono essere configurate/modificate/apprese dall'utente. Nei sistemi basati sull'apprendimento, il sistema impara che di solito un insieme di parole in una particolare sequenza si traduce in una particolare parola completa. Così, la disambiguazione da parte dell'utente è inizialmente richiesta, e in seguito la necessità di essa si riduce gradualmente.
Ci possono essere predittori di testo basati su dizionario, che si basano su un dizionario (di una particolare lingua) e suggeriscono parole/correzioni basate su questo dizionario. D'altra parte, ci possono essere predittori non basati su dizionari che prevedono, sulla base di statistiche, la probabilità che una certa lettera (o un insieme di lettere) sia un prefisso di una parola.
Uno dei più popolari predittori di testo, il dizionario T9, è progettato per diventare più intelligente man mano che l'utente lo usa. Un insieme specifico di combinazioni di tasti può risultare in più parole (che sono recuperate dal suo dizionario ad accesso rapido) e la parola più probabile (la parola più usata dall'utente) viene selezionata (per default). Potrebbe anche considerare i bi-grammi, cioè la combinazione di 2 parole che si verificano insieme.
Un modo ingenuo ma spesso usato per implementare un dizionario sarebbe basato su un trie (albero dei prefissi). Un trie è una struttura di dati che memorizza le parole di solito nelle foglie dell'albero, dove i prefissi delle parole sono memorizzati nei nodi intermedi. Così, tutti i figli di un nodo hanno un prefisso comune. Un tale trie è mostrato qui sotto:
Un trie per le chiavi "A", "to", "tea", "ted", "ten", "i", "in", e "inn".
(Fonte: Trie)
Un tale trie può essere memorizzato dal dizionario, e come nuove parole vengono aggiunte/rimosse, opportunamente il trie può essere aggiornato.
Un altro importante miglioramento è quello di utilizzare un trie probabilistico. In un tale trie, ad ogni traversata (prendendo un particolare percorso di un figlio invece dell'altro) viene assegnato un particolare valore di probabilità, che può essere appreso dal comportamento dell'utente. Per es. nell'esempio precedente, se l'utente digita la parola "dieci" più spesso di "tea" o "ted", allora la probabilità del ramo "n" dopo il nodo "te" sarebbe maggiore. Così, il dizionario suggerirebbe "dieci" come completamento automatico predefinito.