---
# System prepended metadata

title: recommendation system
tags: [公開文檔]

---

<!-- #### [總覽](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

![recommendation system type figure](https://media.springernature.com/full/springer-static/image/art%3A10.1186%2Fs40537-022-00592-5/MediaObjects/40537_2022_592_Fig1_HTML.png)
<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 |  |
<!-- |  |  |  |
|  |  |  |
|  |  |  | -->

![filtering basic concept](https://www.mdpi.com/jtaer/jtaer-19-00024/article_deploy/html/images/jtaer-19-00024-g001.png)
<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'

![Content-Based Recommender System](https://www.researchgate.net/profile/Mamta-Kalra-2/publication/380294975/figure/fig1/AS:11431281240310352@1714717843686/Model-of-Content-Based-Recommender-System.ppm)
<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>

