Reconocimiento de Patrones. Una propuesta de Corrección

Anuncio
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
Descargar