난독증 아동을 위한 VR 기반 한글 학습 시스템
Reading Buddy는 난독증을 가진 어린이들을 위한 VR 기반 한글 학습 플랫폼입니다.
AI 음성 인식 기술을 활용하여 자음과 모음 발음을 정확하게 분석하고, 몰입감 있는 VR 게임 환경에서 재미있게 한글을 익힐 수 있도록 돕습니다.
난독증(Dyslexia)은 읽기와 쓰기에 어려움을 겪는 학습 장애로, 전체 아동의 약 5-10%가 경험합니다.
특히 한글은 자음과 모음을 조합하는 독특한 구조로 인해 난독증 아동에게 학습 난이도가 높습니다. 기존 학습 방법은 반복적이고 지루하여 학습 의욕을 떨어뜨리는 문제가 있습니다.
Reading Buddy는 VR 기술과 AI를 결합하여:
- 몰입감 있는 훈련 환경에서 자연스럽게 한글을 학습
- 음소 단위 발음 분석으로 정확한 피드백 제공
- BKT(Bayesian Knowledge Tracing) 알고리즘으로 개인별 학습 진도 관리
- 모바일 앱을 통한 학습 현황 추적 및 취약 음소 분석
- 자모 중심 학습: 자음(ㄱ, ㄴ, ㄷ...), 모음(ㅏ, ㅓ, ㅗ...) 개별 발음 연습
- 스테이지별 난이도: 자모 → 음절 → 단어로 점진적 학습
- 실시간 음성 인식: AI 기반 발음 분석 및 즉각적 피드백
- 게임화된 학습: 마법사가 되어 주문(한글)을 외우는 재미있는 스토리
- BKT 기반 진도 관리: 개인별 음소 숙련도(KC)를 추적하여 맞춤형 문제 제공
- 간편 VR 로그인: 4자리 코드로 VR 기기와 빠른 연결
- 학습 현황 대시보드: 출석 기록, 스테이지별 성취도, 일일 학습 시간
- 취약 음소 분석: 개인별로 어려워하는 자음/모음 파악 및 추천 학습
- KC 숙련도 그래프: BKT 기반 학습 진행도 시각화
- 학습 통계: 정답률, 평균 시도 횟수, 음소별 성공률
- Wav2Vec2 + LoRA: 한국어 어린이 음성(3500시간) 특화 파인튜닝
- 음소 단위 분석: 자모(ㄱ, ㄴ, ㅏ, ㅓ) 개별 발음 정확도 평가
- 음절/단어 지원: "가", "나", "감자", "사과" 등 다양한 단위 분석
- 실시간 피드백: 평균 0.1초 이내 발음 교정 피드백
- 성능 지표:
- PER: 36.67% → 14.55% (60.3% 개선)
- CER: 26.40% → 10.51% (60.2% 개선)
- 베이스 모델 대비 2.5배 정확도 향상
| Category | Technologies |
|---|---|
| Frontend (VR) | |
| Frontend (Mobile) | |
| Backend | |
| AI | |
| DevOps | |
| Monitoring | |
| Collaboration |
S13P31A206/
├── frontend/ # VR Unity 프로젝트
│ ├── unity/ # Unity 프로젝트 루트
│ │ ├── Assets/ # 게임 에셋, 스크립트
│ │ └── ...
│ └── README.md # VR 프론트엔드 상세 문서
│
├── reading_buddy_app/ # Flutter 모바일 앱
│ ├── lib/ # Dart 소스 코드
│ │ ├── features/ # 기능별 모듈 (Clean Architecture)
│ │ ├── core/ # 공통 기능 (네트워크, 라우팅 등)
│ │ └── main.dart
│ └── README.md # 모바일 앱 상세 문서
│
├── backend/ # Spring Boot API 서버
│ ├── src/ # Java 소스 코드
│ ├── build.gradle # Gradle 빌드 설정
│ └── README.md # 백엔드 상세 문서
│
├── ai/ # AI 음성 인식 서버
│ ├── app/ # FastAPI 애플리케이션
│ │ ├── main.py # API 엔드포인트
│ │ ├── routers/ # 라우터 (자모/음절/단어 검사)
│ │ └── services/ # 추론 서비스 (Wav2Vec2 + LoRA)
│ ├── models/ # Wav2Vec2 + LoRA 모델 (1.2GB + 23MB)
│ ├── Dockerfile
│ └── README.md # AI 서버 상세 문서
│
├── Fine-tuning/ # AI 모델 학습 파이프라인
│ ├── scripts/ # 학습/평가 스크립트
│ │ ├── training/ # Phase 1→2→3 학습
│ │ └── evaluation/ # WER/CER 평가
│ ├── docs/ # 학습 계획 및 분석 문서
│ ├── results/ # 실험 결과 (WER 14.8%)
│ └── README.md # Fine-tuning 상세 문서
│
├── monitoring/ # 모니터링 (Prometheus + Grafana)
│ ├── prometheus/ # Prometheus 설정
│ ├── grafana/ # Grafana 대시보드
│ └── docker-compose.yml
│
├── dummy-scripts/ # 유틸리티 스크립트
│ ├── generate_voice.py # gTTS 기반 음성 파일 생성 및 S3 업로드
│ └── README.md # 스크립트 사용법
│
└── .gitlab/ # GitLab CI/CD 설정
└── merge_request_templates/
각 모듈별 상세 문서는 아래 링크를 참고하세요:
| 모듈 | 설명 | 문서 링크 |
|---|---|---|
| VR Frontend | Unity 기반 VR 한글 학습 게임 | frontend/README.md |
| Mobile App | Flutter 기반 학습 현황 대시보드 앱 | reading_buddy_app/README.md |
| Backend | Spring Boot 기반 RESTful API 서버 | backend/README.md |
| AI Server | Wav2Vec2 + LoRA 기반 한국어 발음 분석 API | ai/README.md |
| Fine-tuning | 어린이 음성 특화 AI 모델 학습 파이프라인 | Fine-tuning/README.md |
| Scripts | 학습용 음성 데이터 생성 유틸리티 (gTTS + S3) | dummy-scripts/README.md |
| 이름 | 역할 | 주요 담당 업무 | GitHub | |
|---|---|---|---|---|
![]() |
백태균 | 백엔드 | API 설계, Spring Security 인증/인가, 데이터베이스 설계, JWT 토큰 관리, DevOps | @TaegyunB |
![]() |
정연수 | 백엔드 | 학습 세션 관리, 대시보드 API, 출석/통계 기능, 데이터 분석 | @cheesecrust |
![]() |
지준오 | 백엔드 | BKT 알고리즘 구현, KC 숙련도 추적, 개인 맞춤형 학습 로직, 음소 분석 | @MegaZizon |
| 이름 | 역할 | 주요 담당 업무 | GitHub | |
|---|---|---|---|---|
![]() |
이채연 | 프론트엔드 | VR 게임 로직, 스테이지 시스템 설계, AI 음성 인식 연동, 학습 세션 관리, VR UI/UX | @amy010510 |
![]() |
최유진 | 프론트엔드 | Flutter 모바일 앱 개발, 대시보드 UI, 학습 통계 시각화, VR 디바이스 로그인, 상태 관리 | @jinnyujinchoi |
| 이름 | 역할 | 주요 담당 업무 | GitHub | |
|---|---|---|---|---|
![]() |
김광현 | AI | Wav2Vec2 모델 파인튜닝, LoRA 학습 파이프라인, FastAPI 추론 서버, 음소 유사도 분석 | @kimgwang-hyeon |
교육 목적으로 제작된 프로젝트입니다.
Project: SSAFY 13기 특화 프로젝트





