Artículos científicos – Ciencias de la Computación Reconocimiento de Patrones. Una propuesta de Corrección Automática de Test de Selección Múltiple Laura Leticia Valenzuela Valenzuela Facultad Politécnica, Universidad Nacional del Este Avda. Monseñor Rodríguez c/ Los Sauces Ciudad del Este, Paraguay [email protected] y Gustavo Javier Báez Villar Facultad Politécnica, Universidad Nacional del Este Avda. Monseñor Rodríguez c/ Los Sauces Ciudad del Este, Paraguay [email protected] Resumen El Reconocimiento de Caracteres consiste en el estudio de los mecanismos por los que las señales externas estimulan los órganos sensoriales y se convierten en experiencias perceptibles significativas. En este trabajo se formula una propuesta de diseño y construcción de un sistema que realice la corrección automática de exámenes de selección múltiple y que sirva de modelo alternativo al sistema manual de corrección. Palabras claves: reconocimiento de patrones, OCR, reconocimiento de caracteres. 1. Introducción Mucha de la información que se maneja en la vida real se presenta en la forma de patrones complejos: caras, textos escritos, enfermedades, música, flores, piezas industriales, etc. Antes del reconocimiento, un patrón debe ser percibido por los órganos sensoriales. Además, el mismo patrón o alguno similar (de la misma clase) debe haberse percibido y recordado previamente. Finalmente, debe establecerse alguna correspondencia entre la percepción actual y lo recordado. En resumen, esta aproximación al reconocimiento de patrones se centra en el estudio del mecanismo de reconocimiento presente en los seres vivos. El uso intensivo de ordenadores u otros dispositivos electrónicos en los últimos años ha impulsado el estudio y aplicación de técnicas de reconocimiento de patrones. En particular los dispositivos de adquisición de datos (sensores y transductores) y los convertidores A/D hacen que un ordenador pueda ser “alimentado'' con datos (observaciones) del mundo real, utilizado para almacenar y recuperar información y para establecer la correspondencia entre observaciones pasadas y actuales (utilizando modelos adecuados, naturalmente). ¿Qué es un patrón?. Siguiendo la definición de Watanabe [1], un patrón es una entidad a la que se le puede dar un nombre y que está representada por un conjunto de propiedades medidas y las relaciones entre ellas (vector de características). Por ejemplo, un patrón puede ser una señal sonora y su vector de características el conjunto de coeficientes espectrales extraídos de ella (espectrograma). El diseño de un sistema de reconocimiento de patrones se lleva a cabo normalmente en tres fases (Fig. 1): 41 Artículos científicos – Ciencias de la Computación 1. Adquisición y preproceso de datos. 2. Extracción de características. 3. Toma de decisiones o agrupamiento. El universo del discurso, o dominio del problema, gobierna la elección de las diferentes alternativas en cada paso: tipo de sensores, técnicas de preprocesamiento, modelo de toma de decisiones, etc. Este conocimiento específico del problema está implícito en el diseño y no se representa como un módulo separado como sucede, por ejemplo, en los sistemas expertos. Figura 1: Proceso de Reconocimiento de Patrones convierte a un formato electrónico para el uso en el Las Redes Neurales Artificiales (RNA) son desarrollo del proceso del documento. Hay una modelos matemáticos inspirados en sistemas variedad amplia de sistemas del OCR en uso hoy biológicos, adaptados y simulados en en día, mientras que se diferencian a menudo en la computadoras convencionales. Wasserman [2] combinación de las tecnologías empleadas, todos los sistemas del OCR tienen varias características Se han usado diferentes formas de abordar el en común. problema de reconocimiento. La más popular es la simulación del funcionamiento del cerebro dentro Utilizan cierta forma de imagen trazada en una de la computadora. Es así como surgieron las correspondencia de bits como entrada, ya sea Redes Neurales Artificiales desde un documento impreso, cinta magnética o archivo de imagen. También emplean uno o más Las RNA se conocen con diferentes nombres, entre algoritmos (las reglas o los procedimientos usados los que se encuentran: modelos conexionistas, para solucionar problemas) para traducir procesamientos distribuidos en paralelo, sistemas combinaciones de puntos en un “bitmap” a un neuronales artificiales, y sistemas neuromórficos. carácter reconocido. En fin, el Reconocimiento de Patrones forma parte de la gran gama que constituye la Inteligencia Artificial. 2. Reconocimiento Óptico de Caracteres El Reconocimiento Óptico de Caracteres (O.C.R.) es una tecnología del área de la Inteligencia Artificial dentro de la Informática, y dentro de la sub-área de Reconocimiento de Patrones. Gómez y Gómez [6] Se puede definir al Reconocimiento Óptico de Caracteres como una herramienta de software que convierte los caracteres alfanuméricos capturados por medio del scanner, a códigos ASCII, con el fin de posibilitar el proceso de indexado de lo que se almacena. 3. Funcionamiento del O.C.R. La tecnología OCR engloba a un conjunto de técnicas que, complementándose entre sí, se emplean para distinguir de forma automática los diferentes caracteres alfanuméricos existentes. Cano y Perez [3] En realidad no se reconocen exactamente los caracteres de un determinado alfabeto, sino que es posible distinguir entre cualquier conjunto de ideogramas. Sin embargo, se debe tener en cuenta que la precisión que se obtiene en la práctica al intentar distinguir entre un conjunto de símbolos no es del 100% (Fig. 2). Un sistema del OCR lee el texto impreso y lo 42 Artículos científicos – Ciencias de la Computación Por lo tanto, es fácil deducir que cuanto más numeroso es el conjunto de símbolos entre los que se debe decidir, mayor es la probabilidad de que se produzca un fallo de clasificación. Seguidamente se detallan los procesos que intervienen en la construcción del Sistema Propuesto. En todo sistema de reconocimiento óptico de caracteres (OCR) se distinguen al menos estas 4 etapas: Cano y Pérez [3] 5. El Software 1. 2. 3. 4. Preproceso Segmentación. Extracción de características. Reconocimiento. Y para cada una de las cuatro etapas es posible aplicar multitud de técnicas ya existentes o desarrollar alguna específica en función de las condiciones en las que se presentan los datos de entrada, que en el caso del OCR se puede traducir por las imágenes de entrada. 4. El Sistema Propuesto Como se sabe, todo sistema nace de una necesidad, y el sistema propuesto no es diferente, surge como un planteamiento para solucionar de forma ágil y fiable la corrección de exámenes de tipo “opciones múltiples”. En los sistemas actuales, los exámenes de este tipo son corregidos de forma manual utilizando comúnmente los siguientes pasos: 1. Entrega de los exámenes a los alumnos. 2. Recepción de los exámenes marcados. 3. Elaboración de una hoja de respuestas correctas, perforada en las opciones acertadas. 4. Comparación de la hoja de respuestas del alumno con la hoja de respuestas correctas, por medio de la superposición de la hoja de respuesta correcta a la hoja del alumno. Se procede a la verificación de las respuestas y se traspasan las mismas a una hoja auxiliar, para posteriormente editar la planilla oficial. 5. Y por último, la publicación de la planilla oficial. Como se ha visto, todo este proceso implica un arduo y tedioso trabajo, sin mencionar la cantidad de tiempo que conlleva realizarlo, como así también los posibles errores que pueden ser cometidos en su ejecución. El software representa el pilar más importante dentro del sistema, construido lenguaje de alto nivel Microsoft Visual FoxPro 7.0. Microsoft Visual FoxPro [4] Este lenguaje es una herramienta poderosa para crear rápidamente aplicaciones y componentes de bases de datos. Su lenguaje de manejo de datos orientado a objetos ofrece a los desarrolladores un conjunto de herramientas sólidas para la manipulación de los mismos. El software presenta una ventana de apertura, con las opciones de llamadas a otras ventanas. Antes de entrar a detallar el funcionamiento del algoritmo del software se presenta a continuación una descripción en forma general del mismo, y posteriormente se ahondará en cada proceso puntualmente. El punto de partida es una imagen que ha sido capturada previamente a través del scanner. La mayoría de los fabricantes de scanners comerciales afirman que son capaces de obtener más resolución "por software". Eso significa que aplican algoritmos de interpolación a la imagen que inicialmente se obtiene. La interpolación puede ser útil cuando se va a realizar una comparación de patrones de tamaños diferentes, pero nunca introduce nueva información, esto es, el uso de la "resolución extra por software" no ayuda en nada al reconocimiento. La mayoría de los scanners actuales soportan el estándar TWAIN [5] Este estándar permite independizar el software que realiza el scanneo de la marca y modelo de scanner. TWAIN define una interfaz estándar para el programa de aplicación y es responsabilidad del fabricante elaborar el driver (programa de acceso a bajo nivel) para cada scanner particular. En la ventana principal presenta un formato estándar con 25 pregunta y cuatro opciones cada una de ellas. Además, un campo en el cual se debe cargar el número de documento del alumno (Fif. 3). También posee un botón de comando con dos 43 Artículos científicos – Ciencias de la Computación opciones: manual y automática scanneo del examen. La primera opción se utiliza en caso de algún problema en alguno de los componentes del modo automático; principalmente, problemas con el scanner. Los resultados del scanner son visualizados en la plantilla de resultados preparados para este fin. Cuenta además con el botón de Digitalizar Respuestas, esta opción es la encargada de llamar al software del scanner, para la realización del Al final, se tiene el listado de los alumnos con sus correspondientes calificaciones, y el resumen de cada puntuación correspondiente a cada alumno. Figura2: Reconocimiento Óptico de Caracteres Figura 3: Formato estándar con preguntas y sus correspondientes opciones. 44 Artículos científicos – Ciencias de la Computación 6. Conclusión El trabajo incursionó en la técnica denominada Reconocimiento de Patrones, consistente en el estudio de los mecanismos por los que las señales externas estimulan los órganos sensoriales y se convierten en experiencias perceptibles significativas. Básicamente se realizaron los siguientes procesos: 1. Adquisición y preproceso de datos. 2. Extracción de características. 3. Toma de decisiones o agrupamiento. El pilar del Reconocimiento de Patrones para este trabajo investigativo recae sobre el Reconocimiento Óptico de Caracteres (OCR). La tecnología OCR engloba un conjunto de técnicas que complementándose entre sí, se emplean para distinguir de forma automática los diferentes caracteres alfanuméricos existentes. El Reconocimiento Óptico de Caracteres presenta comúnmente cuatro etapas: 1. 2. 3. 4. Preproceso Segmentación. Extracción de características. Reconocimiento. Para cada una de estas etapas existen infinitas técnicas para desarrollar una función específica. Como en todos los aspectos de la vida, los problemas siempre existen, y no se excluye de esta regla el O.C.R., ya que éste se encuentra con dificultades como: ● ● ● ● El dispositivo que obtiene la imagen. La resolución finita. La posición de la hoja scanneada. El ruido de la imagen, etc. Se han intentado varias estrategias para solucionar el problema de reconocimiento, la más próspera es la simulación del cerebro humano, científicamente denominada Redes Neurales Artificiales. El Sistema Propuesto aplica la técnica de Reconocimiento de Patrones, a través del estándar Twain, que permite el reconocimiento de caracteres, con cualquier aparato scanner. Después de un largo y exhaustivo esfuerzo para desarrollar este tema, con este trabajo investigativo se logró: ● Detectar marcaciones hechas en hoja de respuestas en forma automática. ● Definir el elemento de marcación óptimo, marcador a tinta de color negro. ● Definir la marcación dentro de la zona indicada. ● Transferir informaciones a una base de datos, para su posterior procesamiento. ● Agrupar los datos a través de resúmenes y listados; ● Alcanzar un alto porcentaje de exactitud. A continuación se presentan algunas recomendaciones que podrían mejorar el sistema propuesto: ● Construir ● ● ● ● un OCR personalizado, que encamina datos scanneados directamente a la base de datos, sin tener que depositarlos en un archivo de texto. Introducir las respuestas correctas del profesor en forma automática. Utilizar como variante la carga en una base de datos, con distintos temas posibles que el sistema escogerá aleatoriamente para diseñar un examen. Habilitar mas opciones en la interfaz del usuario, con el fin de proporcionar mayor cantidad de informaciones al usuario. Contar con un equipo informático de considerable capacidad de almacenamiento y de gran velocidad. Este trabajo permite ampliar el conocimiento acerca del funcionamiento del reconocimiento de patrones, y aunque se ha optado por una técnica específica, siempre podrán haber mejores recursos o procedimientos, y este sistema no escapa a ello. Este proyecto sirve como un respaldo muy valioso para ser implementado en las distintas disciplinas científicas, tales como el reconocimiento de escritos en el sistema Braille; de caracteres manuscritos; de formas, en general; de cheques, formularios, huellas dactilares, etc. Referencias Bibliográficas [1] Watanabe, S. Pattern Recognition: Human and Mechanical. Wiley. New York. http:// lisiisvo2.fis.usal.es/~airene/capit1.pdf. 1985. [2] Wasserman, P. D. Neural Computing. Theory and Practice. Van Nostrand Reinhold. New 45 Artículos científicos – Ciencias de la Computación York. 1989. [3] Cano y López. http://www.iti.upv.es/actualidadtic/2003/11/200 3-ocr.pdf. [4] http://www.microsoft.com//atam/vfoxpro/defau lt.asp. 15/11/2004. [5] Twain. HP Corporation “Twain Standard Specification”. http://www.gpitsc.uvigo.es/pub/reports/cap1.pd f. 26/11/2003 [6] Gómez, P. Y Gómez, J. Sistemas de Lectura de Documentos en Tinta. http://www.funcaragol.org/html/confsadu.htm, htm#ap6.0. 19/marzo/2004 46