WER залічвае няправільнае імя, няправільны лік і прапушчанае «not» з той жа вагой, што і прапушчанае «the». Ацэньвайце сістэму транскрыбавання па тым, якія памылкі яна ловіць і ці можна бачыць яе выпраўленні, а не па галоўным ліку.
Каэфіцыент памылак па словах (word error rate, WER) — стандартны эталон для распазнавання маўлення. Вазьміце эталонную транскрыпцыю, якую праверыў чалавек, супаставце вынік машыны з ёй слова за словам і палічыце тры тыпы памылак: замены (няправільнае слова), уставкі (слова, якога не казалі) і прапускі (слова, якое прапушчана). Складзіце іх і падзяліце на колькасць слоў у эталоне.
WER = (замены + уставкі + прапускі) / колькасць слоў у эталоне
Супастаўленне не робіцца на вока. Два тэксты выраўноўваюцца па мінімальнай адлегласці рэдагавання (адлегласць Левенштэйна, але прымененая да слоў, а не літар): з усіх магчымых спосабаў спарыць вынік з эталонам падлік выбірае той, у якім найменш праўкі, і лічыць іх. Паколькі ўстаўкі ўлічваюцца, а знаменнік роўны даўжыні эталону, WER можа перавысіць 100 працэнтаў: мадэль, якая запаўняе ціхую хвіліну тэкстам, атрымае горшы бал за тую, што не піша зусім нічога.
Выкажам здагадку: эталон — «we will meet Dr Okafor at nine on Thursday», дзевяць слоў, а машына піша «we will meet the doctor at nine on Tuesday». Гэта тры замены (Dr, Okafor, Thursday) з дзевяці слоў: WER 33 працэнты. Дзве трэція слоў правільныя, але вы ўсё роўна на іншай сустрэчы ў іншы дзень. Калі б няправільным было толькі «Thursday», вынік быў бы 11 працэнтаў. Версія, дзе ўсе словы правільныя, але дададзена «um», якога ніхто не казаў, таксама дае 11 працэнтаў, бо ўстаўка ўлічваецца гэтак жа, як замена.
Перад падлікам абодва тэксты звычайна нармалізуюцца, і выбар тут рухае вынік не менш, чым мадэль. Ці «Dr» — тое самае слова, што і «Doctor»? Ці «nine» — тое самае, што і «9»? Ці ўлічваюцца рэгістр і пунктуацыя? Строгае падлічэнне залічыць «Dr» супраць «Doctor» як замену. Большасць апублікаваных вынікаў пераводзіць усё ў ніжні рэгістр, выдаляе пунктуацыю і запісвае ўсе лічбы адным спосабам — словамі або цыфрамі — перш чым параўноўваць. Таму вынік пастаўшчыка ціха залежыць ад нармалізатара, які вы не бачыце. Мовы, якія пішуцца без прабелаў паміж словамі, як кітайская, японская і тайская, не маюць выразнай мяжы слоў, таму іх ацэньваюць па памылцы на знак (character error rate, CER): тая ж формула, але да знакаў.
З гэтага вынікаюць дзве рэчы. Па-першае, WER 5 працэнтаў — гэта адно слова з дваццаці, а ў гадзінным выступе набіраецца некалькі соцень слоў. Для парадку: чалавечых транскрыбераў часта называюць каля 4–5 працэнтаў на размоўным маўленні, а шырока цытаваны вынік 2017 года на тэлефонным корпусе Switchboard даваў машыне каля 5,1 працэнта, хоць абедзве лічбы залежаць ад аўдыё і правіл падліку. Па-другое, лік цалкам залежыць ад тэставага аўдыё: чыстае чытанне дае адну лічбу, а шумная панэль з акцэнтамі і перабіўкамі — зусім іншую. Загалоўны WER апісвае тэставы набор пастаўшчыка ў той жа меры, што і сістэму пастаўшчыка.
Гэта і ёсць падлік. Чаго ён не ўлічвае — цана кожнай памылкі для таго, хто чытае.
WER ставіцца да кожнага слова аднолькава. Чытачы — не:
Кожная з гэтых памылак — адна ці дзве ў слупку WER. У слупку чытача яны вар’іруюцца ад нічога да іншай сустрэчы ў іншы дзень. Таму пытанне не толькі «якая частата памылак», але і «якія менавіта памылкі і што іх злаўляе».
Некалькі слаёў ловяць тое, што распазнаванне памыляе, і кожная змена запісваецца, каб яе можна было праверыць і адмяніць. Пры транскрыбаванні ў рэальным часе гэта адбываецца, пакуль тэкст яшчэ паступае: кожны радок спачатку паказваецца як чарнавік, які яшчэ можа змяніцца, а потым становіцца фінальным (Затрымка перакладу ў эфіры: тлумачэнне тлумачыць чаму).
Некаторыя памылкі падыходзяць па гуку, але не па сказу: «their» там, дзе патрэбна «there». Такія памылкі можна злавіць па кантэксце, і выпраўленне даходзіць да чытачоў як бачнае абнаўленне (transcript.amended у API), а не як ціхая перапіска. Кантэкст добра працуе са словамі, якія сказ можа прадказаць. З тымі, якія не можа, ён бяссільны.
Імёны і тэхнічныя тэрміны — гэта памылкі, якія кантэкст не выпраўляе: імя часта з’яўляецца толькі раз, і навокал няма нічога, па чым яго можна прадказаць. Эталонны сцэнарый вырашае гэта: перад пачаткам дайце сістэме маўленне, слайды або спіс імёнаў і тэрмінаў, і яе словы маюць перавагу над тым, што рухавік пачуў няправільна. Падчас запісу сцэнарый ідзе за транскрыпцыяй, як тэлесуфлёр, так што вядучы бачыць, наколькі рухавік прасунуўся. Сцэнарый пакрывае словы, якія можна прадказаць; шумнае аўдыё і акцэнты даюць тыя, што прадказаць нельга.
Некаторыя памылкі бачыць толькі чалавек у зале. Ручныя выпраўленні дазваляюць вядучаму перапісаць любое слова або радок, пакуль транскрыбаванне яшчэ ідзе ў эфіры, і кожны слухач трансляцыі бачыць змену. Сістэма паказвае вядучаму імавярныя кандыдаты: словы, у якіх рухавік не быў упэўнены, можна падсвятліць і падкрэсліць, а вядучы можа прайсці няпэўныя ўчасткі па адным, а не перачытваць усю транскрыпцыю. Праз API GET /v1/recordings/{id}/corrections вяртае выпраўленні запісу, а POST /v1/corrections/{id}/revert адмяняе адно з іх; гл. даведнік па API. Але нават чалавек у зале не можа выправіць радок, які ніхто не мог пачуць.
Апошні слой прызнае, што частку аўдыё аднавіць нельга. Калі радок набірае ніжэй за парог упэўненасці транскрыбавання (confidence.hideBelow, па змаўчанні 0,60), слухачы бачаць на яго месцы «Audio unclear», а не здагадку, і радок ніколі не чытаецца ўслых. Чытачы страчваюць радок; яны не атрымліваюць выдуманы.
Тыя ж пытанні, што сфармавалі гэтыя слаі, прыдатныя да любой заявы пастаўшчыка пра дакладнасць, у тым ліку і нашай.
Кароткі спіс для чытання любой заявы пра дакладнасць:
VocalStack не публікуе ўнутраны лік WER па адной прычыне, пералічанай вышэй: ён апісваў бы наш тэставы набор, а не ваша аўдыё. Мы вымяраем дакладнасць бесперапынна. Калі мы параўноўваем іншыя сістэмы, выкарыстоўваем апублікаваныя незалежныя бенчмаркі і лічбы, апублікаваныя пастаўшчыкамі, але ніколі не прыватныя тэсты. Астатняе вырашае ваша аўдыё.