OCR japonského vertikálního textu:Zachování pořadí sloupců a zpracování furigany
Extrahujte japonský vertikální text se správným nastavením rozvržení, oddělte furiganu od hlavního textu a zkontrolujte skutečné výstupy OCR oproti stažitelným vzorkům.

U OCR japonského vertikálního textu zkontrolujte směr psaní před změnou obrazových filtrů. Použijte japonský model a nastavení segmentace, které zvládne vertikální text, ověřte sloupce v zamýšleném pořadí a rozhodněte se, zda potřebujete pouze hlavní text, nebo i furiganu. Stránka plná rozpoznatelných znaků může být stále nepoužitelným přepisem, pokud je jejich posloupnost špatná.
Provedli jsme malý, reprodukovatelný lokální experiment, abychom tato rozhodnutí učinili konkrétními. Horizontální konfigurace přeházela naše tři vertikální sloupce. Vertikální konfigurace obnovila prostý hlavní text, ale přidání furigany změnilo dvě interpunkční znaménka a oříznutí rubínů neodstranilo interpunkční chyby.
To jsou výsledky z úmyslně malého syntetického vzorku, nikoli tvrzení o přesnosti všech japonských knih. Užitečné poučení je užší: vyhodnoťte rozpoznávání znaků, pořadí čtení a zpracování anotací zvlášť. Neodesílejte výsledek k překladu jen proto, že vypadá jako japonština.
Nejprve identifikujte text, který opravdu chcete
V konvenční japonské vertikální sazbě znaky postupují dolů po řádku a řádky postupují zprava doleva. Ruby je menší text přidružený k základním znakům; furigana obvykle udává jejich výslovnost. Dokument W3C Requirements for Japanese Text Layout popisuje tyto směry psaní a vztahy ruby.
Před OCR označte smysluplné oblasti stránky:
- hlavní vertikální sloupce;
- malé ruby vedle těla textu;
- vodorovné nadpisy, popisky nebo tabulky;
- čísla stránek a živá záhlaví;
- okrajové poznámky nebo nesouvisející sousední stránky.
Nepovažujte každý vertikální proužek za samostatný odstavce. Proužek malého kany vedle 図書館 může být jeho čtením, としょかん, nikoli další věta.
Zvolte zásadu výstupu před posouzením OCR:
| Úkol čtenáře | Požadovaný výsledek | Co se považuje za problém |
|---|---|---|
| Hledat nebo přeložit tělo textu | Hlavní text v pořadí; užitečná čtení uložena zvlášť | Ruby vloženo do prózy, vynechaný text těla, přerovnané sloupce |
| Studovat výslovnost | Hlavní text plus správně přiřazená čtení | Chybějící ruby nebo čtení přiřazené k nesprávnému slovu |
| Vytvořit věrný přepis | Zachován hlavní text, vztahy anotací a redakční rozhodnutí | Tiché smazání nebo normalizace materiálu, který jste zamýšleli zachovat |
Stejný výstup může jeden úkol splnit a v jiném selhat. Náš experiment využívá přepis pouze těla textu jako svůj srovnávací cíl. Nepovažuje chybějící furiganu za přijatelnou pro vydání zaměřené na studium výslovnosti.
Skutečný experiment s OCR o třech větách
Ukázka využívá tyto autorské větě:
朝の図書館で本を読む。
古い地図には川が見える。
明日は友人と駅で会う。
Popisují čtení v knihovně, spatření řeky na staré mapě a setkání s přítelem na nádraží. Po odstranění konců řádků obsahují 34 kódových bodů Unicode textu těla, včetně tří japonských teček na konci vět.
Týž text těla jsme vykreslili ve třech podobách:
- Horizontální text.
- Tři vertikální sloupce, čtené zprava doleva.
- Stejné vertikální sloupce s furiganou vedle
図書館,地図,友人, a駅.

Jedná se o čisté výukové obrázky, nikoli naskenované stránky z knihy. Vykreslovač používá Noto Sans CJK JP, znaky těla o velikosti 64 pixelů, ruby o velikosti 24 pixelů a zjednodušené umisťování po znacích ve svislém směru. Kreslí svislé tečky na konci vět jako malé obrysové kroužky na ručně zvolených pozicích namísto použití správného svislého umístění glyfů v písmu; výsledky interpunkce proto neukazují, jak OCR funguje u správně sazené knihy. Nereprodukuje všechna pravidla japonské sazbové úpravy. V testu není žádné rozostření, zkosení, textura papíru, rukopis, historické písmo ani stránka s kombinovaným směrem čtení.
Engine, modely a nastavení
Experiment proběhl 7. září 2026 za použití Tesseract.js 7.0.0 s Tesseract.js-core 7.0.0 lokálně na macOS ARM64. Všechna úspěšná volání používala oficiální tessdata_fast modely v commitu 87416418657359cb625c412a48b6e1d6d41c29bd, s OEM 1, režimem pouze pro LSTM.
Oficiální modelové úložiště Tesseractu poskytuje samostatné jpn a jpn_vert soubory. Jeho dokumentace popisuje PSM 5 jako jednotně svisle zarovnaný blok a PSM 6 jako jednotný textový blok; zvolte předpoklad segmentace, který odpovídá rozpoznávané oblasti. Viz dokumentace segmentace stránek.
Naše zaznamenané případy používaly jpn s PSM 6 pro vodorovný text, jpn_vert s PSM 5 pro svislý text a záměrně neshodné jpn/PSM 6 svislé řízení. Mezi oběma svislými konfiguracemi se mění jak model, tak segmentace, takže se jedná o porovnání pracovních postupů, nikoli o experiment izolující vliv kteréhokoli nastavení samostatně.
Počáteční pokus s tessdata_best se v dostupném jádru WebAssembly přerušil před vytvořením textu OCR. Kvůli kompatibilitě jsme přešli na oficiální celočíselné tessdata_fast modely a toto selhání zaznamenali. Z tohoto přechodu nevyplývá žádný závěr o přesnosti jedné rodiny modelů.
Co se ve skutečnosti vrátilo
Porovnání odstraní bílé znaky a použije normalizaci Unicode NFC. Nenahrazuje interpunkci, neopravuje kandži ani nepřeskupuje text. Kompletní nezpracované výstupy a hashe verzí/modelů, CSV porovnání těla, a poznámky k chybám jsou ke stažení.
| Vstup a konfigurace | Pozorovaný výsledek oproti cíli obsahujícímu pouze text |
|---|---|
Horizontální, jpn, PSM 6 | Všech 34 kódových bodů se po odstranění bílých míst shodovalo |
Vertikální, jpn, kontrola PSM 6 | Výstup probíhal napříč sloupci a obsahoval záměny znaků; nepoužitelný text |
Vertikální, jpn_vert, PSM 5 | Všech 34 kódových bodů se po odstranění bílých míst shodovalo; pořadí sloupců bylo správné |
Vertikální s furiganou, jpn_vert, PSM 5 | Hlavní text zůstal v pořádku, ale dvě 。 značky se staly ASCII .; rubi nebylo vráceno jako samostatné čtení |
Tři oříznuté části těla sloupců z obrázku furigany, jpn_vert, PSM 5 | První sloupec končil ., druhý s ,, třetí s 。; oříznutí neodstranilo všechny vady interpunkce |
Například případ s furiganou vrátil tento první řádek:
Expected: 朝の図書館で本を読む。
Observed: 朝 の 図書 館 で 本 を 読む .
Mezery jsou naším stanoveným pravidlem porovnávání ignorovány. Koncové interpunkční znaménko však nikoliv. Pracovní postup zaměřený pouze na vyhledávání by mohl tento rozdíl tolerovat, ale věrný přepis by jej měl zaznamenat a opravit.
Nesoulad ve vertikálním ovládání začal u 明 古 昌, a skákal přes horní znaky sloupců namísto sledování zamýšlené první věty. Jeho výstup ilustruje, proč rozpoznávání jednotlivých symbolů není totéž jako rekonstrukce posloupnosti čtení.
Proběhlo sedm dokončených volání OCR: čtyři případy celých obrázků a tři ořezy. Ponechali jsme si každý výstup. Jeden agent porovnal výsledky s vytvořenou referenční bází a vizuálně zkontroloval obrázky; neproběhlo žádné zaslepené lidské hodnocení ani široký srovnávací korpus. Experiment nestanovuje univerzálně nejlepší engine, míru přesnosti na úrovni knihy ani výkon na vašem skenu.
Použijte pracovní postup zaměřený na oblasti na vlastní stránce
1. Zachovejte zdroj a vyberte jednu obtížnou stránku
Původní obrázek nebo PDF ponechte nezměněný. Pracujte s kopií a poznamenejte si číslo stránky. Vyberte stránku, která obsahuje problém, jejž se snažíte vyřešit: husté ruby, úzký okraj, vodorovný nadpis nad svislým textem nebo neobvykle malé písmo.
Čistá titulní stránka není užitečným akceptačním testem pro knihu, jejíž stránky s tělem textu mají jiné rozvržení. Pokud je zdrojem PDF, před spuštěním procesu OCR pracujícího pouze s obrázky vyjměte nebo vykreslete vybranou stránku pomocí nástroje, kterému důvěřujete. Skripty v tomto článku přijímají soubory PNG; nezpracovávají soubory PDF ani nevytvářejí prohledávatelné vrstvy PDF.
Pro úplnou přípravu naskenovaného dokumentu a proces překladu použijte širší pracovní postup pro naskenované PDF. Tato příručka se zaměřuje na japonský směr, segmentaci, ruby a rozhodnutí o přepisu.
2. Opravte vady snímání bez ničení malého textu
Prohlédněte si skutečné znaky při užitečném přiblížení. Narovnejte neúmyslné zkosení, odstraňte nesouvisející okraje stránky a zachovejte dostatečný kontrast pro rozlišení malé kany a interpunkce. Vyhněte se přístupu, kdy považujete agresivní prahování nebo zostřování za automatické zlepšení: před důvěřováním OCR porovnejte výsledný obrázek s původním.
Doporučení společnosti Tesseract pro kvalitu obrázků pokrývá rozlišení, šum, zkosení a okraje. Tyto aspekty se liší od směru psaní. Narovnání stránky, která byla vyfotografována pod úhlem, není stejná operace jako otočení svislého japonského textu na bok.
Ukázkové soubory nesou metadata o rozlišení 300 dpi, ale toto číslo nevytváří chybějící detaily. Jejich skutečná velikost glyfů v těle textu je 64 pixelů. Fotografie v nízkém rozlišení přeznačená na „300 dpi“ je stále stejnou fotografií v nízkém rozlišení.
3. Oddělte oblasti, když stránka porušuje jedno z předpokládaných rozvržení
Vyzkoušejte hlavní svislý blok samostatně, než po jednom volání OCR budete požadovat zpracování vodorovného nadpisu, svislého textu, ilustrace a čísla stránky. Udržujte si jednoduchý záznam oblastí, jako například „stránka 12, tělo textu, 1. sloupec zprava“. Tento záznam umožňuje provést pozdější sestavení auditovatelným.
U materiálů s kombinovaným směrem rozpoznávejte vodorovnou oblast s příslušným vodorovným nastavením a svislou oblast se svislým nastavením a poté je sestavte v pořadí, které dokument zamýšlí. Toto je doporučený pracovní postup k otestování na vašem souboru, nikoli schopnost smíšeného rozvržení měřená našimi třemi ukázkovými obrázky.
Náš experiment s ořezem využíval přesné známé souřadnice k vyloučení proužku ruby vedle každého syntetického sloupce při zachování jeho textu těla a bílého okraje. Šlo o ukázku ručního výběru oblastí, nikoli o automatický algoritmický postup odstranění furigany. Neaplikujte tyto souřadnice na stránku skutečné knihy.
4. Před korekturou jednotlivých znaků zkontrolujte sloupce
Porovnejte první a poslední znak těla textu každého sloupce a pracujte v zamýšleném směru. Potvrďte, že žádný sloupec nechybí, není duplikován, obrácen ani smíchán se sousedním. Poté zkontrolujte věty na hranicích sloupců.
Teprve poté byste měli opravovat jednotlivé kandži, kany, interpunkci, čísla a jména. Jinak můžete strávit čas vylepšováním fragmentů, které jsou sestaveny do špatného odstavce.
Užitečná třífázová kontrola je:
- Oblast a pořadí: každá zamýšlená oblast těla je přítomna jednou a v sekvenci.
- Znaky: porovnejte skutečný obrázek s textem, včetně drobné interpunkce a značek kany.
- Anotace: rozhodněte, zda má být každá položka rubi, poznámka nebo okrajový štítek zachována, oddělena nebo záměrně vyloučena.
Hodnota spolehlivosti modulu není náhradou za tyto kontroly. Náš promíchaný ovládací prvek přesto vrátil číslo spolehlivosti hlášené modulem; to však nečinilo jeho pořadí čtení přijatelným.
Neodstraňujte furiganu, dokud nevíte proč
Pro extrakci pouze těla textu by ruby nemělo náhodně se stát druhou vrstvou prózy. Mazání každého malého řetězce kany však není bezpečné obecné pravidlo. Čtení může pomoci objasnit jméno, zachovat autorovu zvolenou výslovnost nebo podpořit studijní úkol čtenáře.
V našem obrázku s furiganou výstup OCR obsahoval hlavní kandži, ale nevrátil čtyři čtení jako samostatnou sadu anotací. To by mohlo stačit po korekci interpunkce pro úkol vyhledávání pouze v těle textu. Nestačí to, pokud výsledek slibuje informace o výslovnosti.
Ukládejte důležitá čtení odděleně a spojujte je se správným výskytem. Například:
Page: sample 1
Column: 1 from the right
Base text: 図書館
Reading shown: としょかん
Decision: retain body text; save reading in the annotation record
Ukázka samostatný přepis ruby dělá tuto zásadu explicitní. Jde o základní pravdu vytvořenou s obrázkem, nikoli o tvrzení o úspěchu OCR.
Pokud OCR smíchá kanu do slova nebo ztratí její spojení, porovnejte ji s obrázkem a přepis opravte. Žádejte jazykový model, aby hádal zdroj a prezentoval odhad jako obnovený text. Nejisté čtení raději oznamte k revizi.
Výsledky oříznutí také hovoří proti zjednodušujícímu pravidlu „odstraňte ruby a vše se zlepší“: zůstaly dvě rozdíly v interpunkci a konce dotčených vět se změnily. Toto pozorování patří k tomuto konkrétnímu čistému přípravku. Říká nám, abychom výsledek ověřili po segmentaci, nikoli že ořezávání obecně pomáhá nebo škodí OCR.
Reprodukujte test nebo siveďte protokol o recenzi
Stáhněte si experiment README pro připnuté zdroje modelů a písem, verze závislostí, popisy souborů a příkazy. Vlastnost generátor vzorků, spouštěč OCR, a porovnávací skript odděluje vytváření obrázků, rozpoznávání a vyhodnocování.
Spouštěč používá zdokumentované API pro pracovníky Tesseract.js. Pro svislou oblast jsou jeho základní nastavení:
const worker = await createWorker("jpn_vert", 1, {
langPath: modelDirectory,
gzip: false,
cacheMethod: "none",
});
await worker.setParameters({
tessedit_pageseg_mode: "5",
user_defined_dpi: "300",
});
modelDirectory musí obsahovat stažený, nedeuprimovaný jpn_vert.traineddata soubor. Toto je úryvek, nikoli kompletní program; dodaný spouštěč také ukládá surové výsledky a ukončuje pracovníky.
Pokud používáte jinou aplikaci OCR, zachovejte stejné podklady, i když se názvy nastavení liší: zdrojová oblast, původní soubor, verze modelu nebo nástroje, směr, volba segmentace, skutečný výstup, opravený text a nerozpoznané znaky. Šablona protokolu recenzí je prázdná, aby nenaznačovala, že vaše stránky již prošly.
Nepřevádějte náš drobný výsledek s přesnou shodou na slíbené procento pro celý román. Různá písma, husté sloupce, historické tvary, nekvalitní skeny a bubliny v mangách vyžadují vlastní reprezentativní testy. Rozvržení mangy a rozpoznávání rukopisu jsou mimo tento experiment.
Překládejte pouze tehdy, když je získaný zdroj důvěryhodný
Pokud je vaším cílem vyhledávání, kopírování citací nebo vyhledávání ve slovníku, ověřený japonský text může být konečným výsledkem. Nemusíte překládat celý dokument jen proto, že šlo o OCR.
Pokud jazyková bariéra stále brání čtení a máte použitelný soubor, který můžete nahrát, pokračujte pomocí pracovního postupu překladu PDF. Zachovejte původní sken a zkontrolovaný přepis, abyste mohli odlišit chyby rozpoznávání od chyb překladu. Ukázkový spouštěč vytváří textové soubory a soubory TSV, nikoli soubor PDF připravený k automatickému nahraní; připravte skutečný vstupní formát, který váš další nástroj vyžaduje.
Režim OCR aplikace BookTranslator rekonstruuje přeložený obsah, místo aby zaručoval původní svislé rozvržení. Nepředpokládejte, že zachová každé spojení rubínů nebo opraví neověřené chyby rozpoznávání. Zkontrolujte pořadí čtení a formátování konečného dokumentu pomocí průvodce zachováním formátu PDF a závěrečného kontrolního seznamu pro QA PDF.
Spolehlivé předání není „OCR dokončeno.“ Je to „zamýšlený japonský text je přítomen, jeho posloupnost byla zkontrolována a zacházení s poznámkami je zadokumentováno.“
Související příspěvky





