Z papíru do čtečky 4: OCR – FineReader 9.0
Po posledním kroku máme hromadu obrázků, kde každý odpovídá jedné stránce knihy. Co teď s nimi? Potřebujeme z nich udělat text. Proces i software, který to dokáže, se nazývá optical character recognition (OCR), a k dispozici je řešení od řady výrobců. Špatná zpráva do začátku je, že nemá vůbec smysl uvažovat o řešeních, která jsou zdarma – sice existují, ale kvalita jejich výstupu je velmi špatná. Nedejte se zmást tvrzeními o 99% přesnosti – jednak si každý výrobce tu přesnost měří jinak (někdo ji počítá jako procento správně rozpoznaných znaků, někdo jako slovníkových slov a někdo jako skutečných slov) a hlavně – 99% přesnost (tj. 1% chyb) u spíš kratší knihy znamená řádově 500 chybně rozpoznaných slov nebo 3000 chybných znaků, což mi přijde jako poměrně hodně a opravovat bych to fakt nechtěl. Komerční nástroje jsou v tomto nesrovnatelně účinnější, pokud máte dobrou kvalitu skenu, dosáhnete u stejné knihy na nějakých 50-60 chyb všech typů celkem.
Za nejlepší programy je považovaná trojice Abbyy FineReader, ReadIris a OmniPage; OmniPage bohužel nenabízí demoverzi, takže jsem ho nemohl vyzkoušet, a ReadIris má úplně úchylná omezení v Professional verzi (maximálně 50 stránek na dokument? WTF?), takže bych musel kupovat verzi Corporate za 400 USD, což se mi na doma zdá docela hodně. Takže zbývá FineReader.
Abbyy FineReader 9.0 Professional
Hned na začátek je třeba říci, že FineReader také není zrovna nejlevnější, ale jeho omezení Professional verze proti Corporate se skutečně liší jenom v Corporate vlastnostech a těch 160 Euro se ještě dá snést. Problém s ním je spíš filozofického rázu – program vyžaduje aktivaci a váže se na sériové číslo disku, což jsou vlastnosti, které se mi ale vůbec nelíbí. Řešení to samozřejmě má – FineReader bez problémů běží ve virtuálním počítači pod VirtualBoxem, kde mám prostředí plně pod kontrolou a můžu si být jistý, že program budu moci používat i v budoucnu. Nejsem si úplně jistý, jestli je cílem firmy Abbyy nahnat uživatele do virtuálních prostředí, ale každopádně se jí to daří docela dobře.
Použití FineReaderu pro OCR knížek je směšně jednoduché:
-
Vytvořte nový projekt.
-
Vyberte jazyk dokumentu – FineReader stejně jako všechny ostatní kvalitní OCR programy používá slovníky jednotlivých jazyků pro zvyšování přesnosti detekce. Podporovaných je asi 120 nebo 130 jazyků a pokud nejste skutečně neobvykle jazykově vybaveni, tak ty „svoje“ dostanete. Podporovány jsou i vícejazyčné dokumenty, pokud si v comboboxu pro výběr jazyka vyberete volbu „další jazyky“.
-
Nechte otevřít obrázky jednotlivých stránek. Počet je omezen jen velikostí odkládacího prostoru, podporovány jsou všechny běžné formáty. Pozor na to, že FineReader ignoruje vámi zadané pořadí obrázků a poskládá si je podle abecedy. Sice by pokročilý uživatel mohl brumlat, že když už si zvolil nějaké pořadí, tak věděl, proč to dělá, a co mu nějaký program to pořadí zase přehazuje, ale běžným uživatelům to určitě pomůže a konec konců, u knížek tak jako tak zřejmě nikdy nedojde k situaci, kdy byste to pořadí chtěli přehazovat. A kdyby, tak se ty stránky dají popřehazovat po načtení.
-
Vyberte si cílový formát (podporovány jsou různé varianty DOCu, samozřejmě RTF, PDF, HTML a některé další) a styl formátování:
-
Přesná kopie se snaží zachovat úplně všechno včetně prostorového rozložení textu, velikosti mezer a podobně. Je to dobré řešení, pokud chcete mít přesnou kopii dokumentu, ale pro e-booky se moc nehodí, protože (pochopitelně) nepodporuje reflow – prostě „řádka končí tady, a že by se do vašeho zařízení vešla delší nebo kratší mě nezajímá“.
-
Naformátovaný text drží formátování (různé typy a velikosti písma, zvýrazňování apod.), ale strukturu z větší části ignoruje – udržuje odstavce, ale už ne řádky, sjednocuje velikosti mezer a podobně. Výsledkem je pak něco takového, jako když byste ten dokument ručně přepsali třeba do Wordu s použitím stylů. Pro e-booky ideální forma.
-
Prostý text (v českém překladu „nešifrovaný text“, ať žijí strojové překlady) zachovává jenom ty odstavce, všechno ostatní ignoruje. Může jít o dobrou alternativu k naformátovanému textu u knih, které nepoužívají formátování a veškeré „styly“, které ve tvaru „naformátovaný text“ vidíte, jsou jen důsledkem špatného skenu nebo špatného OCR (typický případ: text u hřbetu knihy se zdá zešikmený a OCR to pokládá za kurzívu).
Pokud mohu říci z praxe, zatím jsem vždy použil HTML v režimu naformátovaný text – přesná kopie obsahuje spoustu zbytečností (fakt mě nezajímá, že kvůli nějaké tiskové chybě je mezera mezi dvěma odstavci o milimetr větší než mezi jinými odstavci) a aktivně brání reflow, prostý text naopak můžu z naformátovaného textu udělat jednoduchým regulárním výrazem.
-
-
V editovacím okně FineReaderu můžete provést korektury: program umí zvýraznit místa, kde si není jistý, případně můžete přeházet pořadí jednotlivých objektů na stránce (FR správně detekuje obrázky a poznámky pod čarou, ale celkem běžně je umisťuje jinam, než by je umístil člověk). Osobně ale nemám s korekturami přímo ve FineReaderu dobré zkušenosti a radši je dělám mimo. Důvody budou uvedeny v šesté části seriálu.
-
Uložte dokument. Dobré je použít nastavení „vytvořit samostatný soubor pro všechny stránky“, což po překladu do lidské řeči znamená „všechny stránky uložit do jednoho souboru“ a v možnostech zaškrtnout „použít plnou čáru jako zalomení strany“ – sice ji později zase budete odstraňovat, ale v první fázi oprav dobře poslouží jako vodítko.
No a to je z OCR všechno. Není to však všechno z hlediska produkce e-booku – vyprodukovaný soubor je třeba upravit do technicky kvalitního tvaru (vyházet zbytečné symboly, případně je nahradit vhodnějšími) a hlavně provést korekturu chyb, ke kterým v průběhu OCR nevyhnutelně došlo. Ale tím se budou zabývat zase další díly seriálu.
Další díly seriálu:
- Proč to dělat?
- Zařízení
- Plustek OpticBook 3600
- OCR – FineReader 9.0
- Technická korektura
- Obsahová korektura
Uz se tesim 🙂
1) Počkej si na další díl seriálu.
2) Formátování začátku odstavce je věc toho, jaké CSS použiješ, nemá to celkem nic společného s HTML kódem knihy.
Nene, promin. Myslel jsem pak pri upravovani textu – nechavas formatovani presne tak jak to OCR 1:1 prevedl nebo mezi treba odstavci mazes volne radky a nechavas 1-7 znaku od zacatku stranky volnych. Jen by mne to zajimalo, vsiml jsem si ze treba knihy z mobileread fora maji u zacatku odstavce jednu mezeru volnou a tak mne to pri cteni docela vyhovuje.
R.
Nerozumím. Vstup těžko naformátuješ, ten je na papíru daný. Program by si s tím měl nějak poradit, ať je to formátované jakkoliv (ale samozřejmě některé formátování dopadne lépe než jiné).
Musi se ten text specialne formatovat? Pocet znaku na radek/odrazky atd.?
Krasny den 🙂
-= R.