Ho due elenchi di dati, A e B. Questi elenchi sono essi stessi aggregati da più fonti e contengono errori di battitura, abbreviazioni non trovate nell'altro, e mancano anche di un mapping 1-1, ma non avranno mai un valore in A che esegue il mapping su due valori in B e viceversa.
In questo momento, stiamo facendo una partita ingenua (confronto tra stringhe) per creare una mappa tra i due elenchi. Questo ha una precisione di circa l'80%. Mi piacerebbe ottenere quella precisione almeno al 90% (il 95% sarebbe incredibile).
Esistono strumenti software che possono essere utilizzati per qualcosa di simile? Mi piacerebbe una sorta di strumento in grado di attraversare entrambe le liste e suggerire corrispondenze.
Aggiornamento dai commenti:
Al momento, produciamo un hit solo se A[x] == B[y]
. Questo ci fornisce le corrispondenze per l'80% dei dati nei set di dati (che contengono circa cinquantamila righe ciascuno). Quello che mi piacerebbe fare è trovare uno strumento o svilupparne uno basato su un algoritmo che mi consenta di suggerire una corrispondenza per due valori che hanno probabilmente lo stesso significato, ad es. KING ROAD
e KG RD
. Queste potenziali corrispondenze sarebbero quindi fornite a un essere umano da esaminare, approvare o ignorare. In generale, userei qualcosa come Levenshtein, ma questo è un po 'di dati parametrizzati (indirizzi di pensiero) e non so come applicare qualcosa come Levenshtein ai dati strutturati.