제33회 한글 및 한국어 정보처리 학술대회 논문집 (2021년) SpecAugment와 Kaldi기반 한국어 음성인식 비교 연구 이승훈 †◦ , 박찬준 ‡ , 서재형 ‡ , 김경민 ‡ , 임희석 ‡ * 고려대학교 Human-inspired AI 연구소 † , 고려대학교 컴퓨터학과 ‡ {max99985053}@gmail.com {bcj1210, seojae777, totoro4007, limhseok}@korea.ac.kr Comparative study of Korean speech recognition based on SpecAugment and Kaldi Seounghoon Lee †◦ , Chanjun Park ‡ , Jaehyung Seo ‡ , Gyeongmin Kim ‡ , Heuiseok Lim ‡ * Korea University Human-Inspired AI Research † , Korea University ‡ 요 약 Kaldi는 음성인식 오픈소스 플랫폼이며 많은 기업에서 이를 이용하여 비즈니스 및 연구를 진행하고 있다. 그러나 국 문으로 된 Kaldi에 대한 자세한 모듈 설명과 활용법은 아직 미비한 실정이다. 본 논문은음성인식 오픈소스인 Kaldi에 대한 각 모듈별 자세한 설명과 더불어 데이터 증강 기법인 SpecAugment를 한국어 음성인식 시스템에 적용하여 성능 향상 여부를 검증하였다. 그리고 Kaldi의음향모델과 언어모델을 변경하면서 어떠한 모듈들로 구성된 한국어 음성인식 모델을 사용하는 것이 가장 결과가 좋은 지를 검증하고 실시간 디코딩에 있어서 실용적인지를 비교하였다. 주제어: 음성인식, Kaldi, 자연언어처리, 자동음성인식 1. 서론 음성인식(Automatic Speech Recognition)은음성데이터를 입력으로 받아서 해당 음성을 문자로 변환하여 출력하는 기술 을 말한다. 이러한 음성인식 모델은 다양한 분야에서 활용되고 있으며 대표적으로 인공지능 스피커에서 활용되고 있고 동영상 플랫폼등에서 음성만 존재하는 영상에 자동적으로 자막을 생 성해줌으로서 이를 활용해 기계번역 모델로 번역한 자막생성등 자연어처리의 분야들과 혼합되어 사용되고 있다. 기존에는 GMM(Gaussian Mixture Model, GMM) 및 HMM(Hidden Markov Model, HMM)모델을 활용하여 음향 모델을 학습시키고 낱말사전과 언어모델을 혼합하여 음성인식 모델을 만드는 방법을 주로 사용했다. 이후 딥러닝의 발전으로 인해 신경망을 혼합하여 음성인식 모델을 구성하는 방법[1]이 주를 이루었고 현재는 end-to-end 방식으로 음성을인식하는 방법을 연구하는 것이 주를 이루고 있다. 기존의 HMM모델에 신경망이 혼합된 음성인식 모델은 여러개의 모듈을 개발하여 혼합해야 하며 각 모듈의 사용법을 습득하고 구현해야 하는 어려움이있었다. 이에 반해 end-to-end 방식의음성인식 모 델[2, 3, 4, 5, 6]에서는 하나의 모듈로 모든 음성인식의 과정을 거치며 습득이나 개발에 있어서 한 가지 모듈만 사용한다는 장점을 가지고 있다. 그러나 성능면에서 신경망을 혼합한 HMM 기반의 모델에 비해 뒤쳐지는 부분이있기 때문에아직 HMM기반의음성인 식 모델들이 더 실용적으로 사용되는 경우도 많다. 본 논문은 HMM기반의 혼합적인음성인식모델이 여러 개의 모듈로 구 성되어 있고 이 모듈들을 교체할 수 있다는 특징을이용해 구 0* 교신저자(Corresponding author) 성 모듈 중 어떠한 모듈들이 사용되는 것이 디코딩 단계에서 더 빠르면서도 높은 정확도를 기록하고 이를 기반으로 실용적 인지를 한국어 음성인식에 적용하여 검증을 진행하였다. 이를 대표적인음성인식 오픈소스 플랫폼인 Kaldi기반으로 진행하 였고 Kaldi의 각 모듈에 대해서 자세한 분석을 진행하였다. 더 나아가 데이터 증강기법인 SpecAugment를 적용하여 데이터 측면에서의 성능 향상 여부를 검증하였다. 2. Kaldi기반 한국어 음성인식 모델링 2.1 Kaldi의 기본 구조 Kaldi 1 는 C++기반의음성인식 오픈소스 툴킷으로 음성인 식 시스템으로서 훌륭한 성능을 보여주고 있다. 초기의 Kaldi 는 딥러닝의 DNN이 아직 도입되지 않았던 구조였기 때문에 C++위주의 GMM-HMM, SGMM-HMM 구조로 구성되어 있 었다[7]. 그러나 음성인식모델에 딥러닝 모델 접목을 통한 성능 향상 의 효과성으로 인해, 현재는 Kaldi 내부에 DNN-HMM 학습을 위한 GPU 활용 기반 오픈 소스가 추가되어있다. Kaldi는 전 체적으로 음향모델과 낱말사전, 그리고 언어모델로 구성되어 있다. 음성 학습 데이터셋으로는 음향모델을 학습하고 텍스트 데이터셋으로는 언어모델과 낱말사전을 구성하는 데 쓰인다. 2.2 Kaldi 기반 음성인식기 제작 프로세스 2.2.1 특징 추출 음향모델을 학습시키기 전에 우선 음성의 특징을 추출해야 한다. 이 때 MFCC와 i-vector 2가지의 특징을 추출한다. 1 https://github.com/kaldi-asr/kaldi 1 - 152 -