核心是算法
推薦算法大致可以分為三類:基于內(nèi)容的推薦算法、協(xié)同過濾推薦算法和基于知識的推薦算法。
1、基于內(nèi)容的推薦算法,原理是用戶喜歡和自己關(guān)注過的Item在內(nèi)容上類似的Item,比如你看了哈利波特I,基于內(nèi)容的推薦算法發(fā)現(xiàn)哈利波特II-VI,與你以前觀看的在內(nèi)容上面(共有很多關(guān)鍵詞)有很大關(guān)聯(lián)性,就把后者推薦給你,這種方法可以避免Item的冷啟動問題(冷啟動:如果一個Item從沒有被關(guān)注過,其他推薦算法則很少會去推薦,但是基于內(nèi)容的推薦算法可以分析Item之間的關(guān)系,實現(xiàn)推薦),弊端在于推薦的Item可能會重復(fù),典型的就是新聞推薦,如果你看了一則關(guān)于MH370的新聞,很可能推薦的新聞和你瀏覽過的,內(nèi)容一致;另外一個弊端則是對于一些多媒體的推薦(比如音樂、電影、圖片等)由于很難提內(nèi)容特征,則很難進行推薦,一種解決方式則是人工給這些Item打標簽。
2、協(xié)同過濾算法,原理是用戶喜歡那些具有相似興趣的用戶喜歡過的商品,比如你的朋友喜歡電影哈利波特I,那么就會推薦給你,這是最簡單的基于用戶的協(xié)同過濾算法(user-based collaboratIve filtering),還有一種是基于Item的協(xié)同過濾算法(item-based collaborative filtering),這兩種方法都是將用戶的所有數(shù)據(jù)讀入到內(nèi)存中進行運算的,因此成為Memory-based Collaborative Filtering,另一種則是Model-based collaborative filtering,包括Aspect Model,pLSA,LDA,聚類,SVD,Matrix Factorization等,這種方法訓(xùn)練過程比較長,但是訓(xùn)練完成后,推薦過程比較快。
3、最后一種方法是基于知識的推薦算法,也有人將這種方法歸為基于內(nèi)容的推薦,這種方法比較典型的是構(gòu)建領(lǐng)域本體,或者是建立一定的規(guī)則,進行推薦。混合推薦算法,則會融合以上方法,以加權(quán)或者串聯(lián)、并聯(lián)等方式盡心融合。
當然,推薦系統(tǒng)還包括很多方法,其實機器學(xué)習(xí)或者數(shù)據(jù)挖掘里面的方法,很多都可以應(yīng)用在推薦系統(tǒng)中,比如說LR、GBDT、RF(這三種方法在一些電商推薦里面經(jīng)常用到),社交網(wǎng)絡(luò)里面的圖結(jié)構(gòu)等,都可以說是推薦方法。