Diarizzazione dei parlanti
Anche: etichette dei parlanti
Aggiornato il
Definizione
La diarizzazione dei parlanti è il processo che stabilisce chi ha parlato e quando in una registrazione, così una trascrizione può essere etichettata per parlante. Risponde a «chi l’ha detto?» invece che a «cosa è stato detto?».
La diarizzazione è un modello separato dal riconoscimento vocale. Ascolta i cambi di voce, raggruppa i segmenti che sembrano della stessa persona e assegna a ciascuno un’etichetta, di solito Parlante 1 e Parlante 2 finché non si aggiunge un nome. Insieme a una trascrizione produce il classico formato da verbale di riunione, con ogni riga attribuita.
È una funzione di trascrizione, non di dettatura. Quando detti c’è un solo parlante, e sei tu, quindi uno strumento di dettatura non ha bisogno della diarizzazione e non va giudicato perché non ce l’ha. Quando trascrivi una riunione, un’intervista o un podcast, fa la differenza tra una trascrizione e un muro di testo.
Perché è difficile
Due persone con voci simili, una persona la cui voce cambia per il raffreddore, parlato sovrapposto e un microfono da portatile che appiattisce tutti nello stesso rumore di fondo mettono in crisi il raggruppamento. Il numero di parlanti di solito viene stimato, non è noto. I sistemi migliori funzionano bene su audio pulito con turni ordinati, come un podcast, e molto peggio su una riunione vera in cui tre persone si parlano sopra. Aspettati di correggere le etichette a mano.
Quali strumenti la offrono
I trascrittori di riunioni come Otter.ai costruiscono il loro prodotto attorno a questa funzione. I trascrittori di file come MacWhisper offrono le etichette dei parlanti sulle registrazioni. Gli strumenti di dettatura in genere no, perché il loro lavoro non ha mai due parlanti. Se la diarizzazione è tra i tuoi requisiti, stai cercando un trascrittore.
Come aggiungere le etichette dei parlanti a una registrazione sul tuo Mac
Il toolkit open source pyannote.audio esegue la diarizzazione dei parlanti in locale sul tuo computer. Ti dice chi ha parlato e quando, con l’ora di inizio e di fine di ogni turno. Non produce le parole, quindi abbini il suo risultato alla trascrizione di un sistema di riconoscimento vocale.
I passaggi qui sotto usano la pipeline community, rilasciata con licenza CC-BY-4.0, che per il download richiede un account Hugging Face gratuito.
- Assicurati che ffmpeg sia installato, per esempio con: brew install ffmpeg
- Installa il toolkit in Terminale con: pip install pyannote.audio
- Accedi a Hugging Face e accetta le condizioni d’uso nella pagina pyannote/speaker-diarization-community-1.
- Crea un token di accesso Hugging Face su hf.co/settings/tokens.
- In Python, carica la pipeline con Pipeline.from_pretrained, passando il nome della pipeline e il tuo token, poi chiamala sul tuo file audio.
- Scorri il campo speaker_diarization del risultato per leggere ogni turno con ora di inizio, ora di fine ed etichetta del parlante.
- Se sai quante persone hanno parlato, passa num_speakers quando chiami la pipeline. Se conosci solo un intervallo, passa min_speakers e max_speakers.
Whisper o Parakeet sanno distinguere chi parla?
No. Sono entrambi modelli di riconoscimento vocale, e nessuno dei due è fatto per etichettare i parlanti. La scheda del modello Whisper dice che i modelli non sono stati valutati in modo approfondito sulla classificazione dei parlanti né sulla diarizzazione. La scheda del modello di NVIDIA per Parakeet TDT 0.6B v2 non elenca la diarizzazione dei parlanti tra le sue capacità.
L’articolo su Whisper registra una stranezza collegata. I primi modelli tendevano a scrivere ipotesi plausibili ma quasi sempre sbagliate sui nomi dei parlanti, perché molte trascrizioni di addestramento includevano il nome della persona che parlava. Gli autori hanno eliminato questo comportamento con un fine-tuning su trascrizioni senza annotazioni dei parlanti. Se una trascrizione prodotta da un solo modello di riconoscimento contiene nomi di parlanti, non fidarti.
Come si misura l’accuratezza della diarizzazione
La metrica standard è il diarization error rate (DER, tasso di errore di diarizzazione), espresso in percentuale: più è basso, meglio è. Somma tre tipi di errore: il falso allarme, quando viene segnalato parlato che non c’era, il mancato rilevamento, quando un parlato reale non viene attribuito a nessuno, e la confusione dei parlanti, quando il parlato viene attribuito alla persona sbagliata.
Come per il word error rate, le regole di calcolo cambiano il numero. Alcune valutazioni tollerano un breve margine di tempo attorno a ogni cambio di parlante, e alcune escludono il parlato sovrapposto. I benchmark di pyannote dichiarano di non usare alcun margine di tolleranza e di non escludere il parlato sovrapposto, che è l’impostazione più severa. Controlla queste due scelte prima di confrontare valori di DER di fonti diverse.
Le domande più frequenti.
Cosa significa diarizzazione nella trascrizione?
Etichettare una trascrizione in base a chi stava parlando. Un modello di diarizzazione rileva i cambi di voce e raggruppa i segmenti per parlante, così la trascrizione di una riunione si legge come una conversazione invece che come un unico blocco.
I software di dettatura etichettano i parlanti?
Quasi mai, perché nella dettatura c’è un solo parlante. Le etichette dei parlanti sono una funzione degli strumenti di trascrizione di riunioni e di file. Se ti servono, scegli un trascrittore; se ti serve la dettatura dal vivo, un’app di dettatura.
Whisper fa la diarizzazione dei parlanti?
No. Whisper trascrive le parole, e la sua scheda del modello dice che non è stato valutato in modo approfondito sulla diarizzazione dei parlanti. Per avere le etichette dei parlanti esegui un modello di diarizzazione separato, come la pipeline open source pyannote.audio, e combini i suoi timestamp con la trascrizione.
Che cos’è il diarization error rate?
Il diarization error rate (DER) è la misura standard di accuratezza per l’etichettatura dei parlanti: più è basso, meglio è. Combina falsi allarmi, parlato mancato e parlato attribuito al parlante sbagliato.
La diarizzazione dei parlanti può funzionare offline su un Mac?
Sì. La pipeline community open source di pyannote.audio funziona in locale sul tuo computer, e una volta scaricata si può usare senza connessione a internet.