rt-dadumi: 타임스탬프 복구 및 세그먼트 처리 로직

Source

  • Field Notes/ReturnZero/Daily Notes/Day 614. 2023-03-06.md

Summary

이 노트는 음성 인식 결과의 세그먼트를 문장(sentence) 단위로 재구성하고, Levenshtein alignment를 통해 타임스탬프를 복구하는 rt-dadumi 모듈의 구현 과정을 기록한다. 턴(turn) 단위로 데이터프레임을 분할하여 처리 효율을 높이는 전략과, 디토크나이징 과정에서 | 기호를 기준으로 토큰을 합치는 로직, 그리고 단어(word) 완성 조건(다음 행의 시작, 화자 변경 등)에 대한 상세한 알고리즘 설계가 포함되어 있다. 또한 일본어 데이터셋(Qoo10, JSUT 등)의 전처리 스테이지 현황과 rtboost 작업 계획을 간략히 언급한다.

Key Points

  • rt-dadumi: 타임스탬프를 가진 최소 의미 처리 단위인 ‘sentence’ 객체 생성 및 Levenshtein alignment 기반 타임스탬프 복구 구현 목표
  • 처리 최적화: 데이터프레임을 턴(turn) 단위로 분할 후 sentence 리스트로 변환하여 텍스트 처리 연산 부하 감소
  • 디토크나이징 로직: | 기호를 기준으로 토큰을 합쳐야 하며, 현재 word의 length는 들어온 segment의 end_at 기준으로 갱신
  • Word 완성 조건: 다음 행이 없음, 다음 segment word가 |로 시작함, 화자 ID(sp_k_id)가 다를 때 현재 word를 디토크나이징하여 sentence에 추가
  • 데이터 현황: Qoo10(stage1 완료), JSUT(stage1 완료), jtubespeech/laborospeech/TEDxJP(stage0 다운로드 전) 등 일본어 데이터셋 전처리 진행 상황
  • 다음 단계: rtboost 추가 작업 및 alignment 구현