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

  • Breezy@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    8 months ago

    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.

    • asudox@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      8 months ago

      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.

      • Breezy@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        8 months ago

        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.

        • asudox@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          8 months ago

          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.

          • Breezy@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            8 months ago

            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.

            • asudox@lemmy.worldOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              8 months ago

              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.

              • Breezy@lemmy.world
                link
                fedilink
                English
                arrow-up
                2
                ·
                8 months ago

                Ooh i didnt expect rewatches to be accounted for. I have marked a lot as accurate as possible including things ive watches multiple times.

              • ludrol@bookwormstory.social
                link
                fedilink
                English
                arrow-up
                2
                ·
                8 months ago

                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.

                • asudox@lemmy.worldOP
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  8 months ago

                  That’s fine. The algorithm will work even without rewatches. That’s what the plus one is for in the formula.