基于內(nèi)容推薦概要
基于內(nèi)容的信息推薦方法的理論依據(jù)主要來(lái)自于信息檢索和信息過(guò)濾,所謂的基于內(nèi)容的推薦方法就是根據(jù)用戶(hù)過(guò)去的瀏覽記錄來(lái)向用戶(hù)推薦用戶(hù)沒(méi)有接觸過(guò)的推薦項(xiàng)。主要是從兩個(gè)方法來(lái)描述基于內(nèi)容的推薦方法:?jiǎn)l(fā)式的方法和基于模型的方法。啟發(fā)式的方法就是用戶(hù)憑借經(jīng)驗(yàn)來(lái)定義相關(guān)的計(jì)算公式,然后再根據(jù)公式的計(jì)算結(jié)果和實(shí)際的結(jié)果進(jìn)行驗(yàn)證,然后再不斷修改公式以達(dá)到最終目的。而對(duì)于模型的方法就是根據(jù)以往的數(shù)據(jù)作為數(shù)據(jù)集,然后根據(jù)這個(gè)數(shù)據(jù)集來(lái)學(xué)習(xí)出一個(gè)模型。一般的推薦系統(tǒng)中運(yùn)用到的啟發(fā)式的方法就是使用tf-idf的方法來(lái)計(jì)算,跟還有tf-idf的方法計(jì)算出這個(gè)文檔中出現(xiàn)權(quán)重比較高的關(guān)鍵字作為描述用戶(hù)特征,并使用這些關(guān)鍵字作為描述用戶(hù)特征的向量;然后再根據(jù)被推薦項(xiàng)中的權(quán)重高的關(guān)鍵字來(lái)作為推薦項(xiàng)的屬性特征,然后再將這個(gè)兩個(gè)向量最相近的(與用戶(hù)特征的向量計(jì)算得分最高)的項(xiàng)推薦給用戶(hù)。在計(jì)算用戶(hù)特征向量和被推薦項(xiàng)的特征向量的相似性時(shí),一般使用的是cosine方法,計(jì)算兩個(gè)向量之間夾角的cosine值。
基于內(nèi)容推薦的步驟
1、對(duì)數(shù)據(jù)內(nèi)容分析,得到物品的結(jié)構(gòu)化描述
2、分析用戶(hù)過(guò)去的評(píng)分或評(píng)論過(guò)的物品的,作為用戶(hù)的訓(xùn)練樣本
3、生成用戶(hù)畫(huà)像
a.可以是統(tǒng)計(jì)的結(jié)果(后面使用相似度計(jì)算)
b.也可以是一個(gè)預(yù)測(cè)模型(后面使用分類(lèi)預(yù)測(cè)計(jì)算)
4、新的物品到來(lái),分析新物品的物品畫(huà)像
5、利用用戶(hù)畫(huà)像構(gòu)建的預(yù)測(cè)模型,預(yù)測(cè)是否應(yīng)該推薦給用戶(hù)U
a.策略1:相似度計(jì)算
b.策略2:分類(lèi)器做預(yù)測(cè)
6、進(jìn)一步,預(yù)測(cè)模型可以計(jì)算出用戶(hù)對(duì)新物品的興趣度,進(jìn)而排序
7、進(jìn)一步,用戶(hù)模型在變化,通過(guò)反饋更新用戶(hù)畫(huà)像(用戶(hù)畫(huà)像在這里就是預(yù)測(cè)模型)
反饋-學(xué)習(xí),構(gòu)成了用戶(hù)畫(huà)像的動(dòng)態(tài)變化
基于內(nèi)容推薦的層次結(jié)構(gòu)
* 內(nèi)容分析器
文檔的數(shù)據(jù)處理
得到結(jié)構(gòu)化的數(shù)據(jù),存儲(chǔ)在物品庫(kù)中
* 信息學(xué)習(xí)器
收集有關(guān)用戶(hù)偏好的數(shù)據(jù)特征,泛華這些數(shù)據(jù),構(gòu)建用戶(hù)特征信息(機(jī)器學(xué)習(xí))
通過(guò)歷史數(shù)據(jù)構(gòu)建用戶(hù)興趣模型(通過(guò)分類(lèi)的方法,提取特征,特征就是組建用戶(hù)畫(huà)像的基礎(chǔ))
生成興趣特征(正樣本)和無(wú)興趣特征(負(fù)樣本)
* 過(guò)濾組件
將用戶(hù)的個(gè)人信息和物品匹配
生成二元或連續(xù)性的相關(guān)判斷(原型向量和物品向量的余弦相似度)
基于內(nèi)容推薦(CB)的推薦算法
就目前看,Collaborative Filtering Recommendations (協(xié)同過(guò)濾,簡(jiǎn)稱(chēng)CF) 還是目前最流行的推薦方法,在研究界和工業(yè)界得到大量使用。但是,工業(yè)界真正使用的系統(tǒng)一般都不會(huì)只有CF推薦算法,Content-based Recommendations (基于內(nèi)容推薦,CB) 基本也會(huì)是其中的一部分。
CB根據(jù)用戶(hù)過(guò)去喜歡的產(chǎn)品(items),為用戶(hù)推薦和他過(guò)去喜歡的產(chǎn)品相似的產(chǎn)品。例如,一個(gè)推薦飯店的系統(tǒng)可以依據(jù)某個(gè)用戶(hù)之前喜歡很多的烤肉店而為他推薦烤肉店。 CB最早主要是應(yīng)用在信息檢索系統(tǒng)當(dāng)中,所以很多信息檢索及信息過(guò)濾里的方法都能用于CB中。
推薦過(guò)程:
CB的推薦過(guò)程一般包括下面三步:
Item Representation:即對(duì)items做特征工程,通俗來(lái)說(shuō)即對(duì)items的屬性表達(dá)出來(lái),如item = 農(nóng)夫山泉(品類(lèi):礦泉水,價(jià)格:1-5,etc);
Profile Learning:利用一個(gè)用戶(hù)(id)過(guò)去喜歡(以及不喜歡)的item的特征數(shù)據(jù),來(lái)學(xué)習(xí)出此用戶(hù)的喜好特征(profile),如id=我,喜歡=(農(nóng)夫山泉,麥當(dāng)勞),不喜歡=(檳榔,香煙),etc。
Recommendation Generation:通過(guò)比較上一步得到的用戶(hù)profile與候選item的特征,為此用戶(hù)推薦一組相關(guān)性最大的item。
例子:
對(duì)于個(gè)性化閱讀來(lái)說(shuō),一個(gè)item就是一篇文章,第一步我們要提取文章中的關(guān)鍵詞組來(lái)表示文章的主題,可以采用的方法例如TF-IDF找文章中詞的權(quán)重,例如在python文章中“python”是主要被提及的字眼,那么該詞是關(guān)鍵字,利用這種方法,我們就可以把文章向量化。第二步是找出用戶(hù)之前喜歡的文章,通過(guò)上述TF-IDF方法,將其向量化,然后求平均值,來(lái)代表用戶(hù)大致喜歡的文章。如果用戶(hù)喜歡python語(yǔ)言,那么該用戶(hù)的profile中[‘python’]的權(quán)重占比較大。第三步就是通過(guò)以上二步得到的所有item和該用戶(hù)的profile進(jìn)行匹配,計(jì)算方式一般用余弦相似度。
詳細(xì)過(guò)程
1.Item Representation
Item一般都會(huì)有一些描述它的屬性。這些屬性通??梢苑譃閮煞N:結(jié)構(gòu)化(structured)和非結(jié)構(gòu)化(unstructured)屬性。所謂結(jié)構(gòu)化屬性就是可以被量化,可直接使用的屬性,如人有性別、學(xué)歷、地域等屬性。而非結(jié)構(gòu)化屬性就是需要再進(jìn)行二次解析,無(wú)法直接利用的屬性,如人的購(gòu)買(mǎi)記錄,一篇文章的內(nèi)容等。像文章這種非結(jié)構(gòu)化數(shù)據(jù)可以利用TF-IDF和word2vec等算法把文章中的關(guān)鍵詞向量化表示出來(lái)。
如果用TF-IDF表示文章對(duì)應(yīng)關(guān)鍵詞的權(quán)重,那么可以得到以下矩陣:
2.Profile Learning
假設(shè)用戶(hù)(id)已經(jīng)對(duì)一些item做出了喜歡的判斷,對(duì)另一部分item做出了不喜歡的判斷,且這些item我們已經(jīng)有了對(duì)應(yīng)的向量化表示,那么這就是用戶(hù)的profile,如何簡(jiǎn)單計(jì)算用戶(hù)的profile呢?公式如下:
其中x是用戶(hù)喜歡的item,a是喜歡item的總數(shù),y是用戶(hù)不喜歡的item,b是不喜歡item的總數(shù)。這時(shí)我們得到另一個(gè)用戶(hù)矩陣:(當(dāng)然這里不是協(xié)同過(guò)濾,無(wú)需把全部用戶(hù)列成矩陣項(xiàng),實(shí)際應(yīng)用單個(gè)用戶(hù)id即可)
3.Recommendation Generation
通過(guò)以上二步得到的所有item和所有用戶(hù)的profile,那么要對(duì)一個(gè)用戶(hù)的profile和所有item進(jìn)行匹配,此時(shí)我們計(jì)算的方式一般用余弦相似度。余弦相似度的計(jì)算方法如下,假設(shè)向量a、b的坐標(biāo)分別為(x1,y1)、(x2,y2) 。則:
余弦值的范圍在[-1,1]之間,值越趨近于1,代表兩個(gè)向量的方向越接近;越趨近于-1,他們的方向越相反。如上述例子我們可以計(jì)算以下結(jié)果:
所以最終會(huì)把余弦值最大(跟用戶(hù)最相關(guān)的文章)的前N篇推薦給用戶(hù)。
優(yōu)缺點(diǎn)
優(yōu)點(diǎn):可以使用當(dāng)前的用戶(hù)評(píng)價(jià)來(lái)構(gòu)建用戶(hù)的個(gè)人信息;由于過(guò)程簡(jiǎn)單解釋性強(qiáng),推薦的結(jié)果容易被人接受;對(duì)于新物品來(lái)沒(méi)有任何用戶(hù)評(píng)分的也可以推薦給用戶(hù)。
缺點(diǎn):可分析的內(nèi)容有限,且新穎度較差,新用戶(hù)需要用戶(hù)的偏好信息,無(wú)法解決冷啟動(dòng)問(wèn)題。
-
推薦算法
+關(guān)注
關(guān)注
0文章
47瀏覽量
10117
發(fā)布評(píng)論請(qǐng)先 登錄
【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+內(nèi)容簡(jiǎn)介
基于BitTorrent種子的內(nèi)容分發(fā)算法
基于內(nèi)容的推薦算法概覽

基于位串內(nèi)容感知的數(shù)據(jù)分塊算法

ASMT-CB00 直角ChipLED

評(píng)論