Ative o filtro de linguagem imprópria

Esta página descreve como usar a conversão de voz em texto para detetar automaticamente palavras obscenas nos seus dados de áudio e censurá-las na transcrição.

Pode ativar o filtro de linguagem imprópria definindo profanityFilter=true no elemento RecognitionFeatures. Se estiver ativada, a funcionalidade de conversão de voz em texto tenta detetar palavras profanas e devolve apenas a primeira letra seguida de asteriscos na transcrição (por exemplo, f***). Se este campo estiver definido como false ou não estiver definido, o Speech-to-Text não tenta filtrar obscenidades.

O exemplo seguinte demonstra como ativar o filtro de linguagem imprópria para reconhecer áudio armazenado num contentor do Cloud Storage.

Python

Para saber como instalar e usar a biblioteca cliente do Speech-to-Text, consulte o artigo Bibliotecas cliente do Speech-to-Text. Para mais informações, consulte a documentação de referência da API Python Speech-to-Text.

Para se autenticar no Speech-to-Text, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure 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