đ Introduction

Overviewâ
Kelbrum is an anime recommendation system
designed to suggest anime titles similar to those chosen by
users. It employs K-means++ clustering with a
custom distance function, which uses a combination of the
Manhattan and Dice distance.
The custom distance function assigns weighted values to each
property of an anime such as its type
,
genres
, score
to compute the distance
between two separate anime.
The frontend of the project was initially set up using Vite.js for development purposes, but has since transitioned to utilize Create React App, in conjunction with React, React Router, TailwindCSS and DaisyUI.
The backend of this project, aka the 'heart' of the project was built utilizing Tensorflow.js in combination with external libraries such as ml-kmeans, ml-distance, and simple-statistics. Additionally, to perform TF-IDF analysis on anime synopses, natural was used alongside remove-stopwords, word-list, and lemmatizer.
Upon combining these two parts, the project comes together in the form, that is, Kelbrum.
This project was made possible thanks to the following sources of anime image and text information:
- Original Kaggle Dataset - The anime dataset was read and proccessed into a custom JavaScript class known as AnimeEntry.
-
JikanAPI
- Missing information such as
pageURL
,imageURL
,trailerURL
and other existing properties which may have needed updates were updated by making several API requests to JikanAPI. JikanAPI contains anime information obtained from MyAnimeList.
All external images and text used within this app belong to their respective owners.
ÂŠī¸ Licenseâ
The contents of this repository are licensed under the terms and conditions of the MIT license.
MIT Š 2024-present Visakan Kirubakaran.