Cant we just take out the ratio of movies to be displayed, for eg if a user watched an action movie increase the percentage of movies to be shown to the user of action and decrease the rest?
We could do that however it would not be as effective. I am assuming in your scenario there is a graph with a decreasing gradient as a linear one might make show the user only a certain genre of movies if the user watched a lot of that particular genre. In a small scenario where there are two genres this might work, however there are 100s of genres movies can choose from some consisting of more than one. Although a company could plot a graph using humans or complex non-ML algorithms for each scenario, it would be too expensive and time consuming. Even after completing this herculean task, peoples minds might change leading to the previous job to be useless. That is why ml is used. It can constantly run with little maintainence and is extremely adaptable. Hope this helps!
In that case, the recommendations might not be as accurate.
You can use ML to improve the accuracy of those recommendations.
Welcome to the community, @Saim_Rehman!
Probably this is exactly what happens somehow (under the hood), but the question is by how far and how to implement it specifically. And in order to train the model in a at least acceptable (or preferable best) way when it comes to new unseen data it is important to define when the model does a good job. This means we need to be clear how judge:
- how bad is a false recommendation (e.g. a movie is recommended but the user does not like it)
- how valuable is a good recommendation is: e.g. user loves the recommended movie, spends more time on the platform and more ads can be monetised
Probably after giving it some thought about the exact definition of your business problem, incl. the logic how to measure success; one could continue in analysing and preparing the data to build an effective recommendation system.
On this note this page might be interesting and worth a look: Embeddings: Categorical Input Data | Machine Learning | Google for Developers
The benefit of ML is that you can learn highly abstract patterns which might not be obvious even for domain experts - ML can do this in a scalable way and also incorporate new data be a simple retraining and deployment in an MLOps scheme.
In addition, considering also recent advancements in ML, of course the recommendation systems can also be highly personalised and consider user-specific preferences (e.g. how much the favorite actor is important vs. preferred genre vs. other hidden features etc.) so that recommendations and also the whole ecosystem (incl. ads) can be tailored to the individual user while still leveraging big data with ML.
Hope that helps, @Saim_Rehman!
We can, but we will then be limited to just recommending by similar genres. Is this the best?
@Christian_Simonis , checking the user feedback is one way to check if the model is doing a good job. When the user does a Like and the movie was selected by the model, we can infer that the model is doing a good job and vice-versa. In this case, the model is being refined by HITL, leading to better recommendations with time.
Yes! Great addition: a smart labelling strategy is a key pillar in such a system.