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

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

    Thanks. The algorithm does not use themes, just genres. Though I could make it include them as well easily. Anyway, these are your selections, correct?:

    1. Action
    2. Adventure
    3. Fantasy
    • 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.

                • 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.

                • 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.