冒とくフィルタを有効にする

このページでは、Speech-to-Text を使用して音声データ内の冒とく的な単語を自動的に検出し、音声文字変換テキストで検査する方法について説明します。

RecognitionFeaturesprofanityFilter=true を設定することで、冒とくフィルタを有効にできます。有効な場合、Speech-to-Text は冒とく的な単語の検出を試みます。検出すると、該当箇所の先頭文字以外をアスタリスクに置き換えた文字(例: f***)を返します。このフィールドを false に設定するか、未設定のままにすると、Speech-to-Text は冒とく的な表現をフィルタリングしません。

次のサンプルは、Cloud Storage バケットに保存されている音声を冒とくフィルタで認識する方法を示しています。

Python

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