Recientemente me encontré con un problema en el trabajo.
No he tenido oportunidad de investigar soluciones al respecto pero me parece una buena idea.
El problema:
Tengo una hoja de cálculo llena con la información de una dependencia pública. Prácticamente toda la operación de uno de los departamentos es capturada de esta forma.
Supongamos que una de las columnas de la hoja de excel representa medidas. Estas medidas sirven para saber la cantidad, por ejemplo de materiales para constucción con los que cuenta el departamento. Dado que los materiales son heterogéneos, las medidas pueden ir desde metros o kilos, hasta bolsas o bolsitas o tubitos o paquetes. ¡Qué horror!
Como bien sabemos los informáticos, resulta complejo obtener estadísticas confiables cuando los valores de un campo sobre el que se desean obtener estadísticas no pertenecen a un catálogo. Es decir, si la columna es de texto libre y para referirse "Kg", la gente captura "Kilo", "Kilos", "Kilogramos", "Kilo-gramos", etc. Puede resultar un dolor de cabeza limpiar la información para obtener estadísticas sobre ese campo.
Discutiendo con algunos colegas, algunos me propusieron hacer una tabla de posibles términos en los que se asignaran los posibles valores de conversión para que, posteriormente, ejecutando un pequeño script, se fueran componiendo todos los datos.
Sin embargo, la idea del script resulta poco factible conforme crece el número de registros a limpiar. Puede resultar que un conjunto de palabras tenga cientos o tal vez miles de opciones y fallas de captura por lo que poder hacer una tabla los suficientemente completa como para que solucione todas las inconsistencias de una vez resulta difícil.
La solución que habíamos aplicado hasta ayer, había sido la de aproximaciones sucesivas de manera manual. En efecto, después de hacer una tabla de valores como la expuesta arriba, ejecutábamos el script y revisábamos si había de nuevo valores erróneos (generalmente menos que la vez anterior) y así sucesivamente hasta que la información estuviera suficientemente limpia.
A partir de este problema me nació la curiosidad de investigar y desarrollar nuevas formas de limpiar catálogos mediante algoritmos inteligentes generalizados que pudieran aprender por sí mismos sin necesidad de que, de manera manual, se les tengan que asignar tablas de valores a cambiar.
El análisis:
Antes de comenzar con la solución pensada se debe saber qué tipos de errores pueden presentarse en la captura de datos.
Tipos de errores:
Ortográficos: Errores que la gente tiene cuando hay un mal conocimiento de las reglas lingüísticas.
De captura: Errores que la gente tiene cuando por error teclea un signo que no corresponde.
Continuará
Tal vez te pueda servir: http://sourceforge.net/projects/simmetrics/ Alguna vez lo utilice en un proyecto y sirvio bastante. Saludos.
ReplyDelete