Korean Spacing Algorithm Bug: Merged Phrase Overlap

Source

  • Field Notes/ReturnZero/Daily Notes/Day 515. 2022-11-27.md

Summary

한국어 띄어쓰기 교정 알고리즘에서 merged_phrase의 마지막 글자가 다음 정상 구절의 첫 글자와 겹칠 때 발생하는 파싱 오류를 발견하고 분석함. 삼성카드 번호 및 주소 텍스트 테스트 케이스를 통해 ‘고칠/공’, ‘무명/시’ 등에서 단어 경계가 잘못 인식되거나 중복 삽입되는 버그를 확인함. 현재 알고리즘의 시작점 계산 로직(k = b + len(merged_phrase[i]) - 1)이 문제의 원인으로 지목됨.

Key Points

  • 버그 현상: 병합된 구절(merged_phrase)과 다음 구절의 경계에서 글자 중복 또는 잘못된 띄어쓰기 발생
  • 테스트 케이스: 신용카드 번호(삼성카드), 도로명 주소(무명시 무명구) 등 특수 문자와 숫자가 혼합된 텍스트
  • 원인 분석: 현재 알고리즘의 인덱스 계산 로직(k의 시작점)이 겹치는 경우를 처리하지 못함
  • 상태: 버그 재현 완료, 원인 추정 완료, 수정 필요