Tak - další poznatky a připomínky:
Anotace - ten anotátor, který je použitý zatím není nic moc
místy rozezná, co nemá, místy nerozezná, co má - třeba rozdělí jedno písmeno (velkou iniciálu) na několik částí, ustřihne konec slova a dělá podobné ptákoviny. Stejně tak je schopen rozdělit stránku na hromadu regionů, kde v každém je jen jeden řádek nebo dokonce jen část písmene.
O.K. - beru, nic není dokonalé a obzvlášť při vývoji. Rozumím i tomu, že u anotátoru nemáte šanci ovlivnit jeho trénování. Nicméně - pro tento případ by bylo dobré, kdyby bylo možné nějak regiony a řádky editovat.
Pro začátek pár dotazů:
kouknběte do výše zmíněného datasetu "opis24". Záznamy jsou zde psány tak, že je nějaký nadpis roku, pak měsíce a pak jsou samotné záznamy. Každý je uveden vpravo před čarou obcí, ze které záznam je a následuje samotný záznam. víceméně jako prostý text.
příklad:
Hned na prvním skenu je hlavička: Annô 1688 à die 1 Januarij usque (psáno zkratkou) ad diem Ultimam Augusti baptisatæ sunt à meinfra Scripto, sequentis personæ:
následuje měsíc: Januarius
a pak jsou záznamy, první je:
Ladin | 1. Januarij baptisata est infans Dorothea, filia Joannis Ustrnul, & Matris Marinæ. Cujus Patrini: Joannes Cžech, & Anna Christophori ex pago Ladin
Koncovku -ii jsem zde přepsal, jako -ij - odpovídá to přesně zapsaným písmenům.
Tak - a teď - jak by správně měly být určeny regiony na této stránce? Měla by bát celá strana jen jeden region? Nebo rozdělit např. region 1 - hlavička; region 2 - měsíc; region 3 - všechny záznamy (včetně obce před čarou) nebo každý záznam samostatný region nebo ještě zvlášť i obec před čarou a nebo ještě nějak jinak? Nebo je to jedno? Jde o to, aby pak to OCR dávalo nějaké relevantní výsledky.
K dalšímu kroku (přepis řádků) je ale potřeba, abych mohl automaticky vyrobené anotace nějak editovat a nebo provést komplet ručně. Třeba i tak, že bych nakreslil ručně regiony a pak nechal automatický anotátor rozpoznat řádky (pokud je něco takového možné). A následně bych potřeboval nějaký nástroj k tomu, abych mohl oblasti (regiony i řádky) nějak editovat - tedy pokud dojde ke špatné detekci řádku, abych mohl oblast upravit. Teď je možné kreslit jen obdélníky, což je nedostatečné. Stačí, aby byl řádek trochu ze šikma a už ho není možné označit. Taky je problém, když se znaky z hornějšího a spodnějšího řádku překrývají. Ručně to zakreslit dokážu, ale potřeboval bych editovat jednotlivé uzlové body jednotlivých regionů / řádků. Případně ty body přidávat (a ideálně i mazat, ale mazání bodů teď vem čert).
Z tohohle mi vyplývá, že ve výsledném produktu asi nebude možné od sebe oddělit detekci řádků od samotného čtení textu. Obojí bude muset probíhat současně. Teno můj předpoklad vychází z toho, že v rukopisech dost často přemýšlím nad čtením slova tak, že při překryvu znaků z horního a dolního řádku (velice častý jev) se snažím zjistit, která čára patří ke kterému písmenu ze kterého řádku. Smíchány bývají písmena jak v rámci jednoho řádku - např. ve zmíněném záznamu jméno Christophori, kde se překrývají písmena C a h, tak i řádky mezi sebou - na zmíněném skenu např. 3. záznam ze Dzbele (Zbel), kde na konci řádku závěrečné j ve jméně Georgii leze do spodnějšího řádku a koliduje s písmeny F a k ve jméně Faukal. A tady je to ještě naprosto super, protože je jasné, co je součátí čeho. Když se pak ale zamotá spodní smyčka y s nějakým l, t, h a nebo někdo spodní smyčku protáhne přes další dva řádky (stává se), a nebo se do sebe těch písmen zamotá ještě víc (třeba někdo píše d, jako zde - 4. záznam z Konice, jméno Magdalena a tou horní čarou se trefí do už tak překrytých písmen), tak sedíte o dost dlouho nad tím, která část které čáry z té změti čar patří ke kterému písmenu. A to souvisí i s přesnou detekcí řádků. Teď by, předpokládám, stačilo, kdybych ty řádky mohl dokreslit / opravit ručně.
No, nemáte to jednoduché…
A pak ještě dotaz k přepisům. Písmeno -j- by mělo být podle konvencí přepisováno, jako -i- - v latině třeba to v té koncovce -ii. Taky není jasné, jestli je v měsících začínajících na J- nebo ve jménech (Joannes, Jacobus) na začátku vlastně psáno J a nebo I (v latině je J = I). Jak tedy pro OCR tohle přepisovat? Ligaturu Æ/æ, případně Œ/œ předpokládám, že mám přepisovat tou ligaturou. Jak přistupovat ke znakům à, ô, â apod? Jak přistupovat ke zkratkám? Např. Joannes zapsán jako Joes s vlnovkou nad slovem, kterou nelze jak zapsat? Jak rozepisovat zdvojení písmen naznačené vodorovnou čárou nad daným písmenem? Jak rozepisovat zkratky, jako např. est, kde je zapsáno jen e s vlnovkou? Nebo ve zmíněném nadpisu stránky slovo usque, které vypadá, jako usq3? Jak přepisovat měsíce zapsané zkratkou? 7ber = september, 9ber, vypadající, jako gber = november, Xber = december? Jak přepisovat latinskou předponu con-, která se píše jen jako g- (např. slovo consors bude zapsáno, jako gsors)? Latina je zkratek plná, někdy je to doslova peklo. Některé nepůjsou reálně přepsat do PC, protože pro to prostě nejsou potřebné znaky nebo diakritika. Nehledě na to, že někdy to není diakritika nad písmenem, ale nad celým slovem
Je mi jasné, že ozázky na přepis nejsou asi otázky na člověka, který programuje OCR, ale jestli to mám nějak zkusit trénovat, tak musíme vědět, jak v těchhle případech postupovat, aby se z toho ta neuronová síť totálně nesplašila.
Je pravda, že v němčině a češtině bude problém se zkratkami podstatně menší, tam zůstává komplikace víceméně jen v tom zdvojení písmene naznačeném vodorovnou čárou nad písmenem; v němčině pak řadové číslovky, např. 15ten (na řadové číslvky v latině jsem úplně zapomněl a taky je to někdy kapitola sama pro sebe) a v češtině ještě zkratka Svatého, psáno jako třeba So, kde to o je jako v horním indexu. No, určitě jsem ještě na nějaké špeky zapomněl. A nějaké další určitě vyplynou v okamžiku, kdy se posunu o nějaký krok dál.