altmshfkgudtjr / trAIner

온라인 코딩 학습 알고리즘 추천 서비스

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

trAIner - AI 알고리즘 학습 플랫폼

2022년 2학기 세종대학교 캡스톤 프로젝트 - trAIner

image

trAIner(트레이너)는 학습자의 관심도, 취약점 패턴을 분석하여 사용자가 좀 더 효율적으로 학습할 수 있도록 알고리즘 문제를 추천해주는 AI 기반의 학습 플랫폼입니다.

key points

🚩AI 추천 시스템을 통한 개인화된 맞춤 로드맵 생성

🚩토픽 모델링을 통한 알고리즘 문제 유형 분류 제공

🚩사용자의 상호작용 데이터 수집 및 전이학습 수행

trAIner 소개

image

트레이너는 자연어처리(NLP), Factorization Machine 기반의 딥러닝 기술을 통해 사용자와 알고리즘 문제 사이의 상관관계를 분석합니다. 유저들의 각 문제에 대한 클릭률(CTR), 취약점(Vulnerability), 관심사(Topic) 정보를 예측하여 각 사용자들에게 최적의 학습 문제를 추천할 수 있습니다.

제목 없음

trAIner 추천 시스템

트레이너의 추천 시스템은 사용자마다 다를 수 있는 개인차를 고려하여, 최대한 다양한 추천 패턴을 기능으로 제공할 수 있도록 시스템을 설계하였습니다. 클릭률, 취약점, 주제 분석 등 총 3개의 AI 모델을 채택하여 최대 10개가 넘는 AI 기반의 예측 피드를 사용자에게 제공합니다.

Matrix Factorization (CTR Prediction)

image

Matrix Factorization(MF)는 Collaborative Filtering 방법론 중 하나로, 사용자와 아이템 간의 평가 정보를 나타내는 Rating Matrix를 기반으로 User Latent Matrix와 Item Latent Matrix로 분해하는 기법입니다. 이를 통해 문제에 대한 각 사용자에 대하여 특정 임계치를 기준으로 클릭 유무에 대한 True|False를 예측합니다. MF 모델의 최종 학습을 기준으로 한 평가 지표는 아래와 같습니다.

  • Train RMSE Loss: 0.674447
  • Test RMSE Loss: 1.0221295
  • Accuracy: 90.6476%

Confusion Matrix는 다음과 같습니다.

Positivie Negative
Positivie 535,632 77,582
Negative 85,961 624,799

DeepFM (Vulnerity Prediction)

image

Deep Factorization-Machine(DeepFM)은 2017년에 공개된 딥러닝 기반의 추천 시스템 구현을 위해 제안된 신경망으로 기존에 구글에서 발표했던 Wide & Deep Model의 잦은 Feature Engineering(피쳐 엔지니어링) 대한 단점을 보완하면서 해당 장점을 가져오기 위해 구현된 모델입니다.

트레이너에서 정의한 사용자의 취약점이라는 비교적 복잡한 Feature를 해석하고 예측하기 위해 본 모델을 채택하여 사용하였습니다.

평가 지표

  • Vulnerability Range: 0 ~ 1
  • Train RMSE Loss: 2.5728e-05
  • Test RMSE Loss: 2.7526e-05

Word2Vec (Topic Embedding)

model trAiner Word2Vec model 문제 임베딩 시각화 모형

워드투벡터는 기존 자연어처리(NLP) 분야에서 One-Hot 벡터와 같은 descrete한 벡터들 사이에서 유사도를 계산하기 위해 만들어진 다양한 방법 중 하나입니다. 트레이너는 이러한 기법을 추천 시스템에 적용하여 유사한 알고리즘을 가진 문제들 사이의 관계를 수치화하여 비슷한 유형, 패턴을 가지는 문제들을 추천할 수 있습니다.

서비스 화면 샘플 예시

메인 화면

image

문제 추천 피드

image

문제 풀이 페이지

image

프로젝트 구조도

서비스 구성도 & 백그라운드 사용자 분석 프로세스

image image

인프라 구조도

image

  • Frontend
    • React.js
    • Next.js
  • AI
    • PyTorch
    • Gensim
    • numpy, pandas, 등
  • Backend
    • Flask
    • uWsgi, Nginx
    • MongoDB
    • Docker, docker-compose

Written by. iml1111

About

온라인 코딩 학습 알고리즘 추천 서비스


Languages

Language:TypeScript 97.4%Language:JavaScript 2.1%Language:Dockerfile 0.5%