Misurare e migliorare la precisione della voce

Panoramica

Il riconoscimento vocale automatico (ASR), noto anche come trascrizione automatica o conversione Speech-to-Text (STT), utilizza il machine learning per trasformare l'audio contenente parlato in testo. Il riconoscimento vocale ha molte applicazioni, dai sottotitoli agli assistenti virtuali, alle risposte vocali interattive (IVR), alla dettatura e altro ancora. Tuttavia, i sistemi di machine learning raramente sono precisi al 100% e l'ASR non fa eccezione. Se prevedi di utilizzare l'ASR per sistemi critici, è molto importante misurarne l'accuratezza o la qualità complessiva per capire il suo rendimento nel sistema più ampio che lo integra.

Una volta misurata l'accuratezza, è possibile ottimizzare i sistemi per ottenere una precisione ancora maggiore per la tua situazione specifica. Nell'API Cloud Speech-to-Text di Google, la regolazione della precisione può essere eseguita scegliendo il modello di riconoscimento più appropriato e utilizzando la nostra API Speech Adaptation. Offriamo una vasta gamma di modelli personalizzati per diversi casi d'uso, come audio nel formato lungo, conversazioni mediche o telefoniche.

Definizione dell'accuratezza vocale

La precisione del parlato può essere misurata in diversi modi. Potrebbe essere utile utilizzare più metriche, a seconda delle tue esigenze. Tuttavia, il metodo standard di confronto del settore è il tasso di errore delle parole (WER), spesso abbreviato in WER. Il WER misura la percentuale di trascrizioni di parole errate nell'intero insieme. Un WER più basso indica che il sistema è più preciso.

Potresti anche vedere il termine ground truth, utilizzato nel contesto della precisione dell'ASR. Il dato di fatto è la trascrizione accurata al 100%, in genere fornita da persone, che utilizzi per confrontare e misurare l'accuratezza.

Tasso di errore delle parole (WER)

Il WER è la combinazione di tre tipi di errori di trascrizione che possono verificarsi:

  • Errore di inserimento (I): parole presenti nella trascrizione dell'ipotesi che non sono presenti nei dati di fatto.
  • Errori di sostituzione (S): parole presenti sia nell'ipotesi sia nel file dei dati di fatto, ma non trascritte correttamente.
  • Errori di eliminazione (D): parole mancanti nell'ipotesi, ma presenti nei dati di fatto.

\[WER = {S+R+Q \over N}\]

Per trovare l'Indice di errore relativo alla trascrizione, aggiungi il numero totale di ciascuno di questi errori e dividilo per il numero totale di parole (N) nella trascrizione dei dati di fatto. Il WER può essere superiore al 100% in situazioni con un'accuratezza molto bassa, ad esempio quando viene inserita una grande quantità di nuovo testo. Nota: la sostituzione è essenzialmente un'eliminazione seguita da un'inserzione e alcune sostituzioni sono meno gravi di altre. Ad esempio, potrebbe esserci una differenza tra la sostituzione di una singola lettera e quella di una parola.

Relazione tra WER e un punteggio di affidabilità

La metrica WER è indipendente da un punteggio di confidenza e di solito non sono correlate tra loro. Un punteggio di confidenza si basa sulla probabilità, mentre il WER si basa sul fatto che la parola sia identificata correttamente o meno. Se la parola non viene identificata correttamente, significa che anche errori grammaticali minori possono causare un WER elevato. Una parola identificata correttamente comporta un WER basso, che può comunque portare a una probabilità bassa, il che riduce l'affidabilità se la parola non è molto frequente o se l'audio è molto rumoroso.

Analogamente, una parola usata di frequente può avere un'alta probabilità di essere trascritta correttamente dall'ASR, il che aumenta il punteggio di affidabilità. Ad esempio, quando viene identificata una differenza tra "io" e "occhio", potrebbe verificarsi un'elevata confidenza, perché "io" è una parola più comune, ma la metrica WER viene abbassata.

In sintesi, le metriche di confidenza e WER sono indipendenti e non dovrebbero essere correlate.

Normalizzazione

Durante il calcolo della metrica WER, la trascrizione automatica viene confrontata con una trascrizione dei dati di fatto fornita da un essere umano. Il testo di entrambe le trascrizioni viene normalizzato prima del confronto. I segni di punteggiatura vengono rimossi e la differenza tra maiuscole e minuscole viene ignorata quando si confronta la trascrizione automatica con la trascrizione con dati empirici reali fornita da un essere umano.

Convenzioni per i dati di fatto

È importante riconoscere che non esiste un unico formato di trascrizione concordato tra gli esseri umani per un determinato audio. Ci sono molti aspetti da considerare. Ad esempio, l'audio potrebbe contenere altre vocalizzazioni non vocali, come "eh", "sì", "umm". Alcuni modelli di STT di Cloud, come "medical_conversation", includono queste vocalizzazioni, mentre altri no. Pertanto, è importante che le convenzioni dei dati empirici reali corrispondano a quelle del modello in fase di valutazione. Le seguenti linee guida generali vengono utilizzate per preparare una trascrizione del testo di riferimento per un determinato audio.

  • Oltre alle lettere standard, puoi utilizzare le cifre da 0 a 9.
  • Non utilizzare simboli come "@", "#", "$", ".". Utilizza parole come "chiocciola", "cancelletto", "dollaro", "punto".
  • Utilizza "%", ma solo se preceduto da un numero; in caso contrario, utilizza la parola "percentuale".
  • Utilizza "\$" solo se seguito da un numero, ad esempio "Il latte costa 3,99 $".

  • Utilizza le parole per i numeri minori di 10.

    • Ad esempio, "Ho quattro gatti e 12 cappelli".
  • Utilizza i numeri per misure, valute e fattori di grandi dimensioni come milioni, miliardi o trilioni. Ad esempio, "7,5 milioni" anziché "sette milioni e mezzo".

  • Non utilizzare abbreviazioni nei seguenti casi:

    Cosa fare Cosa non fare
    Warriors contro Lakers Warriors vs Lakers
    Vivo al 123 di Via Principale Vivo in Via Roma 123

Misurare l'accuratezza del parlato

Per iniziare a determinare l'accuratezza utilizzando l'audio, segui questi passaggi:

Raccogliere file audio di prova

Raccogliere un campione rappresentativo di file audio per misurarne la qualità. Questo campione deve essere casuale e il più simile possibile all'ambiente di destinazione. Ad esempio, se vuoi trascrivere le conversazioni di un call center per facilitare il controllo qualità, devi selezionare in modo casuale alcune chiamate reali registrate con la stessa attrezzatura utilizzata per l'audio di produzione. Se l'audio viene registrato sul microfono del cellulare o del computer e non è rappresentativo del tuo caso d'uso, non utilizzarlo.

Registra almeno 30 minuti di audio per ottenere una metrica di accuratezza statisticamente significativa. Ti consigliamo di utilizzare da 30 minuti a 3 ore di audio. In questo lab, l'audio è fornito per te.

Ottenere trascrizioni dei dati di fatto

Ricevi trascrizioni accurate dell'audio. In genere, prevede una trascrizione umana singola o doppia dell'audio di destinazione. Il tuo obiettivo è avere una trascrizione accurata al 100% in base alla quale misurare i risultati automatici.

Quando ottieni le trascrizioni di riferimento, è importante che corrispondano il più possibile alle convenzioni di trascrizione del sistema ASR di destinazione. Ad esempio, assicurati che la punteggiatura, i numeri e le lettere maiuscole siano coerenti.

Ottieni una trascrizione automatica e correggi eventuali problemi rilevati nel testo.

Ottenere la trascrizione automatica

Invia l'audio all'API Speech-to-Text di Google e ottieni la trascrizione dell'ipotesi utilizzando l'interfaccia utente di Speech-to-Text.

Accoppiare i dati empirici reali all'audio

Nello strumento dell'interfaccia utente, fai clic su "Allega dati di fatto" per associare un determinato file audio ai dati di fatto forniti. Al termine dell'allegato, puoi visualizzare la metrica WER e la visualizzazione di tutte le differenze.