Provendo acessibilidade ao conteúdo de documentos centenários: Um
processo de correção e melhoria do texto extraído de imagens utilizando
técnicas de Processamento de Linguagem Natural
Extração e correção de textos centenários, processamento de
linguagem natural, recuperação de informação.
Este trabalho de mestrado foi desenvolvido em colaboração com o Laboratório
LIBER (DCI-UFPE) dentro do contexto de um projeto mais amplo, cujo
objetivo geral é resgatar, preservar e prover livre acesso a jornais
periódicos centenários em língua portuguesa. Exemplares do “Diário de
Pernambuco”, datados do início do século XIX, foram resgatados e
digitalizados (escaneados) pelos pesquisadores do LIBER. A fase final foi o
objetivo geral desta pesquisa de mestrado, visando a extração automática do
texto contido nas imagens e a indexação automática de cada documento
(imagem) a partir das palavras que ele contém, buscando assim prover acesso
a esses documentos a partir de consultas baseadas em palavras-chaves.
A extração do texto foi realizada utilizando-se algoritmos de OCR, que nem
sempre conseguem um desempenho satisfatório quando os documentos são muito
antigos e em mau estado de conservação. Além disso, algumas palavras tinham
grafia diferente da atual, dificultando a correção automática do texto com
base nos dicionários modernos contidos nas ferramentas de OCR e de PLN
disponíveis. Assim, foi necessário desenvolver uma solução própria.
Nesse contexto, a correção automática dos textos extraídos, a fim de
identificar e dirimir erros de OCR, é a grande contribuição deste trabalho.
O corretor ortográfico PyEnchant foi adotado como base da solução
desenvolvida, pelo seu alto desempenho. Contudo, essa ferramenta só dispõe
de um dicionário atual da língua portuguesa. Assim, foi necessário
desenvolver uma solução com base em um dicionário de 1913, que se aproxima
mais da grafia utilizada nos documentos tratados. Porém, o padrão de
dicionário usado pela ferramenta não se baseia apenas em uma lista de
vocábulos, utilizando metadados associados às entradas do dicionário para
realizar a flexão dos termos (e.g., gênero e número, flexão verbal,
aumentativo e diminutivo etc.). Então foi necessário adaptar o dicionário
de 1913 para o formato da PyEnchant. Claramente, não seria viável fazer
essa adaptação de modo manual, devido ao grande volume de entradas do
dicionário escolhido (124.308 termos). Assim, foi necessário implementar um
processo com vários passos para automatizar a adaptação do dicionário de
1913 ao padrão da PyEnchant. Utilizamos aqui técnicas oriundas da área de
Processamento de Linguagem Natural. Testes iniciais realizados com algumas
imagens disponíveis mostraram uma boa taxa de cobertura na correção dos
erros do OCR. Foi observado que algumas palavras escaparam da correção por
terem letras adicionadas pelo OCR que modificaram muito a palavra (radical)
original. Esse problema será tratado em trabalhos futuros.
Por fim, os textos já corrigidos foram utilizados para indexar as imagens
correspondentes, criando assim um repositório para livre acesso através de
consultas via palavras-chaves. Essa etapa foi implementada com apoio da
biblioteca PySolr . Utilizamos aqui teorias e técnicas oriundas da área de
Recuperação de Informação.
Assim, consideramos que os objetivos iniciais deste trabalho foram
alcançados, tendo sido materializados no dicionário adaptado e na base de
imagens indexadas automaticamente através de termos que ocorrem em cada
imagem. Devido a restrições de tempo, não foi possível implementar todas as
melhorias inicialmente planejadas, estando indicadas como trabalhos
futuros. Destacamos aqui a modernização vocabular para facilitar as buscas
via interface.