Identificazione di dati di clienti simili [duplicati]

-1

Ho un ampio database di clienti. È necessario identificare i clienti con due o più ID cliente.

Questo deriva principalmente dalle persone alla reception che creano nuovi clienti invece di cercare i loro ID esistenti o eseguire una cattiva acquisizione dei dati, quindi finiamo per avere questo genere di cose:

ID         name        surname        birthday
------------------------------------------------
14         Juan        Vazquez        1955-01-20
78         Juan        Vasquez        1980-06-12
85         Juan        Vazquez        1980-06-12

Gli ID 78 e 85 appartengono quasi sicuramente alla stessa persona (si noti lo stesso compleanno ma una leggera differenza nel cognome)

L'ID 14 è sicuramente un'altra persona a causa di una grande differenza nei compleanni relativi ai record simili

Quindi possiamo assegnare equivalenze:

MainID      EquivalentID
------------------------
78          85

Quale soluzione puoi consigliare di identificare record simili basati su regole ?

    
posta azathoth 20.07.2017 - 02:51
fonte

2 risposte

1

L'approccio che ho visto utilizzato per questo è inferenza bayesiana . Ci sono molti dettagli tecnici sul web da trovare su come farlo, ma l'idea di base è che si inizia con una stima della probabilità che due record casuali siano la stessa persona. Poi guardi ogni attributo che vuoi usare e vedi se corrispondono. Ognuno che corrisponde aumenta la possibilità che questa sia la stessa persona. Decidi a quale soglia decidi che sono la stessa persona. Spesso ci sono persone coinvolte nella revisione / conferma di queste.

Come afferma Paparazzi, la distanza di Levenshtein è uno strumento utile. Soundex e altri algoritmi simili sono spesso usati anche ma vorrei fare attenzione che i nomi nel tuo sistema non provengano tutti dallo stesso linguaggio, tali algoritmi "suona come" sono di uso limitato.

Ma qualsiasi test tu possa pensare che ti renderebbe più sicuro che si tratti della stessa persona può essere utilizzato in questo approccio.

    
risposta data 21.07.2017 - 15:59
fonte
0

Per nome puoi usare distanza Levenshtein . Misura la differenza tra le parole.

    
risposta data 21.07.2017 - 15:37
fonte

Leggi altre domande sui tag