🎨 Redesign Demo · 실제 사이트 적용 전 미리보기입니다
Engineering Project
RECJOON
A Personalized Algorithm Problem and Rival Recommendation System for Baekjoon Online Judge Users
Apr. 2022 – Jun. 2022 Recommendation System, Content-Based Filtering Naver Boostcamp AI Tech 3rd
← Back to Projects RECJOON Logo

Abstract

RECJOON is an AI-driven service designed to recommend algorithm problems and rivals for users of the Baekjoon Online Judge (BOJ) and solved.ac platforms. Utilizing deep learning and machine learning techniques, the service offers personalized suggestions based on each user's problem-solving history.

Background

RECJOON Background

As the demand for algorithmic problem solving and competitive programming grows, there is a rising need for platforms that not only offer challenges but also provide guidance tailored to individual users. RECJOON addresses this need by analyzing the problem-solving records of BOJ and solved.ac users and offering recommendations suited to their proficiency level.

Method

The system harnesses the power of deep learning and machine learning to process and analyze vast amounts of user data. By studying the patterns and tendencies in each user's problem-solving history, RECJOON's AI models are trained to predict which problems or rivals would be most beneficial for a user's growth.

Batch Serving

Model Pipeline

In RECJOON, model training and prediction, along with data collection, are executed through batch serving at predefined intervals. Every recommendation service undergoes a validation process post-model training, where predefined metrics are measured. The model that showcases the best performance during each cycle is then chosen as the prediction model.

Models

Models for Algorithm Problems Recommendation

NameReference
RecVAE (Variational AutoEncoder) Shenbin et al. 2019. RecVAE: A New Variational Autoencoder for Top-N Recommendations with Implicit Feedback. ACM
Multi-VAE Liang et al. 2018. Variational Autoencoders for Collaborative Filtering. WWW '18
Multi-DAE (Denoising AutoEncoder) Liang et al. 2018. Variational Autoencoders for Collaborative Filtering. WWW '18

In Multi-VAE and Multi-DAE, embeddings related to the tags of the problems were incorporated into the encoder's input. This integration aimed to facilitate the learning of side information about the problems, thereby enhancing performance.

Models for Rivals Recommendation

NameReference
Collective MF (Matrix Factorization) Cortes. 2020. Cold-start recommendations in Collective Matrix Factorization
K-nearest neighbors Altman. 1992. An introduction to kernel and nearest-neighbor nonparametric regression

Models for Algorithm Problems Recommendation based on Rivals

NameReference
BPR (Bayesian Personalized Ranking) Rendle et al. 2009. BPR: Bayesian Personalized Ranking from Implicit Feedback
ALS (Alternating Least Squares) MF Hu et al. 2008. Collaborative Filtering for Implicit Feedback Datasets
Item-based CF (Collaborative Filtering) Sarwar et al. 2001. Item-based Collaborative Filtering Recommendation Algorithms

Architecture

RECJOON Architecture

Result

The deployment of RECJOON has led to a more personalized experience for BOJ and solved.ac users, enabling them to find suitable challenges and rivals that align with their current skill level. The intuitive interface and accurate recommendations have been positively received by the user community.

Algorithm Problems Recommendation

Algorithm Recommender Demo

Rivals Recommendation

Rival Recommender Demo

Algorithm Problems Recommendation based on Rivals

Rival's Problem Recommender Demo

Further Information

For further details, please visit the official GitHub repository.

For a comprehensive overview, please refer to the presentation video or slides.

For detailed insights into the primary model experiments, analyses, and overall project progression, refer to the Wrap-up Report.