Migliora i risultati della trascrizione con l'adattamento vocale

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Panoramica

Puoi utilizzare la funzionalità di adattamento vocale per consentire a Speech-to-Text di riconoscere parole o frasi specifiche più spesso di altre opzioni che potrebbero essere suggerite in altro modo. Ad esempio, supponiamo che i tuoi dati audio spesso includano la parola "meteo". Quando Speech-to-Text incontra la parola "meteo", vuoi che lo trascriva come "meteo" più spesso di In questo caso, potresti utilizzare l'adattamento vocale per influenzare Speech-to-Text per il riconoscimento del tempo.

L'adattamento vocale è particolarmente utile per i seguenti casi d'uso:

  • Migliorare la precisione di parole e frasi che si verificano spesso nei dati audio. Ad esempio, puoi avvisare il modello di riconoscimento dei comandi vocali che vengono solitamente parlati dai tuoi utenti.

  • Espansione del vocabolario delle parole riconosciute da Speech-to-Text. Speech-to-Text include un vocabolario molto grande. Tuttavia, se i dati audio contengono spesso parole rare nell'uso generico della lingua (come nomi propri o parole specifiche del dominio), puoi aggiungerli utilizzando l'adattamento vocale.

  • Migliorare la precisione della trascrizione del parlato quando l'audio fornito contiene rumore o non è molto chiaro.

Facoltativamente, puoi ottimizzare la differenziazione del modello di riconoscimento utilizzando la funzionalità di adattamento vocale (beta).

Migliora il riconoscimento di parole specificate

Per aumentare la probabilità che Speech-to-Text riconosca la parola "meteo", quando trascrive i dati audio, va bene il "tempo" nel campo phrases di un oggetto SpeechContext. Assegna l'oggetto SpeechContext al campo speechContexts dell'oggetto RecognitionConfig nella richiesta all'API Speech-to-Text.

Il seguente snippet mostra una parte di un payload JSON inviato all'API Speech-to-Text. Lo snippet JSON fornisce la parola "meteo" per l'adattamento vocale.

"config": {
    "encoding":"LINEAR16",
    "sampleRateHertz": 8000,
    "languageCode":"en-US",
    "speechContexts": [{
      "phrases": ["weather"]
    }]
}

Migliorare il riconoscimento di frasi composte da più parole

Quando fornisci una frase composta da più parole, è più probabile che Speech-to-Text riconosca tali parole in sequenza. L'inserimento di una frase aumenta anche la probabilità di riconoscere parti della frase, comprese le singole parole. Consulta la pagina dei limiti di contenuti per conoscere i limiti relativi al numero e alle dimensioni di queste frasi.

Il seguente snippet mostra una parte di un payload JSON inviato all'API Speech-to-Text. Lo snippet JSON include un array di frasi composte da più parole assegnate al campo phrases di un oggetto SpeechContext.

"config": {
    "encoding":"LINEAR16",
    "sampleRateHertz": 8000,
    "languageCode":"en-US",
    "speechContexts": [{
      "phrases": ["weather is hot", "weather is cold"]
    }]
}

Migliora il riconoscimento utilizzando le classi

I corsi rappresentano concetti comuni che si verificano nel linguaggio naturale, come le unità monetarie e le date del calendario. Una classe consente di migliorare la precisione della trascrizione per grandi gruppi di parole che corrispondono a un concetto comune, ma che non includono sempre parole o frasi identiche.

Ad esempio, supponiamo che i tuoi dati audio includano le registrazioni di persone che dicono il loro indirizzo civico. Potresti avere una registrazione audio di qualcuno che dice "La mia casa è via Roma 12, la quarta casa a sinistra." In questo caso, vuoi che Speech-to-Text riconosca la prima sequenza di numeri (123) come indirizzo anziché come centoventitré. Tuttavia, non tutte le persone vivono a "Via Verdi 123". Non è pratico elencare tutte le possibili vie in un oggetto SpeechContext. Puoi invece utilizzare una classe per indicare che un numero civico deve essere riconosciuto a prescindere dal numero effettivo. In questo esempio, Speech-to-Text potrebbe trascrivere più precisamente frasi come "123 Main Street" e "&8t;987 Grand Boulevard" perché sono entrambe riconosciuti come numeri di indirizzo.

Token del corso

Per utilizzare una classe nell'adattamento vocale, includi un token della classe nel campo phrases dell'oggetto SpeechContext. Fai riferimento all'elenco dei token delle classi supportati per conoscere i token disponibili per la tua lingua. Ad esempio, per migliorare la trascrizione dei numeri di indirizzo dal tuo audio di origine, fornisci il valore $ADDRESSNUM nell'oggetto SpeechContext.

Puoi utilizzare le classi come elementi indipendenti nell'array phrases o incorporarne uno o più in frasi composte da più parole. Ad esempio, puoi indicare un numero di indirizzo in una frase più ampia includendo il token della classe in una stringa: ["my address is $ADDRESSNUM"]. Tuttavia, questa frase non è utile nei casi in cui l'audio contenga una frase simile ma non identica, ad esempio "Mi trovo in Via Roma 12". Per facilitare il riconoscimento di frasi simili, è importante includere da solo il token della classe: ["my address is $ADDRESSNUM", "$ADDRESSNUM"]. Se utilizzi un token di classe non valido o non valido, Speech-to-Text ignora il token senza attivare un errore, ma utilizza ancora il resto della frase per il contesto.

Lo snippet che segue mostra un esempio di payload JSON inviato all'API Speech-to-Text. Lo snippet JSON include un oggetto SpeechContext che utilizza un token di classe.

  "config": {
    "encoding":"LINEAR16",
    "sampleRateHertz": 8000,
    "languageCode":"en-US",
    "speechContexts": [{
      "phrases": ["$ADDRESSNUM"]
     }]
  }

Ottimizzare i risultati della trascrizione utilizzando boost (beta)

Per impostazione predefinita, l'adattamento vocale offre un effetto relativamente piccolo, in particolare per le frasi di una parola. La funzionalità di incremento dell'adattamento vocale consente di aumentare il bias del modello di riconoscimento assegnando più peso ad alcune frasi rispetto ad altre. Consigliamo di implementare l'aumento del volume se 1) hai già implementato l'adattamento vocale e 2) vuoi adattare ulteriormente l'intensità dell'adattamento vocale ai risultati della trascrizione. Per verificare se la funzionalità di potenziamento è disponibile per la tua lingua, consulta la pagina di assistenza per le lingue.

Ad esempio, hai molte registrazioni di persone che chiedono informazioni sulla "tariffa per arrivare alla fiera della contea" con la parola "fair" che si verifica più spesso di "fare". In questo caso, puoi utilizzare l'adattamento vocale per aumentare la probabilità che il modello riconosca il prezzo equo e aggiungendo le frasi come oggetti SpeechContext. Questo indica a Speech-to-Text di riconoscere le tariffe equo e più frequenti rispetto a quelle di "hare".

Tuttavia, questo fattore dovrebbe essere riconosciuto più spesso di "fare" per le sue apparizioni più frequenti nell'audio. Potresti avere già trascritto l'audio utilizzando l'API Speech-to-Text e aver rilevato un numero elevato di errori che riconoscono la parola corretta ("fair"). In questo caso, potresti utilizzare la funzione di aumento per assegnare a "quot;fair" (valore migliore) un valore più alto di "quot;fare". Il valore ponderato maggiore assegnato a "fair" l'API Speech-to-Text sceglie di selezionare "fair" e più spesso di "fare". Senza valori di incremento, il modello di riconoscimento riconosce le tariffe e le tariffe con uguale probabilità.

Nozioni di base su Boost

Quando utilizzi il booster, assegni un valore ponderato a phrases elementi in un oggetto SpeechContext. Speech-to-Text si riferisce a questo valore ponderato quando si seleziona una possibile trascrizione per parole nei dati audio. Più alto è il valore, maggiore è la probabilità che Speech-to-Text scelga tale parola o frase dalle possibili alternative.

Se assegni un valore di boost a una frase composta da più parole, l'incremento viene applicato all'intera frase e solo all'intera frase. Ad esempio, vuoi assegnare un valore di incremento alla frase "La mia mostra preferita all'American Museum of Natural History è la balenottera azzurra". Se aggiungi questa frase a un oggetto SpeechContext e assegni un valore Boost, il modello di riconoscimento avrà più probabilità di riconoscere la parola nella sua interezza.

Se non ottieni i risultati che cerchi aumentando una frase composta da più parole, ti consigliamo di aggiungere tutti i bigram (ordine di 2 parole) che compongono la frase come ulteriori elementi phrases e a ciascuno di essi viene assegnato un valore di boost. Proseguendo con l'esempio precedente, potresti esaminare l'aggiunta di altri bigram e endgram (più di 2 parole) come "la mia esposizione preferita&", A questo punto, il modello di riconoscimento STT riconosce le frasi correlate nel tuo audio che contengono parti della frase boostata originale, ma che non corrispondono alla parola parola per parola.

Impostazione dei valori boost

I valori di boost devono essere maggiori di 0. Il limite massimo pratico per i valori boost è 20. Per risultati ottimali, sperimenta i risultati di trascrizione aumentando o diminuendo i valori di boost fino a ottenere risultati di trascrizione accurati.

Valori di boost più elevati possono comportare un minor numero di falsi negativi, ovvero casi in cui la parola o la frase si è verificata nell'audio, ma non è stata riconosciuta correttamente da Speech-to-Text. Tuttavia, il booster può aumentare anche la probabilità di falsi positivi, ovvero casi in cui la parola o la frase compare nella trascrizione anche se non si verifica nell'audio.

Esempio di ottimizzazione del parlato

Per impostare valori di boost diversi per "fair" e "fare" nella richiesta di trascrizione del parlato, imposta due oggetti SpeechContext nell'array di speechContexts dell'oggetto RecognitionConfig. Imposta un valore boost non negativo per ogni oggetto SpeechContext, uno contenente "fair" e l'altro contenente "tariffa"

Lo snippet che segue mostra un esempio di payload JSON inviato all'API Speech-to-Text. Lo snippet JSON include un oggetto RecognitionConfig che utilizza i valori di potenziamento per ponderare le parole "fair" e "fare" in modo diverso.

"config": {
    "encoding":"LINEAR16",
    "sampleRateHertz": 8000,
    "languageCode":"en-US",
    "speechContexts": [{
      "phrases": ["fair"],
      "boost": 15
     }, {
      "phrases": ["fare"],
      "boost": 2
     }]
  }

Passaggi successivi