Devo associare automaticamente i nomi dei prodotti (fotocamere, computer portatili, televisori ecc.) Che provengono da fonti diverse a un nome canonico nel database.Corrispondenza sfocata dei nomi dei prodotti
Per esempio "Canon PowerShot a20IS", "NEW powershot A20 IS di Canon" e "fotocamera digitale Canon PS A20IS" dovrebbero tutti i match "Canon PowerShot A20". Ho lavorato con la distanza di levenshtein con alcune euristiche aggiunte (rimuovendo ovvie parole comuni, assegnando un costo maggiore alle variazioni di numero ecc.), Che funziona in una certa misura, ma purtroppo non abbastanza bene.
Il problema principale è che anche le modifiche a una sola lettera nelle parole chiave pertinenti possono fare un'enorme differenza, ma non è facile individuare quali siano le parole chiave pertinenti. Consideriamo per esempio tre nomi di prodotto:
Lenovo T400
Lenovo R400
Nuovo Lenovo T400, Core 2 Duo
Le prime due sono le stringhe ridicolmente simili per qualsiasi standard (ok, soundex potrebbe aiutare in questo caso, per disattivare T e R, ma i nomi potrebbero essere anche 400T e 400R), il primo e il terzo sono piuttosto distanti l'uno dall'altro come stringhe, ma sono lo stesso prodotto.
Ovviamente, l'algoritmo di corrispondenza non può essere preciso al 100%, il mio obiettivo è quello di abbinare automaticamente circa l'80% dei nomi con una grande sicurezza.
Tutte le idee o riferimenti è molto apprezzato
Questo approccio ha funzionato per voi o siete andati in un'altra direzione? –