Skip to content

[길동국사] 한국사능력검정시험 문제 추천 서비스 (http://길동국사.com)

Notifications You must be signed in to change notification settings

TaeYupNoh/level3_productserving-level3-recsys-03

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎭 길동국사

        

"한국사 자격시험 年 51만명…이젠 수능보다 많이 본다" 「한국경제」, 2022년 08월
"한국사능력검정시험 접수 홈페이지 마비... 수험생 불편 겪어" 「연합뉴스」, 2021년 01월
"연구사·지도사 공채 한국사 과목, 한국사능력검정시험으로 대체" 「연합뉴스」, 2020년 04월
"한국사능력검정시험 年 4회→6회 확대" 「서울신문」, 2019년 11월


“당신을 위한 한국사능력검정시험 문제 추천 AI - 길동국사" [바로가기]

길동국사_readme



1. 팀원

김선도 나인혁 노태엽 박우석 전병웅
프론트엔트
모델링
마케팅
백엔드
모델링
데이터
베이스 설계
프론트엔드
모델링
마케팅
백엔드
모델링
시각화
백엔드
모델링
크롤링



2. 소개

🎭 길동국사 보러가기

한국사능력검정시험은 대한민국 교육부 산하의 국사편찬위원회가 주관하는 한국사 시험입니다.

주로 공무원 시험, 공기업 취업 등에 가산점으로 활용되며 현재 연간 50만 명이 응시하는 큰 시험입니다.

길동국사는 한국사능력검정시험을 준비하는 모든 수험생을 돕고자 시작한 서비스입니다.

한국사능력검정시험 준비의 기본인 기출문제부터 오답 분석, 문제 해설, 문제 추천 기능을 포함합니다.

길동국사는 사용자의 다양한 피드백을 적극적으로 수용하여 지속적인 개선이 이루어지고 있습니다.

그럼, 길동국사의 주요 기능을 간략히 소개하겠습니다.

(1) 기출 문제

한국사능력검정시험 개정 이후 모든 회차(47회~62회)의 기출문제를 풀 수 있는 서비스를 제공합니다. (2023년 1월 기준)

(2) 랜덤 문제

기본, 심화 각 시험에서 무작위로 문제를 풀 수 있는 랜덤문제 기능을 제공합니다.

(3) 오답노트 / 북마크

틀린 문제를 살펴보고 오답 분석을 할 수 있는 오답노트, 중요한 문제를 기록하는 북마크 기능을 제공합니다.

(4) 인공지능 문제 추천

길동국사의 핵심 기능인 사용자의 문제 풀이 데이터를 바탕으로 인공지능 문제 추천 서비스를 제공합니다.


2023년 2월 기준 : 누적 가입 유저 192명 / 누적 문제 풀이 건수 12390건
2023년 1월 기준 : 누적 가입 유저 130명 / 누적 문제 풀이 건수 7800건


3. 구조도

전체도식 drawio

React : Client
Firebase : Database & Middleware
FastAPI : Backend Server
PostgreSQL : Dataset Backup
Airflow : Continuous Integration



4. 기능

길동국사의 주요 기능을 소개합니다.

(1) 회차 풀이

회차풀이g



(2) 랜덤 문제 풀이

랜덤풀이g



(3) 풀었던 문제, 오답노트, 북마크

프로필g



(4) TF-IDF를 활용한 유사 문제 추천



(5) 인공지능 문제 추천

인공지능g





5. 모델

길동국사에 사용된 머신러닝, 딥러닝 모델을 소개합니다.

(1) 오프라인 테스트

image

  • 실제 틀릴만한 문제를 많이 커버하는게 중요하기 때문에 Recall이 의미있을 것이라 판단
  • 틀릴 확률 상위 5개의 문제를 추천하기 때문에 순서가 중요할 것이라 판단하여 NDCG를 참고
  • 따라서 NDCG@10가 제일 높은 EASE, Recall@10가 제일 높은 SASRec를 서빙 모델로 선정

(2) KFC

image

  • 자체적으로 고안한 모델
  • KoNLPy, TF-IDF, 코사인 유사도(Cosine Similarity)를 합친 모델
  • (1) KoNLPy를 통해 각 문제의 해설 부분에서 주요 형태소를 추출
  • (2) 불용어 전처리 후 TF-IDF로 임베딩
  • (3) 임베딩된 벡터끼리의 코사인 유사도를 구하는 방식으로 Top-K 문제를 사용자에게 추천

(3) ESAE

image

  • Collaborative Filtering에서는 hidden layer를 적게 사용하는 것이 성능이 더 좋다는 것이 밝혀져 있기 때문에 hidden layer를 아예 사용하지 않는 EASE가 좋은 성능을 기록할 것이라 예상
  • EASE모델은 다른 모델에 비해 inference가 매우 빠르다는 장점이 있기 때문에 실시간으로 빠르게 추천을 제공해야 하는 현재 서비스에 적합하다고 판단

(4) SASRec

image

  • Transformer 구조를 추천에 활용한 첫 모델
  • Self-attention 구조를 사용하기 때문에 Sparse 구조에 적합한 Markov Chain의 단기적 예측 능력 그리고 dense 구조에 적합한 RNN을 이용한 장기적 예측 특징을 모두 반영 가능

6. 참고 자료

(1) 모델

모델명 참조
TF-IDF Luhn, H. P. (1957). A statistical approach to mechanized encoding and searching of literary information
BM25 S. E. Robertson, K. Sparck Jones. (1976). Relevance weighting of search terms
SASRec(Self-Attentive Sequential Recommendation) Wang-Cheng Kang, Julian McAuley. (2018). Self-Attentive Sequential Recommendation
EASE(Embarrassingly Shallow Autoencoders for Sparse Data)) Harald Steck. (2019). Embarrassingly Shallow Autoencoders for Sparse Data

(2) 웹 사이트


About

[길동국사] 한국사능력검정시험 문제 추천 서비스 (http://길동국사.com)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 76.7%
  • Python 18.4%
  • HTML 3.6%
  • Other 1.3%