Améliorer les résultats de transcription grâce à l'adaptation vocale

Présentation

Vous pouvez utiliser la fonctionnalité d'adaptation vocale pour permettre à Speech-to-Text de reconnaître des mots ou des expressions plus fréquents que d'autres options semblables qui pourraient être suggérées. Par exemple, supposons que vos données audio incluent souvent le terme "temps". Lorsque Speech-to-Text rencontre le mot "temps", vous souhaitez qu'il le transcrive plus souvent comme "temps" que comme "tant". Dans ce cas, vous pouvez utiliser l'adaptation vocale pour influencer Speech-to-Text afin qu'il reconnaisse le mot "temps".

L'adaptation vocale est particulièrement utile dans les cas d'utilisation suivants :

  • Améliorez la précision des mots et expressions qui apparaissent très souvent dans vos données audio. Par exemple, vous pouvez alerter le modèle de reconnaissance sur les commandes vocales qui sont fréquemment prononcées par vos utilisateurs.

  • Élargissez le panel des mots reconnus par Speech-to-Text. Speech-to-Text comprend un vocabulaire très vaste. Toutefois, si vos données audio contiennent souvent des mots rares dans le langage courant (tels que des noms propres ou spécifiques à un domaine), vous pouvez les ajouter à l'aide de l'adaptation vocale.

  • Améliorez la précision de la transcription vocale lorsque le contenu audio fourni comporte du bruit ou manque de clarté.

Vous pouvez éventuellement affiner la pondération du modèle de reconnaissance à l'aide de la fonctionnalité d'amélioration de l'adaptation vocale (bêta).

Améliorer la reconnaissance des mots spécifiés

Pour augmenter la probabilité que Speech-to-Text reconnaisse le mot "temps" pendant la transcription de vos données audio, ajoutez le mot "temps" dans le champ phrases d'un objet SpeechContext. Dans la requête que vous envoyez à l'API Speech-to-Text, attribuez l'objet SpeechContext au champ speechContexts de l'objet RecognitionConfig.

L'extrait de code suivant montre une partie d'une charge utile JSON envoyée à l'API Speech-to-Text. L'extrait de code JSON fournit le mot "temps" ("weather" en anglais) pour l'adaptation vocale.

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

Améliorer la reconnaissance des expressions composées de plusieurs mots

Lorsque vous fournissez une expression composée de plusieurs mots, Speech-to-Text est plus susceptible de reconnaître ces mots dans l'ordre. L'ajout d'une expression augmente également la probabilité de reconnaissance de certaines parties de l'expression, y compris des mots individuels. Consultez la section Limites de contenu pour connaître les limites applicables au nombre et à la taille de ces expressions.

L'extrait de code suivant montre une partie d'une charge utile JSON envoyée à l'API Speech-to-Text. L'extrait de code JSON inclut un tableau d'expressions composées de plusieurs mots attribuées au champ phrases d'un objet SpeechContext.

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

Améliorer la reconnaissance à l'aide de classes

Les classes représentent des concepts courants utilisés dans le langage naturel, tels que les unités monétaires et les dates. Une classe vous permet d'améliorer la précision de la transcription pour de grands groupes de mots associés à un concept commun, mais qui n'incluent pas toujours des mots ou des expressions identiques.

Par exemple, supposons que vos données audio incluent des enregistrements de personnes indiquant leur adresse. Vous disposez peut-être d'un enregistrement audio de quelqu'un disant "J'habite au 123 Main Street, dans la quatrième maison sur la gauche". Dans ce cas, vous souhaitez que Speech-to-Text reconnaisse la première séquence de chiffres ("123") comme une adresse plutôt que comme un ordinal ("cent vingt-troisième"). Toutefois, toutes les personnes ne vivent pas au "123 Main Street". Il est impossible de répertorier toutes les adresses postales possibles dans un objet SpeechContext. À la place, vous pouvez utiliser une classe pour indiquer qu'un numéro de rue doit être reconnu, quel que soit le numéro. Dans cet exemple, Speech-to-Text pourrait transcrire plus précisément des expressions telles que "123 Main Street" et "987 Grand Boulevard", car elles sont toutes deux identifiées comme des numéros d'adresse.

Jetons de classe

Pour utiliser une classe dans l'adaptation vocale, incluez un jeton de classe dans le champ phrases de l'objet SpeechContext. Consultez la liste des jetons de classe compatibles pour connaître les jetons disponibles pour votre langue. Par exemple, pour améliorer la transcription des numéros d'adresses figurant dans le contenu audio source, vous devez fournir la valeur $ADDRESSNUM dans votre objet SpeechContext.

Vous pouvez utiliser des classes en tant qu'éléments autonomes dans le tableau phrases, ou intégrer un ou plusieurs jetons de classe dans des expressions composées de plusieurs mots. Par exemple, vous pouvez indiquer un numéro d'adresse dans une expression plus longue en incluant le jeton de classe dans une chaîne : ["my address is $ADDRESSNUM"]. Toutefois, cette expression ne résout pas le problème lorsque l'audio contient une expression similaire, mais non identique, telle que "Je me trouve au 123 Main Street". Pour faciliter la reconnaissance des expressions similaires, il est important d'inclure le jeton de classe indépendamment : ["my address is $ADDRESSNUM", "$ADDRESSNUM"]. Si vous utilisez un jeton de classe non valide ou incorrect, Speech-to-Text ignore le jeton sans déclencher d'erreur, mais utilise le reste de l'expression pour déterminer le contexte.

L'extrait de code suivant présente un exemple de charge utile JSON envoyée à l'API Speech-to-Text. L'extrait de code JSON inclut un objet SpeechContext qui utilise un jeton de classe.

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

Étapes suivantes