본문 바로가기
Spoken Language Processing

음향모델의 모델링 - ASR 의 acoustic model

by 햇농nongnong 2022. 6. 3.

이 글은 ETRI 박전규 박사님의 언어교육 성과 특강 강의를 듣고 정리한 글입니다.

 

 

음향 모델의 모델링


  • 음향모델 = 어떻게 음소를 잘 모델링하느냐
  • 한국어 음소의 경우, 초성 중성 종성 음가를 40개 남짓의 함수로 표현? - 이렇게 하면 성능 매우 떨어짐. 
    - 100개 중 하나, 1000개 중 하나로 표현하는 것도 어려움
    - 따라서 triphone 사용 - triphone modeling : 음소를 거의 10만개, 15만개까지 표현
    - 굉장피 복잡한 음소 표현 방법론들이 많음
    - 여기서 중요한건, 그 기저 단위는 '음소' 라는 것.
  • 음소를 얼마나 잘 classify 하느냐가 음소인식의 task 이고 acoutic modeling 의 핵심이다.

 

 

음향 모델을 모델링할 때 고려해야 하는 것들


  • Speech and Signal Variability
    - 음성이나 신호의 variability 를 어떻게 잘 포착하느냐
  • Pronunciation lexicons
    - 그리고 그 포착한 것을 발음사전으로 잘 담아낼 수 있느냐
  • Measuring Error : WER, SER, CER, ... 
    - 오류를 정교하게 측정해보기 (단어인식률, 문장인식률, 음절인식률)

 

"Mr. Wright should write to Ms. Wright right away about his Ford or four door Genesis."

 

  • Homophones (동음이의어) - 소리는 같으나 뜻은 다른 말 (same pronunciation)
  • Wright, write, right : /r ay t/ 
    - 발음 상으로는 위와 같이 표현.
    - lexical model 이 없으면 해석 불가
    - 음향모델 : "Wright", "write", "right" 를 '/r ay t/' 의 발음사전으로 잘 표현시키기
  • acoustic model 의 역할 : wright / write / right 을 정확하게 phonetic symbol 로 잘 표현해주기
    - 즉, speech signal 을 acoustic symbol 로 명확하게 분류해주는게 음향 모델의 역할
  • language model 의 역할 : 디코딩된 음소의 sequence 를 적절히 표현해주는게 언어 모델의 역할

 

acoustic modeling 목표

 : style, speaker, environment, channel 등의 다양한 variability 를 invariant 하게 표현해보자

 

 

 

phones / segments

  • Need the best set for discrimination (not necessary the same as Linguistic Phones)
    - 어휘상으로 표현된 phone 과는 또 다르게 mapping 해야 하는데 이것이 발음사전
  • More phones = more training, need consistent lexicon
    - 발음사전은 정말로 복잡한데, 한국어 음성 대략 40개로 표현할 때 이것을 가지고 변별력있게 학습하기는 어려움
    - 최대한 좌우 문맥까지 보고 모델링해야함
    - 음소의 수가 많으면 training 도 더 해야함
    - 많은 음소에 대해 충분한 학습 데이터가 있어야지 잘 모델링되고, 그렇지 않으면 오버피팅됨
    - observed 된 speech 만 가지고 훈련시키면 사투리나 어린아이의 음성은 잘 대응하지 못함
    - 따라서 최대한 많은 데이터 필요
  • Extra phones
    - t vs dx / t vs nx
    - stops as closures and bursts
    - schwas : ax and ix
    - syllabics : el, em, en
    - accents / tones : ah1, ah0, ...
    - 이런 extra phones 문제들을 어떻게 해결해야할까 예전에는 다 고민했지만, 이제 이런 문제들은 신경 안써도 될 정도로 빅데이터가 있고, 알고리즘도 많이 발달됨.

 

 

 

Adaptation

 

 

  • acoustic modeling 후 'adaptation' 진행할 수 있음
    - Change behavior after use. 
    - Human adaptation : 사람 목소리도 노화됨. 어린아이 / 성인/ 노인 목소리 다 달라서 사실 별도로 모델링해야함
    - Channel adaptation : cepstral normalization
    - Model adaptation : move the means (or weights on means)
  • 위의 예시처럼 acoustic model 은 계속 바뀔 수 있음. 
    - 법, 의료쪽으로 서비스한다면 계속 바뀜
    - 음향 모델이 바뀔 수도 있고, base 로 있는 언어 모델이 바뀔수도 있음
  • 관찰되지 않은 어휘적 / 음소적 시퀀스들 많은데 이런것들을 cover 하기 위한 방법이 "adaptation"
  • 먼저 실험실 단계에서 예로 1000 시간 데이터를 가지고 baseline model 을 만듦
  • 하지만 실제 1000 시간 데이터로는 서비스 상 커버 못함
  • 따라서 실험실 베이스라인 모델 위헤 실제 데이터 (법률, 노인 등의 log/domain data) 를 가지고 adaptation 해서 새로운 모델 만들어 실제 서비스에 적용
  • 이 방법을 acoustic modeling based adaptation 이라고 함

 

Pronunciation lexicon

  • pronunciation lexicon : need list of words and their pronunciation, need pronunciation of ALL words
    - pencil / p eh n s il h/
    - two / t uw/
  • 문제점은 morphological variability 가 너무 많음
    - walk, walks, walked, walking
    - 형태소로 쪼개고 unit 을 적절하게 이으면 되긴 함
    - but 결국 모든 case 가 단어별로 다 있어야 하는데, 그 말은 이 variability 에 대해서 적절하게 모델링해야함.
  • multi-word words (Los Angeles, New York, ... )
  • Contractions (wanna, gonna, ...)
  • Pronunciation variants : homographs(bass - 물고기 / 음악), natural variant(coupon : 쿠폰/ 큐폰.. )
  • Unknwon Words
  • 아주 고려해야할 것들이 산더미

 

 

 

 Reference

  • 2022.06.02 ETRI 언어교육 성과 특강 (ETRI 박전규 박사님)

댓글