Ativar a filtragem de linguagem obscena

Nesta página, descrevemos como usar a Cloud Speech-to-Text para detectar automaticamente palavras obscenas nos seus dados de áudio e censurá-las na transcrição.

Para ativar o filtro de linguagem obscena, defina profanityFilter=true= em RecognitionFeatures. Se ele for ativado, a Cloud Speech-to-Text tentará detectar palavras obscenas e retornará apenas a primeira letra seguida por asteriscos na transcrição (por exemplo, f***). Quando o campo está definido como false ou não está definido, a Cloud Speech-to-Text não tenta filtrar palavras obscenas.

Confira no exemplo a seguir como ativar o filtro de linguagem obscena para reconhecer áudios armazenados em um bucket do Cloud Storage.

Python

Para saber como instalar e usar a biblioteca de cliente da Cloud STT, consulte Bibliotecas de cliente da Cloud STT. Saiba mais na documentação de referência da API Cloud STT para Python.

Para se autenticar na Cloud STT, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento 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