안녕하세요! 오늘은 AI 음성 인식의 핵심인 STT 데이터에 대해 자세히 알아보겠습니다.
STT 데이터란? 🤔
STT 데이터는 마치 우리가 외국어를 배울 때 듣기 교재와 스크립트를 함께 보는 것과 비슷합니다!
- 음성 파일과 그에 해당하는 정확한 텍스트 전사(transcript)의 쌍
- AI 모델이 음성을 텍스트로 변환하는 법을 학습하는데 사용
- 다양한 화자, accent, 환경 노이즈 등을 포함
STT 데이터의 구성요소 🎯
1. 음성 데이터 특성
- 샘플링 레이트: 보통 16kHz 또는 44.1kHz
- 오디오 형식: WAV, MP3, FLAC 등
- 채널: 모노/스테레오
- 비트심도: 16-bit, 24-bit 등
2. 텍스트 데이터 특성
- 발화 내용의 정확한 전사
- 시간 정보 (타임스탬프)
- 화자 정보
- 감정/상황 태그 (선택적)
STT 데이터 구축 프로세스 📝
음성 수집
- 전문 녹음
- 크라우드소싱
- 실제 대화/방송 녹음
전처리
# 오디오 전처리 예시 audio = load_audio("sample.wav") processed_audio = preprocess_audio(audio) # - 노이즈 제거 # - 음성 강화 # - 샘플링 레이트 통일
레이블링
{ "audio_id": "001", "duration": "5.2", "text": "안녕하세요 반갑습니다", "speaker_id": "SPK_001", "timestamp": { "start": "0.0", "end": "5.2" } }
주요 STT 데이터셋 📚
1. 한국어 데이터셋
- AIHub 한국어 음성
- KsponSpeech
- zeroth-korean
2. 영어 데이터셋
- LibriSpeech
- Common Voice
- TIMIT
데이터 품질 기준 ⭐
음성 품질
- SNR(Signal-to-Noise Ratio)
- 음성 명료도
- 배경 노이즈 수준
전사 품질
- 철자 정확도
- 구두점 일관성
- 특수 기호 처리
다양성
- 화자 다양성
- 방언/악센트
- 도메인 커버리지
데이터 증강 기법 🔄
음성 증강
# 음성 증강 예시 augmented_audio = add_noise(audio, noise_level=0.1) augmented_audio = change_speed(audio, speed_factor=1.2) augmented_audio = pitch_shift(audio, steps=2)
환경 시뮬레이션
- 잔향 효과
- 배경 소음 추가
- 채널 왜곡
주의사항 ⚠️
개인정보 보호
- 화자 동의 확보
- 민감 정보 제거
- 데이터 익명화
품질 관리
- 일관된 가이드라인
- 교차 검증
- 정기적인 품질 평가
실제 활용 사례 💡
# STT 데이터 로딩 예시
def load_stt_dataset(path):
dataset = {
'audio': [],
'text': [],
'metadata': []
}
# 데이터 로딩 로직
return dataset
# 데이터 전처리 파이프라인
def preprocess_pipeline(dataset):
# 1. 오디오 정규화
# 2. 노이즈 제거
# 3. 특수문자 처리
return processed_dataset
마치며 🎁
STT 데이터는 음성 인식 AI의 성능을 좌우하는 핵심 요소입니다. 양질의 데이터를 구축하고 관리하는 것이 성공적인 STT 시스템 개발의 첫걸음입니다!
참고문헌:
728x90
'800===Dev Docs and License > TA 사업' 카테고리의 다른 글
STT(Speech-to-Text) 데이터: 음성을 텍스트로 변환하는 마법 🎤 - Part 2 (2) | 2024.11.18 |
---|