Sítio do Piropo

B. Piropo

< Mulher de Hoje >
Volte

01/1996

< Reconhecendo Caracteres >


Mês passado vimos que um dispositivo chamado "scanner" consegue capturar uma imagem impressa em papel e digitalizá-la, tornando possível exibi-la na tela do micro ou gravá-la sob a forma de um arquivo em disco. E vimos que a imagem de um documento que contém um texto ocupa muito mais espaço em disco que o texto em si mesmo, pois para um computador o texto nada mais é que um conjunto de códigos simples, cada um representando uma letra (ou caractere), enquanto sua imagem é formada por um conjunto de códigos, cada um representando um ponto. Como para "desenhar" cada caractere é necessário um grande número de pontos, não é de surpreender que a imagem de uma folha escrita ocupe quase quinhentas vezes mais espaço em disco que o mesmo texto armazenado caractere a caractere.

Vimos também que um dos problemas enfrentados por grandes empresas é o arquivamento de documentos. E que não fosse pelo enorme espaço em disco ocupado pelas imagens, a solução ideal seria o arquivamento de documentos em discos magnéticos a partir de suas imagens capturadas por scanners. Se houvesse uma forma de converter as imagens dos caracteres em seus códigos, seria possível reduzir enormemente o espaço em disco ocupado pelos documentos e a solução seria viável...

Pois não é que há? É verdade que a solução está longe de ser perfeita e a tecnologia empregada ainda vai ter que evoluir um bocado até poder ser absolutamente confiável. Mas já é razoavelmente funcional.

Trata-se do OCR, sigla de Optical Character Recognization, ou reconhecimento ótico de caracteres. Uma técnica que permite transformar a imagem de um texto no conjunto dos códigos dos caracteres que o compõem, reduzindo brutalmente o espaço necessário para armazená-lo em disco.

Os programas de OCR funcionam por etapas. Primeiro, inspecionam a imagem procurando identificar a forma pela qual o texto nela se distribui: linhas sucessivas, colunas verticais ou "manchas" irregularmente espalhadas. Depois, usando a regra pela qual os idiomas ocidentais são lidos - de cima para baixo e da esquerda para a direita - subdividem a imagem em linhas e arbitram o fluxo do texto, ou seja, a ordem pela qual as linhas serão lidas. Neste ponto geralmente apresentam o resultado sob a forma de setas ligando as "manchas" de texto (que, em geral, representam parágrafos) na ordem arbitrada e dão ao usuário a chance de alterá-la.

Em seguida, a um comando do usuário, o programa começa a identificar os caracteres, um a um. Uma tarefa aparentemente muito fácil. Afinal, presumivelmente, é exatamente isto que seu olho está fazendo agora enquanto você lê estas mal traçadas. Mas não se iluda: a tarefa é extraordinariamente difícil e somente lhe parece fácil porque a combinação de seu olho com seu cérebro formam o mais fantasticamente eficiente dispositivo OCR jamais sonhado. Uma eficiência da qual os programas OCR nunca sequer se aproximarão.

Veja lá: ao ler este texto você supõe estar identificando cada letra. Mas não está: em um relance seu olho captura e seu cérebro reconhece as imagens de palavras inteiras. Tanto é assim que quando encontra uma palavra como explirembólico, que não existe e eu somente enfiei no meio desta frase para exemplificar, seu olhar diminui a velocidade com que percorre o texto e, eventualmente, precisa retornar para examiná-la novamente. Simplesmente porque não conseguindo identificar a palavra em um relance o olhar foi obrigado a identificar cada uma das letras que a compõem.

Se você pensar um pouco vai perceber que a tarefa é, decididamente, muito complexa. Basta lembrar a enorme diversidade de "fontes" - o nome técnico que se dá aos diferentes tipos de letras. Folheie esta revista, veja os anúncios. Repare quantos formatos e estilos diferentes há para cada letra. Desde a simplicidade da fonte usada para este texto até o rebuscado de uma fonte gótica, por exemplo. E pense ainda na dificuldade adicional de identificar caracteres acentuados - como a sutil diferença entre a letra "i" simples e o mesmo "í' com acento agudo. Sem falar do abismo que existe entre o formato das letras de um texto impresso e das mesmas letras de um texto manuscrito. Seu olho e sua mente, acostumados às diferenças, nem se dão conta de como são imensas. Mas o computador é uma máquina limitadíssima que está infinitamente longe de atingir essa perfeição.

Apesar disto o resultado é bastante razoável. Há programas OCR que, após identificar as letras que compõem uma palavra, são capazes de compará-la com o conteúdo de um dicionário armazenado no disco rígido e, assim, evitar erros evidentes. Ou até mesmo de fazer uma análise gramatical de frases inteiras.

Com isto, se a imagem for nítida, a fonte não for das mais complexas e o fluxo do texto for convencional, um bom programa de OCR consegue identificar corretamente até 99,9% do texto.

O problema é que quando se trata de arquivamento de documentos, 99,9% não bastam.

Acha exagero? Então pense no que aconteceria se este texto fosse um documento oficial e que sua imagem fosse submetida a um programa de OCR que conseguisse identificá-lo todo, exceto o "não" desse parágrafo aí de cima...

B. Piropo