티스토리 뷰

반응형

CrisperWhisper: Accurate Timestamps on Verbatim Speech Transcriptions


  • Whisper의 tokenizer를 adjust 하여 word-level timestamps precision을 향상할 수 있음
  • CrisperWhisper
    • Whisper decoder의 cross-attention score에 dynamic time warping을 적용
    • 추가적인 fine-tuning을 통해 robustness를 향상
  • 논문 (INTERSPEECH 2024) : Paper Link

1. Introduction

  • Automatic Speech Recognition (ASR)에서 large-scale, weakly supervised learning은 뛰어난 성능을 보이고 있음
    • 특히 Sequence-to-Sequence (Seq2Seq) transformer인 Whisper는 680,000 hours의 large dataset을 활용해 강력한 generalizability를 달성함
      - BUT, Whisper는 filler word, recurring utterance, artifact를 eliminate 하여 context에 suitable 한 intended transcription style을 만들어냄
    • 한편으로 verbatim speech transcription은 모든 articulated utterance를 capture 하는 것을 목표로 함
      - 특히 'uh', 'um'과 같은 common filler나 word repetition, correction 등의 speech disfluency를 distinguish함
    • 이때 verbatim speech transcription을 위해서는 word-level timestamps가 필요함
      1. 이를 위해 WhisperX와 같이 Wav2Vec 2.0의 timing information을 활용할 수 있음
        - BUT, noisy environment에 대한 robustness가 낮고 VAD-based segmentation으로 인해 complexity가 증가함
      2. 또는 Whisper decoder의 attention score에 Dynamic Time Warping (DTW)를 적용할 수 있음

-> 그래서 Whisper 기반의 single model word-level timestamp를 위한 CrisperWhisper를 제안 

 

  • CrisperWhisper
    • Whisper tokenize를 adjust 하고 noise robustness를 위해 artificial perturbation에 대한 fine-tuning을 수행
    • Whisper decoder에 대한 DTW 적용을 통해 verbatim transcription style을 개선

< Overall of CrisperWhisper >

  • Whisper와 DTW를 활용한 crisp timestamp model
  • 결과적으로 기존보다 우수한 word-level timestamp 성능을 달성

2. Method

- DTW for Timestamp Prediction

  • Intuition
    • Whisper는 encoder-decoder structure를 기반으로 하고, encoder는 multiple transformer encoder block을 통해 audio를 처리함
      1. 먼저 audio는 16kHz로 resample 되어 80-channel log-magnitude mel-spectrogram으로 변환되고 convolution을 통해 downsampling 됨
      2. 그러면 encoder는 25ms window에서 20ms stride로 downsample 된 해당 spectrogram을 기반으로 동작함
        - 이는 20ms step으로 shift 된 25ms audio를 의미
    • 특히 Whisper-large model은 byte-level Byte Pair Encoding (BPE) text tokenizer를 활용하여 target을 생성하고, transformer decoder는 cross-attention을 사용함
      1. 즉, resulting cross-attention score는 token prediction score 중에 decoder가 encoder output의 specific segment에 focus 하는 것을 반영함
        - 이는 decoder strategy가 current token prediction과 most relevant 한 encoder output region을 priortize 한다는 것을 의미함
      2. 따라서 논문은 cross-attention score를 사용하여 current token을 decode 하는 25ms audio frame을 assess 하고 해당 frame의 aggregate를 timestamps로 활용함
  • DTW and Cost Matrix Construction
    • CrisperWhisper는 두 sequence 간의 optimal cost인 monotonic, continuous alignment를 find 하기 위해 DTW algorithm을 채택함
      1. 이때 sequence elements 간의 alignment expense를 measure 하기 위해서는 cost matrix가 필요함
      2. 즉, encoded acoustic signal을 represent 하는 encoder output $E=\{e_{1},e_{2},...,e_{n}\}$과 decoder token prediction $D=\{d_{1},d_{2},...,d_{m}\}$을 의미함
    • Decoder의 suitable attention heads set $H=\{h_{1},h_{2},...,h_{l}\}$이 주어졌을 때 cost matrix는 다음과 같이 정의됨:
      1. 먼저 각 $d_{i}$는 cross-attention vector $A_{i}=\{a_{i1},a_{i2},...,a_{il}\}$과 associate 되어 있음
        - $a_{ik}\in\mathbb{R}^{n}$ : $i$-th token을 decoding 할 때 $k$-th attention head의 attention score
      2. 그러면 해당 vector를 $\bar{A}_{i}=\frac{1}{l}\sum_{k=1}^{l}a_{ik}$과 같이 average 하고 normalize 하여 cost matrix $C$를 구할 수 있음:
        (Eq. 1) $C:=-\begin{bmatrix}
        \frac{\bar{A}_{1}}{||\bar{A}_{1}||_{2}} \\
        \vdots \\
        \frac{\bar{A}_{m}}{||\bar{A}_{m}||_{2}}
        \end{bmatrix}$
    • 여기서 punctuation은 clear acoustic representation이 없으므로 alignment에서 timestamp가 주어지지 않아야 함
      - 따라서 cost matrix constructing 이전에 $D$에서 punctuation에 해당하는 모든 token을 remove 함

Whisper-LargeV2에 대한 DTW Path

- Retokenization

  • Whisper vocabulary의 token은 space가 prefix 되는 경우가 많음
    • 실제로 Whisper vocabulary를 기반으로 CommonVoice14 transcript에 BPE algorithm을 적용했을 때, original transcript의 space 중 13% 만이 explicit space token에 mapping 됨
      1. e.g.) 'This is a long pause.' 를 Whisper tokenizer로 tokenizing 하면 $\text{['This',' is',' a',' long',' pause','.']}$가 됨
        - 즉, space는 standalone entity가 아닌 token start 부분에 include 됨
      2. 결과적으로 해당 tokenization은 token beginning에 위치한 pause를 inadvertently integrate 하기 때문에 audio segment를 token에 align 하는 DTW에 영향을 미침
    • 따라서 CrisperWhisper는 space가 token의 beginning에만 exclusively found 되고 end/middle에는 나타나지 않는다는 점을 기반으로, space token 자체를 제외한 모든 space token을 strip 하고 unique token만 keeping 함
      1. 이때 tokenizer의 merge를 해당 reduced vocabulary와 congruent 되도록 adjust 함
      2. 해당 adjustment를 통해 모든 space는 individually tokenize 되므로, DTW algorithm은 word 간의 pause를 detect 할 수 있음
        - e.g.) Retokenization을 활용했을 때, 'This is a long pause.' 는 $\text{['This','is','a','long','pause','.']}$가 생성됨
      3. 추가적으로 'uh', 'um' token을 re-purpose 하여 filled pause event를 canonically transcribe 함

CrisperWhisper Retokenization에 대한 DTW Path

- Pause Heuristics

  • DTW algorithm은 non-distinct attention으로 인해 pause duration을 overestimation 할 수 있음
    • 따라서 논문은 pause duration에 대해 preceding/subsequent word 사이를 evenly split 하는 heuristic을 도입함
    • 이때 cap은 160ms로 설정하여 pause duration의 observed distribution을 기반으로 하고, insubstantial artifact pause와 meaningful speech pause를 distinguishing 하도록 함
      - 해당 cap을 surpassing 하는 duration은 genuine pause로 identify 되어 speech rhythm을 accurately represent 함

3. Experiments

- Settings

  • Dataset : AMI Meeting, Podcast-Fillers, CommonVoice14, FSDnoisy18k, AudioSet
  • Comparisons : WhisperT, WhisperX

- Results

  • 전체적으로 CrisperWhisper의 성능이 가장 뛰어남

Word Segmentation

  • Noise robustness 측면에서도 CrisperWhisper가 우수함

Noise Robustness

  • Disfluency Segmentation Performance
    • CrisperWhisper는 verbatim을 transcribe 하므로 repetition, false start 등의 disfluency type을 효과적으로 detect/segment 할 수 있음

Disfluency Localization

  • Verbatim Transcription Performance
    • CrisperWhisper는 spontaneous speech dataset에서도 뛰어난 ASR 성능을 보임

Verbatim Performance

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Total
Today
Yesterday