Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎤 PresentAI

AI 기반 발표 피드백 시스템 — 발표 음성을 업로드하면 항목별 피드백과 개선 방향을 자동으로 제공합니다.

주요 기능

  • Filler Word 감지 — "음", "어", "그" 등 불필요한 추임새 자동 감지 및 빈도 시각화
  • 말하기 속도 분석 — 구간별 WPM 측정, 빠름/적정/느림 구간 식별 및 그래프 시각화
  • 논리 구조 평가 — 서론-본론-결론 구조의 적절성 평가
  • 표현 오류 감지 — 부자연스러운 표현, 문법 오류, 조사 오용 등 감지
  • 개선 문장 제안 — 전달력을 높일 수 있는 대안 문장 자동 생성
  • 완성도 점수 — 항목별 가중치를 적용한 0~100점 정량 평가
  • PDF 리포트 — 분석 결과를 PDF로 다운로드하여 반복 연습 시 비교 가능
  • 면접 모드 — 면접 질문을 입력하면 답변 음성을 분석하여 질문-답변 적합도까지 평가

기술 스택

구분 사용 기술
STT (음성→텍스트) OpenAI Whisper API
텍스트 분석 GPT-4o-mini API
웹 UI Streamlit
시각화 Matplotlib
PDF 생성 ReportLab
언어 Python 3.x

시스템 구조

음성 파일 업로드
    → Whisper API (텍스트 변환 + 타임스탬프 추출)
    → WPM 계산
    → GPT-4o-mini (항목별 분석, JSON 응답)
    → Streamlit (시각화 대시보드)
    → ReportLab (PDF 리포트 생성)

설치 방법

# 1. 저장소 클론
git clone https://github.com/Heooooooo/PresentAI.git
cd PresentAI

# 2. 가상환경 생성 및 활성화
python -m venv venv
venv\Scripts\activate  # Windows

# 3. 패키지 설치
pip install -r requirements.txt

# 4. 환경변수 설정
cp .env.example .env
# .env 파일을 열어 OpenAI API 키 입력

실행 방법

streamlit run app.py

브라우저에서 http://localhost:8501 접속 후 음성 파일 업로드

프로젝트 구조

PresentAI/
├── app.py              # Streamlit 메인 (UI + 파이프라인 연결)
├── stt.py              # Whisper STT + WPM 계산
├── analyzer.py         # GPT 분석 프롬프트 + JSON 파싱
├── report.py           # PDF 리포트 생성 (ReportLab)
├── fonts/
│   ├── NanumGothic-Regular.ttf
│   └── NanumGothic-Bold.ttf
├── .env.example
├── .gitignore
├── requirements.txt
└── README.md

분석 항목 및 가중치

항목 가중치 설명
논리 구조 35점 서론-본론-결론 흐름의 논리성
Filler Word 및 반복 표현 25점 불필요한 추임새 및 과도한 반복
말하기 속도 20점 WPM 기준 적정 속도 (80~120 WPM)
표현 정확성 20점 문법, 조사, 표현의 자연스러움

알려진 한계

  • Whisper 환각(Hallucination): 무음 파일 입력 시 Whisper가 존재하지 않는 텍스트를 생성할 수 있음 (예: "시청해주셔서 감사합니다"). 환각 패턴 필터링으로 부분 대응 중
  • GPT 분석 일관성: 동일 입력에 대해 점수가 소폭 달라질 수 있음 (temperature=0.3으로 최소화)

향후 개선 방향

  • librosa 기반 음성 특성 분석 (피치, 음량, 떨림 → 긴장도 분석)
  • 다국어 지원 (영어 발표 분석)
  • 발표 히스토리 저장 및 점수 변화 추적

라이선스 및 참고

  • OpenAI Whisper: MIT License
  • GPT-4o-mini API: OpenAI Terms of Use
  • ReportLab: BSD License
  • Streamlit: Apache 2.0 License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages