Fotka smlouvy v mobilu, sken staré faktury, PDF, ve kterém nejde nic označit ani zkopírovat. Dostat z toho editovatelný text zní jako banalita, dokud to nezkusíte s češtinou a trochu horším skenem. Pak se ukáže, kde technologie OCR (optické rozpoznávání znaků) končí a kde začíná ruční oprava.
Textové PDF, nebo jen fotka? Jak to poznat
Než cokoliv nahrajete do AI nástroje, zkuste jednoduchou věc: označte kurzorem pár slov v dokumentu. Pokud to jde a text se obarví, jde o skutečné textové PDF a žádné OCR nepotřebujete – stačí kopírovat a vložit. Pokud kliknutí a tažení myší nic neudělá, díváte se na obrázek uložený v souboru PDF, i když navenek vypadá jako běžný dokument. Přesně tak to popisuje i dokumentace Adobe – označení textu je nejrychlejší test, který zvládnete bez jakéhokoliv nástroje.
Skenované PDF nemá textovou vrstvu vůbec. Je to fotografie stránky, jak ji popisuje LlamaIndex, a bez rozpoznávání znaků z ní počítač nezíská ani jediné písmeno. OCR v tomhle případě dělá přesně to, co jeho zkratka slibuje: skenuje obraz, hledá v něm tvary písmen a mění je na strojově čitelný text, jak shrnuje i Parseur.
Tři kroky: od fotky k textu, který jde upravovat
Celý proces se dá zjednodušit na tři kroky, ať už použijete nástroj v telefonu, webovou aplikaci nebo AI chatbot s podporou obrázků.
- Pořiďte kvalitní vstup. Rovná fotka bez stínu, ostré písmo, dostatečné rozlišení. Nakloněný snímek nebo rozmazaný sken jsou nejčastější příčinou toho, že si OCR splete podobné znaky – třeba nulu a písmeno O.
- Nahrajte soubor do nástroje na rozpoznávání textu a nechte ho zpracovat. U jednoduchého tištěného textu v angličtině to obvykle projde bez zásahu. U češtiny, tabulek nebo rukopisu počítejte s tím, že výstup nebude hotový na první pokus.
- Zkontrolujte výsledek ručně, hlavně čísla, jména, částky a diakritiku. OCR podle dokumentace k OCR v PDF není nástroj na kompletní opravu dokumentu – umí rozpoznat znaky, ale nezaručí, že rozvržení a smysl textu zůstanou zachované.
Pro navazující práci s výsledným textem, třeba když z něj potřebujete udělat stručný přehled, se hodí nástroje ze sekce shrnutí textu. Přepsaný text z faktur, zápisků nebo poznámek se dá rovnou dál zpracovávat v běžných nástrojích pro produktivitu.
Proč je čeština pro OCR těžší než angličtina
Tohle není jen dojem z vlastní zkušenosti. Akademická práce srovnávající jazyky uvádí, že OCR pomocí hlubokého učení dosahuje u rozšířených jazyků jako angličtina vysoké výkonnosti, zatímco u jazyků bohatých na diakritiku – čeština má devatenáct diakritických znaků – podobné výsledky zatím chybí. Problém není jen v tom, že počítač nepozná háček od čárky. Je to náročnější na úrovni, která se řeší dřív, než se vůbec začne rozpoznávat samotné písmeno.
Podle technického popisu detekce textových řádků komplikuje diakritika i samotné určení, kam který řádek textu patří. Háček nad písmenem totiž může zasahovat do prostoru dalšího řádku, a pokud ho algoritmus přiřadí špatně, zhorší se přesnost celého rozpoznávání. U běžné fotky faktury s texty jako „Kč“, „č. faktury“ nebo jménem s ř či ž se tahle nepřesnost projeví přímo v datech, která pak musíte opravovat ručně.
Ne každý OCR nástroj navíc podporuje všechny jazyky stejně důkladně. Dokumentace Google Cloud Vision popisuje tři úrovně jazykové podpory – prioritizované jazyky, jazyky ve vývoji a jazyky mapované na obecný rozpoznávač. Pro rukopis navíc platí ještě přísnější omezení: podporovány jsou jen vybraná písma, ne všechny jazyky rovnocenně.
Kde OCR reálně selhává: rukopis, tabulky, razítka, účtenky
Rozpoznávání textu funguje spolehlivě hlavně u čistého, tištěného textu v jednom sloupci. Jakmile se do dokumentu přidá cokoliv navíc, přesnost klesá. Přehled od LlamaIndex to shrnuje jasně: vícesloupcové rozvržení se při OCR sesype do jednoho proudu textu zleva doprava, tabulky se zploští do neuspořádaných bloků bez sloupců a řádků, grafy jsou přeskočeny úplně a rukopis s razítky vedou k chybám nebo nesmyslnému výstupu.
U tabulek je problém hlubší, než se zdá. Tradiční OCR čte text jako sekvenci znaků za sebou, ale tabulka dává smysl jen díky prostorovým vztahům – číslo má význam teprve ve spojení se záhlavím sloupce a řádkem, ve kterém stojí. Přesně to popisuje analýza extrakce tabulek. Mezi nejčastější příčiny selhání patří podle přehledu chyb v extrakci tabulek tabulky bez viditelného ohraničení, sloučené buňky a nakloněné nebo rozmazané skeny, kde si algoritmus splete podobně vypadající znaky.
Rukopis je samostatná kapitola. Klasický Tesseract, jeden z nejrozšířenějších open-source OCR enginů, je primárně trénovaný na tištěná písma a s rukopisem, zvlášť kurzívou, si poradí jen omezeně. Podle srovnání Tesseractu a AI OCR neexistoval ve verzi 4 žádný trénovací dataset pro lidský rukopis vůbec. Modernější AI modely na tom jsou lépe, protože podle dalšího srovnání dokážou předpovídat pravděpodobné znaky z kontextu okolního textu a gramatiky. Každý člověk ale píše jinak, a univerzální řešení pro rukopis zatím neexistuje.
Účtenky a faktury mají svoje vlastní úskalí. Strukturovaná data z nich extrahovat jde, ale přehled limitů OCR nástrojů upozorňuje, že formátovací chyby a nízká přesnost u nepřehledných skenů obvykle vyžadují dodatečnou kontrolu. Razítka a podpisy patří k nejčastějším zdrojům chyb – zmiňuje je stejný přehled LlamaIndex jako rukopis a vícejazyčné pasáže. U starých nebo historických dokumentů se navíc podle studie o diakritice přidává vybledlý inkoust, vodoznaky a přeložené rohy stránek, což OCR ztěžuje ještě víc.
Co si hlídat, než dokument nahrajete
Fotky a skeny často obsahují osobní údaje, čísla účtů nebo podpisy. Než je nahrajete do webového OCR nástroje nebo AI chatbotu, stojí za to se zamyslet, jestli daný dokument vůbec chcete posílat na cizí server. Přehled, co nenahrávat do AI nástrojů, se týká přesně těchhle situací a dává smysl si ho projít předtím, než nahrajete výpis z účtu nebo smlouvu.
Zvládne OCR přečíst rukopis stejně dobře jako tištěný text?
Ne. Tesseract, jeden z nejpoužívanějších enginů, byl podle srovnání Tesseractu s AI OCR ve verzi 4 bez jakéhokoli trénovacího datasetu pro rukopis. Modernější AI modely to zlepšují tím, že si pomáhají kontextem okolních slov, ale spolehlivý výsledek to negarantuje – každý člověk píše jinak a systém byl vždy trénován jen na omezeném vzorku stylů.
Proč mi OCR rozsype tabulku do chaosu?
Protože text čte jako sekvenci znaků za sebou, zatímco tabulka nese smysl v prostorovém uspořádání – číslo dává význam až ve spojení se záhlavím sloupce. Bez viditelného ohraničení nebo se sloučenými buňkami se tahle struktura ztrácí.
Je čeština pro OCR obtížnější než angličtina?
Ano, a je to doložené: podle studie srovnávající jazyky OCR u jazyků bohatých na diakritiku, mezi které patří i čeština s devatenácti diakritickými znaky, zatím nedosahuje výkonu srovnatelného s angličtinou.
Pozná OCR razítko nebo podpis na dokumentu?
Nerozezná je jako samostatný prvek s významem – podle přehledu LlamaIndex patří razítka spolu s rukopisem a vícejazyčnými pasážemi mezi nejčastější zdroje chyb nebo zcela nesmyslného výstupu.
Můžu výstup z OCR použít bez kontroly?
U čistého tištěného textu v jednom sloupci to většinou projde bez problémů. Jakmile je ale v dokumentu tabulka, rukopis nebo razítko, odborné zdroje doporučují extrahovaný text vždy před použitím zkontrolovat.
Proč se v naskenovaném PDF nedá nic označit myší?
Protože v souboru není žádná textová vrstva – je to jen obrázek stránky uložený ve formátu PDF, jak to popisuje i dokumentace Adobe. Dokud ho OCR nezpracuje, počítač v něm žádná písmena nevidí.
