12.2. Testanto o Kraken#

O Kraken é “um sistema de OCR pronto para uso otimizado para material de escrita histórica e não latina”, segundo sua documentação. É desenvolvido na École Pratique des Hautes Études, Université PSL e está sob licença Apache 2.0 License.

Suas principais características são:

  • Análise de layout e reconhecimento de caracteres totalmente treinável

  • Suporte de script da direita para a esquerda, BiDi e de cima para baixo

  • Saída ALTO, PageXML, abbyyXML e hOCR

  • Caixas delimitadoras de palavras e cortes de caracteres

  • Suporte para reconhecimento de vários scripts

  • Repositório público de arquivos de modelo

  • Arquiteturas de rede de reconhecimento variável (Fonte: https://kraken.re/4.3.0/index.html)

O programa pode ser executado em sistemas Linux e Mac OS X e consiste em um CLI (Command Line Interface) e deve ser executado no terminal.

Instalação#

A instalação pode ser feita via pip ou conda. Aqui vamos instalar com pip.

$ pip install kraken

Para que o Kraken possa ter suport a PDF e TIFF/JPEG2000, é necessário pacotes extras, que pode ser instalados com o seguinte comando:

$ pip install kraken[pdf]

Para instruções de instalação via conda, acesse: https://kraken.re/4.3.0/index.html#installation

É preciso fazer o download do modelo de reconhecimento que será usado. O Kraken possui um repositório público com uma lista de modelos disponíveis. Podemos listar os modelos atualmente disponíveis com o comando:

$ kraken list

Resultado do comando acima:#

10.5281/zenodo.8193498 (pytorch) - Transcription model for Lucien Peraire's handwriting (French, 20th century)
10.5281/zenodo.7933463 (pytorch) - HTR model for German manuscripts trained from several datasets
10.5281/zenodo.7933402 (pytorch) - Fraktur model trained from enhanced Austrian Newspapers dataset
10.5281/zenodo.7631619 (pytorch) - Model trained on all available data, from 8th to 16th century, from GalliCorpora, CREMMA Medieval and CREMMA Medieval Lat, as well as data from Eutyches, Caroline Minuscule, DecameronFR. Transcription guidelines: https://hal.archives-ouvertes.fr/hal-03697382
10.5281/zenodo.7410529 (pytorch) - Gallicorpora+ ancient prints (Litterature)
10.5281/zenodo.7051646 (pytorch) - Printed Urdu Base Model Trained on the OpenITI Corpus
10.5281/zenodo.7051644 (pytorch) - Printed Persian Base Model Trained on the OpenITI Corpus
10.5281/zenodo.7050342 (pytorch) - Printed Ottoman Base Model Trained on the OpenITI Corpus
10.5281/zenodo.7050296 (pytorch) - Printed Arabic Base Model Trained on the OpenITI Corpus
10.5281/zenodo.7050270 (pytorch) - Printed Arabic-Script Base Model Trained on the OpenITI Corpus
10.5281/zenodo.6669508 (pytorch) - Cremma-Medieval Old French Model (Litterature)
10.5281/zenodo.6657809 (pytorch) - Model train on openly licensed data from HTR-United. All French manuscript data from the 17th century to the 21st were used (72k lines).
10.5281/zenodo.6542744 (pytorch) - LECTAUREP Contemporary French Model (Administration)
10.5281/zenodo.5468665 (pytorch) - Medieval Hebrew manuscripts in Sephardi bookhand version 1.0
10.5281/zenodo.5468573 (pytorch) - Medieval Hebrew manuscripts in Italian bookhand version 1.0
10.5281/zenodo.5468478 (pytorch) - Medieval Hebrew manuscripts in Ashkenazi bookhand
10.5281/zenodo.5468286 (pytorch) - Medieval Hebrew manuscripts version 1.0
10.5281/zenodo.2577813 (pytorch) - A generalized model for English printed text

Atualmente, os modelos disponíveis para o Kraken não contemplam o português nem jornais digitalizados. Aplicando o modelo padrão em inglês atingimos resultados muito ruins. Seria necessário o treinamento de um modelo específico para o português e para jornais digitalizados – o que está fora do escopo deste trabalho.

Para saber como treinar um modelo, veja a documentação do Kraken: https://kraken.re/kraken.html#training

Segundo a documentação, seria possível treinar um modelo com 30 páginas anotadas e transcritas. É preciso que essas informações estejam em formato ALTO ou PageXML, com anotações de linhas, regiões e textos. Entretanto, o Kraken não possui ferramentas internas para tal tarefa e por isso indicam o uso do eScriptorium (https://escriptorium.inria.fr/) ou do Aletheia (https://www.primaresearch.org/tools/Aletheia)

Para fins de exemplo e teste, vamos baixar o modelo de reconhecimento padrão para inglês impresso. Com o comando abaixo, o modelo será baixado e salvo no local apropriado.

kraken get 10.5281/zenodo.2577813

Reconhecimento de texto#

O comando básico para realizar o reconhecimento de texto é:

kraken -i <image-path> <output>.txt binarize segment ocr -m en_best.mlmodel

A flag -i recebe o caminho da imagem, em seguida passamo o nome do arquivo de saída. O comando binarize realiza a binarização da imagem, segment realiza a segmentação de linhas e palavras, ocr realiza o reconhecimento de texto e -m recebe o modelo de reconhecimento de texto. Neste exemplo estamos usando o modelo padrão baixado com o comando kraken get 10.5281/zenodo.2577813.

Teste 01: Boletim de Eugenia.#

Buscando formas de comparar os resultados com o OCR-D, vamos utilizar uma página do Boletim de Eugenia para testar o Kraken. Essa página foi testado com o OCR-D e obtivemos os melhores resultados.

A página original é a primeira da edição de fevereiro de 1929:

../../_images/per159808_1929_00002.pdf_0.jpg

Fig. 52 Boletim de Eugenia, fevereiro de 1929, p. 1#

O comando para o Kraken processá-la é o seguinte:

kraken -i ../imgs/per159808_1929_00002.pdf_0.jpg per159808_1929_00002.pdf_0.txt binarize segment ocr -m en_best.mlmodel

Resultado obtido mostra que o layout da página não foi satisfatoriamente reconhecido, o que impactou na qualidade do OCR. Podemos comparar com o resultado obtido com o OCR-D, com o modelo por do Tesseract:

OCR-D

Kraken

Ha uma grande corrente de intel-\lectuaes intensa aos congressos, por\julgul-os absolutamente negativos.\Com pouvos dias de dilferença, eis\como sobre clles «e munitestaram aus\de nossos homens de letras cin muor\evidencia— Bastos Tigre cv Humberto\de Campos. O primeiro, se bem que\em tom joceso, disse numa «Macro-\landia» publicada no «Diario de São\Paulo» de 17 de janeiro : «Estou\com o publico que dos Cor gressos\que por ali prolmeram, nie virá «o\mundo nem bem nem mai. Acho gue\doze bomens de grando talento reu-\nidos em assemblea fazem sempre\obra de uma duzia de cretinos ! A\obra util e grande tem de ser indivi-\dual. Nenhuma Academia de poetas\gentues seria capaz de produzir a\Odyssea omo Inferno ow os Luziadas:

Ha uma grande corrente de intel- suvel e previa propagamnda tue evi. tria, a estntistica, aas pesquizas bio-\logicas te sociaes relativas aos pro-\lcctuaes iniensa aos congressos, por dcnciasse a sua real utililade.\julgal-os absolutamente negativos. Um 1nstituto de Eugenia nao se blemas eugenicos.\Co pocos dias e diiferenca, eis cnsegue lundar apenas com aboa Eis ahi, leitores amigos. em largos\coo sobre elles se mamtfestaram dois vontade e com sboas intencoess nm aco6. o tte seria um Instituto Bra-\de nossos homens de letras cm mior meio cotno o mnosso, onde as ileas siileiro de Egenia, quie um dia, tal-\evidencia-lBastos Tigre e Humberto generosas ne sempre sao generosa- , se torne realidade, nesta grandc\de Campos. U primeiro, se bem qwe mente acolhidas, Vivemas ainda num Terra, onde ainda scanta o sabiia.\em tom jocoso, disse numa aMacro- abiente intellectal ais utilltaris-\landiae publicada no Diario de Sio ta que humanista, ais indtvidualisfa\Paulos de 17 de janeiro : aEstou gue collectivista.\com o publico uc dos Co gressos O nosso intuito, pois. relativa-\gie por ahi pnroliferam, nio viri o mente ao instituto de Eugenia, se\mundo nem bem nems mal. Acho que limitar a lancar apeas a semente,\eWeee-e\doze homens de grande talento reu- atc qute u tilagre se laca.- sur- []\nidos emn assemblea fazcm sempre gindo, entio, o novotemplo onde se\obra de uma duzia de cretinos l A cuidarai da uacloalidade brasileira,\Renafo Kell\MI INSIITIIO AMIERICAN0\E EGENA\obra utile grande tem de ser indivi- como o fz o Instttuto de Eugenia\dual. Nenhuma cademia de poetas de lerlin, para a nacionalidade ger- O lEugenic’s kecord Office cnse-\guiu despetar no mundo scientifico\gettiaes seria capaz de produzir a anica.\Odyssea ou o nfero ou os Luziadas; Ji temos Instituto Agrouomico e dos Estndos Unidos um grande in-

Podemos perceber que nesse trecho, as colunas da página do jornal não foram corretamente reconhecidas pelo Kraken, e a imagem foi reconhecida como contendo uma única coluna.

Teste 02: O Paiz#

Vejamos o resultado em uma página com um layout ainda mais complexo, com oito colunas, como a página 2 do jornal O Paiz de 05 de maio de 1887.

Abaixo, a imagem original:

../../_images/178691_01_3912.jpg

Fig. 53 O Paiz#

Executamos o comando para binarizar, segmentar e reconhecer o texto da imagem.

kraken -i ../imgs/178691_01_3912.jpg 178691_01_3912.txt binarize segment ocr -m en_best.mlmodel

Vamos comparar com o resultado obtido com o OCR-D, com o modelo por do Tesseract:

OCR-D

Kraken

Por decreto de 8 de Janeiro ultimo\conccdeu-se a patente de n. dhj q\Augusto Cambrais, portu ez, indus-\triol, residente nesta ci ade, para 0\rocesso de sua invenção, destinado q\ubricar pannos finos, morins ce brins de\alcodão alvejados,\Em data de 23 de Abril ultimo con-\cedeu-se garantia provisoria no Dr. Gui-\lherme José Teixeira, brazileiro, mo:\dico, morador nesta cidade re resentido\elo seu procurador o Club ndustrial,\undado 6 estabelecido tambem nesta\cidade, para transporte do lixo dus ha-\bitações publicas 6 particulares, deno-\minado — carroça inodora.

Por deereto do8 de Juneiro ullimo] i i iiiimaicii proimn, oid H6i iic] Estio inseriptas nas artes d po-\concedeu-se a patente de n. 4i a] dicudo.\licio, uas do:\R MTATO A A9\W 1 WW WTk]Flleeeu om 5. Bnedieto, municipio]\Y eEFees\ W5\Thieatro\n Ieg\ \ a V a\upreo trinal do ltigea,iroeta o immeditamente imnortatesi A ello deve parti, y,el\ainnat6iintos d progresso iuerial e cancale em iversg plsitesslstgg]especialmeute u ultino, c 9]gal…]Iarnbem cumpre nio esueeer o a] ntion uma ealeir seej. s 9]diiecnos nis scfuinte plas,: -.A’ ] Es. 5r eoselleie ,:;,\1 .Aitonio Fesim, to, do umn]ggg,2;, ,P,g,A9eg]\Augusto UCambraia, portguez, indus-1] Ieuiu: ete e i essiei-ii’i aririi, ao herica ar is eutas ig, e ss::.:,%.:l eee.eeel.i…eil2,.l,2:2.:::2…te.::::I, InaieCe:\I:;-eeeI:, A 55,…5i.:,::at.i2.\processo de sua inveucio, destiudo a]::…l…EE.gl::-;\algodio ulviados.].tG],inior:.aeu]eete\lPutris de um bond du linha do Jurdi] lheiro, por ter promovido desrdemn, a-]\I:L:gaG.e.iies,:EG…\ineus gollegn d minoria liberal da ae-[t, ii]aiia,GcGiai.], ,g,geg,gE::,2,.]e -e ee e(Iniaile.9, ii’ini ‘s. :ae]iiiin\flleeu o pudro MIodesto Luiz Cnl-]\gte e ril lli gg gys po io reeolio ( Mli nIr MIlsimi e Drthn Mtins cl\eeeu-se garnti provisoria n Dr.Gui- ] soricordia.\lhermo Jo6 eireir, brazileiro, \diceo, morador nesta cidade, represcntio’\pelo seu procurdor o Club Industrial,l

O resultado é ainda mais comprometido nesse tipo de layout, pois todas as colunas são consideradas uma única linha, gerando um texto incompreensível.

Veja as conclusões e recomendações no tópico 12.3