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 Computers

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


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


Models for Algorithm Problems Recommendation based on Rivals


Architecture

Architecture_0626


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


Rivals Recommendation

Rival Recommender


Algorithm Problems Recommendation based on Rivals

Rival's Problem Recommender


Further Information

For further details, please visit the official GitHub repository.


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


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