구 목록을 사용하여 인식 정확도 개선

구 목록은 인식률 개선을 위해 미리 제공된 단어 또는 구 목록입니다. 구 목록에 구를 추가하면 해당 중요도가 높아져서 인식 가능성이 높아집니다.

지원되는 구 목록 로캘에 대해서는 Speech Service에 대한 언어 및 음성 지원을 참조하세요.

구의 예는 다음과 같습니다.

  • 이름
  • 지리적 위치
  • 동형이의어
  • 업계 또는 조직에 고유한 단어 또는 머리글자어

구 목록은 간단하고 가볍습니다.

  • Just-In-Time: 구 목록은 음성 인식을 시작하기 바로 전에 제공되며, 사용자 지정 모델 학습이 필요하지 않습니다.
  • 경량형: 대규모 데이터 세트가 필요하지 않습니다. 인식 향상을 위한 단어 또는 구를 제공합니다.

Speech Studio, Speech SDK 또는 Speech CLI(명령줄 인터페이스)에서 구 목록을 사용할 수 있습니다. 일괄 대화 내용 기록 API는 구 목록을 지원하지 않습니다.

구 목록은 표준 및 사용자 지정 음성 모두에 사용할 수 있습니다. 일부 경우에는 구 목록이 포함된 사용자 지정 모델 학습이 정확도 개선을 위한 최상의 옵션일 수 있습니다. 예를 들어 다음 경우에서 Custom Speech를 사용합니다.

  • 많은 구 목록을 사용해야 하는 경우. 구 목록의 항목 수가 500개 이하여야 하는 경우.
  • 현재 지원되지 않은 언어에 대해 구 목록이 필요한 경우

Speech Studio에서 사용해 보기

Speech Studio를 사용하여 구 목록이 오디오 인식 개선에 도움이 되는지 테스트할 수 있습니다. 프로덕션에서 애플리케이션에 구 목록을 구현하려면 Speech SDK 또는 Speech CLI를 사용합니다.

예를 들어 Speech Service에서 다음 문장을 인식한다고 가정해보세요. "Hi Rehaan, I'm Jessie from Contoso bank."

"Hi everyone, I'm Jesse from can't do so bank."와 같이 구가 잘못 인식된 것으로 확인될 수 있습니다.

이전 시나리오에서는 "Rehaan", "Jessie", "Contoso"를 구 목록에 추가하려고 했습니다. 그러면 이러한 이름이 올바르게 인식될 것입니다.

이제 Speech Studio를 사용해서 구 목록이 인식 정확도를 높여주는지 확인해볼 수 있습니다.

참고 항목

Azure 구독 및 음성 리소스를 선택하고, 해당 지역의 청구 내용을 확인하라는 메시지가 표시될 수 있습니다.

  1. Speech Studio에서 실시간 음성 텍스트 변환으로 이동합니다.
  2. 오디오 파일을 업로드하거나 마이크로 오디오를 레코딩하여 음성 인식을 테스트합니다. 예를 들어 마이크를 사용하여 오디오 레코드를 선택한 다음, 다음과 같이 말합니다. "Hi Rehaan, I'm Jessie from Contoso bank. " 그런 다음, 빨간색 단추를 선택하여 레코딩을 중지합니다.
  3. 대화 내용 기록 결과가 테스트 결과 텍스트 상자에 표시됩니다. "Rehaan", "Jessie", "Contoso"가 잘못 인식되었으면 다음 단계에서 해당 단어를 구 목록에 추가할 수 있습니다.
  4. 고급 옵션 표시를 선택하고 구 목록을 켭니다.
  5. 구 목록 텍스트 상자에 "Contoso;Jessie;Rehaan"을 입력합니다. 구가 여러 개이면 세미콜론으로 구분해야 합니다. Screenshot of a phrase list applied in Speech Studio.
  6. 마이크를 사용해서 인식을 다시 테스트합니다. 그렇지 않으면 오디오 파일 옆에 있는 재시도 화살표를 선택하여 오디오를 다시 실행할 수 있습니다. "Rehaan", "Jessie" 또는 "Contoso"라는 단어가 인식됩니다.

구 목록 구현

Speech SDK를 사용하면 구를 개별적으로 추가하고 음성 인식을 실행할 수 있습니다.

var phraseList = PhraseListGrammar.FromRecognizer(recognizer);
phraseList.AddPhrase("Contoso");
phraseList.AddPhrase("Jessie");
phraseList.AddPhrase("Rehaan");

Speech SDK를 사용하면 구를 개별적으로 추가하고 음성 인식을 실행할 수 있습니다.

auto phraseListGrammar = PhraseListGrammar::FromRecognizer(recognizer);
phraseListGrammar->AddPhrase("Contoso");
phraseListGrammar->AddPhrase("Jessie");
phraseListGrammar->AddPhrase("Rehaan");

Speech SDK를 사용하면 구를 개별적으로 추가하고 음성 인식을 실행할 수 있습니다.

PhraseListGrammar phraseList = PhraseListGrammar.fromRecognizer(recognizer);
phraseList.addPhrase("Contoso");
phraseList.addPhrase("Jessie");
phraseList.addPhrase("Rehaan");

Speech SDK를 사용하면 구를 개별적으로 추가하고 음성 인식을 실행할 수 있습니다.

const phraseList = sdk.PhraseListGrammar.fromRecognizer(recognizer);
phraseList.addPhrase("Contoso");
phraseList.addPhrase("Jessie");
phraseList.addPhrase("Rehaan");

Speech SDK를 사용하면 구를 개별적으로 추가하고 음성 인식을 실행할 수 있습니다.

phrase_list_grammar = speechsdk.PhraseListGrammar.from_recognizer(reco)
phrase_list_grammar.addPhrase("Contoso")
phrase_list_grammar.addPhrase("Jessie")
phrase_list_grammar.addPhrase("Rehaan")

음성 CLI를 사용하면 인식 명령과 함께 인라인으로 또는 텍스트 파일을 사용해서 구 목록을 포함할 수 있습니다.

마이크 또는 오디오 파일에서 인식을 시도합니다.

spx recognize --microphone --phrases "Contoso;Jessie;Rehaan;"
spx recognize --file "your\path\to\audio.wav" --phrases "Contoso;Jessie;Rehaan;"

한 줄에 하나씩 구가 포함된 텍스트 파일을 사용하여 구 목록을 추가할 수도 있습니다.

spx recognize --microphone --phrases @phrases.txt
spx recognize --file "your\path\to\audio.wav" --phrases @phrases.txt

허용되는 문자에는 로캘별 문자 및 숫자, 공백 문자 및 +, -, $, :, (, ), {, }, _, ., ?, @, \, ’, &, #, %, ^, *, `, <, >, ;, /와 같은 특수 문자가 포함됩니다. 다른 특수 문자는 구문에서 내부적으로 제거됩니다.

다음 단계

인식 정확도 개선을 위한 여러 옵션들을 살펴봅니다.