이 글은 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 박전규 박사님)
'Spoken Language Processing' 카테고리의 다른 글
Fairseq - Wav2vec 2.0 Pretraining (2) Preprocess 전처리하기 (1) | 2022.06.14 |
---|---|
딥러닝으로 음향모델 모델링 (End-to-end algorithm) (0) | 2022.06.03 |
음성인식(ASR)의 과정과 기본 구조 (0) | 2022.06.03 |
Fairseq - Wav2vec 2.0 Pretraining (1) 입력 데이터 준비하기 (0) | 2022.05.27 |
Fairseq 란? (0) | 2022.05.27 |
댓글