WER исто оцењује погрешно име, погрешан број и изостављено „не“ као и изостављену реч „то“. Систем за транскрипцију оцењујте по томе које грешке хвата и можете ли да видите његове исправке, а не по општем броју.
Стопа грешака у речима (WER, word error rate) стандардна је мера за препознавање говора. Узмите референтни транскрипт који је особа проверила, поредите излаз машине с њим реч по реч и бројите три врсте грешака: замене (погрешна реч), уметања (реч која никада није изговорена) и изостављања (реч која недостаје). Саберите их и поделите бројем речи у референци.
WER = (замене + уметања + изостављања) / број речи у референци
Поравнање се не ради на око. Два транскрипта се поравнавају помоћу минималне удаљености уређивања (Левенштајнова удаљеност, примењена на речи, а не на слова): од свих начина да се излаз споји с референцом, оцењивач бира онај с најмање измена и броји их. Пошто се уметања рачунају, а називник је дужина референце, WER може да пређе 100 одсто: модел који тихи минут попуни текстом лошије прође од оног који ништа не напише.
Узмимо да је референца „Састајемо се са др Окафором у девет у четвртак“, девет речи, а машина напише „Састајемо се са тим доктором у девет у уторак“. То су три замене (др, Окафором, четвртак) на девет речи: WER од 33 одсто. Две трећине речи су тачне, а ипак сте на погрешном састанку у погрешан дан. Да је погрешан само четвртак, резултат би био 11 одсто. Верзија у којој су све речи тачне, али је додато „ем“ које нико није изговорио, такође добија 11 одсто, јер се уметање рачуна исто као и замена.
Пре бројања обе текста се обично нормализују, а избори који се ту праве померају резултат колико и сам модел. Да ли је „др“ исто што и „доктор“? Да ли је „девет“ исто што и „9“? Рачунају ли се велика слова и интерпункција? Строго оцењивање би „др“ и „доктор“ означило као замену. Већина објављених резултата своди све на мала слова, уклања знаке интерпункције и све бројеве исписује на један начин, као речи или као цифре, пре поређења. Зато добављачев број тихо зависи од нормализатора који не можете да видите. Језици који се не пишу с размацима између речи, као кинески, јапански и тајски, немају јасну границу речи за бројање, па се оцењују стопом грешака у знаковима (CER): иста формула, примењена на знакове.
Из тога следе две ствари. Прво, WER од 5 одсто значи једну реч од двадесет, што је неколико стотина речи у једночасовном предавању. За поређење, људски транскриптори се често наводе на око 4 до 5 одсто код разговорног говора, а често цитирани резултат из 2017. на корпусу телефонских разговора Switchboard дао је машини око 5,1 одсто, мада обе бројке зависе од снимка и правила оцењивања. Друго, број зависи искључиво од тест-снимка: чист читан говор даје једну вредност, а бучна панел-дискусија с акцентима и преклапањем гласова сасвим другу. Објављени WER описује тест-скуп добављача колико и његов систем.
То је бројање. Оно што изоставља јесте цена сваке грешке за онога ко чита.
WER сматра сваку реч једнаком. Читаоци не:
Свака од ових ствари је једна или две грешке у колони WER. У колони читаоца оне иду од ничега до другог састанка другог дана. Зато питање није само „колика је стопа грешака“, него и „које врсте грешака и шта их хвата“.
Неколико слојева хвата оно што препознавање погреши, а свака промена се бележи да би се могла прегледати и поништити. На живој транскрипцији то се дешава док текст још стиже: сваки ред се прво појављује као нацрт који се може променити, а затим постаје коначан (Кашњење живог превода, објашњено објашњава зашто).
Неке грешке прилично одговарају звуку, а не уклапају се у реченицу: реч која звучи исто, а има други смисао. Такве грешке се могу хватати из контекста, а исправка стиже до читалаца као видљиво ажурирање (transcript.amended у API-ју), а не као тиха измена. Контекст добро помаже за речи које реченица може да предвиди. Против оних које не може, он је немоћан.
Имена и технички термини су грешке које контекст не може да поправи, јер се име често појави само једном, без ичега око себе из чега би се могло предвидети. Референтна скрипта то решава: дате систему говор, слајдове или списак имена и термина пре почетка, и његове речи имају предност над оним што је мотор погрешно чуо. Током снимања скрипта прати транскрипт као телепромптер, па домаћин види колико је мотор стигао. Скрипта покрива речи које можете да предвидите; бучан звук и акценти производе оне које не можете.
Неке грешке види само особа у просторији. Ручне исправке омогућавају домаћину да препише било коју реч или ред док је транскрипција још жива, а сваки слушалац на преносу види промену. Систем показује домаћину вероватне кандидате: речи у којима је мотор био несигуран могу бити обојене и подвучене, а домаћин може прелазити кроз несигурне сегменте један по један, а не поново читати цео транскрипт. Преко API-ја, GET /v1/recordings/{id}/corrections исписује исправке снимка, а POST /v1/corrections/{id}/revert поништава једну; видите референцу за API. Ни особа у просторији, међутим, не може да исправи ред који нико није могао да чује.
Последњи слој прихвата да неки звук није могуће повратити. Када ред добије оцену испод прага поузданости транскрипције (confidence.hideBelow, подразумевано 0.60), слушаоци уместо њега виде „Звук је нејасан“, а тај ред се никада не чита наглас. Читаоци изгубе један ред; не добијају измишљен.
Иста питања која су обликовала ове слојеве важе за свако тврђење о тачности добављача, укључујући наше.
Кратка листа за читање сваког тврђења о тачности:
VocalStack не објављује интерну WER вредност, из првог разлога изнад: она би описивала наш тест-скуп, а не ваш снимак. Тачност меримо стално. Када упоређујемо друге системе, користимо објављене независне тестове и бројеве које објављују сами добављачи, никада приватне тестове. Остало нека одлучи ваш сопствени снимак.