En minería de datos, ¿cómo extraigo los valores monetarios del texto del cupón OCR?

La salida de un proceso de OCR es texto. Entonces, parece que hay un enfoque múltiple:

Desarrolle un (conjunto) de expresiones regulares para hacer un primer intento de extraer los valores en dólares (para un subconjunto de los cupones que necesita extraer). Una expresión regular es simplemente un algoritmo básico de coincidencia de patrones donde puede designar los valores captura por el tipo de caracteres que aparecen en la cadena que está intentando extraer. Los patrones avanzados de expresiones regulares le darán cierta capacidad para darle el contexto de dónde aparecen los valores monetarios en el cupón. Esto puede parecer simple, pero dependiendo de lo que mida su resultado (como decir que quiere maximizar los verdaderos positivos o minimizar los falsos negativos) puede que no tenga un rendimiento lo suficientemente alto para lo que está tratando de hacer.

Sin embargo, incluso un buen OCR tiene una tasa de error asociada con la conversión de una imagen de un personaje al texto real que representa. Lo que debe hacer a continuación es crear un clasificador en el texto. Cómo probablemente necesitaría abordarlo utilizando un enfoque de estilo semi-supervisado / bootstrap (dependiendo del volumen de cupones, por supuesto, esto supone que tiene muchos de ellos). Todo esto significa que va a construir un pequeño conjunto de valores para entrenar / probar un modelo, obtener el rendimiento de este modelo hasta cierto punto y luego obtener una mayor cantidad de ejemplos.

Revise un conjunto de cupones anotando los valores a medida que aparecen, y también qué valores representan. Construya un conjunto de datos que tome el coupon_id (solo algo para diferenciar cada instancia de cupón), varios valores de n-gramas (1 palabra, 2 palabras, combinaciones de 3 palabras en el texto OCR) y potencialmente los valores de expresión regular como entrada, y El valor del cupón como salida. Cuanto más pueda reducir el tamaño de la entrada (longitud de la cadena), mejor funcionará su modelo. Cree un conjunto de prueba y entrenamiento para su pequeño conjunto de datos, realice la reducción de funciones (consulte este documento para ver ejemplos http: //www.cs. cmu.edu/~mccallum/…)). anotar entrenar y evaluar y evaluar el desempeño. Corrija los problemas en sus valores puntuados y vuelva a entrenar y recalificar su conjunto de datos hasta que obtenga la precisión suficiente de su clasificador. Buena suerte

Básicamente, ya ha respondido su propia pregunta: utiliza OCR. Puede utilizar el hecho de que la mayoría de los cupones siguen un patrón de diseño estándar para determinar qué texto es el valor monetario. Este es el mismo método utilizado por el software de análisis de facturas.

PD: Un método alternativo y probablemente más barato es arrojarlos a Mechanical Turk.