Systems developed by enterprises such as Netflix produce recommendations. Good recommendations induce good user experience and higher return rates. Humans give recommendations based on experience, knowledge, worldviews, wisdom etc., and automatic recommendation systems do it based on big data and machine learning.
Recommendation systems employ one or more of the following strategies:
- Collaborative Filtering (CF);
- Content-based Filtering (CBF);
- Demographic Filtering (DF); and
- Knowledge-Based Filtering (KBF).
1. Collaborative Filtering (CF)
CF recommends similar items to users of similar tastes. Whether it is user-based filtering or item-based filtering, the same assumption holds. Similarity between users or items are calculated by Pearson correlations or cosine similarities.
Matrix Factorization (MF), or similar latent semantic indexing (LSI) is actually a kind of collaborative filtering, although the users or items are converted to an encoded vector, and the recommendation scores are given by the cosine similarity between the encoded vectors of the users and the items.
Such recommendation systems suffer the cold-start problem: new users or new items cannot be accounted for when giving recommendations.
2. Content-Based Filtering (CBF)
CBF employs common machine learning algorithms to learn a user’s preference based on their consumption/purchase history and their profiles. Embedded vectors will be used too. However, this suffer cold-start problem.
3. Demographic Filtering (DF)
DF strategy makes use of users’ profiles such as age, sex, and other information to make recommendations. The algorithms might be rule-based, or machine learning also. However, nowadays, it might give rise to issues regarding fairness, equal opportunities, privacy, or ethics, in the wake of the era of GDPR or CCPA.
4. Knowledge-Based Filtering (KBF)
KBF makes recommendations based on the expert knowledge of the subject matter, known reasoning, or statistics. Recommendations may be made using a rule-based approach, or a predefined probabilistic model (such as census data). Some might have even employ a knowledge database. Big data may not be necessary in this kind of systems as the reasoning has been manually built-in.
Hybrid Recommendation Systems
Hybrid recommendation systems employ more than one of the above strategies. To combine all these strategies, one might put a voting system to all the results to give an aggregated results, or a weighting scheme, or a stacked generalization to combine all these methods together.
- Chhavi Saluja, Recommendation Systems exemplified, Towards Data Science. (2018) [Medium]
- Toby Segaran, Programming Collective Intelligence: Building Smart Web 2.0 Applications, (2008). [O’Reilly]
- Erion Çano, Maurizio Morisio, “Hybrid Recommender Systems: A Systematic Literature Review,” arXiv:1901.03888 (2019). [arXiv]
- Ankur Moitra, Algorithmic Aspects of Machine Learning (2018). [Cambridge]