Habilita el filtro de lenguaje obsceno

En esta página, se describe cómo usar Cloud Speech-to-Text para detectar de forma automática lenguaje obsceno en tus datos de audio y censurarlo en la transcripción.

Para habilitar el filtro de lenguaje obsceno, establece profanityFilter=true en RecognitionFeatures. Si se habilita, Cloud Speech-to-Text intentará detectar lenguaje obsceno y devolver solo la primera letra seguida de asteriscos en la transcripción (por ejemplo, m*****). Si este campo se establece en false o no se configura, Cloud Speech-to-Text no intentará filtrar el lenguaje obsceno.

En el siguiente ejemplo, se muestra cómo habilitar el filtro de lenguaje obsceno para reconocer el audio almacenado en un bucket de Cloud Storage.

Python

Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud STT, consulta Bibliotecas cliente de Cloud STT. Para obtener más información, consulta la documentación de referencia de la API de Cloud STT para Python.

Para autenticarte en Cloud STT, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo 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