GoP(Goodness of Pronunciation) 서비스 구현 및 NLP 태스크 검토

Source

  • Field Notes/ReturnZero/Daily Notes/Day 317. 2022-05-13.md

Summary

이 노트는 발음 평가 알고리즘인 GoP(Goodness of Pronunciation)를 gRPC 서비스로 구현하기 위한 기술적 배경과 구조를 정리한 내용이다. Kaldi 기반의 기존 ASR 파이프라인과 GoP 시스템 간의 차이점(특히 feature pipeline 및 decoder 구조)을 분석하며, MFCC/ivector 추출부터 force-alignment, LPP/LPR 계산, 최종 점수 산출까지의 GoP 원리를 단계별로 서술한다. 또한, Kaldi 레시피를 직접 서비스에 탑재하기 어려웠던 이유(이해도 부족, 시스템 차이)를 언급하며 gRPC 기반의 GopOnlineDecoderService 구현 방향을 제시한다. 부수적으로 질문 감지 및 키워드 추출과 관련된 NLP 태스크의 우선순위와 요구사항도 간략히 기록되어 있다.

Key Points

  • GoP 알고리즘은 CALL 시스템의 발음 교정 및 Wake word 구현에 활용되며, Kaldi 레시피를 기반으로 한다.
  • GoP 처리 파이프라인: 1) MFCC/ivector 기반 phone 확률 행렬 생성, 2) Lexicon FST 준비, 3) Force-alignment 및 transition ID 변환, 4) LPP/LPR 계산, 5) 발음 평가(classification).
  • 기존 VITO 서비스의 Kaldi experience 를 그대로 적용하기 어려웠으며, 일반 ASR 과 GoP 시스템 간 feature pipeline 및 decoder 구조의 차이를 명확히 이해해야 함.
  • 구현 전략: gRPC 서비스(GopOnlineDecoderService)를 통해 스트리밍 방식으로 GoP decoding 을 수행하는 구조로 설계.
  • NLP 태스크(키워드 추출, 질문 감지)는 현재 낮은 우선순위로 분류되었으며, 어미 분석 및 물음표 감지 등 세부 요구사항이 명시됨.