Pondération

La pondération permet à libgspeech de reconnaître des mots ou des expressions en appliquant des options de manière plus systématique, par rapport à d'autres options qui pourraient être suggérées. Ce document vous explique comment augmenter la probabilité que libgspeech reconnaisse les mots et/ou les expressions tels que vous attendez qu'ils soient reconnus, lorsqu'il transcrit vos données audio.

Pour forcer le modèle de reconnaissance à identifier des mots ou des expressions spécifiques, transmettez-les en tant que phrases dans le champ phrase_sets d'un objet SpeechAdaptation. Attribuez l'objet SpeechAdaptation au champ adaptation de l'objet RecognitionConfig dans votre requête :

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

Utiliser des classes pour pondérer le modèle

Les classes représentent des concepts courants utilisés dans le langage naturel, tels que les valeurs numériques 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 nombre 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 les expressions. À la place, vous pouvez utiliser une classe pour indiquer qu'un numéro de rue doit être reconnu, quel que soit le numéro.

L'utilisation des jetons de classe consiste à les inclure dans vos expressions d'adaptation vocale. Vous pouvez utiliser des classes en tant qu'éléments autonomes dans le tableau d'expressions, ou les intégrer dans des expressions composées de plusieurs mots. Par exemple, pour améliorer la transcription des numéros d'adresses figurant dans le contenu audio source, utilisez la classe $ADDRESSNUM. Vous pouvez indiquer un numéro d'adresse dans une expression plus longue en incluant le jeton de classe dans une chaîne : "mon adresse est $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 :

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

Utiliser des classes personnalisées pour pondérer le modèle

Une classe personnalisée est une liste personnalisée d'éléments ou de valeurs associés.

Utiliser des classes personnalisées prédéfinies

Google fournit plusieurs classes personnalisées prédéfinies (telles que contacts ou navigation) que nous vous recommandons d'utiliser avec la reconnaissance vocale sur l'appareil. Ces classes personnalisées sont susceptibles de représenter des expressions pouvant figurer dans votre application et offrent une meilleure précision de reconnaissance que vos classes personnalisées.

Les classes personnalisées prédéfinies sont regroupées en deux catégories, que vous devez référencer différemment dans vos requêtes :

  • Les classes personnalisées pour lesquelles vous devez fournir phrases et items, par exemple contacts.

  • Les classes personnalisées qui sont référencées par custom_class_id seulement, par exemple navigation.

Pour utiliser une classe personnalisée nécessitant phrases et items, créez un objet CustomClass qui inclut chaque valeur dans items et référencez cette classe par son custom_class_id dans phrases, par exemple :

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

Vous n'avez pas besoin de fournir des phrases et des items pour les commandes navigation. Dans ce cas, la liste phrases est une liste fournie par Google des expressions les plus courantes que les utilisateurs sont susceptibles d'utiliser dans ce contexte (par exemple, "prenez la route").

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

Utiliser vos propres classes personnalisées

Il est possible de créer des classes personnalisées pour répondre à un besoin spécifique de l'entreprise, qui ne serait pas couvert par les classes personnalisées prédéfinies. Par exemple, vous pouvez souhaiter transcrire des données audio susceptibles d'inclure le nom de l'un des restaurants régionaux parmi les centaines de restaurants disponibles. Les noms de restaurants sont relativement rares dans les conversations générales et sont donc moins susceptibles d'être choisis comme réponses "correctes" par le modèle de reconnaissance, sauf si vous les spécifiez dans une classe personnalisée. Exemple :

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