It's a (seemingly) pretty simple matter of keeping track of how long someone looks at a video, and optimizing to show them videos they'll spend a long time looking at. It's pretty powerful too, I spend much more time looking at TikTok than any other digital content aggregator (to the extent I had to delete it from my phone). They also do some things like sprinkle in random fresh videos, potentially unrelated to your…
I actually think it's got much more to do with the training data. Given that you are watching a video, you need to either swipe away from it, or finish watching it. This provides either a 1 or 0 for the video classification model. The important contrast here is with FB/IG feed where you can scroll aimlessly without engaging, leaving you with perhaps 1 engagement out of 10 (or whatever). The attached doc suggests that…
Pairwise association of videos watched by the same user consecutively or even just sampled pairs from their last N videos will get you a video embedding.
Pairwise sampling of users who watch the same video to the end will get you a user embedding.
Turking category tags will prime the pump for other types of embeddings.
These things can be ensembles, stacked, force learned jointly, etc.
All of this comes out of the box in Keras (though it’s up to you to feed the data in fast when you’ve got a lot office).
You can argue that getting latent representations/factorizations without explicit “user clicked show me more” is semi-supervised I guess, but if so all the recommender stuff since the Netflix Challenge meets that criteria to one degree or another.