[Speech] 음성인식 개론
TL;DR
- Automatic speech recognition (ASR)음성인식 또는 speech-to-text (STT) task 정의
- Acoustic waveform을 일련의 grapheme문자소로 매핑해주는 task이다.
- 음성인식기 input
- Analog아날로그 형태의 acoustic waveform signal을 sampling과 quantization양자화를 거쳐 digital디지털화
- 1번의 digital signal을 log mel spectrogram과 같은 spectral representation으로 변환
- 음성인식 분야의 2가지 paradigm
- Attention 기반의 encoder-decoder 모델 더 높은 정확도
- CTC loss function 기반 모델 전체 acoustic input이 들어올 때까지 기다리지 않고 online 방법으로 grapheme을 출력하여 real-time 모델에 응용하기 쉽다.
- Word Error Rate (WER) Evaluation metric평가지표
- Hypothesis와 gold transcription 사이의 거리를 수정한다 (?)
[1] Automatic Speech Recognition (ASR) Task
음성 인식이란 무엇인가?
Figure 1 Smart Speaker 인공지능 스피커
(출처 : Tech Advisor)
Speech-to-text (STT) transcription
STT는 녹음된 오디오 input을 일련의 단어들로 변환시켜주는 일을 말하며, 다음과 같은 acoustic ambiguity 문제를 잘 처리해야 한다.
\[\text{"Recognize speech?" or "Wreck a nice beach?"}\]STT 과정에서 고려해야 할 것을 세분화 하면 다음과 같다.
- Speaker diarization 화자 구분 : 누가 언제 말했는지?
- Speech recognition 음성 인식 : 무엇을 말했는지?
- Paralinguistic aspects 준언어적 측면 : 어떻게 말했는지? (timing, intonation억양, voice quality목소리 질
- Speech understanding 음성 이해 : 무슨 뜻인지?
[2] 왜 음성인식이 어려운가?
Linguistic perspective 언어학적 측면
다양한 variation변형, 바리에이션의 source 음원이 존재하기 때문이다.
- Speaker 화자 : 화자의 특성 (특정 speaker에만 맞춰져 있는지 or speaker-independent 한지)
- Environment 환경 : Noise잡음, 대화 상대의 음성, channel condition (마이크, 통신 상태, room acoustics공간 음향) 등
- Vocabulary 단어 집합 : 기계어, 과학적 전문용어, 구어체 표현 등
- Accent / dialect 말투, 사투리 : 특정 언어를 말하는 모든 화자의 음성을 인식할 수 있어야 함
- Paralinguistics : 감정 상태, 사회적 지위 등
- Langauge spoken 사용된 언어 : 약 7천 종류의 언어들이 있는 것으로 추정되고, 대개 training resource가 부족한 문제, code-switching, language change 문제가 있다 (?)
Machine learning perspective
- Classification problem : 고차원의 output 공간을 가짐
- Sequence-to-sequence problem : Input sequence는 매우 길지만 acoustic sequence와 word sequence 사이를 매핑하고 재배열하는 데 한계
- Noise 등 데이터에 음성인식에 방해되는 요소가 많음
- Text 기반의 NLP 데이터에 비해 가용한 training data가 많이 부족함
[3] Speech Recognition Problem 음성인식 문제
음성인식 표기법
- Observations (녹음된 음성) : log mel spectrogram, MFCC 등의 일련의 acoustic feature vector $X$
- Output : Word sequence $W$
목표
- 주어진 $X$를 토대로, 가장 가능성이 높은 word sequence $W$를 찾는 것
- Label이 있는 training utterance 쌍 ($X^n$, $W^n$)으로 이루어진 corpus말뭉치를 이용하여 통계학적 모델을 학습시켜 이 목표를 달성한다.
Labelling speech ($W$)
- Word단어, phone음성 등의 label이 쓰인다.
- Label은 time-aligned하다. 즉, 각 acoustic segment에 해당되는 label이 달려있다.
Reference
- D. Jurasfsky and J. H. Martin, “Speech and Language Processing (3rd edition)”, Web draft, Chap. 26 : Mostly newly written, expanded from some parts of Chs 8 and 9 in 2nd ed, September 2021.
- AUTOMATIC SPEECH RECOGNITION (ASR) 2020-21: LECTURES
Leave a comment