제퍼넷 로고

지속적인 음성 인식 테스트

시간


목차 :

대화형 AI 및 음성
지속적인 음성 인식 테스트

Botium Box에서 음성 서비스 구성

음성 인식(Speech-to-Text)
음성 합성(텍스트 음성 변환)
맞춤형 음성 엔진
음성 합성 및 인식을 위한 챗봇 준비
테스트 세트 준비

테스트 데이터 수집

레이블이 지정된 참조 오디오 파일
음성 합성
연설 녹음
음성 인식 테스트 세션 실행

인간화: 노이즈 추가

음성 효과 파이프라인
노이즈 효과 적용

보너스: 단어 오류율 확인

보너스: 음성 인식 회귀 테스트

대화형 AI 및 음성

여전히 고객 서비스에서 매우 일반적으로 사용되는 기존 IVR 시스템에서 Alexa 또는 Google Assistant의 음성 비서에 이르기까지 음성 기술은 오늘날 일상 생활의 일부이며 미래에도 계속해서 중요해질 것입니다. 일반적인 음성 도우미의 구성 요소 스택에는 NLU(자연어 이해), 대화 관리 및 NLG(자연어 생성)와 같은 일반적인 대화 구성 요소 외에도 음성 인식 및 음성 합성이 포함됩니다.

Botium Box를 통해 기업은 구성 요소 스택의 모든 수준에서 음성 비서에 대한 전체적인 테스트 전략을 구현할 수 있습니다. 이 기사는 음성 인식 부분에 초점을 맞추고 오디오 파일, 전사 파일 및 단어 오류율 검증을 기반으로 회귀 테스트 스위트를 구축하는 방법을 보여줍니다.

지속적인 음성 인식 테스트

대형 클라우드 서비스 제공업체인 Google, Amazon, Microsoft 및 IBM은 모두 시장에서 최고의 인식률로 고품질 음성 서비스를 제공합니다. 그러나 이러한 클라우드 제공업체를 사용하더라도 일부는 추가 교육 데이터를 업로드하여 자체 최적화를 추가할 수 있도록 합니다. 이는 종종 도메인별 어휘에 대한 인식률을 개선하는 데 사용됩니다. 대형 클라우드 서비스 제공업체 외에도 Kaldi(음성 인식용) 또는 MaryTTS(음성 합성용)와 같은 여러 무료 소프트웨어 패키지가 있습니다. 이 패키지는 회사에서 자체 인프라를 설치, 교육 및 운영합니다.

지속적인 음성 인식 테스트는 최적화된 클라우드 음성 서비스 또는 완전히 자체 학습된 언어 모델을 사용하는 음성 도우미에게 가장 큰 이점이 있습니다. 음성 비서 테스트 전략의 일부로 다른 모든 스택 구성 요소와 마찬가지로 음성 인식 품질을 지속적으로 확인해야 합니다. 이 문서에서는 연속 음성 인식 테스트 제품군을 설정하는 방법을 보여줍니다.

Botium Box에서 음성 서비스 구성

Botium Box에서 음성 서비스 섹션 설정 메뉴(오른쪽 상단의 사용자 아이콘에서).

음성 인식(Speech-To-Text)

. 음성 인식 목록, 우리는 음성 서비스(자격 증명 포함)와 사용 언어를 등록합니다. 음성 서비스에 따라 추가 매개변수가 필요합니다. 예를 들어 Google과 같은 클라우드 서비스의 경우 자격 증명이 필요합니다.

Botium Box는 음성 서비스가 커스텀 엔진 구성 들. 예를 들어 사용자 지정 Azure 음성 모델을 선택하려면 다음을 수행합니다.

{
 "speechConfig": {
 "endpointId": "xxx-yyyy-zzzzzzzzzz"
 }
}

자신의 마이크를 사용하여 음성 서비스 구성을 즉시 테스트할 수 있습니다.

음성 합성(텍스트 음성 변환)

. 음성 합성 목록에서 음성 서비스(자격 증명 포함), 언어 및 텍스트에서 오디오를 합성하는 데 사용할 음성을 등록합니다. 음성 서비스에 따라 추가 매개변수가 필요합니다. 예를 들어 Google과 같은 클라우드 서비스의 경우 자격 증명이 필요합니다.

다시 한 번, 첫 번째 예를 들어 구성을 테스트할 수 있습니다.

맞춤형 음성 엔진

Botium Box는 오픈 소스를 사용하고 있습니다. 보티움 음성 처리 소프트웨어 스택(참조 Github 프로젝트). Github 소스 코드를 기본으로 사용하여 사용자 지정 음성 인식 또는 음성 합성 및 음성 효과를 Botium 테스트에 추가할 수 있습니다. Node.js 코딩을 할 준비를 하세요!

음성 합성 및 인식을 위한 챗봇 준비

다음으로 음성 합성 및 인식 커넥터를 사용하여 Botium Box에서 챗봇을 만듭니다. 챗봇 섹션에서 새 챗봇을 등록하고 목록에서 기술을 선택하고 이전에 구성된 음성 인식 및 음성 합성 프로필을 선택합니다.

XNUMXD덴탈의 음성 합성 및 인식 커넥터는 간단한 2단계 대화를 수행할 수 있는 매우 얇은 Botium 커넥터입니다.

  • 미리 녹음된 오디오 파일을 사용하거나 주어진 음성으로 주어진 텍스트에 대한 오디오 파일을 합성
  • 이 오디오 파일을 음성 인식 엔진으로 보내고 텍스트 결과 및 WER 표시

Say Hello 또는 라이브 채팅으로 구성을 즉시 테스트할 수 있습니다. 음성이 합성될 라이브 채팅에 텍스트를 입력하거나 자신의 음성을 녹음할 수도 있습니다.

테스트 세트 준비

다음 단계로 우리는 준비해야합니다 테스트 세트. Botium Box의 테스트 세트는 테스트 데이터 자체의 컨테이너이자 테스트 데이터를 해석하여 Botium 테스트 파이프라인에 주입하는 방법의 구성입니다.

일반적으로 Botium Box에서 테스트 케이스는 스크립팅 언어로 정의됩니다. 보티움스크립트, 대화 흐름 테스트 및 NLP 테스트 및 Botium에서 지원하는 기타 테스트 유형. 음성 인식 테스트의 경우 BotiumScript를 사용할 필요가 없습니다. 음성 인식 테스트를 위해 레이블이 지정된 오디오 파일은 테스트 케이스를 구축하기에 충분합니다.

  • 오디오 파일은 Botium Box에 wav 또는 mp3 파일로 업로드해야 합니다.
  • Botium은 예상 전사를 조회합니다 ...
  • 이름은 같지만 확장자가 .txt인 파일에서
  • CSV 파일 transcript.csv에서
  • 파일 이름 자체에서

. 테스트 세트 메뉴에서 새 테스트 세트를 생성하고 미디어 리소스 설정. 에서 오디오 파일 사용 필드 선택 옵션 모든 오디오 파일을 테스트 케이스 입력으로 사용하고 파일에서 전사 읽기.

XNUMXD덴탈의 첨부 파일의 기본 폴더 은 다음 단계에서 테스트 오디오 파일을 배치할 Botium Box의 폴더입니다. 넌 할 수 있어
거기를 클릭해서 이동하세요 파일 브라우저에서 열기 Botium Box 파일 브라우저에 아직 비어 있는 폴더를 표시합니다.

테스트 데이터 수집

항상 그렇듯이 테스트 전략은 테스트 데이터의 품질만큼만 좋습니다. 목표에 따라 테스트 데이터를 수집하는 몇 가지 방법이 있습니다.

레이블이 지정된 참조 오디오 파일

자신의 음성 도우미에서 작업하는 경우 레이블이 지정된 오디오 파일(오디오 파일 + 예상 필사본) 형식의 참조 데이터를 이미 소유하고 있을 가능성이 큽니다. Botium은 오디오 파일의 이름을 딴 별도의 텍스트 파일 또는 별도의 CSV 파일로 예상되는 필사본을 예상합니다.

예를 들어 레이블이 지정된 오디오 파일이 몇 개 있다고 가정합니다.

  • F01-안녕하세요-잘 지내세요.wav, 예상 필사 "hello how are you"
  • F02-hi-what-up.wav, 필사본 "안녕하세요" 예상됨

보티움 박스에서 첨부 파일의 기본 폴더 위에서 생성한 테스트 세트의 파일 브라우저.

  1. 두 개의 오디오 파일 업로드
  2. 다음 중 하나를 수행
  3. 이 폴더에 두 개의 추가 텍스트 파일을 넣습니다.
  4. F01-hello-how-are-you.txt "안녕하세요"라는 텍스트 콘텐츠와 함께
  5. F02-hi-whats-up.txt "안녕하세요"라는 텍스트 콘텐츠와 함께
  6. 또는 이 폴더에 transcript.csv 파일을 넣습니다.
  7. 텍스트 편집기나 Excel과 같은 스프레드시트를 사용하여 이 파일을 준비할 수 있습니다.
F01-hello-how-are-you.wav;안녕하세요 안녕
F02-hi-what-up.wav;안녕하세요

이제 Botium은 오디오 파일을 음성 인식 엔진으로 보낼 때 예상되는 사항을 알고 있습니다.

음성 합성

음성 인식 테스트를 시작하는 또 다른 방법은 텍스트에서 오디오 파일을 합성하는 것입니다. 보티움 박스에는 음성 마법사 그렇게 할 수 있도록 지원합니다. 오디오 파일을 생성할 텍스트를 붙여넣고 사용하려는 음성과 출력 폴더를 선택합니다. 음성 마법사는 오디오 파일과 전사 파일을 바로 거기에 배치합니다.

이제 파일 브라우저에서 폴더를 열면 텍스트와 음성의 각 줄에 하나씩 많은 오디오 파일을 볼 수 있을 뿐만 아니라 오디오 파일당 하나의 전사 파일로 끝나는 것을 볼 수 있습니다. 이 .txt.

이것은 오디오 테스트 데이터를 일괄 생성하는 가장 빠른 방법입니다.

연설 녹음

소규모 프로젝트의 경우 자신의 음성을 녹음하여 음성 인식 테스트에 사용할 수도 있습니다. 음성 마법사에는 오디오 파일을 녹음하여 테스트 세트 폴더에 저장하는 옵션도 있습니다.

이 옵션을 선택하는 경우 전사 파일을 수동으로 추가해야 합니다.

음성 인식 테스트 세션 실행

음성 인식 엔진과 레이블이 지정된 테스트 데이터에 대한 연결과 같은 첫 번째 테스트 실행을 위한 모든 것이 준비되었으므로 첫 번째 테스트를 실행합니다. 이를 위해 테스트 프로젝트를 만듭니다. 프로젝트 테스트 메뉴에서 새로운 테스트 프로젝트를 등록하고 이전 단계에서 생성한 챗봇과 테스트 세트를 선택하고 저장을 클릭합니다.

이제 클릭하십시오. 지금 테스트 세션 시작 첫 번째 테스트 세션을 시작합니다. 몇 분 후에 이미 결과 검사를 시작할 수 있습니다.

음성 인식이 예상 필사본과 일치하는 오디오 파일 목록과 실패한 오디오 파일 목록을 볼 수 있습니다. 결과를 자세히 살펴보고 오디오 파일을 듣고 JSON 코드 수준에서 결과 세부 정보를 볼 수 있습니다(사용 <> 버튼).

예상대로 대부분의 테스트는 현재 우리가 얻을 수 있는 최고 품질의 오디오 파일을 사용하기 때문에 통과합니다. 레이블이 지정된 참조 데이터, 자신의 음성 녹음 또는 합성 음성까지 정의에 따라 매우 깨끗합니다. 이제 오디오 파일에 약간의 노이즈를 추가하여 실제 시나리오에서 음성 인식에 도전할 수 있습니다.

인간화: 노이즈 추가

Botium Box에서 용어 인간화 테스트 데이터에 노이즈를 도입하는 알고리즘의 적용을 설명하는 데 사용됩니다. 텍스트 기반 테스트의 경우 이는 전형적인 인간 행동 패턴과 오타, 대소문자 구분, 공백(또는 공백 부족), 이모티콘 등을 사용하여 인간의 전형적인 결함을 고려하는 것을 의미합니다. 음성 기반 테스트의 경우, 소음 환경 관련 배경 소음을 추가하는 것과 같이 실제로 소음이 될 수 있습니다.

음성 효과 파이프라인

로 전환 음성 서비스 섹션 설정 메뉴(오른쪽 상단의 사용자 아이콘에서). 에서 음성 효과 목록에서 오디오 파일에 적용할 추가 노이즈 레이어의 파이프라인을 구성할 수 있습니다. 실제 환경을 시뮬레이션하는 데 사용할 수 있는 몇 가지 일반적인 오디오 효과가 있습니다.

  • 배경 소음 추가
  • 저대역폭 GSM 전화 통화처럼 들리게 하십시오.
  • 중단을 추가하여 약간 중단된 전화선 시뮬레이션
  • … 그리고 더

위에서 테스트 세트를 복제하고 이름에 "Noise"가 포함된 항목을 추가합니다. 이 테스트 세트는 처음에는 비어 있지만 위와 동일한 설정을 갖습니다.

해당 오디오 파일 사용 필드는 실제로 다음으로 설정됩니다. 모든 오디오 파일을 테스트 케이스 입력으로 사용하고 파일에서 전사 읽기.

노이즈 효과 적용

깨끗한 테스트 세트에서 음성 효과 섹션 음성 마법사. 이전에 오디오 파일을 배치한 폴더를 선택하고 위에서 노이즈 프로파일을 선택합니다. 에서 출력 폴더, 이전 단계에서 생성한 새로운 노이즈 테스트 세트에서 미디어 폴더를 선택합니다. 클릭 시 음성 효과 적용, Botium Box는 음성 효과 파이프라인을 통해 선택한 폴더(하위 폴더 포함!)의 모든 오디오 파일을 실행하고 결과 오디오 파일을 출력 폴더에 배치합니다.

이제 노이즈가 있는 새 테스트 세트에 대한 새 테스트 프로젝트를 만들고 첫 번째 테스트 세션을 시작합니다.

다시 몇 분 후에 테스트 결과를 검사하여 적용된 노이즈가 음성 인식에 어려움을 주는지 확인할 수 있습니다.

축하합니다. 이제 참조 데이터와 잡음이 있는 데이터를 사용하여 음성 인식 테스트를 계속해서 실행할 수 있습니다. 물론 음성 인식을 다시 훈련할 때 가장 합리적입니다.

유행하는 봇 기사 :
1. 대화 형 AI가 고객 서비스를 자동화하는 방법
2. 자동화 된 채팅과 실시간 채팅 : 고객 서비스의 미래는 어떤 모습일까요?
3. COVID-19 유행성 질병에서 의료 보조원으로서의 챗봇
4. 챗봇 대. 지능형 가상 비서 — 차이점 및 이유
 케어?

보너스: 단어 오류율 확인

많은 경우 실제로 오디오 파일의 정확한 필사본에 관심이 없을 수 있지만, 필사본에 대한 특정 품질 기준이 충족되면 단어 오류율 재생됩니다. 단일 필사본에서 올바르게 인식된 단어 수를 측정한 것입니다. 레이블과 완전히 일치하는 완벽한 필사본의 경우 0이고 값은 0과 1 사이입니다. 요구 사항에 따라 0.1의 단어 오류율을 고려할 수 있습니다. (10개 단어 중 하나의 잘못된 전사) ok. 보티움박스는 정확한 표기가 아닌 단일 발화 수준에서 단어 오류율을 확인할 수 있습니다.

먼저 값을 전환합니다. 오디오 파일 사용 테스트 세트 설정에서 모든 오디오 파일을 테스트 케이스 입력으로 사용하고 파일의 전사에서 단어 오류율 계산 — 이것은 Botium이 정확한 표기를 주장하는 대신 단어 오류율을 계산하도록 지시합니다.

현재 Botium Box에는 특별한 Word Error Rate asserter가 없지만 사용자 정의할 수 있습니다. 일반 JSONPath 검증자 이렇게 하기 위해. 보티움박스에서는 설정 메뉴 열기 등록된 구성 요소 부분. 거기에 새 구성 요소를 등록하고 이름을 지정하십시오. WER 확인 선택 테스트 케이스 주장자 as 부품 유형.

As 구성 요소 참조 코드사용 WER 과의 구성 요소 소스 필드 입력 JsonPathAsserter. 이렇게 하면 Botium이 이 구성 요소에 대해 일반 JSONPath Asserter를 사용하도록 지시합니다. 스위치 활성화 전역 스크립팅 구성 요소로 등록 Botium이 모든 테스트 사례에 대해 이 주장자를 사용하도록 합니다. 마지막으로 Component Configuration에서 Botium에게 JSON경로 음성 인식 응답과 일치할 것으로 예상되는 표현입니다.

완벽한 단어 오류율이 0일 것으로 예상되는 경우 다음 표현식을 입력할 수 있습니다.

{
 "경로": "$.response..[?(@.wer == 0)]"
}

정확히 0.1 이하의 단어 오류율로 문제가 없는 경우 다음 표현식을 사용할 수 있습니다.

{
 "경로": "$.response..[?(@.wer <= 0.1)]"
}

이제 테스트에서 이 주장자를 사용하도록 Botium Box에 알려야 합니다. 등록된 구성 요소를 저장하고 테스트 프로젝트로 이동합니다. 열기 테스트 실행 ~의 섹션 설정을 추가하고 WER 확인 구성 요소 관련 등록 구성 요소 입력란입니다.

이제 테스트 세션을 실행할 때 Botium은 더 이상 정확한 전사를 주장하지 않지만 대신 WER 확인 단어 오류율이 0.1 이상이면 asserter가 테스트 케이스에 실패합니다 — 테스트 세션에서 자세한 결과를 다시 검사할 수 있습니다.

보너스: 음성 인식 회귀 테스트

음성 모델을 회귀 테스트할 때 종종 단어 오류율 자체가 주요 기준이 아니지만 일부 참조 오디오 파일에 대한 전사가 항상 동일한지 확인하기 위해 새 음성 모델을 훈련하기 전과 후에 훈련합니다. 이를 통해 새로 훈련된 음성 모델에 명백한 결함이 있는지 여부를 알 수 있습니다.

이러한 경우 레이블이 있거나 없는 참조 오디오 파일 라이브러리가 있을 가능성이 큽니다. 이 사용 사례에서는 레이블이 지정되지 않은 오디오 파일로 시작하여 회귀 테스트 제품군을 구축할 수 있습니다.

  1. 새 테스트 세트를 만들고 오디오 파일 사용모든 오디오 파일을 테스트 케이스 입력으로 사용
  2. 레이블이 지정되지 않은 오디오 파일을 미디어 이 테스트 세트의 폴더
  3. 첫 번째 테스트 세션 시작 — Botium Box는 모든 오디오 파일을 음성 인식 엔진으로 보내고 모든 필사본을 수락합니다.
  4. . 다운로드 테스트 결과 섹션에서 전체 성적표를 CSV 파일로 다운로드하여 Excel에서 엽니다.

이 CSV 파일에서 우리는 이름이 지정된 열에만 관심이 있습니다. 테스트 케이스 이름 (파일 이름 포함) 및 convoStep실제 (필사본 포함). 필터링 convoStepSender 값에 대한 열 포구 언급된 두 열을 제외한 다른 모든 열을 숨깁니다. 나머지 데이터를 Botium Box의 오디오 파일이 있는 폴더에 transcript.csv 파일로 복사합니다.

지금 전환할 때 오디오 파일 사용 필드를 사용하여 모든 오디오 파일을 테스트 케이스 입력으로 사용하고 파일에서 필사본을 읽으면 Botium이 이 파일에서 예상되는 필사본을 읽고 참조 파일에 대한 필사본의 모든 변경 사항이 테스트 결과에 나타납니다.


지속적인 음성 인식 테스트 에서 원래 출판 된 챗봇 생활 이 이야기를 강조 표시하고 응답함으로써 사람들이 대화를 계속하고있는 매체에.

spot_img

최신 인텔리전스

spot_img