This is an anime and manga recommender system based off of MyAnimeList, AniList, Kitsu, and Anime-Planet user ratings. This codebase has been used to train a model on over 1.5 billion user-item interactions. See the notebook in notebooks/README.ipynb
for usage instructions.
Details on the recommender system can be found by inspecting the source code at notebooks/TrainingAlphas
. At a high level, there are four main steps:
- Pretraining a transformer model and a bag-of-items model on watch histories
- Finetuning the models on recent data to predict the following metrics:
- The probability that you will watch a series
- The rating that you will give to the series
- The probability that you will finish a series after starting it
- The probability that you will add the series to your plan-to-watch list
- Using a ranking model to combine these metrics into a relevance score
- Reranking the outputs to generate a list of recommendations
See Deep Neural Networks for YouTube Recommendations, BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding, Position-Aware ListMLE: A Sequential Learning Process for Ranking, and Deep Learning for Recommender Systems: A Netflix Case Study for relevant prior work.