<!-- #### [總覽](https://jasmine880809.medium.com/recommender-system-%E6%8E%A8%E8%96%A6%E7%B3%BB%E7%B5%B1-content-based-filtering-and-collaborative-filtering-9d338b7b22bd)
[MS](https://learn.microsoft.com/en-us/fabric/data-science/retail-recommend-model) -->
## Recommendation system

<span style='font-size: 0.64em;'>Roy, D., Dutta, M. A systematic review and research perspective on recommender systems. J Big Data 9, 59 (2022). https://doi.org/10.1186/s40537-022-00592-5</span>
Recommendtion/recommender system:
* content-based filtering
* collaborative filtering
* memory-based filtering
* item-based approach
* user-based approach
* model-based filtering
Recommender systems
| type | filtering basis | |
| --- | --- | --- |
| content-based filtering | product content | |
| collaborative filtering | other user's behaviour | |
<!-- | | | |
| | | |
| | | | -->

<span style ='font-size: 0.64em;'>He, X., Liu, Q., & Jung, S. (2024). The Impact of Recommendation System on User Satisfaction: A Moderated Mediation Approach. Journal of Theoretical and Applied Electronic Commerce Research, 19(1), 448-466. https://doi.org/10.3390/jtaer19010024</span>
---
### content-based filtering
recommend similar things based on user's previous choice
i.e. recommend a product similar to what user has watched\/used
* e.g.
* If I've wathed 'Queen Cleopatra' on a streaming service, it may recommend me other films with excessive political correctness
* If I bought 'Sapiens: A Brief History of Humankind' from bookshop, then I'm likely to be recommended related books such as 'Homo Deus:The Brief History of Tomorrow'

<span style='font-size: 0.64em;'>Kalra, Mamta & Sangwan, Suman. (2021). Design Engineering A Literature Review on Ontology-based and Deep Learning-based Recommendation System. Design Engineering. 2021. 13898 - 13906.</span>
### collaborative filtering
recommend things based on **other users' behaviour**
* memory-based filtering
filtering based on users' previous behaviour
* item-based approach:
If most users like an item and also like another item, then these two items are considered 'similar' to be recommended
* e.g.
If most people read 'Facing Up: Science and Its Cultural Adversaries' also read 'On the Origin of Species', then the system will recommend the latter to a customer who has just read the former
* user-based approach:
analyse an user's historical behaviour to find other similar users, and then recommend the user based on similar users' choice
* e.g.
Most people wathed Hsuan-Tien Lin's channel also watched Hung-yi Lee's one -> recommending Hung-yi Lee to those who just watched Hsuan-Tien Lin's video
* pros: intuitive, easy to implement
* cons:
* low computational efficiency
* poor performance upon sparse data
<a href='https://www.researchgate.net/figure/Concepts-of-user-based-and-item-based-filtering_fig1_340361119'><img src='https://www.researchgate.net/publication/340361119/figure/fig1/AS:962178941214731@1606412744374/Concepts-of-user-based-and-item-based-filtering.png' alt='Concepts of user-based and item-based filtering'/></a>
<span style='font-size: 0.64em;'>Chen, Yi-Cheng & Hui, Lin & Thaipisutikul, Tipajin. (2021). A collaborative filtering recommendation system with dynamic time decay. The Journal of Supercomputing. 77. 10.1007/s11227-020-03266-2.</span>
* model-based filtering
train a model based on historical behaviour, and use the model prediction to perform recommendation
* common approaches:
* Matrix Factorisation
_[details here](https://developers.google.com/machine-learning/recommendation/collaborative/matrix)_
* KNN
* Deep learning
* ...
* pros:
* able to cope with sparse data
* complex relationship handling
* extensible
* cons:
* model training requires huge computational resource
* lower explainability (usually)
### content-based and collaborative filtering comparison:
<a href='https://www.researchgate.net/figure/Content-based-filtering-and-Collaborative-filtering-recommendation_fig3_331063850'><img src='https://www.researchgate.net/profile/Marwa-Mohamed-54/publication/331063850/figure/fig3/AS:729493727621125@1550936266704/Content-based-filtering-and-Collaborative-filtering-recommendation.ppm' alt='Content-based filtering and Collaborative filtering recommendation.'/></a>
<span style='font-size: 0.64em;'>Mohamed, Marwa & Khafagy, Mohamed & Ibrahim, Mohamed. (2019). Recommender Systems Challenges and Solutions Survey. 10.1109/ITCE.2019.8646645.</span>
### Hybrid
Namely, the combination of collaborative and content-based filtering
pre-clustering -> searching the most similar cluster only (efficient)
<span style='font-size: 0.64em;'></span>