| (1) 과제명 | QRAB(큐랩): 대학생을 위한 AI 기반 퀴즈 생성을 통한 학습 보조 서비스 |
|---|---|
| (2) 팀 번호 / 팀 이름 | 16-불사신 |
| (3) 팀 구성원 | 김민영 (2076040): 리더, 백엔드, AI 이윤진 (2176000): 팀원, 백엔드, AI 최영서 (2176000) : 팀원, 프론트엔드, AI |
| (4) 팀 지도교수 | 심재형 교수님 |
| (5) 팀 멘토 | 임도형 / 로완 / CTO/CAIO |
| (6) 과제 분류 | 산학 과제 |
| (6) 과제 키워드 | 텍스트 생성형 AI, RAG, OCR, WEB |
| (7) 과제 내용 요약 | QRAB(큐랩)은 온라인으로 노트, 학습 블로그 등을 작성하는 대학생을 대상으로 하는 AI 기반 퀴즈 생성 및 학습 보조 웹 서비스입니다. 현재 시중에 온라인 노트 작성 서비스나 퀴즈 서비스는 존재하지만, 사용자가 자신의 학습 자료를 활용해 복습할 수 있는 플랫폼은 존재하지 않습니다. 이에 저희는 사용자가 자신이 기존에 작성한 학습 자료를 활용할 수 있도록 하고, 학습 효율을 높일 수 있게 하는 새로운 플랫폼을 개발하고자 했습니다. QRAB에서 사용자는 자신이 기존에 작성한 자료를 URL, PDF, 이미지 파일 등 다양한 형태로 불러와 노트로 저장합니다. 그 다음 저장한 노트를 통해 자동 퀴즈를 생성하고, 다양한 난이도로 생성된 퀴즈를 풀며 자연스럽게 복습을 수행합니다. 이후 필요에 따라 틀린 퀴즈를 바탕으로 하는 응용 퀴즈를 생성해 학습 효과를 높일 수 있습니다. 이렇게 푼 퀴즈들을 바탕으로 사용자는 학습 분석 단계에서 월 별 학습 분석, 취약 카테고리 분석 등을 살펴보며 자신의 학습 패턴과 보완점을 인지할 수 있습니다. 또, 상세 분석을 통해 사용자 맞춤형 학습 전략 및 추천 자료를 제공받습니다. 사용된 기술은 다음과 같습니다. 우선 Frontend는 React, Backend는 Spring Boot를 활용해 개발했습니다. 저희는 크롤링 기능을 위해 JSoup 라이브러리를 활용하며, 이미지 파일의 텍스트를 추출하기 위해 Naver Clova OCR API를 사용합니다. 웹 페이지의 전체 화면을 캡처하기 위해 Selenium WebDriver를 사용하며, PDF parsing을 위해 Apache PDFBox 라이브러리를 사용합니다. 노트 요약, 퀴즈 생성, 학습 분석에는 ChatGPT-4o mini API가 사용되며, 학습 분석에는 RAG와 Langchain을 사용해 학습 분석의 정확도를 높입니다. |
| 항목 | 내용 |
|---|---|
| (1) 평가(Evaluation) | 1. 평가항목 선정 1.1. 평가항목 설명 본 프로젝트는 서비스 타겟층이 대학생이고, 특히 교육 관련 서비스이므로 사용자 친화적인 인터페이스 제공, 기능의 완성도, 시스템 성능 최적화가 중요합니다. 이에 따라 사용자 요구사항과 기술적 목표를 기반으로 평가항목을 3가지(사용성(UI/UX), 기능 완성도, 성능)로 선정하였습니다. 1.2. 평가항목 선정 사유 - 사용성(UI/UX): 대학생 사용자가 노트 생성 및 퀴즈 풀이 과정을 직관적으로 이해하고 접근할 수 있는지 판단이 필요합니다. - 기능 완성도: 노트 기반 퀴즈 생성, 응용 퀴즈 제공, 학습 분석 및 맞춤형 자료 추천 등 핵심 기능이 안정적이고 정확하게 구현되었는지 확인이 필요합니다. - 성능: 노트 저장, 퀴즈 생성, RAG를 이용한 상세 분석 등의 데이터 처리 속도와 응답 시간이 서비스 품질에 직결되므로 성능 측정이 중요합니다. 2. UI/UX 사용성 2.1. UI/UX 사용성 - 직관적인 사용자 인터페이스 설계와 사용자 경험을 평가합니다. 특히 노트 저장, 학습 자료 요약, 퀴즈 생성 등 핵심 기능들의 사용 편의성을 중점적으로 평가합니다. 2.2 평가 기준 - 기준 1 (50-65점): 기본적인 UI 구성요소가 구현되어 있으나 사용성이 부족함 - 기준 2 (66-85점): 직관적인 UI와 원활한 기능 사용이 가능함 - 기준 3 (86-100점): 사용자 친화적 UI와 함께 효율적인 기능 사용이 가능함 2.3 평가 방식 - 실제 사용자 테스트를 통한 피드백 수집 - 주요 기능별 사용성 테스트 진행 (노트 저장, 퀴즈 생성, 학습 분석 등) - 11/28-12/4 기간 동안 5명의 테스트 사용자를 선정하여 각 기능당 기능 수행 시간과 만족도를 평가 3. 기능 완성도 3.1. 기능 완성도 - 다양한 학습 지원 기능들의 구현 완성도와 안정성을 평가합니다. 특히 노트 저장, 텍스트 요약, 퀴즈 생성, 맞춤형 학습 보조, 통합 학습 환경 제공 등 핵심 기능의 완성도를 중점적으로 평가합니다. 3.2. 평가 기준 - 기준 1 (50-65점): 기본적인 기능이 구현되어 있으나 안정성이 부족함 - 기준 2 (66-85점): 대부분의 기능이 안정적으로 구현되어 있음 - 기준 3 (86-100점): 모든 기능이 완벽하게 구현되어 있고 높은 안정성을 보임 3.3 평가 방식 - 각 기능별 요구사항 체크리스트 작성 및 검증 - 기능 테스트 시나리오 실행 및 결과 측정 - 스트레스 테스트를 통한 안정성 검증 4.성능 4.1. 성능 - 시스템의 전반적인 성능과 효율성을 평가합니다. 특히 데이터 처리 속도와 시스템 응답 시간을 중점적으로 평가하여 사용자에게 원활한 서비스를 제공할 수 있는지 확인합니다. 4.2. 평가 기준 - 기준 1 (50-65점): 기본적인 성능 요구사항을 충족하나 처리 속도가 느림 (15초 이상) - 기준 2 (66-85점): 대부분의 기능이 적정 속도(5-15초)로 처리되며 안정적으로 동작함 - 기준 3 (86-100점): 모든 기능이 빠른 속도(5초 이내)로 처리되며 자원을 효율적으로 사용함 4.3. 평가 방식 - 데이터 처리 속도 측정: 노트 저장, 텍스트 요약, 퀴즈 생성 등 주요 기능의 처리 시간 측정 - 시스템 응답 시간 테스트: 각 기능 실행 시 서버 응답 시간 측정 5. 평가 내용 및 결과 5.1. UI/UX 사용성 - 사용자 만족도 조사 결과, 평균 만족도 94.6점으로 대부분의 사용자가 직관적인 UI와 간편한 네비게이션에 만족하였고, 핵심 기능 (노트 저장, 퀴즈 생성)의 기능성은 매우 긍정적으로 평가되었습니다. - 다만 노트 업로드나 퀴즈 생성 시 로딩 시간이 길어지는 문제가 지적되었고, 이를 개선하기 위해 인터랙티브 요소를 추가하면 사용자가 기다림을 덜 느끼도록 할 수 있겠다는 피드백이 있었습니다. ** 5.2. 기능 완성도** - 기능 테스트 실행 결과, 평균 만족도 96.5점으로 대부분의 사용자가 전체 기능을 문제 없이 제공받았습니다. - 특히 퀴즈 결과를 기반으로 사용자 맞춤형 학습 분석 결과를 제공해주는 학습 분석 기능에서 높은 만족도를 받을 수 있었습니다. - 다만, 학습 참고 자료 제공 시, 외국 사이트가 아닌 한국어 기반의 더 친숙한 참고 자료 사이트를 제공받기를 원한다는 피드백이 있었습니다. ** 5.3. 성능** - 전체 기능을 대상으로 처리 시간을 측정하고 평가를 진행한 결과, 약 92.1점의 결과를 얻을 수 있었습니다. - 텍스트 요약, 학습 결과 분석 기능에서는 1초 이내의 서비스를 제공하였지만, 노트 저장과 퀴즈 생성 기능 수행 시 약 10초~13초의 지연 시간이 걸리는 결과를 얻었습니다. |
| 항목 | 내용 |
|---|---|
| (1) 결론(Conclusion) | 본 프로젝트인 QRAB(큐랩) 은 본질적으로 대학생들의 학습 고민을 해결하기 위해 고안된 맞춤형 학습 보조 서비스입니다. 전통적인 학습 방식, 즉 노트를 작성하고 이를 반복해서 읽는 것만으로는 새로운 지식 정착과 학습 효율성이 제한적임을 파악하였습니다. 특히 개인이 정성껏 정리한 노트나 자료들을 다시 복습하고 이를 통해 자신이 얼마나 숙지했는지를 판단하기는 쉽지 않습니다. 이러한 문제를 해결하기 위해 저희는 "사용자의 기존 학습 자원을 적극적으로 활용하여 복습 과정 자체를 능동적이고 효율적인 활동으로 바꾸는" 솔루션을 제안하였습니다. 구체적으로, 본 서비스는 다음과 같은 핵심 전략을 통해 문제에 접근합니다. 1. 다양한 형식의 학습 자료 저장 및 활용 QRAB은 사용자가 다양한 형식의 학습 자료를 손쉽게 불러와 노트로 저장할 수 있는 기능을 제공합니다. - URL: 사용자가 블로그 글(Notion, Velog, Tistory 등)이나 웹페이지 링크를 입력하면, JSoup과 Selenium을 사용해 텍스트를 추출합니다. - PDF: 업로드한 PDF 파일에서 Apache PDFBox를 이용해 텍스트를 읽고 노트에 저장합니다. - 이미지: 이미지 파일은 Naver Clova OCR API를 통해 텍스트를 추출합니다. 이렇게 저장된 자료는 이후 GPT-4o mini를 활용한 요약과 퀴즈 생성에 활용되며, 사용자의 기존 학습 자원을 체계적으로 재활용할 수 있도록 돕습니다. 2. 사용자 맞춤형 퀴즈 생성: 사용자가 정리한 노트, 블로그 글, PDF, 이미지 속 텍스트 등 다양한 형태의 개인 학습 자료를 기반으로 AI가 즉각적으로 퀴즈를 출제합니다. 이를 통해 사용자는 자신의 이해도와 취약점을 효과적으로 파악하며, 단순한 텍스트 회독에서 벗어나 능동적 문제 풀이형 복습을 수행할 수 있습니다. 3. LangChain 및 RAG 기반 학습 취약점 분석 및 보완 전략 제안: 응용 퀴즈 생성과 취약 카테고리 분석 기능을 통해 사용자의 약점을 체계적으로 진단하고, LangChain과 RAG(Retrieval Augmented Generation) 기술을 활용해 외부 데이터 참조 기반의 신뢰성 높은 학습 자료를 추천합니다. 이를 통해 사용자는 자신의 취약점을 효과적으로 보완할 수 있는 구체적이고 실용적인 전략을 제안받을 수 있습니다. 4. 직관적 UI/UX 및 반응성 있는 인터페이스: React.js 프론트엔드와 Spring Boot 백엔드를 이용해 사용자 친화적인 웹 인터페이스를 구축하였으며, 알림 메시지나 스코어보드 기능 등을 활용해 학습 동기부여를 강화합니다. 이를 통해 복습 과정을 보다 흥미롭게 만들고, 학습 경험 전반을 개선했습니다. 본 프로젝트가 던지는 마지막 메시지는 명료합니다. "학습이 단순 암기가 아닌 능동적 문제 해결 과정으로 전환될 때, 지식은 더 깊이 내재화되고 장기적 성취로 이어진다"는 것입니다. QRAB은 기존에 축적해온 학습 자료를 단순한 보관용 데이터가 아닌, 문제화하고 응용하고 분석하여 학습 효율을 극대화하는 플랫폼으로 재탄생시킵니다. 이러한 접근은 특정 시험 대비를 넘어, 취업 준비나 자격증 시험, 전문 분야 연구 등 다양한 분야에도 적용 가능하며, 개인 맞춤형 학습 환경을 조성함으로써 평생 학습 시대에 걸맞은 교육 패러다임 전환에 기여할 수 있습니다. QRAB을 통해 사용자는 자신의 학습 자료를 '생산적인 자산'으로 바꾸고, 효율적인 복습 구조와 취약점 분석, 풍부한 자료 추천을 통해 학습 습관 개선과 교육 생산성 향상을 동시에 달성할 수 있습니다. 향후 발전 방향 향후 QRAB은 퀴즈 생성 및 취약점 분석에 사용되는 모델을 한국어 데이터셋으로 파인튜닝함으로써 국내 사용자가 보다 풍부하고 자연스러운 학습 경험을 누릴 수 있도록 할 계획입니다. 이와 더불어, LangChain 및 RAG 기술과 연계되는 Vector DB(ChromaDB) 최적화를 통해 검색 및 임베딩 프로세스를 가속화하고, 빈번히 참조되는 학습 자료를 캐싱 전략과 GPU 기반 Batch Inference 기법으로 처리함으로써 응답 속도를 줄이는 방법을 고려하고 있습니다. 또한, 현재는 GPT-4o mini 모델 하나만을 사용하고 있지만 추후 사용자 프로필 기반 모델 커스터마이제이션을 도입하여 사용자의 전공 정보와 학습 패턴, 주로 참고하는 자료 유형 등을 모델에 반영함으로써 더욱 정교하게 맞춤화된 퀴즈와 분석을 제공할 수 있습니다. 예를 들어, 공학 전공 사용자의 경우 수식이나 코드 예제 처리를 강화한 모델을, 인문학 전공 사용자의 경우 긴 텍스트 분석에 특화된 모델 설정을 적용함으로써, 사용자별 맞춤형 학습 경험을 극대화할 예정입니다. 나아가, 추후에는 오픈소스 LLM 또는 자체 학습한 도메인 전문 모델을 활용해 외부 의존도를 낮추고, 데이터 보안을 강화하며, 특정 분야(예: 의학, 법학, 과학) 전용 사전학습 모델을 통해 전문적이고 신뢰성 높은 분석과 자료 추천을 제공하는 방안을 고려하고 있습니다. 이를 통해 QRAB은 끊임없이 진화하는 AI 기술을 학습 보조 서비스에 적절히 통합함으로써, 사용자에게 한층 업그레이드된 맞춤형 학습 경험을 선사할 수 있을 것입니다. |