cross-posted from: https://lemmy.world/post/28633828
finally some simple UI, you click on browser extension “icon” and get taken to a webpage that will show you all the video that rank by cosine similarity (I just now realized has UUID when it should have shortuuid), linked below is the webpage
https://github.com/solidheron/peertube_recomendation_algorythm/blob/main/example1.PNG
above is just example with my recommendations luckily the links change colors if you’ve already seen them. of course the video at the top is the video I watched the longest.
other than that I been cleaning up backend stuff and ignoring minor error that pop up. it should more accurately capture watch time on peertube videos and doesn’t just say you watch an hour of a video you didn’t care about. probably adding a bunch of code that needs to get cleaned up.
my opinion has shifted a bit on this simple algo it seems like the videos I get tend to be random and take require me to find videos independently to get some decent suggestion, also there’s a Linux pipeline
I do have a software engineering problem where view time is only input to the algorithm, like, dislike, and finished status of a video is available. I have decided on going with cosine similarity for likes and dislikes and adding it to the time engagement. if you like a video all the tokens of that video get a +1 in length and dislike makes all the tokens -1 in length. I thought it was a good solution because it doesn’t rely on converting a like to time. I wouldn’t know how to deal with like being a multiplier for time engagement vector and would dislike be negative or something or just zero. generally adding a like cosine vector to a time engagement vector generally means both time and likes normalized (sorta) both can contribute to a video recommendation.
seems like cosine recommendation will need processing