전화 음질 8kHz가 음성인식 정확도에 미치는 영향
전화 음성은 1초에 8,000번 표본을 뜨므로 4kHz 위의 소리가 없습니다. 녹음 파일로 시험한 인식률이 실제 전화에서 달라지는 이유와, 음성인식 쪽과 시나리오 쪽에서 각각 할 수 있는 일을 적었습니다.
전화 음성은 1초에 8,000번 표본을 뜨는 입니다. 표본화 주파수의 절반인 4kHz 위의 소리는 담기지 않으므로, 음성인식은 높은 성분이 빠진 소리로 글자를 맞춰야 합니다. 녹음 파일로 시험한 인식률이 실제 전화에서 달라지는 첫 번째 이유가 이것입니다. 무엇이 빠지는지, 음성인식 쪽과 시나리오 쪽에서 무엇을 할 수 있는지 적었습니다.
8kHz가 뜻하는 것
전화망의 표준 부호화 방식 은 1초에 8,000번 표본을 뜨고 표본마다 8비트를 씁니다. 표본화 주파수의 절반까지만 담을 수 있다는 것은 신호 처리의 기본 원리이므로, 전화 음성에는 4kHz 위가 없습니다. 휴대전화의 고음질 통화나 인터넷 회의는 더 높은 표본화 주파수를 쓰지만, 통신사 회선을 거쳐 시스템에 들어오는 음성은 G.711이 기본입니다.
어떤 소리가 흐려지나
높은 주파수 성분이 많은 소리입니다. 숨을 내쉬며 내는 마찰음과, 끝이 비슷한 짧은 음절이 그렇습니다. 사람도 전화에서 이름이나 숫자를 다시 묻는 일이 많은 이유와 같습니다. 여기에 회선의 잡음과 상대 전화기의 마이크 품질이 더해집니다. 같은 문장이라도 조용한 사무실의 유선전화와 길거리의 휴대전화는 다른 조건입니다.
음성인식 쪽에서 할 수 있는 것
전화 음성으로 학습한 모델을 따로 제공하는 서비스가 있으면 그것을 씁니다. 없으면 실제 전화로 녹음한 음성으로 시험해서 고릅니다. 8kHz 음성을 16kHz로 늘려서 넣어도 없던 소리가 생기지는 않으므로, 형식 변환은 엔진이 요구할 때만 합니다. 업무에서 자주 나오는 단어(상품명, 지점명)를 엔진에 미리 등록할 수 있는 서비스라면 등록해 둡니다.
시나리오 쪽에서 할 수 있는 것
인식이 틀려도 업무가 틀리지 않게 짭니다. 숫자는 한 자리씩 끊어 되읽어 확인하고, 카드번호처럼 틀리면 안 되는 입력은 말 대신 버튼으로 받습니다. 대답을 “네, 아니오”처럼 고르는 꼴로 묻는 구간을 늘리면 인식해야 할 말이 줄어듭니다. 못 알아들었을 때 되묻는 흐름은 처음부터 시나리오에 넣습니다.
시험하는 방법
시험 문장 목록을 만들고, 실제 전화로 걸어 여러 전화기와 여러 장소에서 녹음한 음성으로 인식률을 잽니다. 녹음 파일을 엔진에 바로 넣는 시험은 이 시험을 대신하지 못합니다. 업무에서 자주 나오는 단어 목록과 시험 문장 목록을 문의에 적어 주시면 어떤 엔진 조건으로 시험할지 상담 때 안내합니다.