음성인식기를 학습시키기 위해 필요한 데이터는 단순히 음성을 녹음한 데이터가 아닙니다. 음성이 담긴 오디오 데이터와 그 음성이 무엇을 의미하는지 즉, 텍스트로 표현되는 전사 데이터(transcription : 음성을 듣고 그대로 받아쓰기한 내용), 두 가지가 함께 있어야 음성인식기를 학습시킬 수 있습니다.
왜 두 가지 데이터가 필요할까요? 음성인식은 머신러닝의 종류 중 지도 학습(supervised learning)*을 하기 때문입니다. 음성인식기에 음성 데이터와 그에 해당하는 전사 데이터를 학습시키면 음성인식기 내부에서 두 데이터가 라벨링(labeling)이 됩니다. 즉, 전사 데이터는 음성인식기에 ‘이 소리는 이런 글자란다’ 하고 알려주는 교육 자료입니다.
따라서 똑똑한 음성인식기를 만들기 위해서는 다양한 사람들이 발화한 많은 데이터를 학습시키는 것이 좋습니다.
학습시키기 위한 데이터는 최소 몇 시간이 필요한가요?
음성인식기를 학습시키기 위해서는 10명, 20명의 음성 데이터로는 턱없이 부족합니다.
한 사람의 목소리가 수천 시간 있는 것은 음성인식기를 학습시키기에 적합하지 않으며, 수백 명의 다양한 음성 데이터가 입력되어도 장난감 수준의 음성인식기 밖에 만들 수 없습니다.
시간으로 계산하면 최소 50시간 정도의 데이터가 있어야 앞서 말씀드린 Toy Level 수준의 음성인식기 제작이 가능합니다. 이는 실제 비즈니스에 적용하기에는 많이 부족하므로 상용화 수준의 음성인식기를 만들기 위해서는 여러 사람의 목소리가 들어 있는 약 1,000~2,000시간 이상의 데이터가 필요합니다.
어떻게 데이터를 얻을 수 있나요?
데이터는 기본적으로 사람이 직접 오디오를 듣고 전사를 해야 하므로 만들기가 매우 어렵고 가격이 높습니다(시장가 약 1시간에 10만 원). 데이터를 얻는 3가지 방법을 알려드릴게요.
1. 직접 데이터를 만드는 방법
간단하게 생각하면 발화할 문장을 만들고 읽어서 직접 데이터를 만들 수 있습니다. 하지만 이런 방법으로 개인이 상용화에 필요한 음성인식 데이터를 전부 수집하는 것은 거의 불가능합니다. 큰 기업의 경우 직원들이 1시간씩 데이터를 만든다면 많은 양의 데이터를 수집할 수 있을 것 같네요. 그래서 오디오 파일이 있는 경우에는 속기회사에 전사를 요청하는 방법도 가능합니다. 이 경우 1시간에 10만 원의 비용이 듭니다.
2. 기존 데이터를 구매
직접 데이터를 만들기 어렵다면 데이터를 판매하는 회사에서 구매할 수 있습니다. ETRI(한국전자통신연구원), 대학 연구소, 데이터 판매업체에서 구매 가능합니다. 현재 정부에서 데이터바우처 지원사업을 시행하고 있는데요. 거기에서 자신의 분야에 맞는 적합한 음성인식기 학습 데이터가 있는지 확인해 볼 수 있습니다.
3. Zeroth 오픈소스 데이터 (링크)
생각보다 데이터를 모으는 것은 시간과 비용이 많이 듭니다. 그래서 아틀라스랩스는 2018년 Zeroth Project를 시작했습니다. Zeroth Project는 음성인식기를 학습시킬 수 있는 데이터를 오픈소스화하여 보다 많은 사람들이 음성인식 분야를 알아가고 발전시키는데 도움이 되고자 시작하게 되었습니다.
95.7시간 한국어 학습 데이터(27,330문장, 181명), 한국어 언어모델 구축을 위한 스크립트(LM tool-kit), Kaldi Training Script(칼디 학습 데이터), 공개 음성 DB 구축에 참여할 수 있는 음성 녹음 어플리케이션 등 한국어 음성인식기를 구현하기 위한 데이터와 툴이 포함되어 있습니다.
음성인식 뉴스를 Atlas ASR Letter ‘A letter’를 통해 받아보세요.
A Letter로 블로그의 최신 글을 보내드립니다.