Habilitar el filtro de lenguaje obsceno

En esta página, se describe cómo usar Speech-to-Text para detectar automáticamente palabras obscenas en tus datos de audio y censurarlas en la transcripción.

Para habilitar el filtro de lenguaje obsceno, establece profanityFilter=true en RecognitionFeatures. Si se habilita, Speech-to-Text intentará detectar palabras obscenas y mostrar solo la primera letra seguida de asteriscos en la transcripción (por ejemplo, f***). Si este campo está configurado en false o no está configurado, 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 Speech-to-Text, consulta las bibliotecas cliente de Speech-to-Text. Para obtener más información, consulta la documentación de referencia de la API de Speech-to-Text de Python.

Para autenticar en Speech-to-Text, configura las credenciales predeterminadas de la aplicación. Si deseas 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