[음성] Kaldi Speech Recognition Toolkit

안녕하세요. 양재동 메이커 입니다.


지난 주에 음향 음성 오디오 언어 처리 그룹 Soundly - 딥러닝 및 머신러닝 주관하는 세미나에 참석 하였습니다.  발표가 전문 분야에 집중 되어 아직은 제 역량이 많이 부족한을 느끼는 자리 였습니다. 


 얼마전 공유해 드린 Google API와 유사하게 무료로 사용할수 있는 Kaldi 란 것이 있어 소개해 봅니다.

초기 버전의 C++로 작성되었으나 지금은 파이선도 지원 하기 시작 했답니다.


 인터넷을 찾아 보면 한국어로 변환 된 프로젝트가 있어 관련 링크도 같이 공유해 드리며, 깊게 파고 드실 분들은 링크 참조해서 도전해 보시기 바랍니다.

Zeroth.png

1. Audio Data

  • 2018.07.16: 95.7 시간 (46,347발화, 181명, 27,330문장)
  • 2018.04.09: 76.6 시간 (35,139발화, 137명, 16,472문장)
  • 2018.02.03: 51.6 시간 한국어 학습데이터 (22,263 발화, 105명, 3000 문장)
  • License: CC BY 4.0
  • 현재 OpenSLR에서 51.6 시간 오디와 LM 데이터를 받아보실 수 있습니다.
  • 모어코인을 통한 기부로 오픈소스 오디오가 커지고 있습니다. 4월에는 1시간 기부시 70시간 데이터를 받아보실 수 있습니다. 모어코인앱을 통해 음성을 기부해 주세요.

현재 제로스 프로젝트에는 상기와 같은 음성데이터가 포함되어 있습니다. 공개 음성 DB 구축에 참여할 수 있는 음성 녹음 앱 모아코인(Android)을 제공하고 있으며, 해당 앱을 통해 음성 데이터를 1시간 기부해주시면 해당 시점까지 구축된 공개 음성 DB에 접근하여 다운로드할 수 있는 권한을 AWS temporary credential 형태로 발급해 드립니다. 한번 발급된 credential은 12 시간 동안 유효합니다. 더 자세한 내용은 AWS-temporary-credential 페이지를 확인하시기 바랍니다

2. Requirements

  • 제로스 프로젝트를 실행하는데 필요한 패키지들에 대한 설명은 Requirements 위키 페이지를 참조하시기 바랍니다.
  • 언어모델과 발음사전을 구현하는 코드를 직접 실행하기 위해서는 Requirements-2 위키 페이지를 참조하여 추가적인 패키지를 설치하시기 바랍니다.

3. Acoustic Model

현재 제로스 프로젝트 음향모델에는 아래와 같은 최신 kaldi recipe 가 적용되어 있습니다.

  • TDNN (with Factorization) / TDNN + LSTM / TDNN + OPGRU
  • Chain model
  • Data augmentation of reverberant speech

4. Language Model & Lexicon

제로스 프로젝트에 사용되는 언어모델과 발음사전은 처음부터 끝까지 data-driven 방식으로 만들어집니다. 아래는 AWS-temporary-credential 을 발급받은 경우 오디오 데이터와 함께 자동으로 받아지는 언어모델과 발음사전의 세부사항입니다. 개인적으로 직접 특화된 언어모델과 발음사전을 만들고자 하는 경우에는 세부적인 방법이
s5/data/local/lm/README.md 에 기술되어 있으니 참조하시기 바랍니다.

  • 말뭉치(Corpus)

    • 훈련된 문장의 수: 109,037,699
    • 테스트 문장의 수:  12,115,208
    • 전 체: 121,152,907
  • 발음사전(Lexicon)

    • 고유한 단어의 수: 30,064,143
    • 상위 98% 빈도 수를 보이는 고유한 단어의 수: 8,069,252
    • Data-drive 방식으로 찾은 고유한 형태소의 수: 465,253
    • 발음 다양성을 고려한 발음사전의 크기: 686,839
  • 언어모델(Language Model)

    • Perplexity test 3-gram: ppl= 221.2969 (12,115,208 sentences, 194,940,635 words, 0 OOVs)
    • Perplexity test 4-gram: ppl= 187.2058 (12,115,208 sentences, 194,940,635 words, 0 OOVs)
0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

인공 지능

번호 제목 글쓴이 날짜 조회수
3 음성 모기 소리 인식 - Prologue +1 icon 양재동메이커 04-05 12,591
2 음성 Kaldi Speech Recognition Toolkit icon 양재동메이커 02-19 15,367
1 음성 구글 음성 인식 API 설정하기 icon HelloMaker 02-02 13,740