Personalizzare un modello di riconoscimento vocale

Importante

A causa dell'annuncio di ritiro Servizi multimediali di Azure, Azure AI Video Indexer annuncia le modifiche alle funzionalità di Azure AI Video Indexer. Vedere Modifiche correlate al ritiro di Servizi multimediali di Azure (AMS) per comprendere cosa significa per l'account Video Indexer di Azure per intelligenza artificiale. Vedere la guida alla preparazione per il ritiro di AMS: aggiornamento VI e migrazione.

Nota

La personalizzazione del modello di riconoscimento vocale, incluso il training della pronuncia, è supportata solo negli account di valutazione di Video Indexer di Azure e negli account di Resource Manager. Non è supportato negli account classici. Per indicazioni su come aggiornare il tipo di account senza costi, vedere Aggiornare l'account di Azure AI Video Indexer. Per indicazioni sull'uso dell'esperienza di linguaggio personalizzata, vedere Personalizzare un modello linguistico.

Tramite l'integrazione di Video Indexer di Intelligenza artificiale di Azure con i servizi Voce di Intelligenza artificiale di Azure, un modello linguistico universale viene usato come modello di base sottoposto a training con dati di proprietà Microsoft e riflette la lingua parlata comunemente usata. Il modello di base è sottoposto a training preliminare con dialetti e fonetici che rappresentano vari domini comuni. Il modello di base funziona bene nella maggior parte degli scenari di riconoscimento vocale.

Tuttavia, a volte la trascrizione del modello di base non gestisce in modo accurato alcuni contenuti. In queste situazioni, è possibile usare un modello di riconoscimento vocale personalizzato per migliorare il riconoscimento del vocabolario o della pronuncia specifico del dominio specifico del contenuto fornendo dati di testo per eseguire il training del modello. Tramite il processo di creazione e adattamento dei modelli di personalizzazione vocale, il contenuto può essere trascritto correttamente. Non sono previsti costi aggiuntivi per l'uso della personalizzazione vocale di Video Indexers.

Quando usare un modello di riconoscimento vocale personalizzato?

Se il contenuto contiene terminologia specifica del settore o quando si esaminano i risultati della trascrizione di Video Indexer, è possibile creare ed eseguire il training di un modello di riconoscimento vocale personalizzato per riconoscere i termini e migliorare la qualità della trascrizione. Può essere utile creare un modello personalizzato solo se si prevede che le parole e i nomi pertinenti vengano visualizzati ripetutamente nel contenuto che si prevede di indicizzare. Il training di un modello a volte è un processo iterativo e si potrebbe scoprire che dopo il training iniziale i risultati potrebbero continuare a usare il miglioramento e trarre vantaggio da un training aggiuntivo, vedere la sezione How to Improve your custom model (Come migliorare il modello personalizzato) per indicazioni.

Tuttavia, se si notano alcune parole o nomi trascritti in modo errato nella trascrizione, potrebbe non essere necessario un modello di riconoscimento vocale personalizzato, soprattutto se le parole o i nomi non devono essere comunemente usati nel contenuto che si prevede di indicizzare in futuro. È sufficiente modificare e correggere la trascrizione nel sito Web di Video Indexer (vedere Visualizzare e aggiornare le trascrizioni nel sito Web di Azure AI Video Indexer) e non è necessario risolverla tramite un modello di riconoscimento vocale personalizzato.

Per un elenco delle lingue che supportano modelli e pronuncia personalizzati, vedere le colonne Personalizzazione e pronuncia della tabella di supporto della lingua in Supporto della lingua in Azure AI Video Indexer.

Eseguire il training dei set di dati

Quando si indicizza un video, è possibile usare un modello di riconoscimento vocale personalizzato per migliorare la trascrizione. I modelli vengono sottoposti a training caricandoli con set di dati che possono includere dati di testo normale e dati di pronuncia.

Il testo usato per testare ed eseguire il training di un modello personalizzato deve includere esempi di un set diversificato di contenuto e scenari che si desidera che il modello riconosca. Quando si creano e si esegue il training dei set di dati, tenere presenti i fattori seguenti:

  • Includere testo che copre i tipi di istruzioni verbali che gli utenti effettuano quando interagiscono con il modello. Ad esempio, se il contenuto è principalmente correlato a uno sport, eseguire il training del modello con contenuto contenente terminologia e materia relativa allo sport.
  • Includere tutte le varianza vocali che si desidera riconoscere dal modello. Molti fattori possono variare il parlato, tra cui accenti, dialetti e combinazioni linguistiche.
  • Includere solo i dati rilevanti per il contenuto che si prevede di trascrivere. L'inclusione di altri dati può danneggiare la qualità complessiva del riconoscimento.

Tipi di set di dati

Esistono due tipi di set di dati che è possibile usare per la personalizzazione. Per determinare quale set di dati usare per risolvere i problemi, vedere la tabella seguente:

Caso d'uso Tipo di dati
Migliorare l'accuratezza del riconoscimento su vocabolario e grammatica specifici del settore, ad esempio terminologia medica o gergo IT. Testo normale
Definire la forma fonetica e visualizzata di una parola o di un termine con pronuncia non standard, ad esempio nomi di prodotto o acronimi. Dati di pronuncia

Dati di testo normale per il training

È possibile usare un set di dati che include frasi di testo normale di testo correlato per migliorare il riconoscimento di parole e frasi specifiche del dominio. Le frasi di testo correlate possono ridurre gli errori di sostituzione correlati alla mancata riconoscimento di parole comuni e parole specifiche del dominio visualizzandoli nel contesto. Le parole specifiche del dominio possono essere parole non comuni o composte, ma la loro pronuncia deve essere semplice da riconoscere.

Procedure consigliate per set di dati di testo normale

  • Specificare frasi correlate al dominio in un singolo file di testo. Invece di usare frasi complete, è possibile caricare un elenco di parole. Tuttavia, mentre questo li aggiunge al vocabolario, non insegna al sistema come vengono usate normalmente le parole. Fornendo espressioni complete o parziali (frasi o frasi di elementi che gli utenti potrebbero pronunciare), il modello linguistico può apprendere le nuove parole e come vengono usate. Il modello linguistico personalizzato è utile non solo per aggiungere nuove parole nel sistema ma anche per modificare la probabilità di parole note per l'applicazione. L'indicazione di espressioni complete favorisce l'apprendimento da parte del sistema.
  • Usare i dati di testo vicini alle espressioni pronunciate previste. Le espressioni non devono essere complete o grammaticalmente corrette, ma devono riflettere con precisione l'input parlato previsto dal modello.
  • Provare ad avere ogni frase o parola chiave in una riga separata.
  • Per aumentare il peso di un termine, ad esempio i nomi dei prodotti, aggiungere diverse frasi che includono il termine .
  • Per le frasi comuni usate nel contenuto, fornire molti esempi è utile perché indica al sistema di ascoltare questi termini. 
  • Evitare di includere simboli non comuni (~, # @ % &) come eliminati. Anche le frasi in cui vengono visualizzate vengono eliminate.
  • Evitare di inserire input troppo grandi, ad esempio centinaia di migliaia di frasi, perché in questo modo si diluisce l'effetto di boosting.

Usare questa tabella per assicurarsi che il file del set di dati di testo normale sia formattato correttamente:

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

Provare a seguire queste linee guida nei file di testo normale:

  • Evitare di ripetere caratteri, parole o gruppi di parole più di tre volte, ad esempio "sì sì sì sì" perché il servizio potrebbe rilasciare righe con troppe ripetizioni.
  • Non usare caratteri speciali o caratteri UTF-8 sopra U+00A1.
  • Gli URI sono rifiutati.
  • Per alcune lingue, ad esempio giapponese o coreano, l'importazione di grandi quantità di dati di testo può richiedere molto tempo o può verificarsi un timeout. È consigliabile dividere il set di dati in più file di testo con un massimo di 20.000 righe in ognuna.

Dati di pronuncia per il training

È possibile aggiungere al modello di riconoscimento vocale personalizzato un set di dati di pronuncia personalizzato per migliorare il riconoscimento di parole, frasi o nomi non annunciati.

I set di dati di pronuncia devono includere la forma parlata di una parola o di una frase, nonché il modulo visualizzato riconosciuto. La forma parlata è la sequenza fonetica specificata, ad esempio "Triple A". Può essere composto da lettere, parole, sillabe o una combinazione di tutti e tre. Il modulo visualizzato riconosciuto è il modo in cui si desidera che la parola o la frase venga visualizzata nella trascrizione. Questa tabella include alcuni esempi:

Modulo visualizzato riconosciuto Forma parlata
3CPO three c p o
CNTK c n t k
AAA Triple A

I set di dati di pronuncia vengono forniti in un singolo file di testo. Includere l'espressione parlata e una pronuncia personalizzata per ognuna. Ogni riga del file deve iniziare con il modulo riconosciuto, quindi un carattere di tabulazioni e quindi la sequenza fonetica delimitata da spazi.

3CPO    three c p o 
CNTK    c n t k 
IEEE    i triple e 

Quando si creano e si escludono set di dati di pronuncia di training, tenere presente quanto segue:

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

Se sono presenti alcune varianti del modo in cui una parola o un nome viene trascritto in modo non corretto, è consigliabile usare alcuni o tutti durante il training del set di dati di pronuncia. Ad esempio, se Robert viene menzionato cinque volte nel video e trascritto come Robort, Ropert e rapinatori. È possibile provare a includere tutte le varianti nel file come nell'esempio seguente, ma prestare attenzione quando si esegue il training con parole effettive come rapinatori come se i rapinatori siano menzionati nel video, viene trascritto come Robert.

Robert Roport
Robert Ropert
Robert Robbers

Il modello di pronuncia non è destinato agli acronimi. Ad esempio, se si vuole che Doctor sia trascritto come Dr., questo non può essere ottenuto tramite un modello di pronuncia.

Fare riferimento alla tabella seguente per assicurarsi che i file del set di dati di pronuncia siano validi e formattati correttamente.

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

Come migliorare i modelli personalizzati

Il training di un modello di pronuncia può essere un processo iterativo, perché è possibile acquisire maggiori informazioni sulla pronuncia dell'oggetto dopo il training iniziale e la valutazione dei risultati del modello. Poiché i modelli esistenti non possono essere modificati o modificati, il training di un modello richiede in modo iterativo la creazione e il caricamento di set di dati con informazioni aggiuntive, nonché il training di nuovi modelli personalizzati in base ai nuovi set di dati. È quindi necessario reindicizzare i file multimediali con il nuovo modello di riconoscimento vocale personalizzato.

Esempio:

Si supponga di pianificare l'indicizzazione dei contenuti sportivi e prevedere problemi di accuratezza della trascrizione con terminologia sportiva specifica, nonché nei nomi di giocatori e allenatori. Prima dell'indicizzazione, è stato creato un modello di riconoscimento vocale con un set di dati di testo normale con contenuto contenente terminologia sportiva pertinente e un set di dati di pronuncia con alcuni nomi dei giocatori e degli allenatori. Si indicizzano alcuni video usando il modello di riconoscimento vocale personalizzato e quando si esamina la trascrizione generata, si scopre che, mentre la terminologia viene trascritta correttamente, molti nomi non lo sono. È possibile eseguire i passaggi seguenti per migliorare le prestazioni in futuro:

  1. Esaminare la trascrizione e prendere nota di tutti i nomi trascritti in modo non corretto. Potrebbero rientrare in due gruppi:

    • Nomi non presenti nel file di pronuncia.
    • Nomi nel file di pronuncia, ma sono ancora trascritti erroneamente.
  2. Creare un nuovo file del set di dati. Scaricare il file del set di dati di pronuncia o modificare l'originale salvato in locale. Per il gruppo A, aggiungere i nuovi nomi al file con come sono stati trascritti erroneamente (Michael Mikel). Per il gruppo B, aggiungere righe aggiuntive con ogni riga con il nome corretto e un esempio univoco di come fosse trascritto in modo non corretto. Ad esempio:

    Stephen Steven
    Stephen Steafan
    Stephen Steevan

  3. Caricare il file come nuovo file del set di dati.

  4. Creare un nuovo modello di riconoscimento vocale e aggiungere il set di dati originale di testo normale e il nuovo file del set di dati di pronuncia.

  5. Reindicizzare il video con il nuovo modello di riconoscimento vocale.

  6. Se necessario, ripetere i passaggi da 1 a 5 fino a quando i risultati non sono soddisfacenti.