Blog
Czym jest diaryzacja osób mówiących i jak działa?
Autor: Hushscript Opublikowano: Ostatnio sprawdzono:
Diaryzacja osób mówiących to automatyczny proces dzielenia nagrania na segmenty według osoby mówiącej, który odpowiada na pytanie „kto i kiedy mówił?”, zanim jakikolwiek człowiek przeczyta transkrypcję. Aktualne badania nad diaryzacją w ACL Anthology opisują to samo zadanie dla rozmów wieloosobowych. To różnica między ścianą słów a uporządkowaną rozmową i powód, dla którego transkrypcja wywiadu dwóch osób wraca jako czytelny dialog, a nie jeden długi akapit.
Najprościej: przesyłasz nagranie, silnik diaryzacji znajduje miejsca, w których zmienia się głos, grupuje segmenty brzmiące jak ta sama osoba i oddaje transkrypcję z jedną linijką na wypowiedź, oznaczoną głosem. Ten tekst omawia znaczenie diaryzacji, jej działanie krok po kroku, różnicę wobec identyfikacji osoby mówiącej, narzędzia używane przez programistów i miejsca, w których zawodzi.
Czym jest diaryzacja osób mówiących? Znaczenie prostymi słowami
Wyobraź sobie ręczną transkrypcję 90-minutowego wywiadu. Po zamianie mowy na tekst następna praca to przypisanie wypowiedzi: „Prowadzący:”, „Rozmówca:”, tam i z powrotem, za każdym razem, gdy zmienia się głos. Ustalanie, kto mówi w danej sekundzie, to dokładnie to, co diaryzacja robi za ciebie. Spotkasz też określenie „diaryzacja mowy”. Definicja jest ta sama: oznacz każdy fragment audio głosem, do którego należy.
Wynikiem jest transkrypcja w formie dialogu:
Speaker A [00:00:12]: Najpierw trzeba zrozumieć, że te dane istnieją tylko przez chwilę.
Speaker B [00:00:27]: Właśnie, i większość ludzi zdaje sobie z tego sprawę dopiero wtedy, gdy jest już za późno.
Speaker A [00:00:34]: Dokładnie. Więc prawdziwe pytanie brzmi, co zrobisz w tym oknie czasowym.
Każda wypowiedź jest powiązana z osobą mówiącą i znacznikiem czasu. Potem możesz zmienić Speaker A i Speaker B na prawdziwe imiona; jedna zmiana na osobę, a oznaczenie aktualizuje się wszędzie, gdzie występuje.
Alternatywa, czyli zwykła transkrypcja bez diaryzacji, to ciągły blok tekstu, w którym musisz odtwarzać audio, żeby ustalić, kto co powiedział. Przy czymkolwiek dłuższym niż kilka minut i z dwoma lub więcej głosami to prawdziwa praca ręczna, a właśnie ją eliminuje diaryzacja.
Czego potrzebujesz na start
Diaryzacja działa na samym nagraniu, więc jedynym realnym warunkiem jest audio, w którym osoby mówiące są w miarę wyraźnie odróżnialne:
- Jedno nagranie ze wszystkimi głosami. Diaryzacja działa w obrębie jednego pliku, więc wszystkie osoby mówiące muszą być w tym pliku. Okrągły stół z jednym wspólnym mikrofonem w pokoju się sprawdza; dwie osoby nagrane każda na własnym urządzeniu i zapisane jako dwa osobne pliki już nie. Najpierw połącz je w jeden miks.
- Dostatecznie wyraźne audio. Nie musi mieć jakości studyjnej. Każda osoba ma być słyszalna bez wysiłku, przy niewielkim nakładaniu się głosów i hałasie w tle. Im wyraźniej rozdzielone głosy, tym czystsze oznaczenia.
- Przybliżona wiedza, ile osób rozmawia. Nie musisz jej podawać, ale pomaga w sprawdzeniu wyniku: jeśli nagrałeś trzy osoby, a transkrypcja pokazuje sześć, wiesz, gdzie szukać.
Bez rejestracji mikrofonu, bez próbek głosu, bez ustawień dla każdej osoby.
Jak działa diaryzacja osób mówiących
Diaryzacja składa się z kilku odrębnych etapów. Ich znajomość ułatwia czytanie wyniku i poprawianie go, gdy coś pójdzie źle. Ten diagram diaryzacji pokazuje przebieg od pliku audio do oznaczeń, czytany od lewej do prawej:
plik audio -> ramki -> cechy głosu -> punkty zmiany -> grupy -> oznaczenia
10-40 ms wysokość, widmo A | B | A | C A, B, C Speaker A, B, C
Wyodrębnianie cech. Audio jest dzielone na krótkie ramki, zwykle po 10 do 40 milisekund każda, a silnik mierzy cechy akustyczne w każdej ramce. Cechy, które pozwalają odróżnić osoby mówiące, leżą w dziedzinie częstotliwości: wysokość dźwięku, formanty i wzorce widmowe, które zwykle pozostają spójne w obrębie głosu jednej osoby i różnią się między ludźmi.
Segmentacja. Silnik szuka punktów zmiany osoby mówiącej: momentów, w których te cechy głosu się przesuwają. To najtrudniejsza część. Zmiana może wypaść w środku zdania, gdy ktoś przerywa, a hałas lub nakładające się głosy mogą ukryć prawdziwą granicę albo wymyślić fałszywą.
Grupowanie. Segmenty brzmiące jak ten sam głos są łączone w grupy. Silnik nie dostaje informacji, ile osób jest w pokoju; liczbę osób mówiących wnioskuje z audio. Jeśli znasz liczbę z góry, niektóre konfiguracje pozwalają ją podać; jeśli nie, silnik ją szacuje, i stąd bierze się większość błędów typu „jedna osoba podzielona na dwie” i „dwie osoby scalone w jedną”.
Oznaczanie. Każda grupa dostaje oznaczenie: Speaker A, Speaker B, Speaker C albo Speaker 0, Speaker 1. Oznaczenia są dowolnymi symbolami zastępczymi. Nie stoi za nimi żadna tożsamość, tylko stały uchwyt do jednego głosu w całym nagraniu.
To opis klasycznego potoku. Nowsze systemy często trenują modele neuronowe, które obsługują kilka z tych etapów naraz. Cel i wynik pozostają te same: oś czasu pokazująca, kto i kiedy mówił. W Hushscript całość działa jako automatyczny przebieg równolegle z transkrypcją, więc nie uruchamiasz osobnego zadania oznaczania osób mówiących.
Modele diaryzacji, narzędzia w Pythonie i API
Programiści, którzy chcą uruchomić diaryzację samodzielnie, mają kilka dróg. pyannote.audio to open-source’owy zestaw narzędzi w Pythonie do diaryzacji osób mówiących, zbudowany na PyTorch, z gotowymi potokami diaryzacji. Projekty takie jak WhisperX łączą model transkrypcji z modelem diaryzacji, żeby tekst i zmiany osób mówiących się zgadzały. Uruchomienie któregokolwiek z nich samemu oznacza konfigurację modeli, zapewnienie własnej mocy obliczeniowej i napisanie wokół nich trochę kodu.
API to droga pośrednia: wysyłasz audio, dostajesz tekst z wypowiedziami przypisanymi do osób. Publiczne API Hushscript przyjmuje w zadaniach transkrypcji opcję speaker_detection. Jak to działa, opisuje strona dla programistów.
Jeśli chcesz tylko wyniku, czyli transkrypcji z oznaczonymi osobami mówiącymi z pliku, nie musisz niczego instalować. Następna sekcja wyjaśnia, dlaczego sama diaryzacja nie potrafi nikogo nazwać, a kolejne pokazują drogę bez kodu.
Diaryzacja a identyfikacja osoby mówiącej
Te dwie rzeczy są stale mylone, ale odpowiadają na różne pytania.
Diaryzacja pyta: kto mówi w tej chwili, w porównaniu z pozostałymi głosami w tym pliku? Rozdziela głosy, ale nie ma pojęcia, do kogo należą. Nie potrzebuje wcześniejszej wiedzy.
Identyfikacja osoby mówiącej, zwana też rozpoznawaniem głosu, pyta: czy to ta sama osoba co w znanym nagraniu wzorcowym? Potrzebuje zarejestrowanej próbki głosu do porównania i jest technologią stojącą za systemami „potwierdź tożsamość głosem”.
Hushscript używa diaryzacji, a nie rozpoznawania głosu. Nie rejestruje głosów, a twoje nagranie nie jest porównywane z niczyim innym. Oznaczenia osób mówiących wynikają z cech głosu wewnątrz tego jednego pliku.
To rozróżnienie jest powodem, dla którego diaryzacja nie może podać imion. Może stwierdzić, że „ta sama osoba wypowiedziała te 200 wypowiedzi w ciągu godziny”, ale nie może powiedzieć, kim ta osoba jest. Ten krok należy do ciebie. Jeśli szukasz oprogramowania, które oznacza osoby mówiące w transkrypcji, a nie wyjaśnienia metody, strona Rozróżnianie osób mówiących opisuje, jak Hushscript obsługuje nagrania z wieloma osobami od początku do końca.
Przykład z praktyki: spotkanie trzech osób
Powiedzmy, że nagrywasz 40-minutowe spotkanie projektowe z trzema osobami w jednym pokoju, ze wspólnym mikrofonem laptopa, zapisane jako jeden plik .m4a. Wrzucasz go, a po transkrypcji wynik wygląda tak:
Speaker A [00:00:04]: Dobra, zacznijmy od daty premiery. Na jakim jesteśmy etapie?
Speaker B [00:00:09]: Projekt gotowy. Ostateczne ekrany przekazaliśmy w poniedziałek.
Speaker C [00:00:14]: Zespół developerski potrzebuje jeszcze około dwóch tygodni na proces płatności.
Speaker A [00:00:21]: Dwa tygodnie to dłużej, niż obiecaliśmy marketingowi.
Speaker B [00:00:27]: Możemy wypuścić bez nowego procesu płatności i dorobić go potem?
Speaker C [00:00:33]: Nie bez problemów. Stary proces psuje się przy nowym cenniku.
Trzy głosy, rozdzielone i oznaczone, ze znacznikami czasu przy każdej wypowiedzi. Teraz zmieniasz nazwy: Speaker A staje się „Priya” (prowadzi spotkanie), Speaker B staje się „Tom”, Speaker C staje się „Dana”. Po trzech zmianach każda linijka ma prawdziwe imię, a transkrypcja jest gotowa do wklejenia w notatki ze spotkania z poprawnym przypisaniem wypowiedzi w całości.
Ten sam schemat sprawdza się przy wywiadzie dwóch osób, podcaście z czterema osobami albo rozmowie telefonicznej z dwiema stronami: silnik rozdziela to, co słyszy, a ty dopisujesz imiona.
Wypróbuj diaryzację online w Hushscript
Rozróżnianie osób mówiących to pole wyboru w opcjach przesyłania, a oznaczenia nie kosztują nic dodatkowo. Przebieg: wrzucasz plik, wklejasz link do obsługiwanego audio albo nagrywasz w przeglądarce, a podgląd do 5 minut z oznaczeniami osób mówiących pojawia się bez konta. Podgląd pokazuje każdą wypowiedź z twojego nagrania w osobnej linijce z oznaczeniem. Zakładasz konto, żeby przetranskrybować resztę, a potem otwierasz gotową transkrypcję. Stamtąd:
- Kliknij dowolne oznaczenie osoby w edytorze transkrypcji, na przykład
Speaker B. - Wybierz Edit speaker names z otwartego menu.
- Wpisz w oknie prawdziwe imię, na przykład „Tom”, i zapisz.
- Każde wystąpienie tej osoby aktualizuje się naraz, od pierwszej linijki do ostatniej.
Zmiana nazwy jest globalna, więc nigdy nie edytujesz tego samego oznaczenia dwa razy. Jeśli silnik przypisał wypowiedź do złej osoby, przypisz ją do właściwego oznaczenia. Możesz potem wyeksportować transkrypcję z imionami w jednym z 21 formatów, takich jak TXT, SRT, DOCX, PDF i JSON, a także do chronionego hasłem archiwum .husharchive.
Problemy z diaryzacją i jak je rozwiązać
Diaryzacja jest niezawodna na czystych nagraniach i staje się trudniejsza, im bardziej niechlujne jest audio. Typowe problemy i co z nimi zrobić:
Nakładające się głosy. Gdy dwie osoby mówią naraz, silnik musi przypisać nakładające się audio jednej osobie i może błędnie oznaczyć fragment styku albo pominąć kilka słów. Oprogramowanie tego nie naprawi; audio naprawdę zawiera dwa głosy w tym samym momencie. Dźwignią jest zapobieganie: nagranie, w którym ludzie mówią po kolei, jest rozdzielane znacznie czyściej niż takie pełne przerywania. Tam, gdzie nakładanie się jednak występuje, szybkie przesłuchanie dotkniętych linijek wyłapuje te kilka miejsc.
Podobnie brzmiące głosy. Dwie osoby o zbliżonej wysokości głosu i akcencie (powiedzmy dwóch mężczyzn w podobnym wieku albo rodzeństwo) są trudniejsze do rozdzielenia niż kontrastująca para, bo cechy ich głosów faktycznie się pokrywają. Silnik może czasem zamienić wypowiedź między nimi. Przejrzyj transkrypcję pod kątem linijek, które dziwnie brzmią w ustach przypisanej osoby; te trzeba przypisać ręcznie od nowa.
Wiele osób mówiących. Dokładność spada wraz z liczbą osób, bo każdy dodatkowy głos to jeszcze jedna grupa do oddzielenia i więcej okazji do nakładania się. Hushscript nie ma płatnego limitu liczby osób mówiących, ale dziesięcioosobowa rozmowa przy jednym mikrofonie laptopa wymaga więcej sprawdzania niż wywiad dwóch osób.
Jedna osoba rozdzielona na dwa oznaczenia. Jeśli audio danej osoby zmienia się w trakcie nagrania (przybliża się do mikrofonu, przechodzi z zestawu słuchawkowego na głośnik albo łącze się pogarsza), silnik może odczytać drugą połowę jako nowy głos i utworzyć dodatkowe oznaczenie. Przypisz wypowiedzi z dodatkowego oznaczenia do właściwej osoby.
Dwie osoby scalone w jedno oznaczenie. Odwrotna sytuacja zdarza się, gdy dwa ciche lub odległe głosy brzmią zbyt podobnie, żeby silnik je rozdzielił. To najtrudniej naprawić po fakcie, więc warto temu zapobiec: ustaw mikrofon bliżej mówiących i unikaj nagrywania z drugiego końca dużej sali. W edytorze możesz podzielić wypowiedzi i przypisać je od nowa.
Audio z daleka lub zaszumione. Mikrofon laptopa na końcu stołu konferencyjnego, telefon leżący na stole podczas rozmowy grupowej albo silne echo pomieszczenia zacierają granice między głosami. Bliższe ustawienie mikrofonu pomaga każdej osobie, a ograniczenie hałasu w tle (wentylatory, ruch uliczny, muzyka) wyostrza rozdzielenie. Jakość diaryzacji ściśle podąża za jakością audio.
Rozmowy telefoniczne nagrane jako dwa osobne pliki. Jeśli twój rejestrator zapisał każdą stronę rozmowy jako osobny plik mono, diaryzacja na którymkolwiek z nich widzi tylko jeden głos. Najpierw połącz oba w jedno zmiksowane nagranie, żeby oba głosy były w jednym pliku, a potem je przetranskrybuj.
Wskazówki dotyczące dokładności, które naprawdę coś zmieniają
Kilka nawyków zauważalnie poprawia diaryzację, a większość dotyczy nagrania, nie oprogramowania:
- Pozwól ludziom mówić po kolei. Mówienie jednocześnie to największe pojedyncze źródło błędów diaryzacji. Moderowana dyskusja wygrywa z wolną amerykanką.
- Przybliż mikrofon. Odległość i echo pomieszczenia zlewają głosy. Idealny jest osobny mikrofon przy każdej osobie; wspólny mikrofon pośrodku stołu jest lepszy niż ten w rogu.
- Wytnij oczywisty hałas w tle. Muzyka, pracujący wentylator czy ruchliwa kawiarnia konkurują z głosami i zamazują granice.
- Umieść każdy głos w pliku, który transkrybujesz. Diaryzacja porównuje osoby mówiące w obrębie jednego nagrania. Jeśli rejestrator wytworzył osobne ścieżki uczestników, zmiksuj je w jeden plik, żeby diaryzacja mogła usłyszeć całą rozmowę.
Nic z tego nie musi być idealne. Wyraźne wypowiedzi po kolei i rozsądne ustawienie mikrofonu wystarczą, by większość nagrań dostała czyste oznaczenia, a resztą zajmie się edytor.
Dlaczego to ważne przy wywiadach i spotkaniach
Bez diaryzacji transkrypcja rozmowy wielu osób jest prawie bezużyteczna w jej najczęstszych zastosowaniach:
- Cytaty bezpośrednie. Nie zacytujesz nikogo, jeśli nie wiesz, które linijki są jego.
- Przypisanie w podsumowaniu. Podsumowanie spotkania, które nie mówi, kto co powiedział, jest ledwie przydatniejsze niż brak podsumowania.
- Wyszukiwanie według osoby mówiącej. Jeśli szukasz czegoś, co powiedziała jedna osoba, nie przefiltrujesz jednego niezróżnicowanego bloku tekstu.
Dzięki diaryzacji każda z tych rzeczy staje się prosta, a transkrypcja zamienia się z surowego tekstu w dokument. Przy wszystkim, co zostanie opublikowane lub zacytowane, czy to w dziennikarstwie, badaniach, czy notatkach do podcastu, dokładne przypisanie nie jest opcją. Przy pracy wewnętrznej, takiej jak notatki ze spotkań, badania oparte na wywiadach czy dokumentacja HR, uporządkowana struktura jest równie cenna: przeglądanie dialogu jest znacznie szybsze niż czytanie ściany tekstu.
Pełny opis w kontekście znajdziesz w tekście jak transkrybować wywiad, który obejmuje nagrywanie, transkrypcję i zmianę oznaczeń w dziennikarstwie i badaniach, oraz w tekście jak transkrybować podcast, o oznaczaniu prowadzących i gości w całym odcinku.
Oznaczenia osób mówiących są bezpłatne w każdej transkrypcji Hushscript
Diaryzacja osób mówiących jest wliczona w każdą transkrypcję Hushscript bez dodatkowej opłaty. Nie ma dodatku za diaryzację, osobnego poziomu planu ani płatnego limitu liczby osób mówiących w nagraniu. Sam Hushscript działa na zasadzie płatności za wykorzystane minuty, bez abonamentu. Kwalifikujące się konta osobiste mogą jednorazowo otrzymać 30 bezpłatnych minut po pomyślnej weryfikacji karty lub przy pierwszym zakupie, jeśli nie zostały już przyznane. Potem płacisz tylko za minuty, które wykorzystasz; szczegóły podaje cennik.
Automatyczne oznaczenia mogą być błędne, więc sprawdzaj je, gdy liczy się przypisanie wypowiedzi. Wrzuć nagranie, otrzymaj oznaczenia, zmień je na imiona i wyeksportuj wynik. Więcej o tym, jak to wszystko się składa, znajdziesz na stronie audio na tekst.
Niezależne źródła i standardy
Hushscript korzystał z tych niezależnych źródeł niezwiązanych z konkurencją. Wyjaśniają badania, standardy lub działanie platform i nie stanowią rekomendacji Hushscript.
Źródła sprawdzono: