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