Przejdź do głównej treści

Blog

Czym jest diaryzacja osób mówiących i jak działa?

Autor: 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:

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:

  1. Kliknij dowolne oznaczenie osoby w edytorze transkrypcji, na przykład Speaker B.
  2. Wybierz Edit speaker names z otwartego menu.
  3. Wpisz w oknie prawdziwe imię, na przykład „Tom”, i zapisz.
  4. 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:

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:

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:

Najczęściej zadawane pytania

Czym jest diaryzacja osób mówiących?

Diaryzacja osób mówiących to proces dzielenia nagrania audio na fragmenty według osoby mówiącej. Wynikiem jest transkrypcja, w której każda linijka jest przypisana do głosu („Speaker A powiedział to, Speaker B powiedział tamto”), zamiast jednego niezróżnicowanego bloku tekstu. Diaryzacja automatycznie odpowiada na pytanie „kto i kiedy mówił?”, zanim ktokolwiek przeczyta transkrypcję.

Co oznacza diaryzacja?

W technologiach mowy diaryzacja oznacza przypisanie każdego fragmentu nagrania do osoby mówiącej, tak by transkrypcja zapisywała, kto mówił i kiedy. Oznaczenia są ogólne, na przykład Speaker A i Speaker B, bo system grupuje głosy, a nie sprawdza, do kogo należą.

Czy diaryzacja to to samo co identyfikacja osoby mówiącej lub rozpoznawanie głosu?

Nie. Diaryzacja oddziela głosy w obrębie jednego nagrania i informuje, że te fragmenty wypowiedziała ta sama osoba, ale nie wie, kim ta osoba jest. Identyfikacja osoby mówiącej porównuje głos ze znaną próbką wzorcową, żeby przypisać mu imię i nazwisko. Diaryzacja nie potrzebuje wzorca i nie tworzy profilu głosu; dlatego oznacza osoby jako „Speaker A” i „Speaker B”, a nie imionami.

Czy diaryzacja działa przy wielu osobach mówiących?

Tak, ale dokładność spada wraz z liczbą osób. Hushscript nie ma płatnego limitu liczby osób mówiących, jednak nie istnieje uniwersalna liczba, przy której diaryzacja pozostaje równie dokładna. Znaczenie mają nakładanie się głosów, podobnie brzmiące głosy, odległość od mikrofonu i hałas w pomieszczeniu. Czysty panel dyskusyjny może zostać rozdzielony lepiej niż hałaśliwa rozmowa dwóch osób, więc sprawdzaj oznaczenia zawsze, gdy liczy się przypisanie wypowiedzi.

Dlaczego transkrypcja podzieliła jedną osobę na dwie?

Zwykle dlatego, że w połowie nagrania mocno zmieniło się brzmienie głosu tej osoby: przybliżyła się do mikrofonu lub oddaliła od niego, przeszła z zestawu słuchawkowego na głośnik albo zmieniła się jakość łącza. Silnik grupuje głosy według ich cech, więc duża zmiana może zostać odczytana jako nowy głos. Aby to naprawić, przypisz w edytorze wypowiedzi z dodatkowego oznaczenia do właściwej osoby.

Czy diaryzacja potrafi podać, kim z imienia i nazwiska jest dana osoba?

Nie. Diaryzacja rozdziela osoby mówiące, ale nie identyfikuje ich z imienia i nazwiska. Oznacza je jako „Speaker A”, „Speaker B” i tak dalej. Prawdziwe imiona przypisujesz sam w edytorze po wygenerowaniu transkrypcji, a każda zmiana nazwy obowiązuje dla wszystkich linijek tej osoby.

Czy pyannote to to samo co diaryzacja osób mówiących?

Nie. Pyannote.audio to open-source'owy zestaw narzędzi w Pythonie, który zawiera potoki diaryzacji, a narzędzia takie jak WhisperX łączą go z modelem transkrypcji. Diaryzacja to zadanie, a pyannote to jeden ze sposobów, by uruchomić ją samodzielnie. Jeśli chcesz gotową transkrypcję z oznaczeniami osób mówiących bez kodu, prześlij plik do usługi transkrypcji.

Czy mogę wypróbować diaryzację online?

Tak. W Hushscript wrzucasz plik, link albo nagranie i przed zalogowaniem dostajesz podgląd do 5 minut z oznaczeniami osób mówiących. Pełna transkrypcja wymaga konta i wystarczającej liczby dostępnych minut. Kwalifikujące się konta osobiste dostają jednorazowo 30 bezpłatnych minut, po weryfikacji karty albo z pierwszym zakupem.

Czy diaryzacja działa na nagraniach rozmów telefonicznych?

Tak, gdy zarejestrowano obie strony rozmowy. Jeśli nagranie to jedna zmiksowana ścieżka z oboma głosami, diaryzacja rozdziela je jak każdy inny plik z dwiema osobami. Jeśli każda strona została zapisana jako osobny plik mono, najpierw połącz je w jeden miks, żeby oba głosy znalazły się w tym samym nagraniu.

Czy diaryzacja jest wliczona w każdą transkrypcję w Hushscript?

Oznaczenia osób mówiących nie kosztują nic dodatkowo: bez dodatku i bez wyższego planu. Rozróżnianie osób mówiących to pole wyboru w opcjach przesyłania, a po transkrypcji możesz zmienić oznaczenia na prawdziwe imiona. Nowa nazwa zaktualizuje się w całej transkrypcji.

Zacznij od 30 bezpłatnych minut

Sprawdź podgląd do 5 minut, zanim utworzysz konto, a nowe konto osobiste otrzymuje bezpłatny podgląd pierwszego pliku przesłanego w aplikacji. Pełna transkrypcja wymaga konta i minut; konta osobiste spełniające warunki jednorazowo dostają 30 bezpłatnych minut, po weryfikacji karty lub przy pierwszym zakupie. Bez abonamentu.

Otrzymaj 30 bezpłatnych minut