Transkripce

Jak funguje přepis řeči na text: od zvukové vlny k písmenům

Přepis řeči je fyzikální, matematický a jazykový proces zároveň. Mikrofon zachytí tlakové vlny vzduchu, převodník je změní na čísla, neuronová síť hledá vzory a jazykový model odhadne nejpravděpodobnější sekvenci slov. Proč to někdy funguje dokonale a jindy výsledek překvapí, vysvětluje tento článek — bez předpokladu odborných znalostí.


Co se děje v okamžiku, kdy stisknete tlačítko nahrávání

Mluvení je fyzikální jev. Kmitání hlasivek způsobuje tlakové změny vzduchu, které se šíří prostorem jako vlny. Mikrofon tyto tlakové změny zachycuje a přeměňuje na elektrický signál. Analogově-digitální převodník ho pak vzorkuje — typicky 16 000 nebo 44 100krát za sekundu — a každý okamžik zaznamenává jako číslo.

Výsledkem je číselná sekvence: časová osa tlakových hodnot. To je vše, s čím přepisový algoritmus pracuje. Žádná slova, žádný jazyk, jen čísla v čase.

Proč je vzorkovací frekvence důležitá? Podle Nyquistova teorému musí být vzorkovací frekvence alespoň dvakrát vyšší než nejvyšší frekvence v signálu, který chceme zachytit. Lidský hlas obsahuje frekvence zhruba do 8 kHz — proto stačí 16 kHz vzorkování pro přepis mluvené řeči. Vyšší frekvence (44,1 kHz pro hudbu) nepřidají přepisu na přesnosti, jen zvětší soubor.

Spektrogram — jak algoritmus vidí řeč

Surová číselná sekvence nestačí. Než neuronová síť může hledat slova, musí zvuk „přeložit" do formy, které rozumí.

Fourierova transformace rozdělí každý krátký úsek zvuku (typicky 25 milisekund) na frekvenční složky. Výsledek říká: v tento moment je přítomná tato kombinace frekvencí s touto intenzitou. Vizuální reprezentace tohoto rozkladu v čase se nazývá spektrogram — a pro přepisový algoritmus je to obraz řeči.

Hlásky mají charakteristické spektrální otisky: „a" zní jinak než „e", „s" jinak než „m". Model pracuje s předzpracovanými příznaky zvanými MFCC (mel-frequency cepstral coefficients), které imitují to, jak vnímá frekvence lidské ucho — nelineárně, s větší citlivostí na nižší frekvence (Gold, Morgan & Ellis, 2011).

Analogie: pokud je zvuk jako text, spektrogram je jako rozložení textu na jednotlivá písmena s informací o jejich velikosti a tučnosti. Z písmen lze sestavit slova — ale jen pokud víte, jak je číst.


Od zvukového vzoru ke slovu — neuronová síť v akci

Neuronová síť dostane sekvenci spektrálních příznaků a hledá, jaká sekvence slov nejlépe odpovídá. Tento proces není deterministický — je to statistický odhad.

Princip CTC — jak model hledá slova bez přesného zarovnání

Klíčový algoritmus, který umožnil moderní přepis, se nazývá CTC (Connectionist Temporal Classification). Byl navržen v roce 2006 a umožňuje trénovat přepisový model bez explicitního zarovnání zvuku a textu — model si zarovnání odvodí sám z dat (Graves & Schmidhuber, 2005).

Jak to vypadá v praxi: model „prochází" zvukový záznam a pro každý krátký úsek přiřazuje pravděpodobnosti všem možným hláskám nebo tokenům. Výsledná sekvence s nejvyšší celkovou pravděpodobností je výsledný přepis. Správné přepisy jsou ty, u nichž model „věří", že jsou nejpravděpodobnější — ne nutně ty, které skutečně byly vyřčeny.

Trénink — proč záleží, čím byl model vychován

Schopnost modelu závisí na jeho tréninku: model se učí na párech (zvuk, text) — milionech hodin nahrávek s odpovídajícím přepisem. Čím více dat a čím různorodějších, tím lépe se model naučí generalizovat na nové nahrávky.

Whisper, přepisový model zveřejněný společností OpenAI, byl natrénován na 680 000 hodinách vícejazyčného zvuku z webu. Výsledkem je model s výrazně vyšší přesností pro angličtinu (kde dat bylo nejvíce) a přijatelnou přesností pro češtinu — kde dat bylo méně (Radford et al., 2022).


Čeština jako náročný testovací případ

Přepisové modely vznikaly primárně v anglofonním prostředí a na anglicky mluvené řeči. Přenést je na češtinu není otázka překladu — je to přechod na jiný typ jazyka.

Morfologie — jeden kořen, desítky tvarů

Angličtina je analytický jazyk: gramatické vztahy vyjadřuje pomocí slovosledu a pomocných slov. Slovní tvary se téměř nemění (dog / dogs — to je v zásadě vše).

Čeština je flektivní jazyk: gramatické vztahy jsou zakódovány v koncovkách. Slovo „pes" existuje v tvarech pes, psa, psu, pse, psem, psovi, psi — a to je teprve začátek. Pro přepisový algoritmus je každá forma jiný zvukový vzor, který musí zvlášť rozpoznat. Menší morfologická variabilita angličtiny znamená, že modely trénované na ní mají pro češtinu nevhodné předpoklady.

Objem dat jako zásadní faktor

Anglická řeč je v trénovacích sadách zastoupena tisíci hodinami validovaných nahrávek. Česká řeč v databázi Mozilla Common Voice — jednom z hlavních otevřených zdrojů pro ASR výzkum — dosahuje řádově nižších objemů. Menší trénovací sada znamená horší základ pro generalizaci na nové mluvčí, dialekty a slovní zásobu.

Komerční poskytovatelé mají vlastní proprietární trénovací sady — jejich objem pro češtinu zpravidla není veřejně znám.


Proč různé systémy slyší totéž jinak

WER (Word Error Rate) je základní metrika přesnosti: udává procento chybně přepsaných slov. Vzorec: WER = (záměny + vynechání + vložení) / celkový počet slov × 100.

Dva různé systémy přepíší tutéž českou větu různě. Ne proto, že by jeden byl nutně špatný — ale proto, že každý byl naučen na jiných datech a jinak. Jejich slepé skvrny se liší: model A chybuje na odborné terminologii, model B na spontánní konverzaci.

Tento poznatek vedl k přístupu, který kombinuje výsledky více modelů najednou: výsledky jsou zarovnány a tam, kde se modely neshodnou, rozhodne jazyková vrstva na základě kontextu. Tímto způsobem jedna chyba jednoho modelu nemusí ovlivnit finální přepis, pokud jiný model ve stejném místě uspěl. O slučování výsledků více modelů podrobněji pojednává A13.

Výsledek přepisu závisí i na postprocesingu: interpunkce, diakritika a velká písmena jsou doplňovány až po základním přepisu — a i zde vznikají rozdíly mezi systémy. Jak s interpunkcí pracovat popisuje A08.


Závěr

Přepis řeči na text je elegantní řetězec přeměn: tlakové vlny → čísla → spektrální otisky → pravděpodobnosti slov → text. V každém kroku může dojít k chybě, a každý krok závisí na kvalitě předchozího.

Pochopení tohoto řetězce pomáhá nastavit realistická očekávání: dobrá nahrávka v tichém prostředí dá lepší výsledek než slabá nahrávka zpracovaná sebelepším modelem. A různé systémy slyší totéž jinak — ne proto, že by jeden byl špatný, ale proto, že každý byl naučen jinak.

Pro ty, kdo chtějí jít hlouběji: přehled konkrétních modelů a jejich srovnání najdete v článku A06; o tom, jak zlepšit nahrávku před přepisem, pojednává A12; diarizaci mluvčích — přiřazení replik konkrétním hlasům — vysvětluje A04.


Zdroje

  1. Radford, A., Kim, J.W., Xu, T., Brockman, G., McLeavey, C. & Sutskever, I. (2022). Robust Speech Recognition via Large-Scale Weak Supervision. arXiv preprint. [doi:10.48550/arXiv.2212.04356]
  2. Graves, A. & Schmidhuber, J. (2005). Framewise phoneme classification with bidirectional LSTM networks. Proceedings of IJCNN 2005. [doi:10.1109/IJCNN.2005.1556215]
  3. Gold, B., Morgan, N. & Ellis, D. (2011). Speech and Audio Signal Processing: Processing and Perception of Speech and Music. Wiley. [ISBN 978-0-470-19536-9]
  4. Mozilla Common Voice — Czech language dataset. https://commonvoice.mozilla.org/cs
  5. NIST Speech Recognition benchmarks. https://nist.gov/speech-recognition