Algoritmi di corrispondenza nel contesto dei problemi di qualità dei dati

2

Lavoro per un'organizzazione che ha molti database contenenti informazioni sulla persona. La qualità dei dati è scarsa. Un caso era un cognome che ho trovato in questo modo (questo è lo scenario peggiore):

Contrassegna "Non so il suo cognome, ma suonava come Lion 'RAR', Ha ha"

C'è una data di nascita di: 01/09/1499

Questo è uno scenario peggiore. La maggior parte dei problemi di qualità dei dati è dovuta alla pressione di un tasto sbagliato sulla tastiera, ad es. Snith invece di Smith (n è accanto a me sulla tastiera).

Sto cercando algoritmi che possano aiutarmi con una sorta di "corrispondenza sfocata" in queste circostanze. I nostri requisiti coinvolgono diversi milioni di record al giorno. Ho cercato "corrispondenza dati" e ho scoperto i seguenti algoritmi:

SQL SOUNDEX 
SQL METAPHONE
Levenshtein Distance

Esiste anche una possibile corrispondenza per le date di nascita? Una possibile corrispondenza per un cognome era che la distanza di Levenstein era dell'80%.

Quindi ho due domande:

  1. Quali algoritmi sono disponibili eccetto i tre sopra specificati?

  2. Quali approcci vengono utilizzati per abbinare possibili indirizzi

posta w0051977 11.12.2014 - 14:09
fonte

1 risposta

2

Per la data di nascita e le persone in generale, sarà necessario verificare se quella persona esiste e se il loro indirizzo è valido.

Puoi eseguire entrambe le operazioni utilizzando i servizi di terze parti che:

  • Convalida se la persona è una persona reale
  • Convalida e standardizza le informazioni sugli indirizzi

Puoi farlo tu stesso usando gli algoritmi che hai menzionato, ma perché reinventare la ruota e molto probabilmente la tua implementazione sarà difettosa.

La maggior parte di questi servizi è configurabile e consente di inviare informazioni come nome, DOB, numero di telefono e cercherà di cercare se quella persona esiste.

Lo stesso vale per le informazioni sugli indirizzi. Tenterà di standardizzare l'indirizzo, di localizzarlo (vedere se esiste realmente) e di restituire di nuovo l'indirizzo standardizzato.

In entrambi questi scenari, non è possibile restituire hit, il che significa che la persona non viene trovata o gli indirizzi non vengono trovati. In questi casi probabilmente hai un individuo o un indirizzo falso come quello presente nei tuoi dati di esempio.

Inoltre, a volte potrebbe restituire più corrispondenze o corrispondenze inferiori al 100%. Ad esempio, se l'unica informazione valida è un numero di telefono, potrebbe restituire più persone a quel numero di telefono.

Per partite inferiori a quelle assolute potresti impostare un fattore di confidenza a cui vuoi abbinare, come il 90%. Qualunque cosa al di sotto di quel numero entra in un rapporto che richiederà un intervento manuale. Le persone che non corrispondono devono essere eliminate dal tuo datastore in quanto si tratta di dati spazzatura.

    
risposta data 11.12.2014 - 19:46
fonte

Leggi altre domande sui tag