Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 4 su 4

Similitudine di due stringhe

  1. #1
    XXPATELLAXX non è in linea Novello
    Buongiorno a tutti,

    Vi spiego il mio problema, ho nel database Access una tab_anagrafiche contenente + di 18.000 clienti, tramite EDI dei nostri partner ci inviano file contenenti anagrafiche che dobbiamo caricare nel nostro Db, quello che vorrei evitare è di crearne delle nuove quando non necessario perché già esistenti.

    Mi spiego meglio: tab_anagrafiche
    Campi:
    den_sociale
    indirizzo
    Stato
    Cap
    Localita

    In tabella ho per esempio il cliente: F.lli Rossi S.r.l. Via Fabrizio Massimo 22 10099 San Mauro Torinese TO Italia

    Mi arriva un file che dovrei caricare con l'anagrafica che potrebbe essere scritta nei seguenti modi (che quindi non dovrebbe essere accodata al Db perché già esistente):

    Fratelli Rossi Srl oppure
    Rossi Fratelli S.r.l. oppure
    Flli Rossi oppure
    Fratelli Rossi oppure
    etc. etc.
    Via F. Massimo 22
    10099 S. Mauro T.se TO Italia

    Prima di tutto pensavo di caricare le anagrafiche in arrivo su una tabella "temporanea" (tab_ana_temp) poi parto dalla prima e faccio una query cercando le anagrafiche su tab_anagrafiche che hanno lo stesso Stato e i primi due digit del Cap (perché anche il Cap potrebbe essere errato tipo Torino 10152 invece di 10151), in questo modo riduco sensibilmente il numero di anagrafiche da matchare, poi?

    Ho letto dei thread inerenti alla distanza di Levenshtein ed altri invece consigliavano di utilizzare semplicemente il Like, ma nel caso di F.lli Rossi S.r.l. Via Fabrizio Massimo 22 10099 San Mauro Torinese TO Italia in tab_anagrafiche VS Fratelli Rossi Via F. Massimo 22 10099 S. Mauro T.se TO Italia, se applicassi l'algoritmo di Levenshtein sulla ragione sociale il risultato sarebbe deludente, mentre funzionerebbe il Like ma solo su di una parte (Rossi)

    Avete idee in merito?

    Grazie a tutti

  2. #2
    Sgrubak non è in linea Scribacchino
    Non hai a disposizione il campo Partita Iva? Quello dovrebbe essere univoco e lo inserisci solo se non presente.

  3. #3
    Sposto nella sezione Access del forum... attenzione..
    ℹ️ Leggi di più su AntonioG ...

  4. #4
    L'avatar di willy55
    willy55 non è in linea Scribacchino
    Premesso che la soluzione di un identificativo univoco (come la Partita IVA, indicata da Sgrubak) è la soluzione ottimale che risolve la problematica, in ogni caso nel caso ciò non sia possibile per determinare la similitudine fra due stringhe (che comprendono nominativo ed indirizzo) vi sono diverse logiche che possono comprendere algoritmi che vanno calati nella realtà operativa e adattati ai casi che nel corso nel tempo si presentino.
    Giusto per dire, la distanza di Levenshtein (da te citata) è preferibile applicarla a sotto-stringhe, valutando le varie porzioni, in quanto se agisse sulla stringa complessiva non fornirebbe valori significati.
    Andrebbero identificati i termini che corrispondono a nomi di città, provincia, CAP, via, civico, ecc.
    Inoltre la distanza di Levenshtein andrebbe integrata con elementi di fuzzy matcher statistici alimentati da luoghi reali o nomi di strade confrontati con uno stradario.
    Appoggiarsi ad un archivio dei codice postali faciliterebbe a localizzare la città e magari la parte rimanente quale indirizzo,
    Dizionari e base dati specifiche possono essere criteri che ne discriminano la identificazione.
    Ulteriormente si può accedere ad applicativi sul Web (come Google-Maps, Bing Maps, ecc.) che forniscono e svolgono una determinazione dell'indirizzo.

    Sull'argomento puoi vedere queste discussioni:
    https://www.it-swarm.dev/it/algorith...he/l966968950/
    https://qastack.it/software/330934/w...ing-similarity
    inoltre i criteri che applica l'ISTAT per valutare identità e somiglianza degli indirizzi:
    https://www.istat.it/it/files/2016/0...ascicolo_5.pdf
    https://www.istat.it/it/files/2015/0...SCO_DIPEDE.pdf
    e magari puoi leggere questi ulteriori applicabili algoritmi:
    https://databularium.com/it/2015/08/...nghe-di-testo/
    https://en.wikipedia.org/wiki/Nearest_neighbor_search
    https://amslaurea.unibo.it/19129/1/g...iulia_tesi.pdf
    ℹ️ Leggi di più su willy55 ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Similitudine di due stringhe
    Da XXPATELLAXX nel forum Microsoft Word
    Risposte: 2
    Ultimo Post: 24-08-2020, 16:15
  2. Controllo similitudine contenuto celle
    Da ghosts nel forum Microsoft Word
    Risposte: 7
    Ultimo Post: 09-02-2010, 10:59
  3. Confronto tra stringhe in vb6
    Da ferrari nel forum Visual Basic 6
    Risposte: 44
    Ultimo Post: 13-10-2004, 17:50
  4. Stringhe... HELP...
    Da Dami7 nel forum Visual Basic 6
    Risposte: 5
    Ultimo Post: 14-06-2004, 14:27
  5. Stringhe
    Da lucagalbu nel forum Visual Basic 6
    Risposte: 6
    Ultimo Post: 23-04-2004, 22:36