Newsgroup: it.comp.appl.access
Titolo: Cerca per "somiglianza"

Salve a tutti lettori dell'ng;
ho cercato se c'era questa domanda già in post precedenti ma nn ho trovato
nulla :(
ho la necessità di ritrovare dei dati inun campo che somiglino a quelli che
io gli dico:
ad esempio ho un campo NOME che contiene centinaia di nomi;
io voglio che se gli dò come input di ricerca "Mario" lui mi trovi anche
"marco" oppure "maria" oppure "Vario"
ma anche "maro" o "mara" etc etc...
avevo pensato di fare qualcosa ad esempio che se le lettere sono simili
all'80% e consecutive quasi nello stesso ordine il record viene considerato
somigliante...
ma non so proprio che fare ^_^
Qualcuno ha qualche brillante idea o può darmi dei consigli? Grazie 1000
Crivella.

 somigliante...
C'era un algoritmo che faceva questo, un esperto, perchè c'aveva provato a
cavarci qualcosa un anno e mezzo fa, era Lbo, prova a chiedere a lui...
Antonio

 wrote in message
news:vvP%5.140984$hk4.5...@news.infostrada.it...

Devi implementare in qualche modo un algoritmo di tipo Soundex; database un
pochetto
più evoluti (SQL7, Oracle ecc.) incorporano specifiche funzioni di Soundex,
in Access
purtroppo bisogna scriversene una in vb.
Ricordo che qualche anno fa la questione saltò fuori e qualcuno postò delle
soluzioni
già belle e fatte in VBA, magari qualche cosa è rimasto sul Sito Comune.
In ogni caso l'algoritmo è piuttosto semplice e su internet si trova un poco
dappertutto,
il vero problema è che è "tagliato" sulla lingua inglese (funziona dando un
peso ad ogni lettera
a seconda della frequenza con cui si ripete) e probabilmente in italiano e
senza aggiustamenti non darà grossi risultati.
Bye, Ste

 Bye, Ste
Esatto, tempo fa ho cercato le frequenze per la lingua italiana, ma non ho
trovato nulla.
-- 
Federico
--------------------------------------
Sito Comune di it.comp.appl.access
http://members.xoom.it/it_db_access
mailto:
it_db_...@usa.net
--------------------------------------
Tutte le richieste che mi arrivano
in privato, vengono cestinate.
--------------------------------------
Rimuovi paperino. per e-mail
--------------------------------------


Ahhaaa, eri tu quello del soundex....
Sarà stato il tuo esordio nel newsguppo o giù di lì!
Bye, Ste

 Bye, Ste
giù di lì :-)


ma anche "maro" o "mara" etc etc...
guarda, è uno dei problemi più impicciosi che storia ricordi.  lo
dovevamo risolvere in un posto dove ho lavorato per correggere gli
errori di inserimento dati da parte del personale addetto, abbiamo
fatto prima a risolverli a mano.  
del soundex ti hanno già detto e non credo ti sia sufficiente.
i passi teorici cui avevo pensato erano creare una specie di spettro
letterale di ogni parola, cioè ti dica quante a, quante b, quante c
ecc. contiene la parola, e poi per ogni lettera vedere quali fossero
le lettere che la precedevano (in pratica una versione ridotta dello
spettro).  
confrontando questi valori tra di loro dovresti avere un indice
approssimativo della somiglianza di due stringhe.
--
non studio non lavoro non guardo la tv
non vado al cinema non faccio sport
----------------------------------------
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access