음성 인식에 사용자 정의 언어 모델 사용

사용자 정의 언어 모델을 작성하고 학습시킨 후에는 language_customization_id 쿼리 매개변수를 사용해 이를 음성 인식 요청에서 사용할 수 있습니다. 기본적으로 사용자 정의 언어 모델은 요청과 함께 사용되지 않습니다. 동일하거나 다른 도메인에 대한 여러 사용자 정의 언어 모델을 작성할 수 있습니다. 그러나 하나의 음성 인식 요청에 대해서는 한 번에 하나의 사용자 정의 언어 모델만 지정할 수 있습니다. 이 요청은 해당 사용자 정의 모델을 소유하는 서비스의 인스턴스에 대한 인증 정보를 사용하여 발행해야 합니다.

사용자 정의 모델은 작성 시 기반이 된 기본 모델에만 사용될 수 있습니다. 사용자 정의 모델이 기본값 외의 모델을 기반으로 하는 경우에는 model 쿼리 매개변수를 사용하여 해당 기본 모델도 지정해야 합니다. 자세한 정보는 기본 모델 사용 을 참조하십시오.

서비스에 사용자 정의 모델의 단어에 지정할 가중치를 알리는 것에 대한 정보는 사용자 정의 가중치 사용을 참조하십시오. 사용자 정의 모델에 문법을 사용하는 예제는 음성 인식에 문법 사용을 참조하십시오.

사용자 정의 언어 모델 사용의 예제

다음 예는 사용자 정의 언어 모델을 각 음성 인식 인터페이스와 함께 사용하는 것을 보여줍니다. 이 경우, 사용되는 사용자 정의 모델은 차세대 모델 en-US_Telephony을(를) 기반으로 하고 있습니다.

  • WebSocket 인터페이스의 경우 /v1/recognize 메소드를 사용하십시오. 지정된 사용자 정의 모델이 연결을 통해 전송된 모든 요청에 대해 사용됩니다.

    var access_token = {access_token};
    var wsURI = '{ws_url}/v1/recognize'
      + '?access_token=' + access_token
      + '&model=en-US_Telephony'
      + '&language_customization_id={customization_id}';
    var websocket = new WebSocket(wsURI);
    
  • 동기 HTTP 인터페이스의 경우 POST /v1/recognize 메소드를 사용하십시오. 지정된 사용자 정의 모델이 해당 요청에 대해 사용됩니다.

    IBM Cloud

    curl -X POST -u "apikey:{apikey}" \
    --header "Content-Type: audio/flac" \
    --data-binary @audio-file.flac \
    "{url}/v1/recognize?model=en-US_Telephony&language_customization_id={customization_id}"
    

    IBM Cloud Pak for Data IBM Software Hub

    curl -X POST \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: audio/flac" \
    --data-binary @audio-file.flac \
    "{url}/v1/recognize?model=en-US_Telephony&language_customization_id={customization_id}"
    
  • 비동기 HTTP 인터페이스의 경우 POST /v1/recognitions 메소드를 사용하십시오. 지정된 사용자 정의 모델이 해당 요청에 대해 사용됩니다.

    IBM Cloud

    curl -X POST -u "apikey:{apikey}" \
    --header "Content-Type: audio/flac" \
    --data-binary @audio-file.flac \
    "{url}/v1/recognitions?model=en-US_Telephony&language_customization_id={customization_id}"
    

    IBM Cloud Pak for Data IBM Software Hub

    curl -X POST \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: audio/flac" \
    --data-binary @audio-file.flac \
    "{url}/v1/recognitions?model=en-US_Telephony&language_customization_id={customization_id}"
    

사용자 정의 가중치 사용

사용자 정의 언어 모델은 사용자 정의 모델과 이 모델이 사용자 정의하는 기본 모델의 조합입니다. 음성 인식을 위한 기본 모델의 단어와 비교하여 사용자 정의 언어 모델의 단어에 지정할 가중치를 서비스에 알릴 수 있습니다. 사용자 정의 모델에 지정된 가중치를 사용자 정의 가중치라고 합니다.

사용자 정의 언어 모델의 상대적 가중치를 0.0 에서 1.0:

  • 대형 음성 모델을 기반으로 하는 사용자 정의 모델의 경우 기본 사용자 정의 가중치는 0.5입니다.
  • 이전 세대 모델을 기반으로 하는 사용자 정의 모델의 경우 기본 사용자 정의 가중치는 0.3입니다.
  • 대부분의 차세대 모델을 기반으로 하는 사용자 정의 모델의 경우 기본 사용자 정의 가중치는 0.2입니다.
  • 개선된 차세대 모델을 기반으로 하는 사용자 정의 모델의 경우 기본 사용자 정의 가중치는 0.1입니다.

개선된 언어 모델 사용자 정의를 사용하는 모델을 식별하려면 차세대 모델에 대한 사용자 정의 지원 에 있는 표 2의 언어 모델 사용자 정의 열에서 (개선된) 날짜를 찾으십시오. 사용하는 서비스 버전의 날짜 ( IBM Cloud 또는 IBM Cloud Pak for Data) 를 확인하십시오.

일반적인 경우 기본 가중치가 최상의 성능을 제공합니다. 사용자 정의 모델의 단어와 기본 어휘의 단어를 모두 인식할 수 있습니다.

그러나 텍스트로 변환될 오디오가 사용자 정의 모델의 단어를 빈번히 사용하는 경우 사용자 정의 가중치를 늘리면 텍스트 변환 결과의 정확도가 향상될 수 있습니다. 사용자 정의 가중치를 설정할 때 주의하십시오. 더 높은 가중치는 사용자 정의 모델이 해당되는 분야의 문구에 대한 정확도를 향상시킬 수 있지만, 동시에 해당 분야에 속하지 않는 문구에 대해 부정적인 영향을 줄 수 있습니다. (가중치를 0.0으로 설정하는 경우에도 언어 모델 사용자 정의의 구현으로 인해 텍스트 변환에 사용자 정의 단어가 포함될 수 있는 약간의 가능성이 있습니다.)

customization_weight 매개변수를 사용하여 사용자 정의 가중치를 지정합니다. 사용자 정의 언어 모델을 훈련하거나 음성 인식 요청에 사용하는 경우 이 매개변수를 지정할 수 있습니다.

  • 훈련 요청의 경우, 다음 예제는 0.5 메소드를 사용하여 사용자 정의 가중치를 POST /v1/customizations/{customization_id}/train로 지정합니다.

    IBM Cloud

    curl -X POST -u "apikey:{apikey}" \
    "{url}/v1/customizations/{customization_id}/train?customization_weight=0.5"
    

    IBM Cloud Pak for Data IBM Software Hub

    curl -X POST \
    --header "Authorization: Bearer {token}" \
    "{url}/v1/customizations/{customization_id}/train?customization_weight=0.5"
    

    훈련 중에 사용자 정의 가중치를 설정하면 사용자 정의 언어 모델과 함께 가중치가 저장됩니다. 사용자 정의 모델을 사용하는 각 인식 요청과 함께 가중치를 전달할 필요가 없습니다.

  • 인식 요청의 경우, 다음 예제는 0.7 메소드를 사용하여 사용자 정의 가중치를 POST /v1/recognize로 지정합니다.

    IBM Cloud

    curl -X POST -u "apikey:{apikey}" \
    --header "Content-Type: audio/flac" \
    --data-binary @audio-file1.flac \
    "{url}/v1/recognize?language_customization_id={customization_id}&customization_weight=0.7"
    

    IBM Cloud Pak for Data IBM Software Hub

    curl -X POST \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: audio/flac" \
    --data-binary @audio-file1.flac \
    "{url}/v1/recognize?language_customization_id={customization_id}&customization_weight=0.7"
    

    음성 인식 중에 사용자 정의 가중치를 설정하면 훈련 중에 모델과 함께 저장된 가중치가 대체됩니다.

사용자 정의 언어 모델 사용 문제점 해결

사용자 정의 언어 모델을 음성 인식에 적용했지만 서비스가 모델에 포함된 단어를 사용 중이지 않은 것으로 나타나면 다음과 같은 가능한 문제점을 확인하십시오.