정말똘망

cdc wiki
Com239 (토론 | 기여)님의 2024년 6월 20일 (목) 17:39 판 (기술개발 과제)
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : PDF 컨텐츠를 활용한 LLM 기반 학습 보조 서비스: 자동 퀴즈 생성과 요약...

영문 : LLM-based Learning Assistance with PDF content: Automatic Quiz Generation and Summarization...

과제 팀명

00000..

지도교수

이경재 교수님

개발기간

2024년 3월 ~ 2024년 6월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 20219200** 박**(팀장)

서울시립대학교 컴퓨터과학부 20199200** 정**

서울시립대학교 컴퓨터과학부·과 20219200** 정**

서울시립대학교 컴퓨터과학부·과 20219200** 조**

서론

개발 과제의 개요

개발 과제 요약

내용

개발 과제의 배경

내용

개발 과제의 목표 및 내용

내용

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황

내용

  • 특허조사 및 특허 전략 분석

내용

  • 기술 로드맵

내용

시장상황에 대한 분석

  • 경쟁제품 조사 비교

내용

  • 마케팅 전략 제시

내용

개발과제의 기대효과

기술적 기대효과

내용

경제적, 사회적 기대 및 파급효과

내용

기술개발 일정 및 추진체계

개발 일정

내용

구성원 및 추진체계

내용

설계

설계사양

제품의 요구사항

제품요구사항 정말똘망.png

설계 사양

(1) 계정 관리 기능

  • 서비스를 이용하기 위해 사용자는 회원가입이 필요하다.
  • 사용자는 헤더를 통해 pdf 업로드 페이지, 퀴즈 목록 페이지, 과일 바구니 페이지로 이동할 수 있다.

(2) pdf 기반 문제 생성 기능

  • 사용자는 10 Mbyte이하, pdf 확장자의 수업 자료를 업로드 할 수 있다.
  • 사용자는 업로드 한 수업 자료를 바탕으로 LLM을 활용해 퀴즈를 생성 할 수 있다.
  • 사용자는 퀴즈 생성 시 해당 과목, 생성할 페이지, 문제 유형, 문제 수, 난이도를 설정할수 있다.

(3) 문제 풀이 기능

  • 사용자는 생성된 퀴즈를 풀 수 있다.
  • 한 페이지마다 한 문제만 있어서 오롯이 문제에 집중하여 풀 수 있다.
  • 사용자가 푼 퀴즈를 제출하고 나면 점수 및 주제별 정답률을 확인할 수 있다.

(4) 문제 기록 관리 기능

  • 사용자는 퀴즈의 문제를 저장할 수 있다.
  • 사용자는 퀴즈 결과 보기 페이지에서 각 문제별 정/오답 현황 및 해설을 확인할 수 있다.
  • 사용자는 원하는 퀴즈를 선택하여 과일 바구니에 담을 수 있다.

(5) 요약 기능

  • 사용자는 업로드 한 수업자료를 바탕으로 gpt를 활용해 요약본을 생성 할 수 있다.

(6) 학습 상태 추적 기능

  • 서비스는 기존의 사용자의 학습 기록을 기반으로 DKT 모델을 통해 취약점을 분석하고 추가 학습 제공 시 활용한다.

(7) 학습 기록 기반 추가 학습 제공 기능

  • 사용자는 퀴즈 세부 내용 페이지에서 지난 학습 기록을 반영한 추가 퀴즈를 생성 할 수 있다.

개념설계안

고객 여정 지도

고객여정지도 정말똘망 (2).png

사용 시나리오

사용시나리오 정말똘망 (1).png

개념 설계안

전체구조설계 정말똘망 (1).png

  • 1. 사용자는 Front-end 와 수업 자료, 퀴즈, 요약본 등을 교환한다.
  • 2. Front-end 클라이언트는 사용자로부터 정보를 입력받으며, 그 정보와 리스폰스를 서버와 API 통신을 통해 교환한다.
  • 3. SpringBoot 서버는 클라이언트로부터 받은 정보 및 리스폰스를 AI서버와 교환한다.
  • 4. 백엔드 서버가 받아온 정보는 H2 DB에 저장된다.
  • 5. 백엔드 서버로부터 요청받은 퀴즈 및 KC 예측값 등을 생성하여 서버에게 전송한다.

이론적 계산 및 시뮬레이션

유즈케이스도

유즈케이스도 정말똘망.png

플로우 차트

플로우차트 정말똘망 (2).png

데이터 흐름도

  • 회원가입

데이터흐름도1 정말똘망.png

  • 로그인

데이터흐름도2 정말똘망.png

  • pdf 업로드

데이터흐름도3 정말똘망.png

  • 퀴즈 생성

데이터흐름도4 정말똘망.png

  • 요약본 생성

데이터흐름도5 정말똘망.png

  • 지난 퀴즈 관리

데이터흐름도6 정말똘망.png

  • 과일 바구니 관리

데이터흐름도7 정말똘망.png

  • 퀴즈 풀기

데이터흐름도8 정말똘망.png

  • 추가 퀴즈 생성

데이터흐름도9 정말똘망.png

상세설계 내용

아키텍쳐도

아키텍쳐도 정말똘망 (1).png

클래스도

  • member 관련 클래스도

Member클래스도 정말똘망.png

  • mail 관련 클래스도

Mail클래스도 정말똘망.png

  • upload 관련 클래스도

Upload클래스도 정말똘망.png

  • quiz 관련 클래스도

Quiz클래스도 정말똘망.png

  • summary 관련 클래스도

Summary클래스도 정말똘망.png

  • fruit basket 관련 클래스도

Fruitbasket클래스도 정말똘망.png

  • LLM, DKT 관련 클래스도

LLMDKT클래스도 정말똘망 (1).png

결과 및 평가

완료 작품의 소개

메인 화면

Image24.png

작동 화면

Image25.png

Image26.png

Image27.png

Image28.png

Image29.png

Image30.png

Image31.png

Image32.png

Image33.png

관련사업비 내역서

사업비 정말똘망.png

완료작품의 평가

평가 정말똘망.png

향후평가

어려웠던 점

  • HTTPS to HTTP 통신 에러
다른 배포 서비스를 사용하지 않고 프론트 서버도 AWS에 올려 HTTP로 통신 하도록 했다.
  • Edge case 혹은 크고 작은 에러 발생
계속 테스트 및 관련 문제 회의를 통해 문제 해결했다.
  • CORS Error
관련 자료와 영상을 기반으로 문제 해결했다.
  • 서버 배포 및 Docker 사용
관련 책을 통해 지식을 습득하고 계속 시도해보면서 배포를 성공하고 Docker-compose를 통해서 여러 서비스를 동시에 실행시켰다.
  • 우리 서비스의 KC list와 사용하는 딥러닝 모델의 KC list가 달라서 이상한 예측 결과 발생
모델에서 생성하는 예측 값을 사용하는 것이 아닌 초반이랑 마지막의 예측값의 차이로 결과를 도출했다.
  • GPT가 생성하는 문제 개수 및 파라미터 오류, KC id-KC 매칭 오류, 모호한 빈칸, 난이도 조절
구체적이고 각 오류를 해결할 수 있는 세밀한 내용으로 프롬프팅하여 오류 해결했다.
  • DKT 모델에서 사용하는 라이브러리 버전 문제
라이브러리를 다운그레이드 하여 설치하고 도커 이미지로 빌드하여 배포하였다.


차후 구현할 내용

  • 분산 시스템 구축
pdf 파일 업로드 후의 OCR과 퀴즈 생성 등의 동작을 분할 하여 수행할 수 있도록 시스템을 업그레이드 하여 사용자의 대기시간을 감소시키고, 서비스 안정성 향상을 도모한다.
  • 모바일 웹 또는 앱 구현
보다 간편한 모바일 서비스를 통하여 짧은 시간만으로도 서비스에 머무르면 학습 할 수 있도록 웹앱으로 구현한다.
  • 이미지 속의 순차 관계 및 다이어그램 해석 능력 향상
각 단계나 순서가 중요한 이미지도 해석 할 수 있도록 ai 성능을 향상시킨다.
  • 현재 제공하고 있는 4가지 과목 외의 다른 전공 과목 혹은 정보 처리 기사 문제 관련 문제생성 서비스 제공기능 추가
현재는 객체지향프로그래밍, 운영체제, 컴퓨터통신, C언어 총 4가지 과목만 다루고 있는 추가 과목 수를 늘리고 그것에 맞게 KC 단위를 늘려 타겟 유저층의 증가를 도모한다.