본문 바로가기
TIL _Today I Learned/2024.11

[DAY 74] 중간 프로젝트_ 영어 발음 채점 서비스 구현

by gamdong2 2024. 11. 4.
[천재교육] 프로젝트 기반 빅데이터 서비스 개발자 양성 과정 9기
학습일 : 2024.11.04

📕 프로젝트 작업 내역

  • 중간 프로젝트 주제 선정
  • 개발 기획안 초안 작성
  • 회의록 작성

 

📗 회의록

  • 회의 일자: 2024년 11월 4일
  • 회의 주제: 영어 발음 채점 유사 서비스 탐색 및 구현 방안 탐색
  • 참석자: OOO, OOO, OOO

 

1. 주요 논의 사항

1) 중간 프로젝트 주제 선정

영어 발음 채점 서비스 구현

 

2) 개발 기획안 초안 작성

[목자]
1. 요약
2. 개요
3. 유사 서비스 및 차별점
4. 기능 설명
5. 기술적 구현 방안
6. 기대 효과

 

3) 서비스 주요 기능

  • 레벨 조정: 사용자 선택을 통해 초등학생 학년 맞춤형 학습 제공
  • 발음 채점 및 피드백: PyTorch 기반 음성 인식 모델로 발음 정확도, 억양, 유창성 평가. OpenAI를 활용한 자연어 피드백 제공
  • 리워드 및 대결 시스템: 목표 달성 시 포인트 리워드 제공, 전국 학생과의 랭킹 경쟁 기능
  • 천재교육 캐릭터 및 UX/UI: 초등학생 친화적인 천재교육 캐릭터 활용, 학습 내용 요약 및 피드백 제공
  • 밀크티 관련 강의 연계 추천: 채점 결과에 맞춰 밀크티 강의 추천

4) 기술적 구현 방안

  • 음성 인식 기술 활용 계획
    • PyTorch 기반 음성 인식 모델을 사용하여 사용자의 발음을 정확하게 인식하고 분석
    • 음성 데이터 전처리로 MFCC(Mel-Frequency Cepstral Coefficients) 등의 음향 특징을 추출하여, 모델이 음성의 주파수 특성을 학습할 수 있도록 함
    • ASR(Automatic Speech Recognition) 시스템을 구축해, 사용자 음성을 텍스트로 변환하여 분석할 수 있도록 지원
  • 발음 채점 알고리즘 개요 및 선택 이유
    • 발음 채점 알고리즘은 발음의 정확도, 억양, 유창성 등을 평가하는 방식을 채택
    • OpenAI의 자연어 처리 모델을 활용해, 사용자가 발음한 내용에 대해 구체적이고 이해하기 쉬운 피드백을 생성하여 제공
    • 선택 이유: PyTorch와 OpenAI 모델을 함께 사용하면 높은 수준의 음성 인식과 자연어 기반 피드백이 가능해 사용자 맞춤형 발음 평가 및 학습 지원
  • 학습 데이터 수집 및 처리 방식
    • 음성 데이터 수집: 공개 음성 데이터셋(예: LibriSpeech)과 실제 사용자 음성 데이터를 수집하여 모델 학습에 사용
    • 데이터 전처리: 수집된 음성 데이터를 샘플링, 노이즈 제거, 특성 추출(MFCC 변환) 등의 과정을 거쳐 처리하여 학습에 최적화
    • 데이터 증강: 다양한 발음 패턴을 학습시키기 위해 음성 데이터를 변형(속도, 음정 등)하여 데이터셋을 확장함으로써 모델의 일반화 능력을 높임
  • 모델 학습 방법
    • 모델 학습: PyTorch를 사용해 음성 인식 모델을 훈련하며, CTC(Connected Time Classification) 손실 함수를 적용해 발음의 연속성을 유지하며 학습시킴
    • 지속적인 모델 개선: 실제 사용자 데이터를 기반으로 모델을 주기적으로 재학습하여 발음 채점의 정확도와 신뢰도를 지속적으로 향상
  • Django를 활용한 웹 구현 방안
    • Django 프레임워크를 이용한 웹 애플리케이션 개발: Django를 통해 프론트엔드와 백엔드가 통합된 웹 애플리케이션 구축
    • 음성 업로드 및 처리 기능: 사용자가 웹 인터페이스에서 자신의 음성을 업로드하면, Django가 이를 PyTorch 모델로 전달하여 실시간 분석 결과와 피드백을 제공
    • OpenAI API 연동: Django를 통해 OpenAI API와 연결하여, 자연어 기반의 피드백 및 학습 조언을 실시간으로 생성해 사용자에게 제공
    • 프론트엔드 UI/UX 구현: 사용자 친화적인 학습 환경을 위해 Django 템플릿 엔진과 JavaScript, HTML, CSS를 활용하여 학습 현황과 피드백을 직관적으로 보여주는 웹 UX/UI 구현
    • 보안 강화: Django의 인증 기능을 사용해 사용자 데이터와 개인정보를 보호하며, SSL 인증서와 데이터 암호화를 통해 보안성 높임
  • 학습 데이터 및 로그 저장
    • PostgreSQL 데이터베이스에 저장: Django ORM(Object-Relational Mapping)을 사용하여 PostgreSQL과 연결하고, 사용자 정보, 학습 기록, 로그 데이터를 안전하게 저장 및 관리
    • 사용자 로그 저장 계획: 사용자 음성 업로드 및 분석 내역, 피드백 제공 기록을 PostgreSQL 데이터베이스에 저장. 이를 통해 사용자 학습 경로와 활동을 추적할 수 있음
    • 데이터 접근 및 관리: Django의 권한 관리 기능을 통해 데이터 접근 권한을 관리하고, 데이터베이스 접근 기록을 남겨 보안성 높임

 

2. 다음 과제

  • 사용할 학습 데이터 선정
  • UI/UX 와이어프레임 그리기
  • 최적의 음성 인식 모델 추가 서치 (Hugging Face 이용)
  • Open AI 사용 계획 구체화
  • 최적의 DB 추가 서치 (MongoDB 등)

 

 

📙 내일 일정

  • 중간 프로젝트 기획