Označený přepis potřebuje správné obě odpovědi, a protože štítky leží nad slovy, špatný štítek lze opravit, aniž by se dotkl textu.
Přepis schůzky odpovídá na dvě otázky najednou: co bylo řečeno a kdo to řekl. Čtenář vidí jeden úkol, jméno vedle řádku. Pod ním jsou dva problémy, každý se svými vstupy a svými způsoby selhání.
Rozpoznávání řeči naslouchá slovům. Převádí zvuk na text a, je-li dobře provedeno, udá čas začátku a konce každého slova. Nezajímá ho, zda se hlas v půli věty změnil; jeho úkolem je dostat větu správně.
Diarizace mluvčích naslouchá hlasům. Slova nezná. Jejím úkolem je rozdělit časovou osu na promluvy a určit, které promluvy patří stejné osobě: Mluvčí 1, Mluvčí 2. Slovo je odvozeno od anglického „diary“, tedy deník, a výstup to vystihuje dobře: záznam o tom, kdo měl slovo a kdy.
Se diarizací souvisejí tři blízké pojmy, které se často pletou. Diarizace říká, kdo mluvil kdy, aniž by věděla, kdo to je. Identifikace mluvčího určí, který známý člověk patří k úseku řeči, a vybírá z uložených hlasů. Ověření mluvčího odpovídá ano, nebo ne: je tento hlas opravdu osoba X? Údaje dodavatelů se čtou snáze, když jsou tyto tři pojmy oddělené, protože „štítky mluvčích“ mohou znamenat cokoli od hrubého odhadu hranic promluv až po jména, která sledují člověka od jedné nahrávky k další. Abychom zjistili, co tyto štítky mohou a co nemohou slíbit, podívejme se dovnitř diarizéru.
Většina diarizačních systémů funguje ve třech krocích, žádný z nich nepracuje s jazykem.
Každý krok může selhat sám o sobě. Tichý mluvčí se přehlédne. Dva podobné hlasy se sloučí. Jeden člověk, který přejde od klidu k rozhořčení, se rozdělí na dva.
Obor to všechno hodnotí pomocí chybovosti diarizace (diarization error rate, DER): podílu času řeči, který byl přehlédnut, nesprávně označen jako řeč, nebo připsán jinému mluvčímu, obvykle s tolerancí asi čtvrt sekundy kolem každé hranice. Tolerance existuje proto, že nikdo, ať člověk, nebo stroj, nedokáže změnu mluvčího umístit přesně na milisekundu. Pro hodnocení samotného diarizéru je tato tolerance v pořádku. Pro přepis už ne, protože hranice posunutá o čtvrt sekundy dopadne na slovo.
Tady se oba problémy potkávají a tady se rozhoduje o kvalitě označeného přepisu. Diarizér klade hranice s jistou nepřesností, často o zlomek sekundy na jednu nebo druhou stranu. Rozpoznávač klade slova na stejnou časovou osu. Položíme-li je jeden na druhý bez úprav, hranice padne doprostřed slova: polovina slova „zítra“ patří Mluvčímu 1 a druhá polovina Mluvčímu 2.
Štítky mohou být také nějakou dobu špatně, než budou správně. Diarizér je ve svých skupinách jistější, čím víc zvuku slyšel, takže raný štítek může vypadat jako chybný podle toho, co přijde později. U živého přepisu lze štítek upravit až poté, co se řádek zobrazil: realtime API společnosti VocalStack posílá rámec transcript.amended, který opraví text nebo mluvčího potvrzeného řádku na místě, takže čtenář vidí revizi, nikoli rozpor.
I dokonale umístěný a stabilní štítek je pořád jen číslo. Číslo stačí k tomu, aby se dalo sledovat, co se v rozhovoru říká; jméno je to, co lidé chtějí číst.
Štítek se mění na jméno dvěma způsoby, které na sobě staví.
Prvním je pojmenování v rámci jedné nahrávky. Každý mluvčí, kterého přepis najde, dostane index počítaný od 0. Kdokoli s přístupem může pojmenovat každého mluvčího během nahrávání i po něm. Jméno je vrstva nad slovy, takže lze nastavit, změnit nebo smazat, aniž by se dotklo textu. Přes API to je PUT /v1/recordings/{id}/speakers/{idx} s name; prázdné jméno štítek vymaže. Řádek, jehož speaker je -1, nemá štítek, buď proto, že štítky byly vypnuté, nebo proto, že v živém návrhu ještě nebyl řádek přiřazen.
Druhým je rozpoznávání napříč nahrávkami, tedy problém identifikace z první části. Diarizér dokáže říct jen to, že dva hlasy jsou různé, nikdy ne, kdo jsou. Aby se systém dostal od „různé“ k „tohle je Ana“, potřebuje referenci: uložený hlas pořízený z nahrávky té jedné osoby. Minimum je třicet sekund čisté řeči, lépe několik minut. Vzorek by měl znít podobně jako nahrávky, se kterými se bude porovnávat: tatáž osoba na mikrofonu notebooku a na mikrofonu na pódiu může stroji znít méně podobně než dva cizí lidé nahraní stejným způsobem. Jakmile je hlas uložen, každý mluvčí, kterého přepis zaslechne, se s ním porovná a shoda přenese jméno do přepisu. Ve VocalStack to najdete v sekci Hlasy; přepisy souborů a živé relace v ovládacím panelu porovnávají vaše uložené hlasy automaticky a relace realtime API rozpoznává jen ty hlasy, které uvedete v identifyVoices.
Uložený hlas jsou biometrické údaje: dokáže rozpoznat člověka v libovolné nahrávce a ve VocalStack slouží zároveň jako klon, který dokáže jeho repliky přečíst nahlas. Ovládací panel vás před uložením požádá o potvrzení, že máte k tomu souhlas dotyčné osoby, a hlas lze kdykoli smazat.
Všechno výše uvedené předpokládá, že vůbec chcete štítky. Často nechcete.
Jeden člověk, který čte přednášku, nepotřebuje před každým řádkem „Mluvčí 1“. Publikum ví, kdo má mikrofon. Nastavení štítků mluvčích proto má tři polohy a jsou stejné v realtime relaci, vysílání, přepisu i nahrávce.
auto v API). Řádky se označí mluvčím, jakmile je slyšet víc než jeden hlas; nahrávka s jedním mluvčím zůstane prostým textem a druhý hlas, který se připojí později, se pořád zachytí. Nový formulář živého přepisu v ovládacím panelu začíná v této poloze.Nahrání souboru přijímá stejnou možnost speakerLabels a realtime API ji umožňuje změnit během streamu; podrobnosti jsou v referenci API. Oddělování a pojmenování mluvčích nikdy nezvyšuje účet (sazby jsou na stránce ceníku), takže volba se týká toho, co má čtenář vidět, ne toho, co to stojí.
Když je přepínač zapnutý, je diarizace dobrá, ale ne kouzelná. Dvě situace ji stále překonají.
První je překryv. Když mluví dva lidé najednou, jeden úsek zvuku nese dva hlasy. Diarizéry s podporou překryvů existují ve výzkumu a stále častěji i v produktech: například end-to-end neuronová diarizace (EEND) bere otázku „kdo mluví“ jako sadu současných ano-ne otázek, nikoli jako jednu odpověď. Většina produkčních systémů však stále přiřazuje jednoho mluvčího na úsek a rozpoznávač nad nimi přepisuje jeden hlas najednou. Křížová řeč v rozhořčené debatě je nejtěžší zvuk v oboru a štítky každého dodavatele tam zhoršují. Je také spolehlivě tou částí, kterou pak každý chce citovat.
Druhým jsou velmi podobné hlasy. Sourozenci mohou vytvořit embeddingy příliš blízké na spolehlivé oddělení, zvlášť když si během hodiny vyměňují krátké repliky. Telefonní zvuk to zhoršuje pro všechny: úzkopásmová linka se vzorkuje na 8 kHz a nepřenáší nic nad zhruba 3,4 kHz, přitom velká část toho, čím se jeden hlas liší od druhého, leží nad touto hranicí. Dva lidé na stejné telefonní lince zní diarizéru podobněji, než zní vám.
Nejpraktičtější lék na obojí leží před jakýmkoli modelem: dát každému člověku vlastní mikrofon. S jedním kanálem na mluvčího se diarizace redukuje na otázku, který kanál je hlasitý; překryv se změní ze dvou zamazaných stop na dvě čisté stopy a embeddingy nikdy nemusí dělat tu těžkou část. Jeden stolní mikrofon je levnější a téměř vždy to máte právě vy, a proto tento článek existuje.
Žádný z těchto limitů nemusí dojít čtenáře beze změny. Protože štítky jsou vrstva nad slovy, špatný štítek vás nikdy nestojí text: jména mluvčích lze na nahrávce nastavit nebo smazat kdykoli a v živém přepisu může hostitel přepsat kterékoli slovo nebo řádek, i když přepis běží, přičemž každá oprava je označená a lze ji vzít zpět.
Pokud jde o slova, co měří míra chybovosti slov a co přehlíží podrobně popisuje vrstvy oprav; WER je pro rozpoznávač tím, čím je DER pro diarizéra, a přepis potřebuje, aby byly nízké obě.