Microsoft Azure, Google a Phonexia: Na koho vsadit s převodem mluvené češtiny na text?
Ondřej Ťupa, Erik Citterberg, Jan Rygl — výzkumný tým Born Digital
V posledních letech se hlasové technologie posunuly tak daleko, že už ani pro firmy v českém prostředí není spojení hlasový asistent sci-fi, ale spíše něco, na čem aktivně pracují, nebo by s tím alespoň brzy chtěly začít.
Český trh je bohužel velmi malý, a proto byl donedávna výběr mezi technologiemi pro převod řeči na text (speech-to-text) limitující. Pokud vám nevadí posílat data do cloudu, Google poskytuje velmi kvalitní a spolehlivou službu. Pokud kvůli bezpečnosti a ochraně soukromí potřebujete zůstat s daty na svých serverech, česká firma Phonexia nabízí pravděpodobně nejkvalitnější on-site řešení.
Je ale možné, že se vše změnilo s podporou češtiny v Microsoft Azure? My ve výzkumném oddělení Born Digital jsme si takovou otázku kladli a rozhodli jsme se o odpověď na ni podělit s vámi.
Jak probíhalo srovnání technologií
Rozhodli jsme se použít otevřená data založená na krátkých nahrávkách z projektu Common Voice od Mozilly, v rámci kterého se buduje databáze i českých nahrávek včetně ručně udělaných přepisů. Z projektu jsme použili 1100 náhodně zvolených nahrávek (k dispozici včetně všech přepisů na https://public.research01.borndigital.ai/DATA.zip, počet nahrávek byl dán naším budgetem na projekt) s následujícími statistikami:
Každou z nahrávek jsme nechali zpracovat všemi zmíněnými technologiemi:
převedli do jednotného formátu (vše přepsali malými písmeny, vynechali jsme interpunkci a čísla převedli na zápis pomocí číslic).
Normované přepisy jsme porovnávali s normovaným ručním přepisem z datasetu Mozilly. Pro vyhodnocení kvality jsme použili dvě metriky:
1. Levenshteinovu (editační) vzdálenost založenou na symbolech
- Každý znak nahrazený jiným znakem se počítá za jednu opravu.
- Každý chybějící znak nebo znak navíc se též počítá za jednu opravu.
2. Adaptaci Levenshteinovy (editační) vzdálenosti na slovech (s vypuštěním opakovaných chyb v rámci jedné promluvy)
- Každé slovo nahrazené jiným slovem se počítá za jednu opravu.
- Každé chybějící slovo nebo slovo navíc se též počítá za jednu opravu.
Např. pro originál “dobrý den prosím pana Dalibora” a přepis “dobrý den prase pana dali shora” je celková chyba pro první metriku 6 (symboly), pro druhou 3 (slova):
A jak to dopadlo?
Zjistili jsme několik zajímavých faktů. Každá technologie dělá trochu jiné chyby, takže se může stát (a je velmi pravděpodobné), že na jiných datech dopadnou výsledky trochu jinak. Ve všech třech případech jsme přepočítali úspěšnost technologií vůči ručnímu přepisu.
U Phonexie jsme napočítali 4 681 oprav symbolů, respektive 1 375 oprav slov, to znamená, že s 87 % znaků a 81 % slov si jejich technologie bez problému poradila a předvedla je na text správně.
Technologie Google s 1 917 opravami na symboly a 698 opravami na slova dopadla ještě lépe, 95 % znaků a 90 % slov přepsala správně.
Microsoft Azure s celkovými 1 524 opravami na symboly a 582 opravami na slova těsně předstihl Google s bezchybným přepisem 96 % znaků a 92 % slov.
Vše je shrnuto v následujících grafech (originální korpus má 7 287 slov o 36 823 znacích):
Microsoft Azure měl problémy s jednotlivými fonémy (vyslovením hlásek). U koncovek, např. udělej→udělají, tekutinu→tekutinou to sice chyba je, ale zachování kořenu nám další zpracování umožní. Na jiných pozicích už to problém je, např. vnikal→vznikal, rvačky→značky nebo nikdo→někdo. Občas se přepis nepovede vůbec, např. hnala→no a.
Složení chyb u Googlu se hodně podobalo Microsoft Azure. Záměna fonémů, např. vztekle→takhle, někde→někdo a občas slovo uteče úplně, např. zvolením→zhulený, nejvyšších→nejnižší nebo vědí→děti.
Phonexia dělá stejné typy chyby jako předchozí technologie. Kromě toho též často rozdělí slova nebo část slova ztratí, např. nemilosrdně→milosrdně, dotýkat→týkat,
A občas přijde s věcmi, které ani podobně neznějí, např. mramor→ráno, věnoval→jenom on a victoria→východní.
Businessové shrnutí
V oblasti cloudu v Česku získal Google velmi silnou konkurenci, která přišla s o třetinu nižší cenou (nebo stejnou cenou, pokud vám nevadí sdílet s Googlem svá data) a srovnatelným výkonem. Pokud jste uvažovali o použití Google cloudu, stojí za to se zamyslet, jestli raději nezkusit Microsoft Azure. Situace by se mohla změnit, kdyby Google začal nabízet své “vylepšené” modely i pro češtinu, zatím však tato možnost není.
Phonexia zůstává zatím na českém trhu jedničkou, protože Azure ještě nemá on-site dockerové řešení s podporou češtiny. Je možné, že se to již brzy změní, a pak bude mít smysl znovu porovnat Azure s Phonexií, jestli v té době budou rozdíly stále stejně velké ve prospěch Microsoft Azure.