Necesito hacer coincidir automáticamente los nombres de los productos (cámaras, computadoras portátiles, TV-s, etc.) que provienen de diferentes fuentes con un nombre canónico en la base de datos.Coincidencia difusa de los nombres de productos
Por ejemplo "Canon PowerShot a20IS", "A20 nuevas PowerShot IS de Canon" y "cámara digital Canon PS A20IS" todos debemos partido "Canon PowerShot A20 está a". He trabajado con levenshtein distancia con algunos heurísticos añadidos (eliminando palabras comunes obvias, asignando un mayor costo a los cambios en los números, etc.), que funciona hasta cierto punto, pero no lo suficientemente bien por desgracia.
El principal problema es que incluso los cambios de una sola letra en palabras clave relevantes pueden marcar una gran diferencia, pero no es fácil detectar cuáles son las palabras clave relevantes. Considere, por ejemplo, tres nombres de producto:
Lenovo T400
Lenovo R400
Nueva Lenovo T400, Core 2 Duo
Los dos primeros son ridículamente cadenas similares de cualquier punto de vista (bueno, podría ayudar a soundex para distinguir el T y el R en este caso, pero los nombres también podrían ser 400T y 400R), el primero y el tercero están bastante separados unos de otros como cadenas, pero son el mismo producto.
Obviamente, el algoritmo de coincidencia no puede ser un 100% preciso, mi objetivo es hacer coincidir automáticamente alrededor del 80% de los nombres con una gran confianza.
Cualquier idea o referencias se aprecia mucho
¿Este enfoque funcionó para usted o fue en otra dirección? –