욕설 필터 사용 설정

이 페이지에서는 Speech-to-Text를 사용하여 오디오 데이터에서 비속어를 자동으로 감지하고 이를 스크립트에서 검열하는 방법을 설명합니다.

RecognitionFeatures에서 profanityFilter=true를 설정하여 욕설 필터를 사용 설정할 수 있습니다. 사용 설정하면 Speech-to-Text가 비속어를 감지하고 스크립트에 첫 번째 문자와 별표만 반환합니다(예: f***). 이 필드를 false로 설정하거나 설정하지 않으면 Speech-to-Text에서 욕설을 필터링하지 않습니다.

다음 샘플은 욕설 필터를 사용 설정하여 Cloud Storage 버킷에 저장된 오디오를 인식하는 방법을 보여줍니다.

Speech-to-Text용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Speech-to-Text 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Speech-to-Text Python API 참조 문서를 확인하세요.

Speech-to-Text에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

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