다음을 통해 공유


음성 모델 학습 모범 사례

참고 항목

발음 학습을 포함한 음성 모델 사용자 지정은 Video Indexer Azure 평가판 계정과 Resource Manager 계정에서만 지원됩니다. 클래식 계정에서는 지원되지 않습니다. 비용 없이 계정 유형을 업데이트하는 방법에 대한 지침은 Azure AI Video Indexer 계정 업데이트를 참조하세요. 사용자 지정 언어 환경 사용에 대한 지침은 언어 모델 사용자 지정을 참조하세요.

Azure AI 음성 서비스와 Azure AI Video Indexer 통합을 통해 유니버설 언어 모델은 Microsoft 소유 데이터로 학습되고 일반적으로 사용되는 음성 언어를 반영하는 기본 모델로 활용됩니다. 기본 모델은 다양한 공통 도메인을 나타내는 방언 및 음성학으로 미리 학습됩니다. 기본 모델은 대부분의 음성 인식 시나리오에서 잘 작동합니다.

그러나 기본 모델의 전사가 일부 콘텐츠를 정확하게 처리하지 못하는 경우도 있습니다. 이러한 상황에서는 사용자 지정된 음성 모델을 사용하여 모델을 학습시키는 텍스트 데이터를 제공하여 콘텐츠와 관련된 도메인별 어휘 또는 발음의 인식을 향상시킬 수 있습니다. 음성 사용자 지정 모델을 만들고 조정하는 프로세스를 통해 콘텐츠를 올바르게 전사할 수 있습니다. Video Indexers 음성 사용자 지정 사용에 대한 추가 요금은 없습니다.

사용자 지정된 음성 모델을 사용해야 하는 경우

콘텐츠에 업계별 용어가 포함되어 있거나 Video Indexer 전사 결과를 검토할 때 부정확한 내용이 발견되면 사용자 지정 음성 모델을 만들고 학습시켜 용어를 인식하고 전사 품질을 향상시킬 수 있습니다. 관련 단어와 이름이 인덱싱하려는 콘텐츠에 반복적으로 표시되어야 하는 경우에만 사용자 지정 모델을 만드는 것이 좋습니다. 모델 학습은 반복적인 프로세스일 수 있으며 초기 학습 후에도 결과가 계속 개선될 수 있으며 추가 학습의 이점을 얻을 수 있다는 것을 알 수 있습니다. 지침은 사용자 지정 모델 개선 섹션을 참조하세요.

그러나 대본에서 몇 단어 또는 이름이 잘못 전사된 것을 발견하면 사용자 지정 음성 모델이 필요하지 않을 수 있습니다. 특히 나중에 인덱싱하려는 콘텐츠에서 단어나 이름이 일반적으로 사용되지 않을 것으로 예상되는 경우 그렇습니다. Video Indexer 웹 사이트에서 대본을 편집하고 수정할 수 있으며(Azure AI Video Indexer 웹 사이트에서 전사 보기 및 업데이트 참조) 사용자 지정 음성 모델을 통해 해결할 필요가 없습니다.

사용자 지정 모델 및 발음을 지원하는 언어 목록은 Azure AI Video Indexer의 언어 지원에서 언어 지원 테이블의 사용자 지정 및 발음 열을 참조하세요.

학습 데이터 세트

비디오를 인덱싱할 때 사용자 지정된 음성 모델을 사용하여 전사를 개선할 수 있습니다. 모델은 일반 텍스트 데이터 및 발음 데이터를 포함할 수 있는 데이터 세트로 로드하여 학습됩니다.

사용자 지정 모델을 테스트하고 학습하는 데 사용되는 텍스트는 모델이 인식해야 하는 다양한 콘텐츠 및 시나리오 세트의 샘플을 포함해야 합니다. 데이터 세트를 만들고 학습할 때 다음 요소를 고려합니다.

  • 사용자가 모델과 상호 작용할 때 사용자가 사용하게 될 다양한 종류의 발화문을 포함하도록 텍스트를 포함합니다. 예를 들어 콘텐츠가 주로 스포츠와 관련된 경우 스포츠와 관련된 용어 및 주제가 포함된 콘텐츠로 모델을 학습시킵 있습니다.
  • 모델이 인식하도록 하려는 모든 음성 가변성을 포함합니다. 악센트, 방언 및 언어 혼합을 비롯한 다양한 요소가 음성을 변경할 수 있습니다.
  • 기록하려는 콘텐츠와 관련된 데이터만 포함합니다. 다른 데이터를 포함하면 전반적인 인식 품질에 해를 끼칠 수 있습니다.

데이터 세트 형식

사용자 지정에 사용할 수 있는 두 가지 데이터 세트 형식이 있습니다. 문제를 해결하는 데 사용할 데이터 세트를 결정하는 데 도움이 되도록 다음 표를 참조하세요.

사용 사례 데이터 형식
의료 용어 또는 IT 전문 용어와 같은 업계별 어휘 및 문법에 대한 인식 정확도를 높입니다. 일반 텍스트
제품 이름 또는 머리글자어와 같이 비표준 발음을 포함하는 단어 또는 용어의 발음 및 표시된 형태를 정의합니다. 발음 데이터

학습용 일반 텍스트 데이터

관련된 텍스트의 일반 텍스트 문장을 포함하는 데이터 세트는 도메인별 단어 및 구의 인식을 향상시키는 데 사용될 수 있습니다. 관련 텍스트 문장은 일반적인 단어와 도메인별 단어의 잘못된 인식과 관련된 대체 오류를 컨텍스트로 표현함으로써 줄일 수 있습니다. 도메인별 단어는 일반적이지 않거나 만들어낸 단어일 수도 있지만, 인식되려면 발음이 간단해야 합니다.

일반 텍스트 데이터 세트에 대한 모범 사례

  • 단일 텍스트 파일에 도메인 관련 문장을 제공합니다. 전체 문장을 사용하는 대신 단어 목록을 업로드할 수 있습니다. 그러나 이러한 단어가 어휘에 추가되지만, 해당 단어가 일반적으로 사용되는 방식을 시스템에 알려주지는 않습니다. 전체 또는 부분 발화(사용자가 말할 가능성이 높은 문장 또는 구)를 제공하면 언어 모델에서 새 단어와 이를 사용하는 방법을 학습할 수 있습니다. 사용자 지정 언어 모델은 시스템에 새 단어를 추가하는 것뿐만 아니라 애플리케이션에서 알려진 단어가 나타날 가능성을 조정하는 데에도 적합합니다. 전체 음성을 제공하면 시스템 학습 성능이 좋아집니다.
  • 예상되는 음성 발화에 더 가까운 텍스트 데이터를 사용합니다. 발화는 완전하거나 문법적으로 정확할 필요는 없지만 모델이 인식할 것으로 예상대는 음성 입력을 정확하게 반영해야 합니다.
  • 가능하면 문장 또는 키워드를 다른 줄에 배치하세요.
  • 제품 이름과 같은 용어의 가중치를 늘리려면 해당 용어를 포함하는 여러 문장을 추가합니다.
  • 콘텐츠에서 사용되는 일반적인 구의 경우 이러한 용어도 수신 대기하도록 시스템에 지시하므로 많은 예제를 제공하는 것이 유용합니다. 
  • 일반적이지 않은 기호(~, # @ % &)를 삭제된 기호로 포함하지 마세요. 해당 기호가 나타나는 문장도 삭제됩니다.
  • 수십만 개의 문장과 같이 너무 많은 입력을 넣지 마세요. 이렇게 하면 강조 효과가 약화됩니다.

이 표를 사용하여 일반 텍스트 데이터 세트 파일의 형식이 올바른지 확인합니다.

속성
텍스트 인코딩 UTF-8 BOM
줄당 발화 수 1
최대 파일 크기 200MB

일반 텍스트 파일에서 다음 지침을 따르세요.

  • "yeah yeah yeah yeah"와 같이 문자, 단어 또는 단어 그룹을 세 번 이상 반복하지 마세요. Speech Service가 반복 횟수가 너무 많은 줄을 삭제할 수 있습니다.
  • U+00A1보다 높은 특수 문자나 UTF-8 문자는 사용하지 않습니다.
  • URI가 거부되었습니다.
  • 일본어 또는 한국어와 같은 일부 언어의 경우 많은 양의 텍스트 데이터를 가져오는 데 시간이 오래 걸리거나 시간 초과될 수 있습니다. 데이터 세트를 각각 최대 20,000줄이 포함된 여러 텍스트 파일로 나누는 것이 좋습니다.

학습용 발음 데이터

사용자 지정 음성 모델에 사용자 지정 발음 데이터 세트를 추가하여 잘못 발음된 단어, 구 또는 이름의 인식을 향상시킬 수 있습니다.

발음 데이터 세트에는 단어 또는 구의 음성 형식과 인식된 표시된 양식이 포함되어야 합니다. 음성 형식은 "Triple A"와 같이 철자가 지정된 음성학 시퀀스입니다. 글자, 단어, 음절 또는 이 셋의 조합으로 구성될 수 있습니다. 인식된 표시 형식은 전사에 단어나 구를 표시하려는 방법입니다. 다음 표는 몇 가지 예제를 포함합니다.

인식된/표시된 형식 발성 형식
3CPO three c p o
CNTK c n t k
AAA 트리플 A

단일 텍스트 파일에 발음 데이터 세트를 제공합니다. 여기에는 음성 발화 및 각각에 대한 사용자 지정 발음이 포함됩니다. 파일의 각 행은 인식된 형식, 탭 문자, 공백으로 구분된 음성 시퀀스로 시작해야 합니다.

3CPO    three c p o 
CNTK    c n t k 
IEEE    i triple e 

발음 데이터 세트를 만들고 학습할 때 다음 사항을 고려합니다.

사용자 지정 발음 파일을 사용하여 일반적인 단어의 발음을 변경하는 것은 권장되지 않습니다.

단어 또는 이름이 잘못 전사되는 방법에 대한 몇 가지 변형이 있는 경우 발음 데이터 세트를 학습할 때 일부 또는 전부를 사용하는 것이 좋습니다. 예를 들어 로버트가 비디오에서 다섯 번 언급되고 로보트, 로퍼트 및 강도로 전사된 경우입니다. 다음 예제와 같이 파일의 모든 변형을 포함하려고 시도할 수 있지만 강도와 같은 실제 단어로 학습할 때는 동영상에 강도가 언급된 것처럼 로버트로 기록됩니다.

Robert Roport
Robert Ropert
Robert Robbers

발음 모델은 머리글자어를 다루기 위한 것이 아닙니다. 예를 들어 닥터를 Dr.로 전사하려는 경우 발음 모델을 통해 이 작업을 수행할 수 없습니다.

발음 데이터 세트 파일이 유효하고 올바른 형식인지 확인하려면 다음 표를 참조하세요.

속성
텍스트 인코딩 UTF-8 BOM(영어의 경우 ANSI도 지원됨)
줄당 발음 수 1
최대 파일 크기 1MB(무료 계층의 경우 1KB)

사용자 지정 모델 개선

모델 결과를 처음 학습하고 평가한 후 주제의 발음에 대해 더 많은 지식을 얻을 수 있으므로 발음 모델을 학습시키는 것은 반복적인 프로세스일 수 있습니다. 기존 모델을 편집하거나 수정할 수 없으므로 모델을 반복적으로 학습하려면 추가 정보를 사용하여 데이터 세트를 만들고 업로드하고 새 데이터 세트를 기반으로 새 사용자 지정 모델을 학습해야 합니다. 그런 다음 새 사용자 지정 음성 모델을 사용하여 미디어 파일을 다시 인덱싱합니다.

예시:

스포츠 콘텐츠를 인덱싱하고 선수 및 코치의 이름뿐만 아니라 특정 스포츠 용어와 관련된 성적 증명서 정확도 문제를 예상한다고 가정해 보겠습니다. 인덱싱하기 전에 관련 스포츠 용어가 포함된 콘텐츠가 포함된 일반 텍스트 데이터 세트와 플레이어와 코치의 이름 중 일부가 포함된 발음 데이터 세트를 사용하여 음성 모델을 만들었습니다. 사용자 지정 음성 모델을 사용하여 몇 가지 비디오를 인덱싱하고 생성된 대본을 검토할 때 용어가 올바르게 기록되지만 많은 이름은 그렇지 않다는 것을 알 수 있습니다. 다음 단계를 수행하여 향후 성능을 향상시킬 수 있습니다.

  1. 대본을 검토하고 잘못 전사된 모든 이름을 기록해 둡니다. 다음 두 그룹으로 분류할 수 있습니다.

    • 발음 파일에 없는 이름.
    • 발음 파일의 이름이지만 여전히 잘못 전사된 이름.
  2. 새 데이터 세트를 만듭니다. 발음 데이터 세트 파일을 다운로드하거나 로컬로 저장된 원본을 수정합니다. 그룹 A의 경우 새 이름을 잘못 전사된 방법(Michael Mikel)과 함께 파일에 추가합니다. 그룹 B의 경우 각 줄에 올바른 이름을 가진 줄을 추가하고 잘못 전사된 방법에 대한 고유한 예를 추가합니다. 예시:

    Stephen Steven
    Stephen Steafan
    Stephen Steevan

  3. 이 파일을 새 데이터 세트 파일로 업로드합니다.

  4. 새 음성 모델을 만들고 원래 일반 텍스트 데이터 세트와 새 발음 데이터 세트 파일을 추가합니다.

  5. 비디오를 새 음성 모델로 다시 인덱싱합니다.

  6. 필요한 경우 결과가 만족할 때까지 1~5단계를 반복합니다.