Hello Lemmings,
I’ve been working on a new anime recommendation algorithm the past 4 months and now I pretty much have the algorithm done.
To test the accuracy of the algorithm, I am requesting any MyAnimeList user with 50+ completed animes to post their MyAnimeList username along with their overall top 3 genres in descending order. This will then be compared to what the algorithm guessed.
Thanks in advance.
Edit: Thanks a lot, guys. I finally released the project! You can find it here: https://github.com/Asudox/anote
Yeah i wouldnt know which order since they are all interchangeable to me. I think using anilist which has a lot more tags instead of genres that are user recommended would be cooler, but also a lot more trouble I suspect.
Yeah well, the algorithm is built on MAL’s API responses so I would need to change alot to get it to work with anilist. I went with MAL not because the API is good (it’s not) but because it has a much bigger userbase than anilist.
Oh i can imagine, it was the first site to do lists and has kept ahead for awhile. I just wish they had a better tagging system. Everything on mal has to go through shitty mods which reject a lot of pointless things.
Unfortunately, it is like that. I don’t see a new UI or a new system coming soon, so yeah. If the algorithm gets a certain amount of reasonable traffic, I might also add anilist support.
So just wondering does your script tally each animes genres then list them in order for which appears most. Wouldnt asking peoples top three be more of a test of them knowing their own likes or is there more to it.
It’s a bit more complex than that. In it’s most simplified form: The algorithm takes a user’s animelist as input. A for loop iterates over the animes in the animelist, gets their genres and assigns a weight (more like a score) to these genres. The formula is, at the moment: anime score multiplied by the times the anime is rewatched plus one
The number that formula outputs is assigned as a score to each genre the anime has. In the end, a structure called “genre combo” gets created. The genre combo is a structure composed of an ID and a hashmap holding the ranked animes which is only used as training data, so you don’t need to worry about that. The ID is what is important and is composed of top 3 genres with the most weights. So something like: 22010040 (22 is Romance, 10 is Fantasy and 4 is Comedy) When the training is done, this ID will be used to find animes that were added to the DB by the same user animelists that will have that ID.
It’s a bit hard to explain, but I tried my best.
Now for this, I just want to know if that genre combo ID matches what people say.
Ooh i didnt expect rewatches to be accounted for. I have marked a lot as accurate as possible including things ive watches multiple times.
In my case I don’t mark rewatches on mal as I usually rewatch 1 memorable episode. Also my taste slighlty changed over the years but mal doesn’t mark the date of the watch.
That’s fine. The algorithm will work even without rewatches. That’s what the plus one is for in the formula.