Activer le filtre de langage grossier

Cette page explique comment utiliser Speech-to-Text pour détecter automatiquement les mots grossiers dans vos données audio et les censurer dans la transcription.

Vous pouvez activer le filtre de langage grossier en définissant profanityFilter=true dans RecognitionFeatures. Si cette option est activée, Speech-to-Text tente de détecter les mots grossiers et de ne renvoyer que la première lettre suivie d'astérisques dans la transcription (par exemple, f***). Si ce champ est défini sur false ou n'est pas défini, Speech-to-Text ne tente pas de filtrer les grossièretés.

L'exemple suivant montre comment activer le filtre contre les grossièretés pour détecter des contenus audio stockés dans un bucket Cloud Storage.

Python

Pour savoir comment installer et utiliser la bibliothèque cliente pour Speech-to-Text, consultez la page Bibliothèques clientes Speech-to-Text. Pour en savoir plus, consultez la documentation de référence de l'API Speech-to-Text en langage Python.

Pour vous authentifier auprès de Speech-to-Text, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

from google.cloud import speech
from google.cloud.speech import RecognizeResponse


def sync_recognize_with_profanity_filter_gcs(audio_uri: str) -> RecognizeResponse:
    """Recognizes speech from an audio file in Cloud Storage and filters out profane language.
    Args:
        audio_uri (str): The Cloud Storage URI of the input audio, e.g., gs://[BUCKET]/[FILE]
    Returns:
        cloud_speech.RecognizeResponse: The full response object which includes the transcription results.
    """
    # Define the audio source
    audio = {"uri": audio_uri}

    client = speech.SpeechClient()
    config = speech.RecognitionConfig(
        encoding=speech.RecognitionConfig.AudioEncoding.FLAC,  # Audio format
        sample_rate_hertz=16000,
        language_code="en-US",
        # Enable profanity filter
        profanity_filter=True,
    )

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

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

    return response.results