Introdução
Desde a invenção dos primeiros
computadores eletrônicos digitais, a quantidade
e a complexidade das tarefas sob a responsabilidade
destas máquinas vêm aumentando
consideravelmente. O que antes era restrito
à geração de tabelas de
cálculo de trajetórias balísticas,
como foi o caso do computador ENIAC durante
a 2ª Guerra Mundial, evoluiu para a execução
de tarefas bem mais ambiciosas. Métodos
computacionais essencialmente exatos e determinísticos
passaram a dividir espaço com métodos
aproximados e não determinísticos,
que estão mais próximos da forma
como o ser humano se comporta. Tais métodos,
que procuram reproduzir determinadas habilidades
dos seres humanos, são comumente denominados
“inteligentes” e são amplamente
utilizados em reconhecimento de padrões.
Um padrão é qualquer entidade
da qual é possível extrair algum
tipo de característica, seja ela simbólica
ou numérica e o que as técnicas
computacionais de reconhecimento de padrões
buscam, é por uma maneira eficiente de,
a partir destas características, organizar
estes padrões em agrupamentos ou classes
que compartilhem determinadas semelhanças.
Na natureza os padrões se manifestam
de diversas maneiras como, por exemplo, sons,
formas, imagens, cheiros e sabores e a todo
instante os seres humanos, e também outros
animais, percebem e interagem com estes padrões
com extrema naturalidade. Exemplos disso são
as habilidades que o ser humano têm de
diferenciar o som do motor de um automóvel
do som de uma música dos Rolling Stones,
ou ainda, a habilidade que um animal selvagem
tem de distinguir uma presa de um predador.
A naturalidade inerente a estas habilidades
faz com que o ser humano sequer imagine as complexidades
cognitivas que estão por trás
delas. Complexidades que se tornam evidentes
quando se tenta reproduzir as tais habilidades
artificialmente em um computador, o que há
muito desafia a comunidade científica
interessada no assunto.
O reconhecimento de padrões por computador
é uma das mais importantes ferramentas
usadas no campo da inteligência de máquina.
Atualmente está presente em inúmeras
áreas do conhecimento e encontra aplicações
diretas em visão computacional, análise
sísmica, reconhecimento de locutores
e de comandos a voz, classificação
de sinais de radar, reconhecimento de faces;
identificação de digitais, análise
e entendimento de sinais eletrocardiográficos,
previsão de comportamentos em mercados
financeiros, reconhecimento de caracteres impressos
e manuscritos, além de outras.
Reconhecimento de Caracteres
Dentre as modalidades de reconhecimento de padrões,
o reconhecimento de caracteres é uma
das mais conhecidas e exploradas pela comunidade
científica. Prova disso é a grande
quantidade de artigos publicados anualmente
em periódicos e anais de conferências
nacionais e internacionais relacionadas, e até
mesmo especializadas no assunto. O reconhecimento
de caracteres consiste em, a partir de características
extraídas de um conjunto de caracteres,
separá-los em 10 classes, no caso dos
algarismos, ou 26 classes, no caso das letras
do alfabeto ocidental.
A busca pelo desenvolvimento de sistemas eficientes
para reconhecimento de caracteres é tão
antiga quanto o próprio computador eletrônico.
Porém, antes deles se tornarem uma realidade,
muito desenvolvimento tecnológico foi
necessário e o início desta história
remonta a 1.870, quando Carey inventou o scanner
de retina. Em seguida, em 1.890, Nipkow inventou
o scanner seqüencial, que representou um
grande avanço tanto para as máquinas
leitoras quanto para a televisão moderna.
A idéia da criação dos
sistemas de reconhecimento de caracteres surgiu
da necessidade de auxílio a pessoas portadoras
de deficiência visual e a primeira experiência
bem sucedida foi realizada pelo cientista russo
Tyurin em 1.900.
O marco inicial dos sistemas modernos de reconhecimento
de caracteres data de 1.951 quando M. Sheppard,
fundador da Intelligent Machine Research Co.,
criou o GISMO, um que era um sistema leitor-escritor.
Posteriormente, em 1.954, um protótipo
desenvolvido por J. Rainbow foi utilizado para
ler letras maiúsculas datilografadas
à velocidade de um caractere por minuto.
Somente a partir de 1.967 é que grandes
companhias como, IBM, Recognition Equipment,
Inc., Farrington, Control Data e Optical Scanning
Corporation, começaram a produzir e comercializar
estes sistemas.
Os primeiros sistemas comerciais que surgiram
foram os chamados sistemas OCR (Optical
Character Recognition). Nos OCR’s
os caracteres a serem reconhecidos se encontram
impressos em uma determinada fonte e, por isso,
apresentam um formato bem comportado assim como
as letras deste texto. Inicialmente os OCR’s
eram capazes de reconhecer apenas tipos específicos
de fontes como, OCR-A, OCR-B, Pica, Elite, Courier,
etc. Em seguida, surgiram os OCR’s multi-fonte
que permitiram que a capacidade de reconhecimento
se estendesse para um conjunto maior de opções
de fontes. Por fim, surgiram os OCR’s
omni-fonte, capazes de reconhecer qualquer fonte.
O passo seguinte foi dado em direção
aos sistemas ICR (Intelligent Character
Recognition). Diferentemente dos OCR’s,
os ICR’s lidam com um problema bem mais
complexo, uma vez que os caracteres a serem
reconhecidos são manuscritos e não
mais impressos. Esta complexidade é devida
às variações de estilo
existentes na escrita manuscrita, pois de uma
pessoa para outra um mesmo caractere pode se
apresentar de diferentes formas. Até
uma mesma pessoa pode escrever um mesmo caractere
de maneiras diferentes. A escrita manuscrita
pode ainda se apresentar de duas formas, isolada
e cursiva, sendo que no primeiro caso os caracteres
estão dispostos de forma não conectada,
enquanto que no segundo estão dispostos
de forma completamente irrestrita, ou seja,
conectados ou eventualmente desconectados.
Os dados de entrada de um sistema de reconhecimento
de caracteres podem ser provenientes da digitalização
de um documento, por meio de um scanner, ou
provenientes de superfícies de cristal
líquido, que capturam os caracteres escritos
sobre ela com um bastão que imita uma
caneta. Estas duas abordagens compreendem os
sistemas de reconhecimento denominados off-line
e on-line, respectivamente. No caso
on-line, à medida que o traço
do caractere é delineado pelo escritor,
este é prontamente apresentado ao sistema,
enquanto no caso off-line, somente
a imagem completa do que foi escrito previamente
é apresentada ao sistema. Os OCR’s
são essencialmente do tipo off-line,
enquanto os ICR’s podem ser de ambos os
tipos.
Hoje, ao contrário de quando começaram
a ser comercializados, os reconhecedores de
caracteres apresentam desempenhos bem melhores,
preços mais acessíveis e são
facilmente encontrados no mercado. Os OCR’s
estão presentes na maioria dos programas
de interface dos scanners e os ICR’s do
tipo on-line são uma das funcionalidades
encontradas nos modernos palm tops. Os ICR’s
do tipo off-line estão disponíveis
principalmente para o reconhecimento de documentos,
em especial formulários. Contudo, todos
estes produtos ou são totalmente desenvolvidos
fora do Brasil ou utilizam pacotes de soluções
importadas para a tarefa do reconhecimento dos
caracteres. |