Oznakowana transkrypcja wymaga poprawnych obu odpowiedzi, a ponieważ etykiety leżą na wierzchu słów, błędną można poprawić bez zmiany tekstu.
Transkrypcja spotkania odpowiada na dwa pytania naraz: co zostało powiedziane i kto to powiedział. Czytelnik widzi jedno zadanie — nazwisko obok wypowiedzi. Pod spodem kryją się dwa problemy, każdy z własnymi danymi wejściowymi i własnymi sposobami zawodzenia.
Rozpoznawanie mowy nasłuchuje słów. Zamienia dźwięk na tekst i, przy dobrym wykonaniu, podaje czas początku i końca każdego słowa. Nie interesuje je, czy głos zmienił się w połowie zdania; jego zadaniem jest poprawnie oddać zdanie.
Diaryzacja mówców nasłuchuje głosów. Nie zna słów. Jej zadaniem jest podzielenie osi czasu na tury i wskazanie, które tury należą do tej samej osoby: Speaker 1, Speaker 2. Nazwa pochodzi od angielskiego „diary” (dziennik) i jest trafnym obrazem wyniku: dziennikiem tego, kto miał głos i kiedy.
Trzy pokrewne pojęcia są często mylone z tym zadaniem. Diaryzacja mówi, kto mówił kiedy, nie znając nikogo. Identyfikacja mówcy wskazuje, który znany człowiek należy do danego fragmentu mowy, wybierając spośród zarejestrowanych głosów. Weryfikacja mówcy odpowiada na pytanie tak-nie: czy ten głos naprawdę należy do osoby X? Twierdzenia dostawców łatwiej ocenić, gdy te trzy rzeczy są rozdzielone, bo „etykiety mówców” mogą oznaczać wszystko — od przybliżonego zgadywania granic tur po imiona, które przechodzą za osobą z jednego nagrania na kolejne. Żeby zobaczyć, co te etykiety mogą, a czego nie mogą obiecać, trzeba zajrzeć do środka diaryzatora.
Większość systemów diaryzacji działa w trzech krokach, żaden z nich nie dotyczy języka.
Każdy krok może zawieść z osobna. Cichy mówca zostaje pominięty. Dwa podobne głosy zostają scalone. Jedna osoba, która przechodzi od spokojnego tonu do ożywionego, zostaje rozdzielona na dwie.
Dziedzina ocenia to wszystko wskaźnikiem błędu diaryzacji (DER, diarization error rate): udziałem czasu mowy, który został pominięty, błędnie uznany za mowę albo przypisany do złego mówcy. Zwykle stosuje się przy tym tzw. margines wybaczenia (forgiveness collar) około ćwierć sekundy wokół każdej granicy. Taki margines istnieje, bo nikt — ani człowiek, ani maszyna — nie umie wskazać zmiany mówcy co do milisekundy. Ta tolerancja jest w porządku przy ocenie samego diaryzatora. Nie nadaje się jednak do transkrypcji, gdzie granica przesunięta o ćwierć sekundy trafia już na słowo.
To tutaj spotykają się oba problemy i tu rozstrzyga się jakość oznakowanej transkrypcji. Diaryzator stawia granice z pewnym niedokładnym marginesem, często o ułamek sekundy w jedną lub drugą stronę. Rozpoznawacz umieszcza słowa na tej samej osi czasu. Jeśli nałożyć je na siebie bez zastanowienia, granica może trafić w środek słowa i połowa słowa „jutro” będzie należała do Speaker 1, a druga połowa do Speaker 2.
Etykiety bywają też błędne przez jakiś czas, zanim staną się poprawne. Diaryzator staje się pewniejszy swoich grup w miarę tego, ile dźwięku usłyszał, więc wczesna etykieta może wyglądać na błędną w świetle tego, co przyjdzie później. W transkrypcji na żywo etykieta może zostać poprawiona już po wyświetleniu linii: realtime API VocalStack wysyła ramkę transcript.amended, która poprawia tekst lub mówcę zatwierdzonej linii w miejscu, więc czytelnik widzi korektę, a nie sprzeczność.
Nawet idealnie umieszczona i stabilna etykieta jest wciąż tylko liczbą. Liczba wystarcza, by śledzić rozmowę; imię to coś, co ludzie chcą czytać.
Etykieta zamienia się w imię na dwa sposoby, które na siebie nawzajem się opierają.
Pierwszy to nadawanie nazw w obrębie jednego nagrania. Każdy mówca wykryty przez transkrypcję dostaje indeks liczony od 0. Każda osoba z dostępem może nadać nazwę każdemu mówcy w trakcie lub po nagraniu. Nazwa jest warstwą nałożoną na słowa, więc można ją ustawić, zmienić lub usunąć bez dotykania tekstu. Przez API służy do tego PUT /v1/recordings/{id}/speakers/{idx} z polem name; pusta nazwa ją czyści. Linia, której speaker ma wartość -1, nie ma etykiety — albo dlatego, że etykiety były wyłączone, albo, w roboczej transkrypcji na żywo, dlatego że linia nie została jeszcze przypisana.
Drugi to rozpoznawanie między nagraniami, czyli problem identyfikacji z pierwszej sekcji. Diaryzator może powiedzieć tylko, że dwa głosy są różne, nigdy kim są. Żeby przejść od „różne” do „to jest Ana”, system potrzebuje wzorca: zapisanego głosu, pochodzącego z nagrania tej jednej osoby. Minimum to trzydzieści sekund czystej mowy, lepiej kilka minut. Próbka powinna też brzmieć podobnie do nagrań, z którymi będzie porównywana: ta sama osoba na mikrofonie laptopa i na mikrofonie scenicznym może brzmieć dla maszyny mniej podobnie niż dwie obce osoby nagrane w ten sam sposób. Gdy głos jest zapisany, każdy mówca, którego usłyszy transkrypcja, jest porównywany z nim, a dopasowanie przenosi imię do transkrypcji. W VocalStack funkcja znajduje się w sekcji Voices; transkrypcje plików i sesje na żywo w panelu dopasowują zapisane głosy automatycznie, a sesja realtime API rozpoznaje tylko te głosy, które wymieniasz w identifyVoices.
Zapisany głos to dane biometryczne: może rozpoznać osobę w dowolnym nagraniu, a w VocalStack służy też jako klon, który potrafi odczytać jej kwestie na głos. Panel prosi o potwierdzenie, że masz zgodę tej osoby, zanim głos zostanie zapisany, a głos można usunąć w dowolnym momencie.
Wszystko to zakłada, że w ogóle chcesz etykiet. Często nie chcesz.
Pojedyncza osoba czytająca wykład nie potrzebuje napisu „Speaker 1” przed każdą linią. Publiczność i tak wie, kto trzyma mikrofon. Dlatego ustawienie etykiet mówców ma trzy położenia, takie same w sesji realtime, w transmisji, w transkrypcji i w nagraniu.
auto w API). Linie są oznaczane mówcą, gdy słychać więcej niż jeden głos; nagranie z jednym mówcą pozostaje zwykłym tekstem, a drugi głos, który dołączy później, też zostanie wychwycony. Nowy formularz transkrypcji na żywo w panelu startuje od tego położenia.Przesyłanie pliku przyjmuje tę samą opcję speakerLabels, a realtime API pozwala zmienić ją w trakcie strumienia; szczegóły są w dokumentacji API. Rozdzielanie i nazywanie mówców nigdy nie zwiększa rachunku (stawki są na stronie cennika), więc wybór dotyczy tego, co ma widzieć czytelnik, a nie tego, ile to kosztuje.
Po włączeniu diaryzacja jest dobra, ale nie magiczna. Dwie sytuacje wciąż ją pokonują.
Pierwsza to nakładanie się mowy. Gdy dwie osoby mówią naraz, jeden fragment dźwięku niesie dwa głosy. Istnieją w badaniach, a coraz częściej także w produktach, diaryzatory uwzględniające nakładanie się: na przykład end-to-end neural diarization (EEND) traktuje pytanie „kto mówi” jako zbiór jednoczesnych pytań tak-nie, zamiast jednej odpowiedzi. Większość systemów produkcyjnych wciąż jednak przypisuje jednego mówcę do fragmentu, a rozpoznawacz na nich oparty transkrybuje jeden głos naraz. Nakładające się wypowiedzi w ożywionej dyskusji panelowej to najtrudniejszy materiał dźwiękowy w tej dziedzinie i tam etykiety każdego dostawcy są gorsze. To także, niezawodnie, ta część, którą wszyscy chcą potem zacytować.
Drugi to bardzo podobne głosy. Rodzeństwo może dawać osadzenia zbyt bliskie, by je pewnie rozdzielić, tym bardziej gdy wymienia się krótkimi wypowiedziami przez godzinę. Dźwięk telefoniczny pogarsza sprawę dla wszystkich: wąskopasmowa linia jest próbkowana z częstotliwością 8 kHz i nie przenosi niczego powyżej około 3,4 kHz, a znaczna część tego, co odróżnia jeden głos od drugiego, leży właśnie powyżej tej granicy. Dwie osoby na tej samej linii telefonicznej brzmią dla diaryzatora bardziej podobnie, niż brzmią dla ciebie.
Najbardziej praktyczne lekarstwo na oba problemy leży przed każdym modelem: daj każdej osobie własny mikrofon. Gdy każdy mówca ma osobny kanał, diaryzacja sprowadza się do pytania, który kanał jest głośny; nakładanie się staje się dwiema czystymi ścieżkami zamiast jednej zamazanej, a osadzeń nie zmusza się do wykonania trudnej pracy. Pojedynczy stołowy mikrofon jest tańszy i prawie zawsze właśnie to się ma, dlatego reszta tego artykułu w ogóle istnieje.
Żadne z tych ograniczeń nie musi dotrzeć do czytelnika w niezmienionej postaci. Ponieważ etykiety są warstwą nad słowami, błędna etykieta nigdy nie kosztuje tekstu: nazwy mówców można ustawić lub usunąć w nagraniu w dowolnym momencie, a w transkrypcji na żywo gospodarz może poprawić dowolne słowo lub linię nawet w trakcie jej trwania, przy czym każda poprawka jest oznaczona i można ją cofnąć.
Co do strony słów, co mierzy wskaźnik błędu słów (WER) i czego nie widać szczegółowo opisuje warstwy korekt; WER jest dla rozpoznawacza tym, czym DER dla diaryzatora, i transkrypcja potrzebuje, by oba były niskie.