5. 데이터 확보 계획

⚠ 2026-08-28 방향 전환 — 이 페이지보다 결정 기록이 우선한다

도메인을 다산콜센터 하나로 줄이고 외국인 고객 지원을 차별점으로 세웠다 (_project/decisions/201, 비공개). 아래 본문의 금융보험·쇼핑·질병관리본부 서술은 그 시점의 사실이라 지우지 않았다 — 절대 원칙 8(“실패를 지운 기록은 기록이 아니다”)과 같은 이유로, 계획이 바뀐 사실 자체가 기록이다.

이 페이지에서 바뀐 것: 4개 도메인 배분이 무효다. 지식베이스 조항 102 → 20개(다산만), 골든셋 50 → 13건. 3주차 150건 확장은 다산 단일 기준으로 다시 짜야 한다. 외국인 화자 한국어 음성은 AI Hub 에 있다(dataSetSn=505 4,302시간 · 71479 1,500시간, 숙련도 4등급 라벨) — 2026-08-28 조사. 전날 「확보량 0건」이라 적은 것은 틀렸다. ⚠ 다만 44.1kHz 스튜디오 녹음이라 8kHz 통화와 다르다 — 다운샘플링해서 재고, 나온 수치는 상한으로 표기한다.

5.1 지식베이스 — 도메인 4종으로 분리 (2026-08-26 갱신)

가상 통신사 “한별텔레콤” 단일 지식베이스는 폐기했다. 실제로 확보한 데이터가 통신 도메인에는 없고, 아래 5.1-1절의 4개 도메인에만 있기 때문이다. 도메인별로 이용약관/안내지침 + 응대 매뉴얼 + 내부 처리 규정을 각각 두고, ES 인덱스도 도메인 필드로 구분해 적재한다. F-2가 참조하는 종결 요건도 해당 도메인 인덱스 안에 있다(F-2 적용 도메인: 금융보험·쇼핑. 미적용: 다산콜센터· 질병관리본부 — 1.4절).

5.1-1 데이터 소스 — AI Hub 「민원(콜센터) 질의-응답」

지식베이스의 카테고리·고객의도 체계가 근거로 삼는 실제 데이터셋이다. 음성이 아니라 전사된 QA 텍스트 + 라벨이며, 화자(고객/상담사)·발화문·고객의도·상담사의도·개체명· 지식베이스 참조 필드까지 포함한다.

도메인 세부 카테고리 (실제 라벨 폴더)
금융보험 사고 및 보상 문의 · 상품 가입 및 해지 · 이체출금대출서비스 · 잔고 및 거래내역
다산콜센터 대중교통 안내 · 생활하수도 관련 문의 · 일반행정 문의 · 코로나19 관련 상담
쇼핑 (K쇼핑) AS · 결제 · 교환 · 반품 · 배송 · 업무처리 · 주문
질병관리본부 건강질병 · 기타문의 · 약품식품 · 온라인신고 · 요양기관 현황 · 증상징후 · 진료비정보

로컬 보관 위치는 5.5-1절 참고. 근거·되돌리는 법: _project/decisions/004-데모-도메인-4종-확정.md.

이 데이터셋의 QA 원문을 지식베이스 문서에 그대로 옮기지 않는다. 카테고리·의도 체계만 참고하고, 실제 조항·매뉴얼 문장은 팀이 새로 쓴다(CLAUDE.md 절대 원칙 6).

5.2 평가용 통화 음성 — AI Hub 실제 데이터

STT 파이프라인 동작 검증과 데모용 음성은 아래 데이터셋을 쓴다. 이 음성 데이터의 도메인은 5.1-1절의 4개 도메인과 별개다 — 통화 음성은 일반 상담 음성 코퍼스에서, 지식베이스 근거는 민원 QA 데이터셋에서 가져온다.

데이터셋 규모 특징
AI Hub 「상담 음성」 3,000시간 교육·금융·통신판매, 가상 시나리오, 저작권 해결 완료
AI Hub 「고객 응대 음성」 3,300시간 5개 클래스, 감정·의도 태깅 및 요약문 포함
AI Hub 「저음질 전화망 음성」 실제 상담 환경 잡음 포함
AI Hub 「민원(콜센터) 질의-응답」 4개 도메인(위 5.1-1절) 텍스트 QA + 도메인/카테고리/의도 라벨. 지식베이스 근거로 사용, 음성 자체도 도메인 폴더별로 포함
서울 열린데이터광장 「행정 민원상담 음성」 56개 시나리오 유형 8kHz, 연령·지역·성별 조합. 다산콜(120) 실음성

주의: 휴대폰 본인인증이 필요하고 승인에 시간이 걸린다. 1주차 즉시 신청.

실제 데이터가 쓰이는 곳과 아닌 곳을 구분한다.

용도 데이터
STT 파이프라인 동작 검증, 데모 AI Hub 실제 음성
4.2절 오류 내성 실험 텍스트 레벨 통제 오류 주입

5.3 골든셋 구축 — 일정 재배치

문서 ID가 존재해야 정답 라벨을 붙일 수 있으므로, 문서 수집과 골든셋 대량 작성은 같은 주에 병렬 수행할 수 없다.

주차 작업
1주차 문서 수집 + 청킹 + ID 부여, 골든셋 10개
2주차 골든셋 50개 → 잠정 베이스라인 측정
3주차 골든셋 150개 → 공식 기준선 확정

2주차 측정값은 방향 확인용이며 회귀 검사에 고정하지 않는다. CI에 박히는 기준선은 150개 셋 완성 후 재측정값이다.

골든셋 스펙에 포함할 항목

- 도메인 (금융보험 / 다산콜센터 / 쇼핑 / 질병관리본부 중 하나)
- 고객 발화 스크립트
- 발화 종료 시각 (트리거 채점용, 4.1절)
- 이 시점에 표시되어야 할 문서 ID (정답, 도메인 접두어 포함 — 예: FIN-TERM-3.2)
- 표시되면 안 되는 문서 ID (오답 후보 — 같은 도메인 + 다른 도메인 오검색 케이스 포함)
- 컴플라이언스 위반 삽입 여부
- 개인정보 패턴 삽입 여부 (P1~P7 중, C-5 채점용)
- (F-2 케이스, 금융보험·쇼핑만 해당) 처리 유형 + 근거 필드 충족 상태 + 기대 판정

반영 완료 (2026-08-26): golden-set/v1-10.json(10건)을 4개 도메인 기준으로 전면 재작성했다 — 금융보험 4 · 쇼핑 3 · 다산콜센터 2 · 질병관리본부 1, F-2 케이스는 적용 도메인(금융보험·쇼핑)에서만 작성. 정답 문서 ID는 knowledge-base/의 실제 조항 ID (도메인 접두어 포함)를 참조하며 깨진 참조는 없다. 지식베이스와 함께 팀 리뷰를 마쳤다 (_project/decisions/004-데모-도메인-4종-확정.md).

50건(2주차)·150건(3주차) 확장 시 도메인 간 비율은 아직 정하지 않았다 — 위 10건 비율은 그때의 참고치이지 확정된 배분이 아니다(티켓).

5.4 F·G 데이터

모듈 필요 데이터 확보
F-2 처리 유형별 필수 확인 항목 가능 — 5.1절 인덱스에 포함, 팀이 규정 작성
F-3 반복 문의 판정용 가상 이력 가능 — 합성
G-2 전국 정신건강복지센터·자살예방센터 목록 가능 — 공개 데이터
F-1 / G-1 실제 고위험 통화 불가능

5.5 데이터 한계 — 반드시 명시할 것

검증할 수 없는 것을 검증한 것처럼 제시하지 않는다.

항목 한계
F-1 / G-1 탐지 성능 실제 데이터 확보 불가. 측정 불가
C-5 마스킹 실제 통화의 개인정보 발화 패턴을 확보할 수 없다. “P1~P7 패턴 목록에 대한 누락 0건”으로 범위를 한정해 측정한다
H-1 (부록 B) AI Hub 감정 태깅은 폭언 라벨과 다르다. 분포 괴리 존재
4.2 오류 내성 통제된 합성 오류 기반. 실제 STT 오류 분포와 완전히 같지 않다

측정 불가능한 절대 규칙은 범위가 한정된 절대 규칙보다 나쁘다. C-5의 목표를 패턴 목록으로 한정하는 것은 완화가 아니라 검증 가능하게 만드는 조치다.

5.5-1 로컬 데이터 보관 위치

AI Hub Validation 세트(D60~D62, 라벨+원천 약 1.1GB)는 저장소 루트의 data/raw/aihub-ktelspeech/ 아래에 D-코드별로 압축 해제해서 둔다. 「민원(콜센터) 질의-응답」데이터셋은 data/raw/aihub-minwon-qa/validation/{source,label}/<도메인명>/에 도메인·카테고리 폴더 그대로 둔다(예: .../label/금융보험/민원(콜센터) 질의응답_금융보험_사고 및 보상 문의_Validation.json). 원본 데이터는 재배포 금지 조항과 용량 문제로 .gitignore 처리되어 커밋되지 않으며, 각자 로컬에 내려받아 채운다. 상세 구조와 받는 법은 data/README.md 참고.

5.6 1주차 전제 확인 항목

착수 전에 확인하지 않으면 후속 설계가 흔들리는 항목들이다.

# 확인 대상 미확인 시 영향
V1 AI Hub 데이터의 채널 구성 → 확인 완료: 전부 모노. ktelspeech(8,000Hz)·krespspeech(16,000Hz)·lowquality-phone(8,000Hz) 세 데이터셋 wav 헤더 직접 확인 A-2는 채널 분리로 우회 불가 — Google STT diarization 필수. 데모도 물리 2채널(브라우저 2대) 대체 필요 (리스크)
V2 GPU 가용 여부 → 확인 완료: Apple M5 MacBook Air, 통합메모리 24GB. CUDA GPU 없음, PyTorch MPS 백엔드로 가속. bitsandbytes 등 CUDA 전용 양자화 도구는 사용 불가 생성 모델 크기 및 레이턴시 예산 → 소형 한국어 모델(polyglot-ko-1.3b 등)부터 MPS로 시작, 골든셋 실측 후 필요 시 단계적 상향
V3 Google STT 한국어 숫자 출력 형태 → 확인 완료: 케이스마다 일관되지 않음. 실제 AI Hub 오디오 3건(자릿수 낭독형/단위 낭독형 2종)으로 실측 C-5 정규화 단계는 “STT가 항상 아라비아 숫자로 준다”고 가정할 수 없다
V4 Google STT 스트리밍 부분 결과 지연 → 확인 완료. 20.58초 실제 통화 음성을 100ms 청크로 실시간 페이싱 전송해 실측 자막 UI·트리거 설계의 지연 기준값으로 사용

V3 실측 상세 — 숫자 출력 형태

발화 유형 실제 발화(AI Hub 정답) Google STT 출력
자릿수 낭독(에러/인증 코드) “코드 팔육칠삼” (8673) "코드 8 60분"오인식 (숫자 정규화 이전에 인식 자체가 틀림)
단위 낭독(마이너스+금액) “마이너스 천” (-1000) "-1000이라고..."아라비아 숫자 + 부호로 완전 정규화
단위 낭독(금액+원) “오천 원” (5000원) "5천 원"부분 정규화 (숫자만 아라비아, 단위는 한글 유지)

결론: 정규화 여부·형태가 케이스마다 다르고, 특히 저품질 통화 음성에서 자릿수 낭독형(인증번호류)은 오인식 위험이 크다. C-5 마스킹 정규식은 “숫자만 나온다”는 가정 없이 한글 단위 혼용·오인식 케이스까지 커버해야 한다. 재현 스크립트: scripts/test_stt_v3.py.

V4 실측 상세 — 스트리밍 부분 결과 지연

재현 스크립트: scripts/test_stt_v4_streaming.py. (측정치는 로컬 macOS + 가정용 회선 1회 실측값이며, 회선 상태에 따라 변동 가능 — 골든셋 규모 재측정 필요)


← 개발목차로 돌아가기