NLP4STT: 교정 전후 문자열 매핑 및 띄어쓰기 복원 알고리즘

Source

  • Field Notes/ReturnZero/Daily Notes/Day 505. 2022-11-17.md

Summary

음성 인식(STT) 결과의 맞춤법/띄어쓰기 교정 과정에서 원본 문자열과 교정된 문자열 간의 인덱스 매핑 문제를 다룹니다. 교정으로 인해 글자 수가 변할 수 있어 단순 인덱스 대응이 불가능하므로, 교정 유형(정상, 맞춤법, 띄어쓰기, 표준어, 통계적)에 따라 조건부 탐색 알고리즘을 설계하여 원본의 띄어쓰기 정보를 선택적으로 복원하는 방법을 논의합니다.

Key Points

  • 문제의식: STT 교정 과정에서 글자 수 증가/감소(예: ‘일케’->‘이렇게’)로 인해 원본과 교정 결과의 문자 인덱스 간 1:1 매핑이 깨짐
  • 교정 유형 정의: 0(정상), 1(맞춤법), 2(띄어쓰기), 3(표준어), 4(통계적 교정)로 분류하며, 유형 0, 2는 길이 보존 보장
  • 매핑 알고리즘: 교정 유형이 0 또는 2일 경우 직접 계산, 그 외 경우 다음 단어의 시작점 일치 여부 등을 통해 탐색(2차 여행)하여 원본 끝 인덱스(e_i) 추정
  • 목표: 교정된 문장에서 띄어쓰기 오류만 수정된 결과를 원본의 띄어쓰기 정보를 활용하여 복원 (맞춤법 교정은 무시하고 띄어쓰기만 적용)
  • 복원 로직: 교정 유형이 0, 2면 교정된 띄어쓰기 인덱스(B’) 사용, 아니면 원본 띄어쓰기 인덱스(B) 사용하여 결과 문자열 구성