Activer le filtrage du langage vulgaire

Cette page explique comment utiliser Cloud Speech-to-Text pour détecter automatiquement le langage grossier dans vos données audio et le censurer dans la transcription.

Vous pouvez activer le filtre contre les grossièretés en définissant profanityFilter=true dans RecognitionFeatures. Si cette option est activée, Cloud Speech-to-Text tente de détecter les mots grossiers et ne renvoit dans la transcription que la première lettre suivie d'astérisques (par exemple, p*****). Si ce champ est défini sur false ou n'est pas défini, Cloud 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 de Cloud STT, consultez la page Bibliothèques clientes de Cloud STT. Pour en savoir plus, consultez la documentation de référence de l'API Cloud STT en langage Python.

Pour vous authentifier auprès de Cloud STT, 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