모델 적응이 포함된 인식 요청 보내기

모델 적응을 사용하면 Speech-to-Text에서 가져온 텍스트 변환 결과의 정확도를 향상시킬 수 있습니다. 모델 적응 기능을 사용하면 오디오 데이터에서 다른 경우에 추천될 수 있는 대안보다 STT가 더 자주 인식해야 하는 단어 또는 문구를 지정할 수 있습니다. 모델 적응은 다음과 같은 사용 사례에서 텍스트 변환 정확도를 향상시키는 데 특히 유용합니다.

  1. 오디오에 매우 자주 나타날 가능성이 높은 단어/문구가 포함되어 있습니다.
  2. 고유 이름과 같이 일반적인 오디오에 포함될 가능성이 높지 않은 사용 빈도가 낮은 단어가 오디오에 포함될 가능성이 높습니다.
  3. 오디오에 노이즈가 있거나 명확하게 들리지 않습니다.

이 기능을 사용하는 방법에 대한 자세한 내용은 모델 적응 개념 페이지를 참조하세요.

다음 코드 샘플은 SpeechAdaptation 리소스 PhraseSet, CustomClass, 모델 조정 부스트를 사용하여 텍스트 변환 정확도를 향상시키는 방법을 보여줍니다. 사용 중인 언어에 사용 가능한 사전 빌드된 클래스 목록은 클래스 토큰 페이지를 참조하세요.

Python


from google.cloud import speech_v1p1beta1 as speech

def transcribe_with_model_adaptation(
    project_id, location, storage_uri, custom_class_id, phrase_set_id
):

    """
    Create`PhraseSet` and `CustomClasses` to create custom lists of similar
    items that are likely to occur in your input data.
    """

    # Create the adaptation client
    adaptation_client = speech.AdaptationClient()

    # The parent resource where the custom class and phrase set will be created.
    parent = f"projects/{project_id}/locations/{location}"

    # Create the custom class resource
    custom_class_response = adaptation_client.create_custom_class(
        {
            "parent": parent,
            "custom_class_id": custom_class_id,
            "custom_class": {
                "items": [
                    {"value": "sushido"},
                    {"value": "altura"},
                    {"value": "taneda"},
                ]
            },
        }
    )
    custom_class_name = custom_class_response.name
    # Create the phrase set resource
    phrase_set_response = adaptation_client.create_phrase_set(
        {
            "parent": parent,
            "phrase_set_id": phrase_set_id,
            "phrase_set": {
                "boost": 10,
                "phrases": [{"value": f"Visit restaurants like ${custom_class_name}"}],
            },
        }
    )
    phrase_set_name = phrase_set_response.name
    # The next section shows how to use the newly created custom
    # class and phrase set to send a transcription request with speech adaptation

    # Speech adaptation configuration
    speech_adaptation = speech.SpeechAdaptation(
        phrase_set_references=[phrase_set_name]
    )

    # speech configuration object
    config = speech.RecognitionConfig(
        encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
        sample_rate_hertz=24000,
        language_code="en-US",
        adaptation=speech_adaptation,
    )

    # The name of the audio file to transcribe
    # storage_uri URI for audio file in Cloud Storage, e.g. gs://[BUCKET]/[FILE]

    audio = speech.RecognitionAudio(uri=storage_uri)

    # Create the speech client
    speech_client = speech.SpeechClient()

    response = speech_client.recognize(config=config, audio=audio)

    for result in response.results:
        print("Transcript: {}".format(result.alternatives[0].transcript))