pulse.huny.dev
HunyDev
Understanding POI Handling in TTS Systems

Understanding POI Handling in TTS Systems

TTS에서 POI(Proper Name or Point of Interest)는 상호·브랜드·인명·지명 같은 고유명사 발음을 정확히 내도록 다루는 기술

Hun Jang
Hun Jang Nov 25, 2025

TTS 발음 정확도를 위한 POI 이해

TTS에서 **POI(Proper Name or Point of Interest)**는 상호·브랜드·인명·지명 같은 고유명사 발음을 정확히 내도록 다루는 기술

왜 중요한가

  • 실제 서비스 대본의 30% 안팎이 고유명사(브랜드, 앱·서비스명, 지점명, 상품명)로 섞여 있다.
  • G2P만으론 새 브랜드/혼성 표기(영+한+숫자, 대소문자, 약어)를 자주 틀린다.
  • 잘못 읽으면 신뢰·전환(콜센터, 내비게이션, 광고, IVR) 직격탄.

실무에서 통하는 하이브리드 접근

  1. 사전(Dictionary) 계층
  • 항목: 표기(surface), 발음(phoneme/romaja), 언어/도메인 태그, 우선순위, 유효기간, 동음이의 fallback.
  • 키 정규화: 대소문자, 하이픈, 공백·특수문자, 라틴/한글 대응(예: “WooriCard”, “우리카드”).
  • 발음 표기: 엔진용 음성기호(예: IPA/XSAMPA/내부 음소)로 저장. 억양 힌트(ToBI/phrase break) 컬럼 있으면 베스트.
  1. 컨텍스트 모델링
  • 언어모델/규칙으로 문맥별 발음 선택:
    • “MS” → [엠에스] vs [마이크로소프트],
    • “Apple” → [애플] vs [애쁠](영어 TTS),
    • “LIVE” → [라이브] vs [리브] (브랜드).
  • 도메인 태그(금융/내비/쇼핑)와 슬롯(‘상호명’, ‘지점명’)을 신뢰도 가중치에 반영.
  1. OOV(사전에 없는 단어) 백오프
  • 규칙 G2P → 영어 철자 읽기 규칙 → 약어 규칙(전부 대문자면 철자 읽기) → 숫자 읽기(케이스: “11번가”, “B2B”, “iPhone 15 Pro”).
  • Web/내부 NER로 고유명사 탐지 후 동적 후보 생성(캐시).
  1. 다국어/코드스위칭
  • 토큰별 언어 탐지와 언어별 G2P를 음소 인터페이스 한 층으로 수렴.
  • 예: “우리카드 WiBee Bank” → KO 음소 + EN 음소 혼용, 공백 전후 억양 경계(B1/B2) 삽입.

최소 구현 체크리스트

POI 사전 지원: 항목 CRUD, 우선순위, 배포 롤백.

발음 표기 포맷: 내부 음소/IPA 지원, 억양·강세 힌트 입력.

컨텍스트 선택기: 약어/브랜드/언어별 규칙 + 도메인 가중치.

OOV 처리: 약어·숫자·혼성토큰 규칙, 캐시.

다국어: 코드스위칭, 언어 태그별 G2P 플러그인.

대량 일괄 테스트: 사전 회귀 테스트 + ASR 역인식 일치율.

런타임 A/B 토글: 신규 사전/규칙 온오프.

스키마 예시 (간단 JSON)

평가/모니터링 팁

  • ASR 역인식 일치율(TER/WER): POI 토큰 가중치↑.
  • 사전 커버리지: 서비스 로그의 NER 추출 상위 POI 대비 커버 비율.
  • 오탐 로그: 사용자 수정/정정 이벤트로 사전 자동 제안.

빠른 데모용 규칙 스니펫(의사코드)

 

You might also like

BlogPro logo
Made with BlogPro

Tags