Polarizzazione

La torsione aiuta libgspeech a riconoscere parole o frasi specifiche più spesso di altre opzioni che potrebbero altrimenti essere suggerite. Questo documento illustra la procedura per aumentare la probabilità che libgspeech riconosca le parole e/o le frasi di cui hai bisogno quando trascrive i dati audio.

Per polarizzare il modello di riconoscimento su parole o frasi specifiche, inseriscile come phrases nel campo phrase_sets di un oggetto SpeechAdaptation. Assegna l'oggetto SpeechAdaptation al campo adaptation dell'oggetto RecognitionConfig nella richiesta:

adaptation: {
  phrase_sets {
    phrases: "weather is hot"
    phrases: "weather is cold"
}

Utilizza le classi per definire il modello

Le classi rappresentano concetti comuni che si verificano in un linguaggio naturale, come valori numerici e date di calendario. Una classe consente di migliorare l'accuratezza della trascrizione per grandi gruppi di parole che corrispondono a un concetto comune, ma non includono sempre parole o frasi identiche.

Ad esempio, supponiamo che i tuoi dati audio includano le registrazioni delle persone che dicono il loro indirizzo. Potresti avere una registrazione audio di una persona che dice "La mia casa è 123 Main Street, la quarta casa a sinistra". In questo caso, vuoi che Speech-to-Text riconosca la prima sequenza di numeri ("123") come indirizzo anziché come numero ordinale ("centoventitré"). Tuttavia, non tutti vivono in "Via Verdi 123". Non è pratico elencare ogni possibile indirizzo stradale in frasi. Puoi invece utilizzare una classe per indicare che un numero civico deve essere riconosciuto, indipendentemente dal numero effettivo.

Per utilizzare i token di classe, includili nelle frasi di adattamento del parlato. Puoi utilizzare le classi come elementi autonomi nell'array di frasi o incorporarle in frasi composte da più parole. Ad esempio, per migliorare la trascrizione dei numeri indirizzo dell'audio di origine, utilizza la classe $ADDRESSNUM. Puoi indicare un numero di indirizzo in una frase più grande includendo il token della classe in una stringa: "il mio indirizzo è $ADDRESSNUM". Tuttavia, questa frase non è utile nei casi in cui l'audio contiene una frase simile, ma non identica, ad esempio "Sono in 123 Main Street". Per aiutare a riconoscere frasi simili, è importante includere anche il token della classe da solo:

adaptation: {
  phrase_sets {
    phrases: "my address is $ADDRESSNUM"
    phrases: "$ADDRESSNUM"
  }
}

Utilizza le classi personalizzate per definire il modello

Una classe personalizzata è un elenco personalizzato di elementi o valori correlati.

Utilizzare corsi personalizzati predefiniti

Google mette a disposizione diverse classi personalizzate predefinite (come contacts o navigation) che consigliamo di utilizzare con Speech-to-Text On-Device. È probabile che queste classi personalizzate rappresentino frasi che la tua applicazione potrebbe avere e producono una migliore precisione di riconoscimento rispetto alle classi personalizzate.

Le classi personalizzate predefinite sono raggruppate in due categorie, a cui devi fare riferimento in modo diverso nelle richieste:

  • Classi personalizzate per cui devi fornire phrases e items, ad esempio contacts.

  • Classi personalizzate a cui viene fatto riferimento solo da custom_class_id, ad esempio navigation.

Per utilizzare una classe personalizzata che richiede phrases e items, crea un oggetto CustomClass che includa ogni valore in items e fai riferimento a questa classe tramite la relativa custom_class_id nel tuo phrases, ad esempio:

adaptation: {
  custom_classes {
    custom_class_id: "contacts"
    items: "Asia"
    items: "Alex"
    items: "Nuno Pereira"
  }
  phrase_sets {
    phrases: "call ${contacts}"
  }
}

Non è necessario fornire i comandi phrases e items per i comandi navigation. In questo caso, l'elenco phrases è un elenco fornito da Google delle frasi più comuni che gli utenti potrebbero utilizzare in quel contesto (ad esempio, "autostrada").

adaptation: {
  custom_classes {
    custom_class_id: "navigation"
  }
}

Utilizza i tuoi corsi personalizzati

È possibile creare corsi personalizzati se hai esigenze commerciali specifiche che non vengono soddisfatte con le classi personalizzate predefinite. Ad esempio, potresti voler trascrivere dati audio che potrebbero includere il nome di uno dei centinaia di ristoranti regionali. I nomi dei ristoranti sono relativamente rari nel discorso e hanno meno probabilità di essere scelti come risposta "corretta" dal modello di riconoscimento, a meno che non specifichi i nomi in una classe personalizzata. Ad esempio:

adaptation: {
  custom_classes {
    custom_class_id: "restaurants"
    items: "sushido"
    items: "taneda sushi"
    items: "altura"
  }
  phrase_sets {
    phrases: "visit restaurants like ${restaurants}"
  }
}