POST TIME:2018-12-03 21:32
在信息量爆炸的今天,由于范式的轉(zhuǎn)移,傳統(tǒng)的內(nèi)容和渠道已經(jīng)不再是稀缺資源;在今天,將信息和內(nèi)容更好更精準(zhǔn)得呈現(xiàn)在用戶(hù)面前,才是全方面提高效率的方式,真正的稀缺資源釀成了「推」和「拉」。而在這一切的背后,保舉算法的作用都功不成沒(méi)。
保舉算法簡(jiǎn)介目前的保舉算法一般分為四大類(lèi):
協(xié)同過(guò)濾保舉算法基于內(nèi)容的保舉算法混合保舉算法流行度保舉算法協(xié)同過(guò)濾的保舉算法協(xié)同過(guò)濾保舉算法應(yīng)該算是一種用的最多的保舉算法,它是通過(guò)用戶(hù)的歷史數(shù)據(jù)來(lái)構(gòu)建“用戶(hù)相似矩陣”和“產(chǎn)品相似矩陣”來(lái)對(duì)用戶(hù)進(jìn)行相關(guān)item的保舉,以達(dá)到精準(zhǔn)滿(mǎn)足用戶(hù)愛(ài)好的目的。好比亞馬遜等電商網(wǎng)站上的“買(mǎi)過(guò)XXX的人也買(mǎi)了XXX”就是一種協(xié)同過(guò)濾算法的應(yīng)用。
基于內(nèi)容的保舉算法基于內(nèi)容的保舉算法,是將item的名稱(chēng)、簡(jiǎn)介等進(jìn)行分詞處理后,提取出TF-IDF值較大的詞作為特征詞,在此基礎(chǔ)上構(gòu)建item相關(guān)的特征向量,再按照余弦相似度來(lái)計(jì)算相關(guān)性,構(gòu)建相似度矩陣。
混合保舉算法混合保舉算法很好理解,就是將其他算法保舉的結(jié)果賦予差別的權(quán)重,然后將最后的綜合結(jié)果進(jìn)行保舉的方法。
舉例來(lái)說(shuō),好比上述已經(jīng)提到了三種方式,協(xié)同過(guò)濾算法中的基于用戶(hù)和基于item的協(xié)同過(guò)濾保舉,和基于內(nèi)容的保舉算法;而混合保舉算法中是將這三種保舉結(jié)果賦予差別的權(quán)重,如:基于用戶(hù)的協(xié)同過(guò)濾的權(quán)重為40%,基于item的協(xié)同過(guò)濾的權(quán)重為30%,基于內(nèi)容的過(guò)濾技術(shù)的權(quán)重為30%,然后綜合計(jì)算得到最終的保舉結(jié)果。
流行度保舉算法這個(gè)很基礎(chǔ),看名字就知道了。這種方法是對(duì)item使用某種形式的流行度度量,例如最多的下載次數(shù)或購(gòu)買(mǎi)量,然后向新用戶(hù)保舉這些受歡迎的item。就和我們平時(shí)經(jīng)常看到的熱門(mén)商品、熱門(mén)保舉類(lèi)似。
淺析保舉算法在實(shí)際中的應(yīng)用了解了大概原理后,就可以來(lái)看看在實(shí)際場(chǎng)景中,保舉算法都是怎么使用的吧。(事先聲明,這只是我看了相關(guān)東西再結(jié)合本身理解進(jìn)去推測(cè)的,如果有說(shuō)錯(cuò)的地方請(qǐng)各位千萬(wàn)放下手中的刀……)
好,下面開(kāi)始,先說(shuō)說(shuō)協(xié)同過(guò)濾算法在實(shí)際中的應(yīng)用。
協(xié)同過(guò)濾算法協(xié)同過(guò)濾算法一般是怎么做的呢?我們先來(lái)看看在圖書(shū)保舉中的做法:
協(xié)同過(guò)濾(CF)大致可分為兩類(lèi):一類(lèi)是基于鄰域的保舉、一類(lèi)是基于模型的保舉;鄰域方法是使用用戶(hù)對(duì)已有item的喜愛(ài)程度來(lái)推測(cè)用戶(hù)對(duì)新item的喜愛(ài)程度。與之相反,基于模型的方法是使用歷史行為數(shù)據(jù),基于學(xué)習(xí)出的預(yù)測(cè)模型,預(yù)測(cè)對(duì)新項(xiàng)的喜愛(ài)程度。通常的方式是使用機(jī)器學(xué)習(xí)算法,找出用戶(hù)與項(xiàng)的彼此作用模型,從而找出數(shù)據(jù)中的特定模式。(由于基于模型的方法我也不太理解,暫時(shí)不展開(kāi)說(shuō)明,感興趣的可以查閱相關(guān)資料)
【基于鄰域的保舉】–便是構(gòu)建用戶(hù)相似矩陣和產(chǎn)品相似矩陣
假設(shè)用戶(hù)表示出了對(duì)一些圖片的喜歡情況并進(jìn)行了相應(yīng)的評(píng)分,情況如下:
差別圖書(shū)代表差別維度,評(píng)分則代表了特征向量在該維度上的投影長(zhǎng)度,按照用戶(hù)對(duì)差別圖書(shū)的喜愛(ài)程度建立用戶(hù)的特征向量,,然后按照余弦相似度可以判斷用戶(hù)之間的相似性。按照相似性可以建立用戶(hù)相似矩陣:
很顯然,通過(guò)按照用戶(hù)對(duì)歷史圖書(shū)的評(píng)分情況,可以得到用戶(hù)對(duì)其的喜戀愛(ài)況,在此基礎(chǔ)上構(gòu)建出用戶(hù)特征向量,可以必然程度上判斷兩個(gè)用戶(hù)在圖書(shū)品味上的相似程度,進(jìn)而我們可以認(rèn)為,若A和B比較相似,可以認(rèn)為A喜歡的書(shū)B(niǎo)也喜歡。
在給A用戶(hù)進(jìn)行圖書(shū)保舉時(shí),找到與其相似度較高的其他用戶(hù),然后除去A用戶(hù)已看過(guò)的圖書(shū),結(jié)合相似用戶(hù)對(duì)某本圖書(shū)的喜愛(ài)程度與該用戶(hù)與A用戶(hù)的相似度進(jìn)行加權(quán),得到的保舉指數(shù)越高的圖書(shū)優(yōu)先進(jìn)行保舉。
這應(yīng)該也是豆瓣等圖書(shū)社區(qū)上使用的保舉算法之一,利用用戶(hù)之間的相似度來(lái)進(jìn)行保舉。當(dāng)然,電影保舉也同理。
同理,反過(guò)來(lái)我們可以根據(jù)相似的方位,以用戶(hù)為維度來(lái)構(gòu)建item的特征向量。?當(dāng)我們需要判斷兩本書(shū)是否相似時(shí),就去看對(duì)這兩本書(shū)進(jìn)行過(guò)評(píng)價(jià)的用戶(hù)構(gòu)成是否相似,便是使用評(píng)價(jià)過(guò)一本書(shū)的用戶(hù)向量(或數(shù)組)體現(xiàn)這本圖書(shū);也就是說(shuō),如果有兩本書(shū)的評(píng)價(jià)中,用戶(hù)重合度較高,即可認(rèn)為該兩本書(shū)相似度較高。其實(shí)借用的還是用戶(hù)相似的基礎(chǔ)。(《口語(yǔ)大數(shù)據(jù)與機(jī)器學(xué)習(xí)》中也提到過(guò)相似的保舉算法,感興趣的同學(xué)可以找來(lái)看一下)。
在音樂(lè)的保舉中同樣用到了協(xié)同過(guò)濾算法,我們眾所周知的使用個(gè)性化保舉的音樂(lè)app應(yīng)該屬「網(wǎng)易云音樂(lè)」比較典型了。