정말똘망
프로젝트 개요
기술개발 과제
국문 : PDF 컨텐츠를 활용한 LLM 기반 학습 보조 서비스: 자동 퀴즈 생성과 요약
영문 : LLM-based Learning Assistance with PDF content: Automatic Quiz Generation and Summarization
과제 팀명
정말똘망
지도교수
이경재 교수님
개발기간
2024년 3월 ~ 2024년 6월 (총 4개월)
구성원 소개
서울시립대학교 컴퓨터과학부 20219200** 박**(팀장)
서울시립대학교 컴퓨터과학부 20199200** 정**
서울시립대학교 컴퓨터과학부·과 20219200** 정**
서울시립대학교 컴퓨터과학부·과 20219200** 조**
서론
개발 과제의 개요
개발 과제 요약
- Large Language Model(LLM) 기술을 활용하여 PDF 컨텐츠로부터 학습용 퀴즈와 요약본을 생성하는 ‘학습 보조 웹 서비스(SQuiz)’를 개발한다.
- OpenAI의 GPT-3(2020), ChatGPT(2022)와 같은 LLM은 자연어 이해와 관련된 태스크에서 뛰어난 성능을 보이며, 이러한 AI가 교육 분야에서 적용되는 사례가 증가하고 있다.
- LLM 기술을 활용하면 개인의 이해도와 학습 속도를 고려하여 학습 효율을 증진시킬 수 있기
때문에, 학습자들에게 보다 효율적인 학습 경험을 제공할 것으로 기대된다.
- 퀴즈 및 요약본 생성 LLM 모델 파인튜닝 목표로 개발 과제를 진행한다.
- 사용자가 선호하는 유형과 난이도에 맞는 문제들과 학습에 적합한 요약본을 제공하고, 문제풀이 결과에 기반하여 개인화된 학습을 지원하는 웹 서비스를 개발한다.
- Deep Knowledge Tracing(DKT) 기술을 활용하여 학습자의 문제풀이 이력을 기반으로 학습 상태를 추적하여 개인화된 학습을 지원한다. 취약한 학습 개념에 대해 추가 문제를 생성하여 제공함으로써 개인별 맞춤 학습을 지원한다.
개발 과제의 배경
- OpenAI의 GPT-3(2020), ChatGPT(2022), GPT-4(2023)와 같은 LLM은 자연어 이해와 관련된 태스크에서 뛰어난 성능을 보인다[1-3].
- Knowledge Tracing은 특정 학생의 지난 교육 기록을 활용하여 다음 문제에 대한 정오답 여부 예측을 통해 학생의 지식 상태를 추적하는 기술이다. DKT는 여기에 딥러닝 기술을 적용한 것으로, 지식 추적에 있어 효과적이라 검증된 모델이다[4].
- LLM 기술은 교육 분야에서 개인의 이해도와 학습 속도를 고려하여 학습 효율을 높이는 데 활용할 수 있다[5].
- 따라서 우리의 학습 보조 웹 서비스는 학습자들에게 보다 효율적이고 개인화된 학습 경험을 제공할 것으로 기대된다.
개발 과제의 목표 및 내용
- 컴퓨터과학 전공자들을 위하여 4가지 교과목(운영체제, 컴퓨터통신, C언어, 객체지향프로그래밍)의 PDF를 기반으로 퀴즈와 요약본을 생성한다.
- DKT 모델을 학습시키고, 이를 통해 사용자의 학습 상태를 추적하고 취약한 KC를 파악한다.
- OCR을 통해 PDF에 포함된 텍스트를 추출한다.
- LLM 프롬프트 엔지니어링을 통해 PDF에 포함되는 KC가 무엇인지 분류하고, 퀴즈와 요약본을 생성한다.
- 사용자의 취약한 KC를 기반으로 추가 문제 생성을 통해 해당 교과목의 전반적인 이해도 향상을 돕는다.
- 퀴즈 결과 및 요약본 등의 사용자 정보를 저장할 데이터베이스를 구축한다.
- 클라이언트와 서버 간의 데이터 전달을 위한 API 설계한다.
- 사용자 친화적인 UI 디자인 및 개발하여 사용자 경험을 제공한다.
- Docker를 이용하여 효율적인 개발과 배포을 진행한다.
관련 기술의 현황
관련 기술의 현황 및 분석(State of art)
- 전 세계적인 기술현황
- LLM(Large Language Model)[1-3, 14]
- LLM은 인간의 언어를 이해하고 생성하도록 훈련된 대량의 언어 모델로 다양한 자연어 처리 작업을 수행하는 것에 사용한다.
- LLMs은 트랜스포머 모델을 사용하고 방대한 데이터 셋을 사용해 훈련을 하며 사전 훈련된 모델을 미세 조정을 통해 다양한 분야에 적용할 수 있다. 이를 기반으로 인간 언어로 된 입력 프롬프트를 활용해 콘텐츠를 생성하는 생성형 AI에 활용될 수 잇다.
- 최신 LLM으로는 GPT-4, T5등이 있고, 이러한 모델들은 더 큰 데이터 셋과 더 많은 파라미터를 사용하여 이전 모델보다 자연어 이해, 생성 작업에서 더 뛰어난 성능을 보인다.
- OpenAI – ChatGPT[2]
- 2022년 GPT-3.5를 기반으로 만들어진 대화형 인공지능 챗봇이다. 2023년에는 GPT-4를 기반으로 하는 버전도 출시되었다. ChatGPT는GPT모델 파인튜닝을 통해 챗봇으로서 잘 작동하도록 학습시킨 것이다. ChatGPT는 출시 5일만에 사용자수 100만 명을 달성했고, 2023년 1월에는 1억 명에 이르는 사용자 수를 기록했다. ChatGPT는 대화 형식으로 사용자의 질문에 대한 답변을 제공한다. 이전 대화의 내용을 기억해서 답변할 수 있으며 뛰어난 답변 성늘을 가지고 있다.
- ChatGPT는 다양한 주제에 대한 답변이 가능하며, 프로그래밍에 관한 질문, 문서 요약 등의 작업에 활용될 수 있다.
- OpenAI – GPT-4o[20]
- Generative Pretrained Transformer (GPT)는 트랜스포머 모델을 기반으로 만들어졌다. 트랜스포머 모델은 ‘Attention’이라는 메커니즘을 통해 택스트 내 단어 간의 문맥적 관계를 이해한다. 트랜스포머 모델은 크게 인코더와 디코더로 이루어져 있으며 GPT의 경우에는 디코더만 사용한다.
- 최근 발표된 GPT-4o는 텍스트와 더불어 이미지 입력도 함께 처리하여 텍스트를 생성하는 것이 가능한 멀티모달 모델이다. 기존 GPT-4 모델의 강력한 언어 처리 능력을 유지하면서도 효율성과 성능을 한층 더 향상시키기 위해 다양한 최적화 기법이 적용된 버전이다.
- DL(Deep Learning)
- DL은 인공 신경망의 여러 층을 통해 복잡한 데이터 패턴을 학습하고 인식하는 기술로 컴퓨터 비전, 음성 인식, 장연어 처리 및 자율 주행과 같은 다양한 분야에서 큰 발전을 이루어 왔다.
- 특히 컨볼루션 신경망(CNN), 순환 신경망(RNN), 변이형 오토 인코더(VAE), 생성적 적대 신경망(GAN)과 같은 신경망 아키텍처가 주목 받고 있고, 이러한 발전을 통해 DL은 해결하기 어려웠던 많은 복잡한 문제들에 대한 새로운 솔루션을 제공하고 있다.
- React
- React는 가상 DOM을 사용하여 실제 DOM을 조작하는 것보다 효율적으로 UI를 업데이트 할 수 있다.
- React는 재사용 가능한 컴포넌트 기반 아키텍처를 사용하여 UI를 구성하여 코드를 모듈화하고 관리의 용이성을 증대시킨다.
- React는 다양한 라이브러리, 툴, 학습 자료가 존재한다. 이를 바탕으로 지속적으로 발전하고 있으며, 새로운 기능과 개선점이 꾸준히 추가되고 있다.
- Spring Boot
- Spring Boot는 자바 기반의 오픈 소스 프레임 워크로, 빠르고 효율적인 웹 애플리케이션 개발을 지원한다.
- 자동 구성 기능을 통해 복잡한 설정을 줄여서 개발자가 빠르게 애플리케이션을 시작할 수 있게 한다.
- 내장된 Tomcat, Jetty 등의 서버를 사용하여 별도의 서버 설치나 구성 없이 애플리케이션을 실행할 수 있다.
- Unit, Mockito 등의 테스트 프레임 워크를 지원하여 단위 테스트부터 통합 테스트까지 편리하게 수행할 수 있다.
- LLM(Large Language Model)[1-3, 14]
- 특허조사 및 특허 전략 분석
- 특허조사
- 초거대 AI를 활용한 딥러닝 기반 생성형 AI 시스템의 학습 데이터셋 생성 및 활용방법
- 출원인 : (주)유알피
- 출원번호/일자 : 1020230049811 (2023.04.17.)</br>
- 완전학습 기반의 개인 맞춤형 학습 지원용 AI챗봇 튜터 제공 서버 및 방법
- 출원인 : 주식회사씨드시스템
- 출원번호/일자 : 1020230171113 (2023.11.30.)</br>
- 인공지능 기반 질문 생성 학습기술습관 훈련 시스템, 방법 및 컴퓨터 프로그램
- 출원인 : 전경희
- 출원번호/일자 : 1020220080342 (2022.06.30.)</br>
- 학생마다 문제가 다른 질문지 생성/채점 알고리즘 및 소프트웨어
- 출원인 : 인하대학교 산학협력단
- 출원번호/일자 : 1020210118126 (2021.09.06.)</br>
- 학생마다 문제가 다른 질문지 생성/채점 알고리즘 및 소프트웨어
- 출원인 : 인하대학교 산학협력단
- 출원번호/일자 : 1020210118126 (2021.09.06.)</br>
- 딥러닝 기반의 요약문 생성 정확도 개선 시스템
- 출원인 : (주)유알피
- 출원번호/일자 : 1026404710000 (2024.02.21)
- 초거대 AI를 활용한 딥러닝 기반 생성형 AI 시스템의 학습 데이터셋 생성 및 활용방법
- 특허전략
- 초거대 AI를 활용하여 최신정보를 검색하고, 해당 정보를 전처리하여 학습 데이터셋으로 활용하는 방법과 이를 이용한 생성형 AI 시스템의 활용법에 관한 것이며, 또한, 주기적으로 파인 튜닝하여 AI 모델을 최신 정보에 대해 업데이트할 수 있는 방법도 포함된다.</br>
- 본 발명은 완전학습 기반의 개인 맞춤형 AI 챗봇 튜터 제공 서버를 제공한다. 이 서버는 학습자 정보를 수집하고, 학습자의 현재 학습 수준을 평가하여 적합한 학습 세션을 생성하며, 학습 목표와 추천 학습 주제를 결정한다. 또한, 학습 진행을 추적하고 진도 장벽을 감지하여 추가 지원을 제공하고, 학습 완료 시 다음 주제를 제안한다. 마지막으로, 학습 성과를 분석하여 학습자 프로파일을 업데이트한다.</br>
- 학습자가 질문을 생성하여 학습하는 과정을 훈련하는데 사용되며, 전용 어플리케이션을 통해 질문 주제를 선택하고 질문 정보를 입력받는 학습자 단말기와, 머신러닝 분석을 통해 학습 결과를 생성하고 추천하는 훈련 서버이다.</br>
- 개시된 질문지 생성 방법은 학생마다 다른 답을 요구하는 동일한 또는 유사한 문제 유형을 기반으로하여 질문-군을 구성하고, 생성된 질문지를 학생에게 전달하여 학생의 답변을 채점하는 단계로 이루어진다.</br>
- 학습자의 테스트 결과를 기반으로하여 오답 문제가 속한 문제군에서 문제를 추출하여 학습지를 작성하고, 이를 학습자 단말기로 제공하는 방법을 제공한다.</br>
- 본 발명은 딥러닝 기반의 요약문 생성 정확도 개선 시스템에 관한 것으로, 딥러닝 기반 생성형 AI 모델을 통해 문서 요약을 수행할 때 할루시네이션(hallucination, 인공지능 환각)으로 인하여 부정확한 명사형 단어가 포함되는 경우, 도메인 용어사전을 바탕으로 해당 명사형 단어를 교체함으로써, 도메인 문서의 요약 정확도를 높일 수 있도록 하는 딥러닝 기반의 요약문 생성 정확도 개선 시스템이다.
- 특허조사
- 기술 로드맵
convert: Image height exceeds user limit in IHDR `/var/www/capstone/cdc/images/e/ea/그림1_기술_로드맵.png' @ warning/png.c/MagickPNGWarningHandler/1672.
convert: Invalid IHDR data `/var/www/capstone/cdc/images/e/ea/그림1_기술_로드맵.png' @ error/png.c/MagickPNGErrorHandler/1646.
convert: corrupt image `/var/www/capstone/cdc/images/e/ea/그림1_기술_로드맵.png' @ error/png.c/ReadPNGImage/4095.
convert: no images defined `/tmp/transform_cf2bf707d2e3.png' @ error/convert.c/ConvertImageCommand/3210.
Error code: 1
convert: Image height exceeds user limit in IHDR `/var/www/capstone/cdc/images/1/14/그림2_개인화된_퀴즈_생성.png' @ warning/png.c/MagickPNGWarningHandler/1672.
convert: Invalid IHDR data `/var/www/capstone/cdc/images/1/14/그림2_개인화된_퀴즈_생성.png' @ error/png.c/MagickPNGErrorHandler/1646.
convert: corrupt image `/var/www/capstone/cdc/images/1/14/그림2_개인화된_퀴즈_생성.png' @ error/png.c/ReadPNGImage/4095.
convert: no images defined `/tmp/transform_a62409bb78f5.png' @ error/convert.c/ConvertImageCommand/3210.
Error code: 1
- AI
- LLM(ChatGPT-4, GPT-4o)
- DKT(Deep Knowledge Tracing </br>
- Frontend
- Figma
- React
- Styled-Components - TypeScript</br>
- Backend
- SpringBoot
- AWS Lightsail - PostgreSQL
- AI
시장상황에 대한 분석
- 경쟁제품 조사 비교
- PDF 기반 요약 생성 웹사이트 – Lilys [7]
릴리스에이아이는 사용자가 입력한 영상, 녹음, PDF 등의 요약 노트를 웹사이트 Lilys를 통해 사용 자에게 제공하는 우리나라 기업이다. 한글 외 11개국 언어를 지원하며, 사용성이 뛰어난 UI를 갖추 고 있다. 그러나 생성된 요약 노트에서는 과도하게 PDF의 많은 내용을 담고 있거나, 학습에 도움 되지 않는 내용을 담고 있는 경우가 있다. 또한 필요 이상으로 축약되어 학습에 적합하지 못한 요약본을 생성하는 경우도 있다. 그림3_Lilys에서_운영체제_PDF요약한_결과.png</br>
- PDF 기반 대화형 웹사이트1 – PDFtoChat [8]
Together AI, Mixtrral, Pinecone과 Langchain 기업들의 기술을 사용하여 만든 pdf 문서 기반 대화 형 웹사이트 이다. pdf 문서를 학습한 AI와 대화형으로 소통할 수 있다. 기본적으로 영어 위주로 서비스가 제공된다. 별도로 요약이나 퀴즈 제작을 지원하지 않으며, 대화형식으로 요약이나 퀴즈를 요청할 수 있으나 그 품질이 뛰어나지 않다. 그림4.png</br>
- PDF 기반 대화형 웹사이트2 – ChatDOC [9]
2010년에 중국에 설립된 기업이 만든 웹사이트로, ChatGPT 기반 ai가 pdf의 내용을 학습하여퀴즈를 생성한다. 그러나 문제 유형은 선택할 수 없으며, 단순 단답형의 질문을 제시해준다. 그림5_ChatDoc.png</br>
- PDF 기반 퀴즈 생성 웹사이트 – OpenExams [10]
미국 기업인 Hyoatua Tech에서 만든 웹사이트로, 텍스트를 입력 하면 이를 바탕으로 ai가 퀴즈를 생성한다. 문제 유형을 지정할 수 있으나, 사용자가 텍스트를 직접 복사해서 입력해야 하며, 텍스트 가 적은 pdf 수업자료의 경우 해당 서비스를 이용하기에 적절하지 않다. 그림6.png</br>
- 마케팅 전략 제시
Strength(강점) | Weakness(약점) | |
---|---|---|
Opportunity(기회) |
|
|
|
| |
Threat(위협) |
|
|
|
|
개발과제의 기대효과
기술적 기대효과
- LLM 모델을 사용한 문제 생성 및 요약본 제공
- 다양한 유형의 문제를 생성할 수 있어 학습자의 다양한 학습 스타일 및 요구에 맞춘 문제를 제공할 수 있고, 개별 학습자의 학습 상태와 성향에 맞게 LLM 모델을 조정하여 개인화된 학습 경험을 제공할 수 있다.</br>
- Knowledge Tracing
- 사용자의 강점과 약점, 학습 경로를 파악하여 맞춤형 학습경험을 제공 할 수 있고, 이를 바탕으로 학습자의 학습 전략과 성과를 이해하고, 미래의 학습동작을 예측할 수 있다. 따라서 이러한 학습과정을 분석하여 최적의 학습 경로를 제시함으로써 학습 효율성을 향상시키고, 개별 사용자에게 맞춤형 학습 경험을 제공할 수 있다.</br>
- 웹 기반의 서비스 제공
- 웹 기반으로 서비스를 제공하기 때문에 사용자가 학습 서비스에 접근하기 용이하여 학습의 효율성과 편의성이 증대된다. 플랫폼에 독립적이어서 사용자가 사용하는 운영체제 혹은 디바이스와 관계없이 웹 서비스를 사용할 수 있다. 또한, 업데이트가 용이하기 때문에 사용자가 항상 최신 버전의 서비스를 사용할 수 있다.
경제적, 사회적 기대 및 파급효과
- 능동적 참여 유도
- 퀴즈 제작 기능으로 학습 내용에 대한 깊이 있는 이해 촉진
- 학습 자료 업로드 및 공유 기능으로 능동적 학습 환경 조성
- 학습 과정에 대한 적극적인 참여 유도 및 학습 주체성 강화
- 학습 효율 증대
- 불필요한 학습 과정 생략 및 핵심 개념 집중 학습으로 시간 절약
- 학습 컨텐츠 및 퀴즈의 난이도 조절로 개인 맞춤형 학습 속도 제공
- 효율적인 학습 시간 관리 및 학습 생산성 향상
- 전공 역량 강화
- 각 과목의 핵심 개념 및 전문 지식 집중 학습으로 전공 분야 전문성 강화
- 실무 적용 능력 향상 및 문제 해결 능력 증진
- 취업 시 필요한 역량 갖추고 경쟁력 확보
- 같은 과목을 학습하는 학생들과의 교류 및 협력 기회 제공
- 정보 공유 및 학습 팁 교환, 학습 네트워크 구축
기술개발 일정 및 추진체계
개발 일정
내용
구성원 및 추진체계
내용
설계
설계사양
제품의 요구사항
설계 사양
(1) 계정 관리 기능
- 서비스를 이용하기 위해 사용자는 회원가입이 필요하다.
- 사용자는 헤더를 통해 pdf 업로드 페이지, 퀴즈 목록 페이지, 과일 바구니 페이지로 이동할 수 있다.
(2) pdf 기반 문제 생성 기능
- 사용자는 10 Mbyte이하, pdf 확장자의 수업 자료를 업로드 할 수 있다.
- 사용자는 업로드 한 수업 자료를 바탕으로 LLM을 활용해 퀴즈를 생성 할 수 있다.
- 사용자는 퀴즈 생성 시 해당 과목, 생성할 페이지, 문제 유형, 문제 수, 난이도를 설정할수 있다.
(3) 문제 풀이 기능
- 사용자는 생성된 퀴즈를 풀 수 있다.
- 한 페이지마다 한 문제만 있어서 오롯이 문제에 집중하여 풀 수 있다.
- 사용자가 푼 퀴즈를 제출하고 나면 점수 및 주제별 정답률을 확인할 수 있다.
(4) 문제 기록 관리 기능
- 사용자는 퀴즈의 문제를 저장할 수 있다.
- 사용자는 퀴즈 결과 보기 페이지에서 각 문제별 정/오답 현황 및 해설을 확인할 수 있다.
- 사용자는 원하는 퀴즈를 선택하여 과일 바구니에 담을 수 있다.
(5) 요약 기능
- 사용자는 업로드 한 수업자료를 바탕으로 gpt를 활용해 요약본을 생성 할 수 있다.
(6) 학습 상태 추적 기능
- 서비스는 기존의 사용자의 학습 기록을 기반으로 DKT 모델을 통해 취약점을 분석하고 추가 학습 제공 시 활용한다.
(7) 학습 기록 기반 추가 학습 제공 기능
- 사용자는 퀴즈 세부 내용 페이지에서 지난 학습 기록을 반영한 추가 퀴즈를 생성 할 수 있다.
개념설계안
고객 여정 지도
사용 시나리오
개념 설계안
- 1. 사용자는 Front-end 와 수업 자료, 퀴즈, 요약본 등을 교환한다.
- 2. Front-end 클라이언트는 사용자로부터 정보를 입력받으며, 그 정보와 리스폰스를 서버와 API 통신을 통해 교환한다.
- 3. SpringBoot 서버는 클라이언트로부터 받은 정보 및 리스폰스를 AI서버와 교환한다.
- 4. 백엔드 서버가 받아온 정보는 H2 DB에 저장된다.
- 5. 백엔드 서버로부터 요청받은 퀴즈 및 KC 예측값 등을 생성하여 서버에게 전송한다.
이론적 계산 및 시뮬레이션
유즈케이스도
플로우 차트
데이터 흐름도
- 회원가입
- 로그인
- pdf 업로드
- 퀴즈 생성
- 요약본 생성
- 지난 퀴즈 관리
- 과일 바구니 관리
- 퀴즈 풀기
- 추가 퀴즈 생성
상세설계 내용
아키텍쳐도
클래스도
- member 관련 클래스도
- mail 관련 클래스도
- upload 관련 클래스도
- quiz 관련 클래스도
- summary 관련 클래스도
- fruit basket 관련 클래스도
- LLM, DKT 관련 클래스도
결과 및 평가
완료 작품의 소개
메인 화면
작동 화면
관련사업비 내역서
완료작품의 평가
향후평가
어려웠던 점
- 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 단위를 늘려 타겟 유저층의 증가를 도모한다.