A WER ugyanúgy pontozza a rossz nevet, a rossz számot és a hiányzó „nem” szót, mint egy kihagyott névelőt. Egy átírórendszert az alapján ítélj meg, hogy mely hibákat fogja meg, és hogy látod-e a javításait, ne a fő számából.
A szóhibaarány (word error rate, WER) a beszédfelismerés szokásos mércéje. Vegyünk egy emberi ellenőr által ellenőrzött referencia-átiratot, illesszük hozzá a gép kimenetét szavanként, és számoljuk meg a hibák háromféle fajtáját: helyettesítéseket (rossz szó), beszúrásokat (olyan szó, amit soha nem mondtak ki) és törléseket (kihagyott szó). Adjuk össze őket, és osszuk el a referencia szavainak számával.
WER = (helyettesítések + beszúrások + törlések) / a referencia szavainak száma
Az illesztést nem szemmel végezzük. A két átiratot minimális szerkesztési távolsággal (Levenshtein-távolság, betűk helyett szavakra alkalmazva) illesztjük: a kimenet és a referencia párosításainak összes lehetséges módja közül a pontozó azt választja, amelyhez a legkevesebb szerkesztés kell, és ezeket számolja meg. Mivel a beszúrások beleszámítanak, a nevező pedig a referencia hossza, a WER meghaladhatja a 100 százalékot: a modell, amely egy csendes percet szöveggel tölt ki, rosszabb pontot kap, mint az, amelyik semmit sem ír.
Tegyük fel, hogy a referencia: „Csütörtökön reggel kilenckor, a kórházi rendelőben találkozunk Dr. Okaforral.” Ez kilenc szó. A gép ezt írja: „Kedden reggel kilenckor, a kórházi rendelőben találkozunk az orvossal.” Ez három helyettesítés (csütörtökön → kedden, Dr. → az, Okaforral → orvossal) kilenc szóra vetítve: 33 százalékos WER. A szavak kétharmada helyes, mégis rossz találkozóra, rossz napon érkezel. Ha csak a „csütörtökön” lenne rossz, a pontszám 11 százalék lenne. Egy olyan változat, amelyben minden szó helyes, de van egy senki által ki nem mondott „hm”, szintén 11 százalékot kapna, mert egy beszúrás ugyanannyit ér, mint egy helyettesítés.
A számolás előtt mindkét szöveget általában normalizálják, és az itt hozott döntések ugyanannyit mozgatják a pontszámon, mint maga a modell. Ugyanaz-e a „Dr.” és a „Doctor”? A „kilenc” ugyanaz, mint a „9”? Számít a kis- és nagybetű, az írásjel? A szigorú pontozás a „Dr.” és a „Doctor” párt helyettesítésnek jelölné. A legtöbb közzétett pontszám mindent kisbetűssé tesz, eltávolítja az írásjeleket, és a számokat egységesen írja, szóként vagy számjegyekkel, mielőtt összehasonlít. A szállító száma tehát csendben egy olyan normalizálótól függ, amelyet nem láthatsz. A szóközzel nem elválasztott nyelvek, például a kínai, a japán és a thai esetében nincs tiszta szóhatár, amit meg lehetne számolni, ezért ezeket karakterhibaaránnyal (CER) mérik: ugyanez a képlet, de karakterekre alkalmazva.
Ebből két dolog következik. Először: az 5 százalékos WER húszból egy szó, ami egy egyórás előadásban több száz szót jelent. Összehasonlításképp, az emberi átírókat beszélgetésekben hozzávetőleg 4–5 százalékosnak szokták megadni, és egy sokat idézett, 2017-es eredmény szerint a Switchboard telefonos korpuszon a gép körülbelül 5,1 százalékot ért el, bár mindkét szám függ a hangfelvételtől és a pontozási szabályoktól. Másodszor: a szám teljes egészében a tesztfelvételtől függ. A tiszta, felolvasott beszéd egy számot ad, a zajos panelbeszélgetés akcentusokkal és átfedő beszéddel egészen mást. A szállító által közölt WER a szállító tesztkészletét írja le legalább annyira, mint a szállító rendszerét.
Ez a számolás. Amit nem vesz figyelembe, az az egyes hibák ára az olvasó számára.
A WER minden szót egyenlőnek tekint. Az olvasók nem:
Ezek mindegyike egy-két hiba a WER oszlopában. Az olvasó oszlopában a skála a semmitől egy másik találkozóig terjed, másik napon. Ezért nem csak az a kérdés, hogy „mennyi a hibaarány”, hanem az is, hogy „milyen hibák vannak, és mi fogja meg őket”.
Több réteg fogja meg azt, amit a felismerés elront, és minden változtatás rögzítésre kerül, így megvizsgálható és visszavonható. Élő átírásnál ez a szöveg érkezése közben történik: minden sor először vázlatként jelenik meg, amely még változhat, majd véglegessé válik (Az élő fordítás késleltetése, röviden arról szól, miért).
Vannak hibák, amelyek a hanghoz illenek, de a mondathoz nem: például hasonló hangzású, de rossz szó, „mint” helyett „mit”. Ezeket a kontextus alapján ki lehet szűrni, és a javítás láthatóvá frissítésként jut el az olvasóhoz (az API-ban transcript.amended), nem csendes átírásként. A kontextus jó azokban a szavakban, amelyeket a mondat meg tud jósolni. Azokban, amelyeket nem tud, tehetetlen.
A nevek és a szakkifejezések azok a hibák, amelyeket a kontextus nem tud javítani, mert a név gyakran csak egyszer fordul elő, és nincs körülötte semmi, amiből ki lehetne következtetni. Egy referencia-szöveg megoldja ezt: add meg a rendszernek a beszédet, a diákat vagy a nevek és kifejezések listáját a kezdés előtt, és a szavai élveznek elsőbbséget annál, amit a motor félrehallott. A felvétel alatt a szöveg követi az átiratot, mint egy szövegkiíró (teleprompter), így a házigazda látja, meddig jutott a motor. Egy szöveg a szavakat fedi le, amelyeket meg tudsz jósolni; a zajos hang és az akcentusok szolgáltatják azokat, amelyeket nem tudsz.
Vannak hibák, amelyeket csak a teremben lévő ember lát. A kézi javítások lehetővé teszik, hogy a házigazda bármely szót vagy sort átírjon, miközben az átírás még élő, és a közvetítés minden hallgatója látja a változást. A rendszer rámutat a valószínű jelöltekre: amelyekben a motor bizonytalan volt, színnel kiemelve és aláhúzva jelennek meg, a házigazda pedig egyenként léphet végig a bizonytalan szakaszokon, ahelyett hogy az egész átiratot újraolvasná. API-n keresztül a GET /v1/recordings/{id}/corrections listázza a felvétel javításait, a POST /v1/corrections/{id}/revert pedig visszavon egyet; lásd az API-referenciát. Egy teremben ülő ember sem tud azonban olyan sort javítani, amelyet senki nem hallott.
Az utolsó réteg elfogadja, hogy egyes hangok nem állíthatók helyre. Ha egy sor az átírás bizalmi küszöbe (confidence.hideBelow, alapértelmezetten 0.60) alá esik, a hallgatók a találgatás helyett az „Audio unclear” szöveget látják a helyén, és a sort soha nem olvassák fel. Az olvasók elveszítenek egy sort; egy kitalált sort nem nyernek.
Ugyanazok a kérdések, amelyek ezeket a rétegeket formálták, bármely szállító pontossági állításán működnek, a miénken is.
Rövid ellenőrzőlista bármely pontossági állítás olvasásához:
A VocalStack nem közöl belső WER-számot, a fenti első okból: az a mi tesztkészletünket írná le, nem a te hangfelvételedet. Folyamatosan mérjük a pontosságot. Ahol más rendszereket hasonlítunk össze, nyilvánosan elérhető független benchmarkokat és a szállítók által közzétett számokat használjuk, soha nem privát teszteket. A többit a saját hangfelvételed döntse el.