李穎杰
摘 要:傳統(tǒng)的協(xié)同過濾電影推薦模型由于在計(jì)算相似度時(shí)考慮因素過于單一,導(dǎo)致推薦方案與用戶之前喜歡的電影類型相似,從而造成信息繭房效應(yīng)。文章從用戶基本屬性出發(fā),綜合考慮專家評(píng)分、熱點(diǎn)推薦兩方面,并結(jié)合模擬退火的思想,提出了一種解決信息繭房問題的方法。
關(guān)鍵詞:信息繭房;模擬退火;多樣化推薦
傳統(tǒng)的協(xié)同過濾電影推薦模型推薦的方案往往會(huì)與用戶之前看過的電影類型相似,造成信息繭房,導(dǎo)致繭房效應(yīng)的根本原因是在計(jì)算相似度時(shí)考慮途徑過于單一,為了使推薦模型具有多樣性和新穎性,解決信息繭房的問題。具體從以下3個(gè)方面進(jìn)行改進(jìn):(1)綜合考慮各用戶的基本屬性以及用戶過往的電影評(píng)分記錄去計(jì)算余弦相似度。(2)將專家評(píng)分與熱點(diǎn)推薦考慮進(jìn)去。(3)給用戶找鄰居時(shí)采用模擬退火思想,從而使得多樣性增加。
1? ? 特征向量的建立
建立新用戶的特征向量,特征向量由四部分組成:用戶的基本屬性、用戶對(duì)過往電影的評(píng)分、專家推薦對(duì)某些電影的評(píng)分以及熱點(diǎn)推薦對(duì)某些電影的評(píng)分。
設(shè)新用戶特征向量為:Ai=(x1, x2, ..., xm)老用戶:Bi=(y1,y2,...,ym)
其中,x1, x2,x3, x4分別表示用戶的性別、年齡、職業(yè)、郵政編碼。
x5, ..., xm表示對(duì)電影的評(píng)分。它的數(shù)值以如下方式定義。
對(duì)所有的(m-5)部電影,用戶評(píng)分過的a部電影,專家群評(píng)分過的b部電影,熱點(diǎn)推薦評(píng)分過的c部電影,這些被評(píng)過的電影對(duì)應(yīng)的向量數(shù)值即為它得分的數(shù)值,其他未被評(píng)過的電影對(duì)應(yīng)的向量數(shù)值為0。
2? ? 專家評(píng)分與熱點(diǎn)推薦
相關(guān)指標(biāo)確立:設(shè)用戶U的偏好項(xiàng)目集為Uu,該集包括用戶U所有已評(píng)分的項(xiàng)目,用戶U偏好類別C的概率為Cu,c,Cu為用戶U對(duì)項(xiàng)目類別的偏好概率集,Cu,c∈Cu,Ii為類別C所屬的所有類別的集合。
對(duì)于項(xiàng)目域中的每一個(gè)類別都要計(jì)算用戶U的偏好概率,最后創(chuàng)建Cu。當(dāng)某項(xiàng)目只屬于一個(gè)類別時(shí),它對(duì)該類別貢獻(xiàn)的比例是1,如果項(xiàng)目屬于N個(gè)類別,對(duì)每一個(gè)類別的貢獻(xiàn)度為是。則,我們有:
接下來定義用戶對(duì)電影的偏好多樣性程度。我們知道,若用戶對(duì)多種類型的電影都進(jìn)行了評(píng)分,則用戶偏好更加多樣化,計(jì)算結(jié)果越大。若用戶僅對(duì)一種或幾種類型的電影評(píng)分,則用戶的偏好趨于單調(diào),計(jì)算結(jié)果越小。于是我們定義用戶偏好多樣化程度:
創(chuàng)建專家群:對(duì)每種電影類型,都為它創(chuàng)建一個(gè)專家群。我們認(rèn)為偏好多樣化,評(píng)分電影類別比較多的用戶是不可能成為某類別專家的,即Du較大的用戶不能成為專家。我們認(rèn)為偏好趨于單調(diào),所有的評(píng)分都只是對(duì)一種或幾種電影類型的用戶對(duì)其喜歡的電影類型頗有經(jīng)驗(yàn),能被認(rèn)定為其評(píng)分最多的電影類型的專家,即Du較小的用戶能被認(rèn)定為專家。專家群的具體創(chuàng)建過程如下:
首先,選擇多樣性值Du低于給定閾值T的用戶,從中為每個(gè)電影類型選擇偏好概率Cu最高的用戶作為該類別的專家,(同一用戶可作為多個(gè)類型的專家)從而創(chuàng)建出每種類型的專家群。
定義專家評(píng)分:電影j的專家評(píng)分要考慮過去為電影j評(píng)過分的所有專家組成的專家集ESj,從而我們定義專家評(píng)分為:
并將所得到的分最高的A項(xiàng)中用戶未評(píng)分的電影的得分作為對(duì)應(yīng)向量的值。
專家推薦系統(tǒng)的優(yōu)勢(shì)在于它對(duì)用戶沒有評(píng)過分的電影進(jìn)行評(píng)價(jià),它產(chǎn)生的推薦方案中,既包括跟用戶的偏好相似的電影,又包括專家推薦的新電影,從而能使推薦方案更加多樣化。而且專家推薦能很大程度上解決信息繭房問題,因?yàn)榧词褂脩魶]有評(píng)價(jià)任何與推薦電影類型相似的電影,如果專家群對(duì)其評(píng)價(jià)很好,它仍然會(huì)被推薦給用戶。并且專家群是在某類電影非常有經(jīng)驗(yàn)的用戶,他們對(duì)某類電影的評(píng)分客觀且專業(yè),因此他們?cè)谧龅絺€(gè)性化、多樣化推薦的同時(shí),能夠保證高質(zhì)量的專業(yè)推薦。
熱點(diǎn)推薦:從3個(gè)方面評(píng)價(jià)熱門電影:在最近M天內(nèi)的搜索次數(shù)p,播放量q以及影評(píng)數(shù)r。(這里的p,q,r均以通過數(shù)據(jù)歸一化處理)
定義:某電影的熱度S=s1p+s2q+s3r,并認(rèn)為權(quán)重s1=s2=s3=,并將所得到的分最高的B項(xiàng)中用戶和專家均未評(píng)分的電影的得分作為對(duì)應(yīng)向量的值。
熱點(diǎn)推薦產(chǎn)生的推薦方案同樣能對(duì)用戶沒有評(píng)過分的電影進(jìn)行評(píng)分,這其中既包括跟用戶以往??吹碾娪邦愋?,又包括熱點(diǎn)推薦的新電影,從而能夠做到多樣化推薦,很好地破除信息繭房。因?yàn)橹灰徊侩娪盁岫群芨撸瑹o論用戶有沒有評(píng)分這種類型的電影,都會(huì)被推薦給用戶。同時(shí)熱點(diǎn)推薦系統(tǒng)主要推薦的電影是當(dāng)下最火的,或是剛上映的,很符合現(xiàn)在年輕人追求新電影的潮流。
而未被用戶評(píng)分,專家推薦和熱點(diǎn)推薦的電影所對(duì)應(yīng)特征向量分量我們均認(rèn)為是0,這樣,就建立了每個(gè)用戶唯一對(duì)應(yīng)的特征向量。
3? ? 基于模擬退火思想的鄰居篩選
通過前文我們確定了每個(gè)用戶唯一對(duì)應(yīng)的特征向量,對(duì)于給定新用戶1的特征向量A1=X1,X2,...,Xm,我們計(jì)算它與每個(gè)老用戶特征向量的余弦相似度t1,t2,...tk,其中:
對(duì)余弦相似度數(shù)據(jù)作歸一化處理,使t1,t2,...tk均為0到1之間的數(shù),運(yùn)用模擬退火的思想,我們認(rèn)為:
老用戶i與該新用戶1為鄰居的概率:P1=ti,
老用戶i與該新用戶1不為鄰居的概率為:P2=1-ti
按上述規(guī)則,可以得到新用戶1的所有鄰居集,我們對(duì)每個(gè)鄰居對(duì)電影的所有評(píng)分?jǐn)?shù)據(jù)歸一化處理,使每個(gè)指標(biāo)處于相同的數(shù)量級(jí)。我們采用標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化法,即:
并將歸一化后的所有鄰居評(píng)分過的電影中評(píng)分最高的X部電影作為推薦方案(X的大小可根據(jù)情況確定),由上文可知,這樣的推薦方案能夠很好地解決信息繭房問題,從而實(shí)現(xiàn)個(gè)性化、多樣化電影推薦。
4? ? 結(jié)語
本文產(chǎn)生的電影推薦方案綜合考慮了用戶基本屬性、專家推薦、熱點(diǎn)推薦3個(gè)方面,很好地解決了傳統(tǒng)的協(xié)同過濾算法帶來的信息繭房問題,實(shí)現(xiàn)了電影的個(gè)性化推薦。這種思路能推廣到更多的領(lǐng)域中,對(duì)解決信息繭房問題有重要的意義。
[參考文獻(xiàn)]
[1]姜書浩,張立毅,張志鑫.基于個(gè)性化的多樣性優(yōu)化推薦算法[J].天津大學(xué)學(xué)報(bào)(自然科學(xué)與工程技術(shù)版),2018(10):50-57.
[2]翁海瑞.融合時(shí)間函數(shù)和用戶屬性的推薦算法研究[D].廣州:廣東工業(yè)大學(xué),2019.
[3]吳成超.協(xié)同過濾推薦算法的動(dòng)態(tài)性研究[D].合肥:中國科學(xué)技術(shù)大學(xué),2015.