WER hodnotí zlé meno, zlé číslo a chýbajúce „nie“ rovnako ako vynechané „ten“. Systém prepisu posudzujte podľa toho, aké chyby zachytí a či vidíte jeho opravy, nie podľa hlavného čísla.
Miera chybovosti slov (WER) je štandardná mierka pre rozpoznávanie reči. Vezmite referenčný prepis, ktorý človek skontroloval, zarovnajte k nemu výstup stroja slovo po slove a spočítajte tri druhy chýb: nahradenia (nesprávne slovo), vloženia (slovo, ktoré nezaznelo) a vynechania (chýbajúce slovo). Sčítajte ich a vydeľte počtom slov v referencii.
WER = (nahradenia + vloženia + vynechania) / počet slov v referencii
Zarovnanie sa nerobí pohľadom. Dva texty sa zarovnajú podľa minimálnej editačnej vzdialenosti (Levenshteinova vzdialenosť, aplikovaná na slová namiesto písmen): zo všetkých spôsobov, ako spárovať výstup s referenciou, hodnotiteľ vyberie ten s najmenším počtom úprav a tie spočíta. Keďže vloženia sa počítajú a menovateľom je dĺžka referencie, WER môže presiahnuť 100 %: model, ktorý zaplní tichú minútu textom, dopadne horšie ako ten, ktorý nenapíše nič.
Predpokladajme, že referencia je „stretneme sa s dr. Okaforom o deviatej v štvrtok“, deväť slov, a stroj napíše „stretneme sa s tým doktorom o deviatej v utorok“. Sú to tri nahradenia (dr., Okaforom, štvrtok) z deviatich slov: WER 33 %. Dve tretiny slov sú správne, a napriek tomu ste na zlom stretnutí v zlý deň. Ak by bol chybný len „štvrtok“, skóre by bolo 11 %. Verzia so všetkými správnymi slovami, ale s pridaným „ehm“, ktoré nikto nevyslovil, dostane tiež 11 %, lebo vloženie sa počíta rovnako ako nahradenie.
Pred počítaním sa obidva texty zvyčajne normalizujú a voľby pri normalizácii posúvajú skóre rovnako ako model. Je „dr.“ to isté ako „doktor“? Je „deväť“ to isté ako „9“? Rozlišujú sa veľké a malé písmená a interpunkcia? Prísne hodnotenie označí „dr.“ oproti „doktor“ ako nahradenie. Väčšina publikovaných skóre prevedie všetko na malé písmená, odstráni interpunkciu a všetky čísla zapíše jedným spôsobom, buď slovami, alebo číslicami, skôr než ich porovná. Údaj dodávateľa preto potichu závisí od normalizátora, ktorý nevidíte. Jazyky bez medzier medzi slovami, ako čínština, japončina a thajčina, nemajú čistú hranicu slov na počítanie, preto sa hodnotia mierou chybovosti znakov (CER): rovnaký vzorec, ale na znakoch.
Z toho vyplývajú dve veci. Po prvé, WER 5 % znamená jedno slovo z dvadsiatich, čo je niekoľko stoviek slov v hodinovej prednáške. Pre porovnanie, ľudskí prepisovatelia sa uvádzajú zhruba na 4 až 5 % pri hovorenej reči v bežnom rozhovore a často citovaný výsledok z roku 2017 na telefónnom korpuse Switchboard uvádza stroj na približne 5,1 %, hoci obe čísla závisia od zvuku a pravidiel hodnotenia. Po druhé, číslo úplne závisí od testovacieho zvuku: čistá čítaná reč dá jednu hodnotu a hlučný panel s akcentmi a prekrikovaním úplne inú. Hlavné WER opisuje testovaciu sadu dodávateľa rovnako ako jeho systém.
To je výpočet. Čo nezachytáva, je cena každej chyby pre čitateľa.
WER považuje každé slovo za rovnocenné. Čitatelia nie:
Každá z týchto chýb je jedna alebo dve chyby v stĺpci WER. V stĺpci čitateľa siahajú od ničoho až po iné stretnutie v iný deň. Preto nejde len o to, aká je miera chybovosti, ale aké druhy chýb to sú a čo ich zachytí.
Niekoľko vrstiev zachytáva to, čo rozpoznávanie pomýli, a každá zmena sa zaznamená, aby ju bolo možné skontrolovať a vrátiť. Pri živom prepise sa to deje, kým text ešte prichádza: každý riadok sa najprv objaví ako koncept, ktorý sa môže ešte zmeniť, a potom sa stane konečným (Latencia živého prekladu vysvetlená vysvetľuje prečo).
Niektoré chyby sedia na zvuk, ale nie na vetu: „dvere“ namiesto „dve“. Takéto chyby možno zachytiť podľa kontextu a čitatelia uvidia opravu ako viditeľnú aktualizáciu (transcript.amended v API), a nie ako tiché prepísanie. Kontext je dobrý na slová, ktoré veta dokáže predpovedať. Pri tých, ktoré predpovedať nedokáže, je bezmocný.
Mená a odborné termíny sú chyby, ktoré kontext nevie opraviť, lebo meno sa často objaví iba raz a okolo neho nie je nič, z čoho by sa dalo predpovedať. Referenčný scenár to rieši: pred začiatkom dodajte systému reč, prezentácie alebo zoznam mien a termínov, a jeho slová budú mať prednosť pred tým, čo motor zle počul. Počas nahrávania scenár sleduje prepis ako teleprompter, takže moderátor vidí, ako ďaleko motor je. Scenár pokryje slová, ktoré viete predpovedať; hlučný zvuk a akcenty vyrobia tie, ktoré predpovedať nedokážete.
Niektoré chyby vidí len človek v miestnosti. Ručné opravy umožňujú moderátorovi prepísať ľubovoľné slovo alebo riadok, kým prepis ešte beží, a každý poslucháč vysielania vidí zmenu. Systém ukazuje moderátorovi pravdepodobných kandidátov: slová, na ktoré si motor nebol istý, možno zafarbiť a podčiarknuť, a moderátor môže prechádzať neisté úseky jeden po druhom, namiesto toho aby znovu čítal celý prepis. Cez API GET /v1/recordings/{id}/corrections vypíše opravy nahrávky a POST /v1/corrections/{id}/revert jednu z nich vráti späť; pozri referenciu API. Ani človek v miestnosti však nemôže opraviť riadok, ktorý nikto nepočul.
Posledná vrstva prijíma, že niektorý zvuk sa nedá obnoviť. Keď riadok dosiahne skóre pod prahom istoty prepisu (confidence.hideBelow, štandardne 0.60), poslucháči namiesto neho vidia „Zvuk nezrozumiteľný“ a riadok sa nikdy nenahlas neprečíta. Čitatelia prídu o riadok, ale nezískajú vymyslený.
Tie isté otázky, ktoré formovali tieto vrstvy, platia pre tvrdenie ktoréhokoľvek dodávateľa o presnosti, vrátane nášho.
Krátky kontrolný zoznam na čítanie každého tvrdenia o presnosti:
VocalStack nezverejňuje interné číslo WER z prvého dôvodu vyššie: opisovalo by naše testovacie dáta, nie váš zvuk. Presnosť merame nepretržite. Keď porovnávame iné systémy, používame publikované nezávislé benchmarky a čísla zverejnené dodávateľmi, nikdy súkromné testy. Zvyšok nech rozhodne váš vlastný zvuk.