Envoyer une requête de reconnaissance à l'aide de l'adaptation de modèle

Vous pouvez améliorer la précision des résultats de transcription obtenus avec Speech-to-Text grâce à l'adaptation de modèle. La fonctionnalité d'adaptation de modèle vous permet de spécifier des mots et/ou des expressions que Speech-to-Text doit reconnaître plus souvent dans vos données audio que d'autres alternatives, qui pourraient autrement être suggérées. L'adaptation de modèle est particulièrement utile pour améliorer la précision de la transcription dans les cas d'utilisation suivants :

  1. Vos données audio contiennent des mots ou des expressions qui sont susceptibles d'apparaître fréquemment.
  2. Vos données audio contiennent probablement des mots rares (tels que des noms propres) ou des mots qui n'existent pas dans le langage courant.
  3. Vos données audio contiennent du bruit ou manquent de clarté.

Pour plus d'informations sur l'utilisation de cette fonctionnalité, consultez la page Améliorer les résultats de transcription grâce à l'adaptation de modèle. Pour en savoir plus sur les limites de nombre d'expressions et de caractères par requête d'adaptation de modèle, consultez la page Quotas et limites.

Exemple de code

L'adaptation vocale est l'une des nombreuses fonctionnalités facultatives de Speech-to-Text qui vous permet de personnaliser les résultats d'une transcription en fonction de vos besoins. Pour en savoir plus sur la configuration du corps de la requête de reconnaissance, consultez la documentation sur RecognitionConfig.

L'exemple de code suivant montre comment améliorer la précision de la transcription à l'aide d'une ressource SpeechAdaptation : PhraseSet, CustomClass, et amélioration de l'adaptation de modèle. Pour utiliser un élément PhraseSet ou CustomClass dans les futures requêtes, consignez sa ressource name, qui est renvoyée dans la réponse lorsque vous créez la ressource.

Pour obtenir la liste des classes prédéfinies disponibles pour votre langue, consultez la section Jetons de classe compatibles.

Python


from google.cloud import speech_v1p1beta1 as speech

def transcribe_with_model_adaptation(
    project_id, location, storage_uri, custom_class_id, phrase_set_id
):

    """
    Create`PhraseSet` and `CustomClasses` to create custom lists of similar
    items that are likely to occur in your input data.
    """

    # Create the adaptation client
    adaptation_client = speech.AdaptationClient()

    # The parent resource where the custom class and phrase set will be created.
    parent = f"projects/{project_id}/locations/{location}"

    # Create the custom class resource
    adaptation_client.create_custom_class(
        {
            "parent": parent,
            "custom_class_id": custom_class_id,
            "custom_class": {
                "items": [
                    {"value": "sushido"},
                    {"value": "altura"},
                    {"value": "taneda"},
                ]
            },
        }
    )
    custom_class_name = (
        f"projects/{project_id}/locations/{location}/customClasses/{custom_class_id}"
    )
    # Create the phrase set resource
    phrase_set_response = adaptation_client.create_phrase_set(
        {
            "parent": parent,
            "phrase_set_id": phrase_set_id,
            "phrase_set": {
                "boost": 10,
                "phrases": [
                    {"value": f"Visit restaurants like ${{{custom_class_name}}}"}
                ],
            },
        }
    )
    phrase_set_name = phrase_set_response.name
    # The next section shows how to use the newly created custom
    # class and phrase set to send a transcription request with speech adaptation

    # Speech adaptation configuration
    speech_adaptation = speech.SpeechAdaptation(phrase_set_references=[phrase_set_name])

    # speech configuration object
    config = speech.RecognitionConfig(
        encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
        sample_rate_hertz=24000,
        language_code="en-US",
        adaptation=speech_adaptation,
    )

    # The name of the audio file to transcribe
    # storage_uri URI for audio file in Cloud Storage, e.g. gs://[BUCKET]/[FILE]

    audio = speech.RecognitionAudio(uri=storage_uri)

    # Create the speech client
    speech_client = speech.SpeechClient()

    response = speech_client.recognize(config=config, audio=audio)

    for result in response.results:
        print("Transcript: {}".format(result.alternatives[0].transcript))