Parte 1, Parte 2
Oggigiorno i computer conservano una quantità enorme di dati. Tuttavia il recupero delle informazioni testuali è difficile quando è errata o non nota l'ortografia.
Questo articolo è dedicato agli algoritmi per il confronto approssimativo delle stringhe di testo e fornisce una descrizione semplice ma chiara degli algoritmi, corredandola con alcuni esempi.
In primo luogo spiegheremo le procedure che costruiscono i codici fonetici per il testo cercato che suona in modo identico, ma è scritto diversamente. Quindi spiegheremo le procedure che forniscono diversi tipi di metrica testuale di somiglianza usate in una ricerca che tollera gli errori. In conclusione, verranno confrontate le procedure affinché il lettore possa scegliere quella più adatta. In fondo all'articolo si trovano le risorse.
Sono graditi commenti e domande che è possibile inviare al seguente indirizzo e-mail: alexandre.rodichevski@chiappani.it.
Le procedure qui presentate vengono utilizzate per semplificare le ricerche nei database nei casi in cui si sa come il testo viene pronunciato ma non come viene scritto. A questo scopo vengono costruiti i codici fonetici per il testo cercato, mentre il database viene preventivamente indicizzato usando tali codici. I cognomi che hanno la stessa pronuncia ma diversa scrittura, come SMITH e SMYTH, hanno lo stesso codice e possono essere archiviati insieme. L'uso dei codici fonetici riduce i problemi di abbinamento quando il testo è scritto con gli errori o in modo differente.
I codici fonetici sono molto utili per abbinare le liste dei nomi personali o delle denominazioni delle imprese. Inoltre sono usati per il riconoscimento vocale e nei motori di ricerca dei database come quelli dell'antiterrorismo.
Soundex costruisce codici fonetici per i nomi personali. Il codice è costituito di una lettera e di tre cifre, ogni cifra corrispondente ad uno di sei suoni consonantici. La procedura è stata applicata per la prima volta nel censimento degli Stati Uniti del 1880.
Nel 1985 la nuova procedura Daitch-Mokotoff Soundex è stata applicata per codificazione fonetica dei cognomi slavici o yiddish con simile pronuncia ma differente scrittura. I miglioramenti più importanti sono i seguenti: il codice si compone di sei caratteri; ci sono due codici differenti quando un nome ha due pronunce possibili; il codice si compone di dieci cifre da 0 a 9.
L'algoritmo del Sistema di identificazione e delle informazioni dello stato di New York (NYSIIS - New York State Identification and Intelligence System) è stato sviluppato nel 1970 attraverso una rigorosa analisi empirica. In questo algoritmo viene costruito un codice fonetico fino a 6 lettere.
L'algoritmo codifica foneticamente le parole riducendole a 16 suoni consonantici: B, X, S, K, J, T, F, H, L, M, N, P, R, 0, W, Y. Zero rappresenta il suono "Th"; X sta per "Sh".
Doppio metaphone (Double metaphone) è la versione migliorata di Metaphone. Questo algoritmo codifica foneticamente le parole riducendole a 12 suoni consonanti. Restituisce due chiavi se una parola ha due pronunce possibili.
La procedura di confronto fonetico Caverphone è stata creata nel progetto Caversham all'università di Otago nella Nuova Zelanda in 2002. La procedura ammette gli accenti presenti nella zona studiata (parte del sud della città di Dunedin in Nuova Zelanda).
Una nuova versione, Caverphone 2.0, è stata sviluppata come un algoritmo fonetico di applicazione più vasta.
Algoritmi di confronto approssimativo delle stringhe di testo
Parte 1, Parte 2