Cattail

joined 2 months ago
[–] [email protected] 2 points 4 hours ago

I've been developing for brave so it will work for chrome and it should work for firefox. for brave its easy you put the github files into a folder, put brave browser into development mode, and then manage your extensions by adding the folder, you press f12 to get the console and look at the variables in extension storage.

if you get it to load properly you should see 🔄 Starting fetch for template: https://dalek.zone/api/v1/videos?sort=-publishedAt&nsfw=both&count=10

in devTools on brave

[–] [email protected] 6 points 1 day ago

i figured that some did it when elon banned that account on twitter i never got around to looking for it

 

cross-posted from: https://lemmy.world/post/28461880

so I spent last several days making collecting watch time on both videos and livestreams more robust and work across multiple peertube instances, im sure it still has gaps in the structure so that jenk data can get in.

if you want to try it heres the link https://github.com/solidheron/peertube_recomendation_algorythm/ btw its a browser extension

so now I got two parts left that I know of first being creating the user_recomendation_vector and the function that gets recommendation based on that vector. I settle on cosine similarity vector since its easy to implement and can be run in browser with only data collected by the user device, and doesnt requires sharing outside of peertube api. user_recomendation_vector should have two part AOLR: (algorithm of last resort) which will be the words in the title, tags, and description tokenized with an float value and recomended_standard: which will be based on what category either programs or people decide a video belongs to along with an associated float value to make it a vector.

I do have issues with deciding if engagement is important, if short video should have multiplier if they're completed, how much is a like worth, how important is it to get an end of the video.

I should add that I have made complimentary video_description_vector thats store in browser all vector dimentions are 1.

[–] [email protected] 58 points 1 week ago (1 children)

lol we ignore real problems in the world to do this

[–] [email protected] 2 points 1 week ago

really im thinking about what data is okay to share and what data should be kept to the user. basically I determined that description of the video is only thing that can be public and the people/bot describing it okay to share (like associating their channel to a description they make to specific video) and the watchers device can collect video meta data to find suggestions

 

cross-posted from: https://lemmy.world/post/28064839

writing down my thoughts for added elements called Video_description_vector and Video_description_vector_history. Video_description_vector is an element that an instance gives to describe what categories a video does and does not belong to and Video_description_vector_history is record of user submissions of what categories they say a video belongs to so that way categories can be removed.

Video_description_vector has sub elements that are format standards, this is done so that so that future potentially better format can be entered into Video_description_vector . I'm working on my recommended standard, so far I have isTrue array that lists what categories the video belongs to, while the isFalse element lists what categories it does not belong to—subjectively. done that way so that isn't a sea of element like "cartoon":True or "action":False . I do know that I need sub-element for music metrics

Below is a made-up example. It’s about the Cleveland Browns, an American football team, doing a fundraiser for charity. Categories like “football” or “sports” are excluded because the Browns are not actually playing football or engaging in sports in the video. { "Video_description_vector": { "recommended_standard": { "isTrue": ["Browns", "Charity", "Cleveland", "ALS", "fundraiser"], "isFalse": ["Sports", "football", "Cincinnati"] }, "future_standard": { "doesnt": { "subarray": { "example": "no" }, "exist": ["Sports", "football", "Cincinnati"] } } }, "Video_description_vector_history": [ { "name": "vidchase", "host": "videovortex.tv", "submitted_date": "11/15/2020", "uuid": "this and everything above can be removed if inside a video.json", "recommended_standard": { "isTrue": ["Browns", "Charity", "Cleveland"], "isFalse": ["Sports", "football", "Cincinnati"] } }, { "name": "composite", "host": "combined.instance", "submitted_date": "4/15/2024", "uuid": "this and everything above can be removed if inside a video.json", "recommended_standard": { "isTrue": ["fundraiser", "Charity", "ALS"] } }, { "name": "Troll", "host": "wrong.info", "submitted_date": "6/9/0420", "uuid": "example", "recommended_standard": { "isTrue": ["sack", "ballz"] } }, { "name": "GoodFaith_but_wrong", "host": "other.instance", "submitted_date": "1/14/2023", "uuid": "example", "recommended_standard": { "isTrue": ["Browns", "NFL", "football"] } } ] }

[–] [email protected] 2 points 1 week ago (2 children)

I like that idea for a stupid simple algorithm. ironically I plan for there to be like a Varity of algorithms both that are user only and a aggregate. really im trying to pin down a standardized video vector that can describe any video to any level of detail

[–] [email protected] 1 points 1 week ago

be better to store the video vector on an instance so that watchers can retrieve, just logistics. video vector (element) can be calculated anywhere just communicated to an instance, the idea is to be flexible. activityhub protocol has made the decisions easy the video vector has to be a .json element in a video json data.

it would be better to store the results of a calculation to avoid repeated calculations. im looking into music classifications, and like the entire video can be sent to parse to see if its music or not, the tempo, genra, id assume that would be fairly costly to calculate or instance can send the video vector that states all that information

[–] [email protected] 1 points 1 week ago

im not at the aggregating data stage but you can just put a random id on a data set

[–] [email protected] 3 points 1 week ago (2 children)

i havent made anything yet i just wanted to articulate that a basic algorythm can be done ethically where either instance/watcher/fediverse in general can make a vector to define a video and that could be shared via activity hub and the user can have a vector for themselves and even their own algorithm to sift through videos.

im just starting and right now i have to figure out how to format the video vector do i want .json .csv .xml

 

cross-posted from: https://lemmy.world/post/28011368

So I started by doing research and by research I mean watching two videos on YouTube about basic recommendation algorithms.

I did watch a 30 minute video on Netflix software engineer talking about using machine learning and complex matrix and these bandit style machine learning algorithms to recommend TV shows/movies really the base conclusion is that there's a 50% improve over doing all these complex things over their baseline measurement. Baseline will mean traditional pre neral network based algorithms.

The way I interpret it is that basics take you a long way and all the basics are is just organizing any peertube video into a vector and people watching into a vector as well. The idea would be that which videos are more similar to each other would be good recommendations if a watcher watch one of those videos, or if they didn't like it don't recommend any videos similar to that. Once these videos get vectorized then the watcher's vector can be updated in a basic way more watch time mean its more of what they want and a like would give it a boost, or comment could boost multiplier.

I'd say that the watcher's vector can be stored locally while videos vector is public. It will be a while to figure out a function/algorithm to adapt to watcher. Does the watcher taste change, do they multiple things , should the algorithm adapt fast or slow as new videos come in, novelty/consistency. I don't expect this problem to be solved anytime soon , but the recommendation algorithm will simply evolve and split as to have their own unique benefits and drawbacks.

To start foundation is to start a standard for video vector. Video can be quantified and qualified. There's only a few measurable quantities like video length and existing views. Qualitative attribute of videos like "is it a cooking tutorial, "is it a sports commentary ", or "is it a Livestream VOD" are going to require that the vector be stored in a format that can adapt to the expanding number of dimensions the quality a peertube video can have. Next issue is measure qualities to an actual number is something sports related or sports adjacent would a 1 mean yes or would a 0 mean neutral/agnostic or no.

The last simplist issue would be communicated the algorithm that updates the watcher's vector since that can be done via updates from peertube server or GitHub

 

cross-posted from: https://lemmings.world/post/22235005

Looks to build mastodon account and Lemmy community for my county, just curious if there's any programs that can post to Lemmy mastdon

 

tried to pioneer the fedi plays genre(like twitch plays but for fediverse), apparently it has been done before in different ways on mastodon, but this is peertube livestream version. I had it running for about 2 days with not issues. currently it has about 19 seconds of lag and checks for input every 4 seconds.

source code: https://github.com/solidheron/Fedi-plays