Preparare i dati per Riconoscimento vocale personalizzato

Quando si testa l'accuratezza del riconoscimento vocale Microsoft o si esegue il training dei modelli personalizzati, sono necessari dati audio e di testo. In questa pagina vengono trattati i tipi di dati di cui necessita un modello di riconoscimento vocale personalizzato.

Diversità dei dati

Il testo e l'audio usati per testare ed eseguire il training di un modello personalizzato devono includere esempi di un set diversificato di altoparlanti e scenari che il modello deve riconoscere. Quando si raccoglie dati per il test e il training di modelli personalizzati, considerare questi fattori:

  • I dati audio di testo e voce devono coprire i tipi di affermazioni verbali che gli utenti dovranno eseguire durante l'interazione con il modello. Ad esempio, un modello che aumenta e abbassa la temperatura richiede il training sulle istruzioni che gli utenti potrebbero apportare per richiedere tali modifiche.
  • I dati devono includere tutte le varianze vocali che il modello dovrà riconoscere. Molti fattori possono variare il parlato, tra cui accenti, dialetti, combinazione di lingue, età, sesso, tono vocale, livello di stress e ora del giorno.
  • È necessario includere esempi di ambienti diversi (interni, esterni, rumore della strada) in cui verrà usato il modello.
  • L'audio deve essere raccolto usando dispositivi hardware che verranno utilizzati dal sistema di produzione. Se il modello deve identificare la voce registrata nei dispositivi di registrazione di qualità variabile, anche i dati audio forniti per eseguire il training del modello devono rappresentare questi scenari diversi.
  • È possibile aggiungere altri dati al modello in un secondo momento, ma è necessario mantenere il set di dati eterogeneo e rappresentativo delle esigenze del progetto.
  • L'inclusione di dati non inclusi nelle esigenze di riconoscimento del modello personalizzato può danneggiare la qualità complessiva del riconoscimento, quindi non includere i dati che il modello non deve trascrivere.

Un modello di cui è stato eseguito il training in un subset di scenari può essere eseguito in modo corretto solo in tali scenari. Scegliere con attenzione i dati che rappresentano l'ambito completo degli scenari che il modello personalizzato deve riconoscere.

Suggerimento

Iniziare con piccoli set di dati di esempio che corrispondono alla lingua e all'acustica che verranno rilevati dal modello. Ad esempio, registrare un campione di audio piccolo ma rappresentativo nello stesso hardware e nello stesso ambiente acustico che il modello troverà negli scenari di produzione. Set di dati di piccole dimensioni di dati rappresentativi possono esporre problemi prima di aver investito nella raccolta di set di dati molto più grandi per il training.

Per iniziare rapidamente, è consigliabile usare dati di esempio. Vedere questo repository GitHub per i dati Riconoscimento vocale personalizzato esempio

Tipi di dati

In questa tabella sono elencati i tipi di dati accettati, quando è necessario utilizzare ogni tipo di dati e la quantità consigliata. Non tutti i tipi di dati sono necessari per creare un modello. I requisiti dei dati variano a seconda che si crei un test o si eserne il training di un modello.

Tipo di dati Usato per i test Quantità consigliata Usato per il training Quantità consigliata
Audio
Usato per l'ispezione visiva
Oltre 5 file audio No N/D
Trascrizioni audio e con etichetta umana
Usato per valutare l'accuratezza
0,5-5 ore di audio 1-20 ore di audio
Testo normale No N/a 1-200 MB di testo correlato
Pronuncia No N/a 1 KB - 1 MB di testo di pronuncia

I file devono essere raggruppati in base al tipo in un set di dati e caricati come file ZIP. Ogni set di dati può contenere un solo tipo di dati.

Suggerimento

Quando si esegue il training di un nuovo modello, iniziare con il testo. Questi dati miglioreranno già il riconoscimento di termini e frasi speciali. Il training con il testo è molto più veloce del training con l'audio (minuti e giorni).

Nota

Non tutti i modelli di base supportano il training con l'audio. Se un modello di base non lo supporta, il servizio Voce userà solo il testo delle trascrizioni e ignorerà l'audio. Per un elenco dei modelli di base che supportano il training con i dati audio, vedere Supporto linguistico. Anche se un modello di base supporta il training con i dati audio, il servizio potrebbe usare solo una parte dell'audio. Userà comunque tutte le trascrizioni.

Nei casi in cui si modifica il modello di base usato per il training e si dispone di audio nel set di dati di training, verificare sempre se il nuovo modello di base selezionato supporta il training con i dati audio. Se il modello di base usato in precedenza non supporta il training con i dati audio e il set di dati di training contiene audio, il tempo di training con il nuovo modello di base aumenterà drasticamente e può passare facilmente da diverse ore a diversi giorni e altro ancora. Ciò vale soprattutto se la sottoscrizione del servizio Voce non si trova in un'area con l'hardware dedicato per il training.

Se si verifica il problema descritto nel paragrafo precedente, è possibile ridurre rapidamente il tempo di training riducendo la quantità di audio nel set di dati o rimuovendo completamente il testo. Quest'ultima opzione è altamente consigliata se la sottoscrizione del servizio Voce non si trova in un'area con l'hardware dedicato per il training.

Nelle aree con hardware dedicato per il training, il servizio Voce userà fino a 20 ore di audio per il training. In altre aree, userà solo fino a 8 ore di audio.

Caricare i dati

Per caricare i dati, passare a Riconoscimento vocale personalizzato portale. Dopo aver creato un progetto, passare alla scheda Set di dati voce e fare clic su Carica dati per avviare la procedura guidata e creare il primo set di dati. Verrà chiesto di selezionare un tipo di dati voce per il set di dati, prima di consentire il caricamento dei dati.

In primo luogo è necessario specificare se il set di dati deve essere usato per il training o il test. Esistono anche diversi tipi di dati che possono essere caricati e usati per il training o il test. Ogni set di dati caricato deve soddisfare i requisiti per il tipo di dati scelto. I dati devono essere formattati correttamente prima di essere caricati. I dati formattati correttamente assicurano che vengano elaborati in modo accurato dal Riconoscimento vocale personalizzato servizio. I requisiti sono elencati nelle sezioni seguenti.

Dopo aver caricato il set di dati, sono disponibili alcune opzioni:

  • È possibile passare alla scheda Train custom models (Training modelli personalizzati) per eseguire il training di un modello personalizzato.
  • È possibile passare alla scheda Modelli di test per esaminare visivamente la qualità con i dati solo audio o valutare l'accuratezza con i dati di trascrizione audio e con etichetta umana.

Dati di trascrizione audio e con etichetta umana

I dati di trascrizione audio e con etichetta umana possono essere usati sia a scopo di training che di test. Per migliorare gli aspetti acustici, ad esempio lievi accenti, stili di pronuncia, rumore di fondo o per misurare l'accuratezza del riconoscimento vocale di Microsoft durante l'elaborazione dei file audio, è necessario fornire trascrizioni con etichetta umana (parola per parola) per il confronto. Sebbene la trascrizione con etichetta umana sia spesso dispendiosa in termini di tempo, è necessario valutare l'accuratezza ed eseguire il training del modello per i casi d'uso. Tenere presente che i miglioramenti apportati al riconoscimento saranno validi solo come i dati forniti. Per questo motivo, è importante caricare solo trascrizioni di alta qualità.

I file audio possono avere silenzio all'inizio e alla fine della registrazione. Se possibile, includere almeno mezzo secondo di silenzio prima e dopo la sintesi vocale in ogni file di esempio. Anche se l'audio con un volume di registrazione basso o un rumore di fondo dannoso non è utile, non deve danneggiare il modello personalizzato. Valutare sempre la possibilità di aggiornare i microfoni e l'hardware di elaborazione dei segnali prima di raccogliere esempi audio.

Proprietà Valore
Formato file RIFF (WAV)
Frequenza di campionamento 8.000 Hz o 16.000 Hz
Canali 1 (mono)
Lunghezza massima per audio 2 ore (test) / 60 s (training)
Formato del campione PCM, 16 bit
Formato di archiviazione zip
Dimensioni massime zip 2 GB

Il formato di streaming audio predefinito è WAV (16 kHz o 8 kHz, 16 bit e PCM mono). Oltre a WAV/PCM, sono supportati anche i formati di input compressi elencati di seguito tramite GStreamer.

  • MP3
  • OPUS/OGG
  • FLAC
  • ALAW nel contenitore wav
  • MULAW nel contenitore wav
  • ANY (per lo scenario in cui il formato multimediale non è noto)

Nota

Quando si caricano dati di training e test, le dimensioni del file ZIP non possono superare i 2 GB. È possibile eseguire il test solo da un singolo set di dati, assicurarsi di mantenerlo entro le dimensioni del file appropriate. Inoltre, ogni file di training non può superare i 60 secondi, altrimenti si verifica un errore.

Per risolvere problemi come l'eliminazione o la sostituzione di parole, è necessaria una quantità significativa di dati per migliorare il riconoscimento. In genere, è consigliabile fornire trascrizioni parola per parola per 1-20 ore di audio. Tuttavia, anche solo 30 minuti possono contribuire a migliorare i risultati del riconoscimento. Le trascrizioni di tutti i file WAV devono essere contenute in un unico file di testo normale. Ogni riga del file delle trascrizioni deve contenere il nome di uno dei file audio ed essere seguita dalla trascrizione corrispondente. Il nome del file deve essere separato dalla trascrizione mediante un carattere di tabulazione (\t).

Ad esempio:

speech01.wav    speech recognition is awesome
speech02.wav    the quick brown fox jumped all over the place
speech03.wav    the lazy dog was not amused

Importante

La trascrizione deve presentare la codifica UTF-8 BOM (byte order mark).

Alle trascrizioni viene applicata la normalizzazione del testo in modo che possano essere elaborate dal sistema. Tuttavia, è necessario eseguire alcune normalizzazioni importanti prima di caricare i dati nel Speech Studio. Per la lingua appropriata da usare per preparare le trascrizioni, vedere Come creare una trascrizione con etichetta umana

Dopo aver raccolto i file audio e le trascrizioni corrispondenti, creare un pacchetto come singolo file ZIP prima di caricarli nel Speech Studio . Di seguito è riportato un set di dati di esempio con tre file audio e un file di trascrizione con etichetta umana:

Selezionare l'audio dal portale di riconoscimento vocale

Vedere Configurare l'account Azure per un elenco delle aree consigliate per le sottoscrizioni del servizio Voce. La configurazione delle sottoscrizioni voce in una di queste aree ridurrà il tempo necessario per eseguire il training del modello. In queste aree il training può elaborare circa 10 ore di audio al giorno rispetto ad appena 1 ora al giorno in altre aree. Se il training del modello non può essere completato entro una settimana, il modello verrà contrassegnato come non riuscito.

Non tutti i modelli di base supportano il training con dati audio. Se il modello di base non lo supporta, il servizio ignorerà l'audio ed esegue semplicemente il training con il testo delle trascrizioni. In questo caso, il training sarà uguale al training con testo correlato. Vedere Supporto della lingua per un elenco di modelli di base che supportano il training con dati audio.

Dati in testo normale per il training

Le frasi correlate al dominio possono essere usate per migliorare l'accuratezza durante il riconoscimento dei nomi dei prodotti o nel gergo specifico del settore. Le frasi possono essere fornite come un singolo file di testo. Per migliorare l'accuratezza, usare dati di testo più vicini alle espressioni pronunciate previste.

Il training con testo normale viene in genere completato in pochi minuti.

Per creare un modello personalizzato usando frasi, è necessario fornire un elenco di espressioni di esempio. Non è necessario che le espressioni siano complete o grammaticalmente corrette, ma devono riflettere accuratamente l'input parlato previsto nell'ambiente di produzione. Se si vuole che determinati termini abbia un peso maggiore, aggiungere diverse frasi che includono questi termini specifici.

Come indicazione generale, l'adattamento del modello è più efficace quando il testo di training è il più vicino possibile al testo reale previsto nell'ambiente di produzione. Il gergo specifico del dominio e le frasi da migliorare devono essere inclusi nel testo di training. Quando possibile, provare a controllare una frase o una parola chiave in una riga separata. Per le parole chiave e le frasi importanti per l'utente(ad esempio, i nomi dei prodotti), è possibile copiarle alcune volte. Tenere tuttavia presente che non copiare troppo, perché potrebbe influire sulla frequenza di riconoscimento complessiva.

Usare questa tabella per assicurarsi che il file di dati correlato per le espressioni sia formattato correttamente:

Proprietà Valore
Codifica testo UTF-8 BOM
N. di espressioni per riga 1
Dimensione massima dei file 200 MB

È anche necessario applicare le restrizioni seguenti:

  • Evitare di ripetere più di tre volte caratteri, parole o gruppi di parole. Ad esempio: "aaaa", "sì sì", oppure "è tutto qui che è tutto qui". Il servizio Voce potrebbe eliminare le righe con troppe ripetizioni.
  • Non usare caratteri speciali o caratteri UTF-8 sopra U+00A1 .
  • Gli URI verranno rifiutati.

Dati di pronuncia per il training

Se sono presenti termini non comuni senza pronunce standard che gli utenti incontrano o useranno, è possibile fornire un file di pronuncia personalizzato per migliorare il riconoscimento.

Importante

Non è consigliabile usare file di pronuncia personalizzati per modificare la pronuncia delle parole comuni.

Le pronunce devono essere fornite come singolo file di testo. Sono inclusi esempi di un'espressione pronunciata e una pronuncia personalizzata per ogni espressione:

Modulo riconosciuto/visualizzato Forma parlata
3CPO three c p o
CNTK c n t k
Ieee i triple e

La forma parlata è la sequenza fonetica digitata. Può essere costituito da lettere, parole, sillabe o una combinazione di tutti e tre.

La pronuncia personalizzata è disponibile in inglese ( en-US ) e tedesco ( de-DE ). Questa tabella mostra i caratteri supportati in base alla lingua:

Linguaggio Locale Caratteri
Inglese en-US a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z
Tedesco de-DE ä, ö, ü, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z

Usare la tabella seguente per assicurarsi che il file di dati correlato per le pronunce sia formattato correttamente. I file di pronuncia sono di piccole dimensioni e devono avere dimensioni di pochi kilobyte.

Proprietà Valore
Codifica testo UTF-8 BOM (ANSI è supportato anche per l'inglese)
N. di pronunce per riga 1
Dimensione massima dei file 1 MB (1 KB per il livello gratuito)

Dati audio per il test

I dati audio sono ottimali per testare l'accuratezza del modello di riconoscimento vocale di base di Microsoft o di un modello personalizzato. Tenere presente che i dati audio vengono usati per controllare l'accuratezza del parlato in relazione alle prestazioni di un modello specifico. Se si sta cercando di quantificare l'accuratezza di un modello, usare i dati di trascrizione audio +con etichetta umana .

Usare questa tabella per assicurarsi che i file audio siano formattati correttamente per l'uso con Riconoscimento vocale personalizzato:

Proprietà Valore
Formato file RIFF (WAV)
Frequenza di campionamento 8.000 Hz o 16.000 Hz
Canali 1 (mono)
Lunghezza massima per audio 2 ore
Formato del campione PCM, 16 bit
Formato di archiviazione zip
Dimensione massima dell'archivio 2 GB

Il formato di streaming audio predefinito è WAV (16 kHz o 8 kHz, 16 bit e PCM mono). Oltre a WAV/PCM, sono supportati anche i formati di input compressi elencati di seguito tramite GStreamer.

  • MP3
  • OPUS/OGG
  • FLAC
  • ALAW nel contenitore wav
  • MULAW nel contenitore wav
  • ANY (per lo scenario in cui il formato multimediale non è noto)

Suggerimento

Quando si caricano dati di training e di test, le dimensioni del file ZIP non possono superare i 2 GB. Se sono necessari più dati per il training, dividerli in diversi file ZIP e caricarli separatamente. Successivamente, è possibile scegliere di eseguire il training da più set di dati. Tuttavia, è possibile eseguire il test solo da un singolo set di dati.

Usare SoX per verificare le proprietà audio o convertire l'audio esistente nei formati appropriati. Di seguito sono riportati alcuni esempi di come ognuna di queste attività può essere eseguita tramite la riga di comando SoX:

Attività Descrizione Comando SoX
Controllare il formato audio Usare questo comando per controllare
il formato di file audio.
sox --i <filename>
Convertire il formato audio Usare questo comando per convertire
il file audio a canale singolo, 16 bit, 16 KHz.
sox <input> -b 16 -e signed-integer -c 1 -r 16k -t wav <output>.wav

Passaggi successivi