10. Reconhecimento ótico de caracteres#

Chamamos de reconhecimento ótico de caracteres o processo computacional de aplicar um programa de computador para encontrar padrões de escrita em imagens e gerar um documento de texto como resultado. Esse processo é muito importante para as pesquisas históricas no geral, visto que parte significativa das fontes históricas utilizadas em nossas pesquisas ainda são constituídas por documentos escritos (impressões ou manuscritos) em papel.

Desde os anos 1990, vemos o crescimento acelerado de projetos de digitalização em massa de documentos históricos. É muito recorrente que os objeto digital oriundo desse processo de digitalização seja uma imagem estática em formatos variados.

Entretanto, para que possamos aplicar técnicas e ferramentas digitais, sejam elas bem simples como a busca de um termo, ou mais complexas como a aplicação de técnicas de processamento de linguagem natural ou modelagem de tópicos, precisamos transformar essas imagens em documentos de texto, onde os dados contidos nela possam ser estruturados de acordo com as metodologias e interesses das pesquisas.

Para que isso seja possível, precisamos realizar o reconhecimento ótico de caracteres, ou OCR (optical character recognition), nesses conjuntos de imagens.

Portanto, essa é uma etapa fundamental para pesquisas com jornais históricos digitalizados. Entretanto, esse não é um processo simples e demanda muito conhecimento computacional, máquinas potentes, e investimento de tempo e capital.

Realizar esses processos de forma individualizada e sem acompanhamento de profissionais especializados muitas vezes se torna um desafio quase intransponível. O que é potencializado para o caso dos jornais históricos, pois eles agrupam características que impõem grandes entraves para o sucesso do OCR. Podemos listar alguns deles:

  • baixa qualidade da digitalização;

  • fontes muito variadas e desconhecidas para o computador;

  • layouts complexos, geralmente com grandes variações em uma mesma edição e com muitas colunas pouco claras;

  • muitos “ruídos” na imagem, como rasgos, rasuras, manchas, anotações, cortes, etc;

Neste framework, proponho uma avaliação prévia do conjunto de dados a ser trabalhado para embasar a escolha das estratégias de OCR aplicadas. Veremos comparativamente os resultados com ferramentas de linha de comando, a partir de modelos pré-treinados, e com ferramentas com interface gráfica de usuário.

Vamos comparar páginas de periódicos distintos, com qualidades diversas, buscando apresentar as possibilidades de trabalho. Os testes foram realizados com o OCR-D e Kraken, ambos são programas que reúnem uma variedade de recursos para OCR e são interfaces de linha de comando; e com o gImageReader, um programa com interface gráfica que utiliza o tesseract para realizar OCR.

Também apresento, no capítulo 11 uma lista comentada de lições do The Programming Historian relativas ao OCR que são úteis como opções alternativas de abordagem.