Označený prepis potrebuje správne obe odpovede a keďže štítky ležia nad slovami, zlý štítok sa dá opraviť bez zásahu do textu.
Prepis porady odpovedá na dve otázky naraz: čo sa povedalo a kto to povedal. Čitateľ vidí jednu úlohu – meno vedľa riadku. Pod ňou sú dva problémy, každý so svojimi vstupmi a so svojimi spôsobmi zlyhania.
Rozpoznávanie reči počúva slová. Mení zvuk na text a pri dobrom výkone udáva začiatok a koniec každého slova. Nezaujíma ho, či sa hlas v polovici vety zmenil; jeho úlohou je, aby veta bola správna.
Diarizácia rečníkov počúva hlasy. Slová nepozná. Jej úlohou je rozdeliť časovú os na repliky a určiť, ktoré repliky patria tomu istému človeku: Speaker 1, Speaker 2. Názov vychádza z anglického slova „diary“ (denník) a je to výstižný obraz výstupu: záznam o tom, kto mal slovo a kedy.
Existujú tri príbuzné pojmy, ktoré sa s ňou zamieňajú. Diarizácia hovorí, kto kedy hovoril, bez toho, aby poznala kohokoľvek. Identifikácia rečníka určí, ktorej známej osobe patrí úsek reči, a vyberá si z množiny zaregistrovaných hlasov. Overenie rečníka odpovedá na otázku áno alebo nie: je tento hlas naozaj osoba X? Tvrdenia dodávateľov sa ľahšie čítajú, keď sa tieto tri pojmy držia od seba, pretože „štítky rečníkov“ môžu znamenať čokoľvek – od hrubého odhadu hraníc replík až po mená, ktoré sledujú človeka z jednej nahrávky do druhej. Aby bolo jasné, čo môžu tieto štítky sľúbiť a čo nie, pozrime sa dnu do diarizéra.
Väčšina diarizačných systémov pracuje v troch krokoch, z ktorých žiadny nepracuje s jazykom.
Každý krok môže zlyhať sám o sebe. Tichý rečník sa minie. Dva podobné hlasy sa spoja. Jeden človek, ktorý prejde od pokoja k vzrušeniu, sa rozdelí na dvoch.
Odbor hodnotí všetko toto chybovosťou diarizácie (diarization error rate, DER): podielom času reči, ktorý bol vynechaný, falošne označený ako reč alebo pripísaný nesprávnemu rečníkovi, zvyčajne s tolerančným oknom asi štvrť sekundy okolo každej hranice. Toto okno existuje preto, lebo nikto, ani človek, ani stroj, nedokáže zmenu rečníka určiť na milisekundu. Takáto tolerancia je v poriadku pri hodnotení samotného diarizéra. Pre prepis už v poriadku nie je, lebo hranica posunutá o štvrť sekundy dopadne na slovo.
Práve tu sa stretávajú dva problémy a tu sa rozhoduje o kvalite označeného prepisu. Diarizér umiestňuje hranice s určitou nepresnosťou, často o zlomok sekundy na jednu alebo druhú stranu. Rozpoznávač umiestňuje slová na tú istú časovú os. Ak sa tieto dve vrstvy naivne prekryjú, hranica padne dovnútra slova, takže polovica slova „zajtra“ patrí Speaker 1 a druhá polovica Speaker 2.
Štítky môžu byť chvíľu nesprávne, kým sa stanú správnymi. Diarizér je istejší svojich skupín, čím viac zvuku počul, takže skorý štítok môže vyzerať nesprávne podľa toho, čo prišlo neskôr. Pri živom prepise sa štítok môže opraviť aj potom, čo sa riadok zobrazil: realtime API VocalStack posiela rámec transcript.amended, ktorý opraví text alebo rečníka už potvrdeného riadku na mieste, takže čitateľ vidí revíziu, a nie rozpor.
Aj dokonale umiestnený a stabilný štítok je stále len číslo. Číslo stačí na to, aby sme sledovali rozhovor; ľudia chcú čítať meno.
Štítok sa stane menom dvoma spôsobmi, ktoré na sebe stavajú.
Prvým je pomenovanie v rámci jednej nahrávky. Každý rečník, ktorého prepis nájde, dostane index počítaný od 0. Každý, kto má prístup, môže pomenovať ktoréhokoľvek rečníka počas nahrávky alebo po nej. Meno je vrstva nad slovami, takže sa dá nastaviť, zmeniť alebo vymazať bez zásahu do textu. Cez API sa to robí pomocou PUT /v1/recordings/{id}/speakers/{idx} s parametrom name; prázdne meno štítok vymaže. Riadok, ktorého speaker je -1, nemá štítok – buď preto, že štítky boli vypnuté, alebo preto, že v živom koncepte riadok ešte nebol priradený.
Druhým je rozpoznávanie naprieč nahrávkami, problém identifikácie z prvej časti. Diarizér vie povedať len to, že dva hlasy sú rozdielne, nikdy nie, kto sú. Aby sa z „rozdielne“ stalo „toto je Ana“, systém potrebuje referenciu: uložený hlas, získaný z nahrávky tej jednej osoby. Minimum sú tri desiatky sekúnd čistej reči, lepšie je niekoľko minút. Vzorka by mala znieť podobne ako nahrávky, s ktorými sa bude porovnávať: ten istý človek s mikrofónom v notebooku a s javiskovým mikrofónom môže znieť strojovo menej podobne ako dvaja cudzinci nahraní rovnakým spôsobom. Keď je hlas uložený, každý rečník, ktorého prepis zachytí, sa porovná s ním a zhoda prenesie meno do prepisu. Vo VocalStack to žije v sekcii Hlasy; prepisy súborov a živé relácie na nástenke porovnávajú vaše uložené hlasy automaticky a relácia realtime API rozpoznáva len hlasy, ktoré uvediete v identifyVoices.
Uložený hlas je biometrický údaj: dokáže rozpoznať osobu v ľubovoľnej nahrávke a vo VocalStack slúži aj ako klon, ktorý dokáže nahlas prečítať jej repliky. Nástenka pred uložením hlasu vyžaduje potvrdenie, že máte súhlas danej osoby, a hlas možno kedykoľvek zmazať.
Toto všetko predpokladá, že štítky vôbec chcete. Často nechcete.
Jeden človek, ktorý číta prednášku, nepotrebuje pred každým riadkom „Speaker 1“. Publikum vie, kto má mikrofón. Nastavenie štítkov rečníkov preto má tri polohy a sú rovnaké v realtime relácii, vysielaní, prepise aj nahrávke.
auto v API). Riadky sa označia rečníkom, keď sa ozve viac ako jeden hlas; nahrávka s jedným rečníkom zostane obyčajným textom a druhý hlas, ktorý sa pridá neskôr, sa stále zachytí. Formulár novej živej transkripcie na nástenke začína v tejto polohe.Nahrávanie súboru prijíma rovnakú možnosť speakerLabels a realtime API ju umožňuje zmeniť počas streamu; podrobnosti sú v referenčnej príručke API. Oddelenie a pomenovanie rečníkov nikdy nezvýši účet (sadzobník je na cenovej stránke), takže voľba závisí od toho, čo má čitateľ vidieť, nie od toho, čo to stojí.
Keď je diarizácia zapnutá, je dobrá, ale nie zázračná. Dve situácie ju stále prekonajú.
Prvou je prekrývanie. Keď hovoria dvaja ľudia naraz, jeden úsek zvuku nesie dva hlasy. Diarizéry, ktoré zvládajú prekrývanie, existujú vo výskume a čoraz viac aj v produktoch: napríklad end-to-end neurónová diarizácia (EEND) považuje otázku „kto hovorí“ za množinu súčasných otázok áno alebo nie namiesto jednej odpovede. Väčšina produkčných systémov však stále priradí jedného rečníka k úseku a rozpoznávač nad nimi prepisuje jeden hlas naraz. Krížová reč v rozhorčenej diskusii je najťažší zvuk v odbore a štítky každého dodávateľa sú tam horšie. Je to tiež, spoľahlivo, časť, ktorú si potom všetci chcú citovať.
Druhými sú veľmi podobné hlasy. Súrodenci môžu vytvoriť vektory príliš blízko seba na spoľahlivé rozlíšenie, najmä keď si celú hodinu vymieňajú krátke repliky. Telefónny zvuk to zhoršuje pre všetkých: úzkopásmová linka sa vzorkuje na 8 kHz a neprenáša nič nad približne 3,4 kHz, hoci veľká časť toho, čím sa jeden hlas líši od druhého, leží nad touto hranicou. Dvaja ľudia na tej istej telefónnej linke znejú diarizéru podobnejšie, než znejú vám.
Najpraktickejší lek na oboje leží pred akýmkoľvek modelom: dajte každému človeku vlastný mikrofón. S jedným kanálom na rečníka sa diarizácia zmení na otázku, ktorý kanál je hlasnejší, prekrývanie sa stane dvoma čistými stopami namiesto jednej zakalenej a vektory nikdy nemusia robiť ťažkú časť. Jeden stolový mikrofón je lacnejší a takmer vždy je to to, čo máte, preto existuje zvyšok tohto článku.
Ani jedno obmedzenie nemusí dôjsť k čitateľovi nezmenené. Keďže štítky sú vrstvou nad slovami, nesprávny štítok vás nikdy nestojí text: mená rečníkov sa dajú nastaviť alebo vymazať na nahrávke kedykoľvek a pri živom prepise môže hostiteľ prepísať ľubovoľné slovo alebo riadok, kým beží, pričom každá oprava je označená a dá sa vrátiť späť.
Pre stranu slov podrobne rozoberá vrstvy opráv článok čo meria miera chybovosti slov a čo prehliada; WER je pre rozpoznávač tým, čím je DER pre diarizér, a prepis potrebuje mať nízke obe.