Ho un grande database di città che è stato compilato da molte fonti diverse. Sto cercando di trovare un modo per individuare facilmente i duplicati in base al nome della città. La risposta ingenua sarebbe usare la distanza di levenshtein. Tuttavia, il problema con le città è che spesso hanno prefissi e suffissi che sono comuni nel paese sono inAlternativa alla distanza Levenshtein per prefissi/suffissi
Ad esempio:.
Boulleville vs. Boscherville
Questi sono quasi certamente diverse città. Tuttavia, poiché entrambi terminano con "ville" (ed entrambi iniziano con "Bo") hanno una distanza Levenstein piuttosto piccola.
* Sto cercando un algoritmo a distanza stringa che tenga conto della posizione del carattere per ridurre al minimo l'effetto di prefissi e suffissi pesando le lettere nel mezzo della parola più alte delle lettere alle estremità della parola. *
Probabilmente potrei scrivere qualcosa da solo ma troverei difficile credere che nessuno abbia ancora pubblicato un algoritmo adatto.
Lo chiuderei quasi come un duplicato di http://stackoverflow.com/questions/10425238/modifying-levenshtein-distance-for-positional-bias, ma quella ha una risposta dura per funzionare ... – Wrikken