standardize_pronunciation은 한글 문자열에 자주 쓰이는 표준 발음 규칙을 적용해 발음에 가까운 한글 표기로 변환합니다.
처리하는 규칙
- 연음
- 구개음화
- ㅎ 축약과 거센소리되기
- 비음화
- 유음화
- ㄴ 첨가
- 겹받침 단순화
- 된소리되기 일부
- 자주 쓰이는 예외
예시
hard_conversion=False이면 된소리되기를 적용하지 않습니다. 연음, 받침
단순화, 거센소리되기, 비음화와 유음화 등 나머지 규칙은 그대로 적용합니다.
explain=True와 함께 사용할 수도 있습니다.
적용 규칙 추적
explain=True이면 발음 문자열과 실제 적용된 규칙 단계를 담은 불변
PronunciationResult를 반환합니다. pronunciation은 최종 발음이고, 각
PronunciationRuleStep에는 rule, before, after가 들어 있습니다.
참고
표준 발음은 예외와 어휘 의존성이 큰 영역입니다. 이 함수는 일반적인 규칙과 대표 예외를 다루며, 모든 사전식 발음을 완전히 대체하지는 않습니다.같이 보기
어휘 경계와 사용자 사전
ㄴ 첨가는 공유 어휘 목록과 지원하는 조사 결합을 기준으로 적용합니다.꽃잎, 솜이불, 색연필을 처리하며 금요일, 먹여에는 임의로 ㄴ을 넣지
않습니다. 임의의 합성어와 형태소 경계를 완전히 분석하는 기능은 아닙니다.
lexicon={"원문": "최종 발음"}을 넘기면 NFC로 정규화한 연속 한글 구간과
정확히 일치하는 항목을 우선 적용합니다. 값은 추가 음운 변환 없이 반환하며,
사전은 해당 호출에만 사용됩니다. explain=True의 기록에도 반영됩니다.
explain=False에서는 단계별 설명 문자열을 생성하지 않습니다.