Transkripce

Slučování výsledků více modelů: proč jeden přepis nemusí stačit

Každý přepisový model má slepé skvrny — místa, kde pravidelně chybuje. Jiný model selže jinde. Kombinovat jejich výsledky namísto spoléhání na jediný zdroj je přístup ze světa strojového učení, který se postupně prosazuje i v přepisu řeči. Jak to funguje, co rozhoduje o finálním výsledku a kde jsou limity.


Proč jeden model nestačí

Žádný přepisový model není dokonalý. Každý selže jinak — a to je příležitost.

Model trénovaný na přednáškách zvládá připravený projev, ale spontánní konverzaci přepíše hůře. Model optimalizovaný pro nízkou latenci a streaming může mít nižší přesnost na odborné terminologii. Model se silnou českou jazykovou podporou může selhat na regionálním přízvuku, který není v jeho trénovacích datech dostatečně zastoupen.

Tato různorodost slepých skvrn má důsledek: chyba modelu A a chyba modelu B se překrývají jen zčásti. Tam, kde model A selže, model B může uspět — a naopak.

Confidence score jako vodítko

Přepisové modely přiřazují každému přepsanému slovu skóre jistoty (confidence score) — číslo od 0 do 1 vyjadřující, jak moc si model věří. Vysoké confidence score nemusí znamenat správný přepis. Model může být přesvědčený o (chybném) výsledku, protože ten odpovídá jeho statistickému očekávání — ale správné slovo je mimo jeho slovník.

Příklad: odborný termín z lékařské dokumentace — model přepíše jako foneticky podobné běžné slovo s confidence score 0,85 (model si věří), zatímco správné slovo by mělo score 0,12 (model ho sotva „vidí"). Slučování výsledků více modelů tento problém adresuje: jiný model se na termínu může trénovacích dat naučit lépe.


Ensemble přístup — kombinování modelů

Odkud přístup pochází

Ensemble metody jsou zavedený přístup ve strojovém učení: kombinace více modelů dává lepší výsledek než nejlepší jednotlivý model. Bagging (random forest), boosting (XGBoost) a stacking jsou příklady metod, kde různé modely kombinují své předpovědi. Základní princip: různé modely mají různé chyby; agregace jejich předpovědí průměruje chyby a zvyšuje celkovou přesnost (Dietterich, 2000).

Aplikace na přepis je logická analogie: každý přepisový model je jiný klasifikátor nad zvukovým signálem.

Historický základ: ROVER algoritmus

ROVER (Recognizer Output Voting Error Reduction) byl navržen Fiscusem (1997) specificky pro kombinování výstupů ASR systémů. Princip: zarovnat výstupy více přepisových systémů na úrovni slov, pak pro každou pozici hlasovat o nejpravděpodobnějším slově. Systém s historicky vyšší přesností dostane v hlasování větší váhu.

ROVER byl první standardizovanou metodou pro kombinování přepisů — a stále slouží jako referenční bod pro modernější přístupy.

Tři způsoby, jak výsledky kombinovat

Majority voting: Slovo, na kterém se shodne většina modelů, vyhraje. Jednoduché, ale nepočítá s rozdílnou kvalitou modelů. Pokud tři ze čtyř modelů přepíší špatně, výsledek je špatný — i když čtvrtý model měl správně.

Weighted voting: Modely mají váhy přidělené podle jejich historické přesnosti na daném typu záznamu. Model s vyšší přesností pro češtinu dostane větší vliv na výsledek. Tento přístup je sofistikovanější a odolnější vůči situaci, kdy slabší modely „přehlasují" silnější.

Jazykový model jako arbitr: Velký jazykový model (LLM) dostane výsledky všech modelů jako vstupy a vybere nejpravděpodobnější variantu s ohledem na jazykový kontext. Může rozlišit „vědecký výzkum" od „věcný výzkum" tím, že rozumí, která varianta dává v kontextu předchozích a následujících vět větší smysl. Toto je nejsofistikovanější přístup.


Jak slučování funguje v praxi

Zarovnání výsledků

Různé modely vrátí různě dlouhé přepisy se sdílenými, ale ne identickými timestamps. „Praha" může být v modelu A mezi 00:01:12.0 a 00:01:12.8, v modelu B mezi 00:01:11.9 a 00:01:12.9. Před hlasováním je třeba výsledky synchronizovat na úrovni slov — algoritmy editační vzdálenosti (Levenshtein) nebo DTW (Dynamic Time Warping) toto zarovnání provádějí automaticky.

Jazykový model jako slučovací vrstva

Velký jazykový model (LLM) může fungovat jako „arbitr" mezi více variantami přepisu. Dostane jako vstup několik verzí stejné pasáže a vyprodukuje finální text. Nejen vybírá, které slovo přijmout — pracuje s kontextem celé věty a celého odstavce.

V Czech Transcription System slouží slučovací vrstva k tomu, aby z více variant přepisu vznikl jeden finální text. Zohledňuje jazykový kontext češtiny, terminologii dodanou uživatelem a gramatická pravidla — a vybere nejpravděpodobnější znění pro každou pasáž záznamu.

Výstup slučování

Jeden přepis jako finální výsledek s přidanou hodnotou kombinace: silné stránky každého modelu se projeví na pasážích, které zvládá nejlépe. Volitelně je k dispozici confidence score jako souhrn dohody modelů — slova, kde se modely neshodly, mají nižší skóre a jsou kandidáty pro ověření.


Výhody a limity — realistická perspektiva

Prokázané výhody

Výzkumy konzistentně ukazují nižší WER kombinovaného systému oproti nejlepšímu jednotlivému modelu za srovnatelných podmínek. Fiscus (1997) dokumentoval snížení WER o 5–15 % oproti nejlepšímu jednotlivci. Robustnost: výpadek nebo výrazně horší výkon jednoho modelu nezničí výsledek — ostatní kompenzují. Pro českou terminologii: model, který konkrétní výraz nezná, může být „přehlasován" modelem, který ho má v trénovacích datech.

Jasné limity

Sdílené chyby: Pokud všechny modely sdílejí tutéž slepou skvrnu — například všechny slabé na konkrétní český regionální přízvuk — slučování nepomůže. Výsledek bude špatný napříč modely.

Cena: Čím více modelů zapojíte, tím vyšší jsou náklady na výpočet i na API volání. To je reálné omezení pro rutinní nebo velkoobjemové zpracování — a důvod, proč se ensemble přístup typicky používá selektivně (jen tam, kde na přesnosti opravdu záleží).

Čas zpracování: I při paralelním zpracování přidává koordinace, sběr výsledků a slučování latenci. Pro záznamy, kde záleží na rychlosti odezvy, je ensemble přístup méně vhodný.

Složitost nasazení: Technicky výrazně náročnější než jeden API endpoint.

Kdy se slučování vyplatí

Vyplatí se: záznamy, kde je chyba v přepisu nákladná (právní, lékařské, archivní záznamy); odborná terminologie, kde ani jeden model není spolehlivý; nízká tolerance chyb — organizace vyžadující maximální přesnost.

Nevyplatí se: jednoduché monology v čistém prostředí se standardním slovníkem, kde jeden dobrý model dosahuje přijatelné přesnosti; situace s požadavkem na minimální latenci.


Závěr

Slučování modelů je logická odpověď na fakt, že žádný model není dokonalý. Ensemble přístup, propracovaný v oblasti strojového učení, nachází přirozenou aplikaci v přepisu řeči — a výsledky to potvrzují. Kombinace více variant přepisu přes slučovací vrstvu může v obtížných pasážích přinést přesnost, které by jednotlivý model nedosáhl.

Cena za vyšší přesnost je reálná: vyšší výpočetní náklady, delší čas zpracování, větší složitost. To je tradeoff, který si každý musí spočítat sám podle svých priorit a požadavků na přesnost.

Pokud potřebujete zvýšit přesnost na vlastních jménech a odborných termínech, navazuje A06. Pro kritický pohled na metriky přesnosti, které slučování zlepšuje, navazuje A07. A pokud chcete porovnat služby v praxi (bez závislosti na konkrétních modelech), navazuje A31.


Zdroje

  1. Fiscus, J.G. (1997). A post-processing system to yield reduced word error rates: Recognizer Output Voting Error Reduction (ROVER). IEEE ASRU 1997. [doi:10.1109/ASRU.1997.659110]
  2. Dietterich, T.G. (2000). Ensemble methods in machine learning. LNCS 1857. [doi:10.1007/3-540-45014-9_1]
  3. Radford, A. et al. (2022). Robust Speech Recognition via Large-Scale Weak Supervision. arXiv. [doi:10.48550/arXiv.2212.04356]