WER vienodai įvertina neteisingą vardą, neteisingą skaičių ir prarastą „not“ bei praleistą „the“. Vertinkite transkribavimo sistemą pagal tai, kokias klaidas ji pagauna ir ar matote jos pataisymus, o ne pagal bendrą skaičių.
Žodžių klaidų dalis (WER) – standartinis kalbos atpažinimo matas. Paimkite žmogaus patikrintą nuorodinį nuorašą, sulyginkite su mašinos išvestimi žodis po žodžio ir suskaičiuokite tris klaidų rūšis: pakeitimus (neteisingą žodį), įterpimus (žodį, kurio niekas nesakė) ir praleidimus (trūkstamą žodį). Sudėkite jas ir padalykite iš žodžių skaičiaus nuorodiniame tekste.
WER = (pakeitimai + įterpimai + praleidimai) / žodžių skaičius nuorodiniame tekste
Sulyginimas nedaromas akimi. Abu tekstai sulyginami pagal minimalų redagavimo atstumą (Levenšteino atstumas, taikomas žodžiams, o ne raidėms): iš visų galimų žodžių porų vertintojas pasirenka tą variantą, kuriame yra mažiausiai redagavimų, ir suskaičiuoja juos. Kadangi įterpimai skaičiuojami, o daliklis – nuorodos ilgis, WER gali viršyti 100 procentų: modelis, kuris tylią minutę užpildo tekstu, įvertinamas blogiau nei tas, kuris nieko neparašo.
Tarkime, nuoroda – „we will meet Dr Okafor at nine on Thursday“, devyni žodžiai, o mašina parašo „we will meet the doctor at nine on Tuesday“. Tai trys pakeitimai (Dr, Okafor, Thursday) iš devynių žodžių: WER lygus 33 procentams. Du trečdaliai žodžių teisingi, o vis tiek esate ne tame susitikime ir ne tą dieną. Jei klaidinga būtų tik „Thursday“, rezultatas būtų 11 procentų. Versija, kurioje visi žodžiai teisingi, bet pridėtas „um“, kurio niekas nesakė, taip pat gauna 11 procentų, nes įterpimas skaičiuojamas kaip ir pakeitimas.
Prieš skaičiavimą abu tekstai paprastai normalizuojami, o čia padaryti pasirinkimai keičia įvertinimą tiek pat, kiek pats modelis. Ar „Dr“ yra tas pats žodis kaip „Doctor“? Ar „nine“ yra tas pats kaip „9“? Ar svarbūs didžiosios ir mažosios raidės bei skyrybos ženklai? Griežtas vertinimas pažymėtų „Dr“ ir „Doctor“ kaip pakeitimą. Dauguma paskelbtų rezultatų prieš lyginimą visas raides paverčia mažosiomis, pašalina skyrybos ženklus ir visus skaičius užrašo vienodai – žodžiais arba skaitmenimis. Todėl tiekėjo skaičius tyliai priklauso nuo normalizatoriaus, kurio jūs nematote. Kalbos, kurių rašyme žodžiai neatskirti tarpais, pavyzdžiui, kinų, japonų ir tajų, neturi aiškios žodžio ribos, todėl jos vertinamos pagal simbolių klaidų dalį (CER): ta pati formulė, taikoma simboliams.
Iš to seka du dalykai. Pirma, 5 procentų WER reiškia vieną žodį iš dvidešimties, o vienos valandos kalboje tai – kelis šimtus žodžių. Žmonių transkribuotojų klaidų dalis dažnai nurodoma maždaug 4–5 procentai kalbant pokalbio stiliumi, o 2017 metų plačiai cituojamame rezultate, pagrįstame telefoninių pokalbių korpusu Switchboard, mašinos rezultatas buvo apie 5,1 procento, tačiau abu skaičiai priklauso nuo garso ir vertinimo taisyklių. Antra, skaičius visiškai priklauso nuo bandymo garso: švari skaitoma kalba duoda vieną rezultatą, o triukšmingas pokalbis su akcentais ir persidengiančiais balsais – labai kitokį. Bendras WER apibūdina tiek tiekėjo bandymo rinkinį, kiek ir tiekėjo sistemą.
Tai ir yra skaičiavimas. Ko jis nepasako, tai kiekvienos klaidos kaina skaitytojui.
WER su kiekvienu žodžiu elgiasi vienodai. Skaitytojai – ne:
Kiekviena iš šių klaidų WER stulpelyje yra vienas ar du įvertinimai. Skaitytojo stulpelyje jos svyruoja nuo nieko iki kito susitikimo kitą dieną. Todėl klausimas yra ne tik „kokia klaidų dalis“, bet ir „kokios klaidos ir kas jas pagauna“.
Keli sluoksniai pagauna tai, ką atpažinimas padaro neteisingai, o kiekvienas pakeitimas įrašomas, kad jį būtų galima patikrinti ir atšaukti. Tiesioginio transkribavimo metu tai vyksta tuo metu, kai tekstas dar atkeliauja: kiekviena eilutė pirmiausia rodoma kaip juodraštis, kuris dar gali keistis, o vėliau tampa galutinė (Tiesioginio vertimo delsa, paaiškinta paaiškina, kodėl).
Kai kurios klaidos atitinka garsą, bet ne sakinį: „their“ ten, kur sakinyje reikia „there“. Tokias klaidas galima pagauti iš konteksto, o pataisymas skaitytojams pasiekia kaip matomas atnaujinimas (transcript.amended API), o ne kaip tyliai perrašytas tekstas. Kontekstas gerai padeda su žodžiais, kuriuos sakinys gali numatyti. Su tais, kurių jis nenumato, jis bejėgis.
Vardai ir techniniai terminai – tai klaidos, kurių kontekstas nepataiso, nes vardas dažnai pasirodo tik kartą ir nėra aplink ką jo numatyti. Nuorodinis scenarijus tai išsprendžia: prieš pradedant duokite sistemai kalbą, skaidres ar vardų ir terminų sąrašą, ir jos žodžiai turės pirmenybę prieš tai, ką variklis išgirdo klaidingai. Įrašymo metu scenarijus seka nuorašą kaip teleprompteris, todėl vedėjas mato, kiek toli variklis jau nuėjo. Scenarijus apima žodžius, kuriuos galite numatyti; triukšmingas garsas ir akcentai sukuria tuos, kurių numatyti negalite.
Kai kurias klaidas gali matyti tik žmogus salėje. Rankiniai pataisymai leidžia vedėjui perrašyti bet kurį žodį ar eilutę, kol transkribavimas vyksta tiesiogiai, ir kiekvienas transliacijos klausytojas mato pakeitimą. Sistema nukreipia vedėją į galimus kandidatus: žodžius, kuriais variklis nebuvo tikras, galima nuspalvinti ir pabraukti, o vedėjas gali peržiūrėti neaiškius segmentus vieną po kito, užuot skaitęs visą nuorašą iš naujo. Per API GET /v1/recordings/{id}/corrections išvardijami įrašo pataisymai, o POST /v1/corrections/{id}/revert atšaukia vieną iš jų; žr. API nuorodą. Tačiau net žmogus salėje negali pataisyti eilutės, kurios niekas negirdėjo.
Paskutinis sluoksnis priima, kad kai kurio garso neįmanoma atkurti. Kai eilutė įvertinama žemiau transkribavimo pasitikėjimo slenksčio (confidence.hideBelow, pagal numatytąją reikšmę 0,60), klausytojai vietoj jos mato „Audio unclear“, o eilutė niekada neskaitoma balsu. Skaitytojai praranda eilutę, bet negauna išgalvotos.
Tie patys klausimai, kurie suformavo šiuos sluoksnius, taikomi bet kurio tiekėjo tikslumo teiginiams, įskaitant mūsiškį.
Trumpas patikrinimo sąrašas bet kuriam tikslumo teiginiui:
VocalStack nepublikuoja vidinio WER skaičiaus dėl pirmos priežasties aukščiau: jis apibūdintų mūsų bandymo rinkinį, o ne jūsų garsą. Tikslumą matuojame nuolat. Kai lyginame kitas sistemas, naudojame paskelbtus nepriklausomus etalonus ir tiekėjų paskelbtus skaičius, niekada privačių bandymų. Likusį turi nuspręsti jūsų pačių garsas.