Análisis cluster basado en campos alfanuméricos

Buenas, estoy empezando en este mundo del data mining y tengo una duda sobre si es posible hacer algo que estamos queriendo hacer.

El problema es el siguiente: tenemos un archivo (10 millones de registros aproximadamente) con nombre, apellido, domicilio, etc. Sabemos que hay un número importante de registros repetidos ( que corresponden a la misma persona ) pero escritos diferente, con faltas de ortografía, variaciones en el formato del domicilio, etc.

Para detectarlos, lo que habíamos pensado era ejecutar algún tipo de análisis cluster para lograr agrupar los nombres similares, y obtener un número razonable de registros que "a priori serían el mismo" para revisarlos manualmente.

 

Por ejemplo, quisieramos que los siguientes 2 registros se agrupen en un mismo cluster:

"Santiago Hernandez; Avenida Olleros 1234;"

"Santiago Hernandes; Avda Olleros 1234;"

 

El problema es que todas las herramientas que estuve probando hasta ahora (Knime, Rapidminer ), quizás por desconocimiento mío, solo me permiten hacer análisis cluster basado en campos numéricos, calculando la distancia, o categóricos. No sé si es posible aplicar este tipo de metodología a campos de tipo string.  La única que me sirvió para hacer algo similar es Open Refine, pero es online y no me permite manipualr volúmenes tan grandes de información.

 

La pregunta en concreto es, es posible aplicar este método a campos tipo string ? Como se hace ? Alguien conoce alguna herramienta, o sugerencia de por donde podría orientarme ?

 

Desde ya muchas gracias,

Saludos