劉文佳 張駿
摘 要:隨著互聯(lián)網(wǎng)的快速發(fā)展,電影的海量供給和用戶多樣化的需求間的矛盾日趨突出,將個性化推薦技術(shù)和電影系統(tǒng)的有機(jī)結(jié)合對用戶和運(yùn)營商來說是一個雙贏的局面。主要研究協(xié)同過濾算法在電影推薦系統(tǒng)中的應(yīng)用,協(xié)同過濾是目前應(yīng)用最為廣泛且成功的一種推薦技術(shù),但也暴露出諸多問題,比如數(shù)據(jù)稀疏性、用戶興趣變化等。通過對基于項目的協(xié)同過濾算法的分析,分別引入了共同評分權(quán)重函數(shù)和時間權(quán)重函數(shù)對相似度計算方法和預(yù)測評分計算方法進(jìn)行了改進(jìn),并通過在Movielens數(shù)據(jù)集上驗證了改進(jìn)的協(xié)同過濾算法較傳統(tǒng)的協(xié)同過濾在推薦準(zhǔn)確度上有了明顯的提升。
關(guān)鍵詞:協(xié)同過濾;電影推薦;相似度;時間因子
中圖分類號:F49 文獻(xiàn)標(biāo)識碼:Adoi:10.19311/j.cnki.1672-3198.2018.17.028
1 引言
隨著信息技術(shù)的快速發(fā)展,互聯(lián)網(wǎng)上的資源呈現(xiàn)指數(shù)級的增長態(tài)勢,“信息過載”問題愈發(fā)突出?!靶畔⑦^載”是數(shù)據(jù)量劇增后的一種必然結(jié)果,針對此問題,相關(guān)專家學(xué)者相繼提出了以分類目錄、搜索引擎、推薦系統(tǒng)為代表的解決方案。不同于前兩種解決方案,需要提前知曉用戶的需求,方能提供信息的查詢結(jié)果;推薦系統(tǒng)通過挖掘用戶的行為數(shù)據(jù),建立用戶興趣模型,從而主動地提供信息個性化的信息服務(wù),逐漸受到學(xué)術(shù)界和工業(yè)界的關(guān)注和研究。目前,Amazon的圖書推薦、Facebook的好友推薦、今日頭條的新聞推薦以及YouTube的視頻推薦等,均取得了不俗的成績。
以電影、電視劇、自制劇等代表的網(wǎng)絡(luò)視頻已經(jīng)成為網(wǎng)民信息獲取和文化消費(fèi)的主要形態(tài)之一,是滿足人民群眾精神文化需求的重要渠道之一。據(jù)中國互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)發(fā)布的第41次《中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計報告》顯示:截止至2017年12月,我國網(wǎng)絡(luò)視頻用戶規(guī)模達(dá)5.78億,較2016年增長了6個百分點(diǎn),在中國各類互聯(lián)網(wǎng)應(yīng)用,視頻類應(yīng)用程序持續(xù)保持前5名的位置。這也充分說明以電影為代表的視頻領(lǐng)域仍具有很大的發(fā)展前景。
而通常人們較難準(zhǔn)確地表達(dá)自己的需求,其次互聯(lián)網(wǎng)上的電影資源日趨龐大,使得電影的海量供給和用戶多樣化的需求之間的矛盾日益突出,此時個性化推薦技術(shù)與電影系統(tǒng)的有機(jī)結(jié)合顯得尤為重要,既能幫助用戶快速地發(fā)現(xiàn)其喜愛的電影,減少用戶搜索電影的盲目性;同時用戶對電影推薦系統(tǒng)的忠誠度的提升又能助力運(yùn)營商以VIP付費(fèi)服務(wù)、廣告投放等手段增加經(jīng)濟(jì)收益。目前,基于協(xié)同過濾的推薦算法、基于內(nèi)容的推薦算法、基于關(guān)聯(lián)規(guī)則的推薦算法被廣泛應(yīng)用到電影推薦系統(tǒng)中,其中協(xié)同過濾算法以其對推薦對象無結(jié)構(gòu)要求、能新異發(fā)現(xiàn)等優(yōu)點(diǎn)在電影推薦系統(tǒng)中應(yīng)用最為廣泛。因此,本文主要研究協(xié)同過濾算法及其在電影推薦系統(tǒng)的應(yīng)用。
2 相關(guān)工作
2.1 傳統(tǒng)的協(xié)同過濾算法
協(xié)同過濾算法主要分為兩類:(1)基于內(nèi)存的協(xié)同過濾,其理論基礎(chǔ)是KNN模型,根據(jù)相似鄰居來產(chǎn)生推薦;(2)基于模型的協(xié)同過濾,其理論基礎(chǔ)是機(jī)器學(xué)習(xí),通過優(yōu)化設(shè)定指標(biāo)來建立最優(yōu)模型來產(chǎn)生推薦。已有研究表明,基于內(nèi)存的協(xié)同過濾能獲得更好的推薦準(zhǔn)確度,但暴露出諸多問題:數(shù)據(jù)稀疏性、用戶興趣變化、可拓展性差等;基于模型的協(xié)同過濾具有更好的可拓展性,但由于模型需要離線構(gòu)建,不能較好地反映用戶的實(shí)時興趣,因此,在推薦質(zhì)量上不如基于內(nèi)存的協(xié)同過濾。
基于內(nèi)存的協(xié)同過濾主要包括基于用戶的協(xié)同過濾和基于項目的協(xié)同過濾,其基本思想大致相同,區(qū)別在于相似度的計算,基于用戶的協(xié)同過濾根據(jù)用戶相似度來產(chǎn)生推薦,基于項目的協(xié)同過濾根據(jù)項目相似度產(chǎn)生推薦。由于電影推薦系統(tǒng)中,電影的數(shù)目的增長不如用戶量的增長速度,因此,電影相似度相比用戶相似度要穩(wěn)定,不需實(shí)時更新;同時,用戶對電影的需求個性化程度相對較強(qiáng),且不似新聞,對推薦的時效性要求高,因此,基于項目的協(xié)同過濾算法更適合于電影推薦系統(tǒng)中?;陧椖康膮f(xié)同過濾的實(shí)現(xiàn)步驟主要分為四個步驟。
(1)收集用戶對電影的評分?jǐn)?shù)據(jù),構(gòu)建用戶——電影評分矩陣。
(2)計算電影間的相似度。
(3)與目標(biāo)電影相似度最大的K部電影作為其最鄰居電影集合。
(4)鄰居電影對目標(biāo)用戶未評分電影的評分及相似度計算目標(biāo)用戶對未評分電影的預(yù)測評分,通常采取中心加權(quán)平均值的方法計算目標(biāo)用戶u對未評分電影的預(yù)測評分p(u,i) ,見式(2)所示,記ri、rj分別表示對電影i、電影j評過分的用戶的評分平均值。
2.2 協(xié)同過濾算法存在的問題
隨著系統(tǒng)中用戶數(shù)目和項目數(shù)目的不斷增長,傳統(tǒng)的協(xié)同過濾算法也暴露出諸多問題:數(shù)據(jù)稀疏性、用戶興趣變化、冷啟動和可拓展性等。本文主要分析協(xié)同過濾算法在數(shù)據(jù)稀疏性和用戶興趣變化對推薦質(zhì)量的影響,并在前人的研究成果的基礎(chǔ)上,提出相應(yīng)的改進(jìn)方案。
2.2.1 忽略共同評分規(guī)模的影響
在現(xiàn)實(shí)生活中,系統(tǒng)中的用戶評分?jǐn)?shù)據(jù)是極為稀疏的,據(jù)Amazon的統(tǒng)計,用戶對圖書的評價數(shù)據(jù)不超過全部書籍的2%。當(dāng)用戶評分?jǐn)?shù)據(jù)極為稀疏時,共同評分項目的規(guī)模大都偏小且不一致,此時可能會出現(xiàn)相似度過度估計的問題。
下面將以一個簡單的例子說明修正的余弦相似度度量項目相似度時,因數(shù)據(jù)稀疏而導(dǎo)致出現(xiàn)相似度計算結(jié)果與實(shí)際情況偏差較大的情況。表1模擬了五組用戶的評分?jǐn)?shù)據(jù),評分規(guī)則為5分制,分值越高,表示用戶對項目的喜好程度越高,“—”表示用戶對該項目沒有評分。
根據(jù)式(1)計算Item1和其他項目的相似度,計算結(jié)果如表2所示。
從表2可知,sim(Item1,Item2)=1.0>sim(Item1,Item3),而結(jié)合表1可知,同時對Item3和Item1評分的用戶數(shù)目大于對Item2和Item1評分的用戶數(shù)目,且評分趨勢大體相同,理應(yīng)sim(Item1,Item2)
2.2.2 忽略用戶興趣變化的影響
時間作為一種上下文信息,與用戶的興趣密切相關(guān),時間因素對用戶興趣的影響主要體現(xiàn)在以下三個方面:(1)用戶興趣的變化,用戶的興趣會隨著時間、個人閱歷等外在因素的影響而發(fā)生漂移;(2)商品具有生命周期。如新聞和音樂的生命周期就不同,新聞的時效性較強(qiáng),用戶通過會關(guān)注當(dāng)前的特點(diǎn)新聞,因此新聞的生命周期一般較為短暫;(3)商品的季節(jié)性。蔬菜、瓜果類物品具有明顯的時令性,應(yīng)對這種具有季節(jié)特性的商品做過濾處理。
本文的研究對象是電影,電影不同于新聞,其生命周期相對較長,也沒有較為顯著的季節(jié)性特征,因此,本文將從用戶興趣變化出發(fā),研究時間因素對電影推薦的影響,通過引入時間權(quán)重函數(shù)改進(jìn)預(yù)測評分的計算方法,突出用戶的近期評分對推薦結(jié)果的影響。
3 改進(jìn)的協(xié)同過濾算法
3.1 引入共同評分權(quán)重函數(shù)的相似度計算
針對上述因數(shù)據(jù)稀疏性而導(dǎo)致的相似度計算偏差的問題,J.Herlocker等人(2002)、Ma等人(2007)在不改變數(shù)據(jù)稀疏性的前提上,相繼提出了MAX改進(jìn)策略、MIN改進(jìn)策略, MAX改進(jìn)策略見式(3)所示,MIN改進(jìn)策略見式(4)所示,γ表示共同評分項的數(shù)目的閾值。
J.Herlocker、Ma通過實(shí)驗驗證了上述改進(jìn)策略能提升推薦準(zhǔn)確度。但是也存在一些問題,即閾值γ的值不易獲取,需要通過反復(fù)的實(shí)驗方能確定,且在面臨不同規(guī)模大小的數(shù)據(jù)集時,其γ的取值也不同。因此,通過預(yù)先設(shè)置共同評分項的數(shù)目的閾值的方法的可拓展性不強(qiáng)。本文在前人的研究成果的啟發(fā)下,定義了如下變量:對電影i的用戶評分向量為Ui、對電影j的用戶評分向量為Uj,同時對電影i和電影j的用戶評分向量為Ui∩Uj,則電影i和電影j的共同評分權(quán)重函數(shù)fi,j可定義為如式(5)所示。
共同評分權(quán)重函數(shù)fi,j是對Jaccard系數(shù)的一種改進(jìn),充分考慮了個人評分?jǐn)?shù)目和共同評分?jǐn)?shù)目的差異。將fi,j和修正的余弦相似度融合,能緩解傳統(tǒng)的相似度計算方法對共同評分項的數(shù)目不敏感的問題,因此,在修正的余弦相似度的基礎(chǔ)上,見式(1)所示,引入共同評分權(quán)重函數(shù)fi,j的電影i和電影j的相似度sim'(i,j)可表示為式(6)所示。
3.2 引入時間權(quán)重函數(shù)的預(yù)測評分計算
為保證推薦結(jié)果符合用戶的近期興趣,即用戶的近期評分行為更能體現(xiàn)用戶興趣,因此,應(yīng)對用戶的評分行為進(jìn)行時間加權(quán)處理,使得近期評分具有更大的時間權(quán)重。本文在計算預(yù)測評分時,引入logistic時間權(quán)重函數(shù),運(yùn)用logistic函數(shù)對用戶的評分進(jìn)行時間加權(quán)?;跁r間的權(quán)重函數(shù)ftu,i表示電影i對用戶u的時間權(quán)重,則ftu,i的計算方法可定義為式(7)所示。
Herlocker在其論文中提到,相似度小于等于0的項目對于推薦精度的影響甚微,在計算預(yù)測評分時,過濾掉相似度小于等于0的項目。因此,引入時間權(quán)重函數(shù)f(tu,i)的預(yù)測評分p'(u,i)的計算公式如式(8)所示。
3.3 改進(jìn)的協(xié)同過濾算法的流程描述
在上述改進(jìn)點(diǎn)的基礎(chǔ)上,改進(jìn)的協(xié)同過濾算法的步驟可概括為如下三點(diǎn)。
(1)構(gòu)建帶有時間戳的用戶——電影評分矩陣;
(2)將共同評分權(quán)重函數(shù)融入到相似度的計算中,利用式(6)計算電影間的相似度,接著依據(jù)KNN模型的思想,生成目標(biāo)電影的k部近鄰電影;
(3)將時間權(quán)重函數(shù)融入到預(yù)測評分的計算中,分別利用式(8)計算目標(biāo)用戶對其未評分電影的預(yù)測評分,最后將預(yù)測評分最高的N部電影作為推薦列表,呈現(xiàn)給用戶。
4 實(shí)驗結(jié)果及分析
4.1 實(shí)驗數(shù)據(jù)集
本文實(shí)驗采取Movielens數(shù)據(jù)集來驗證改進(jìn)的協(xié)同過濾算法的有效性。Movielens數(shù)據(jù)集是Grouplens研究項目組創(chuàng)建并維護(hù)的,已被廣泛應(yīng)用于協(xié)同過濾、推薦系統(tǒng)等科學(xué)研究當(dāng)中。本實(shí)驗選取了其中的小規(guī)模數(shù)據(jù)集—movielens-100k作為實(shí)驗數(shù)據(jù)集,該數(shù)據(jù)集包含了943位用戶對1682部電影的10萬條評分?jǐn)?shù)據(jù),其中每名用戶至少對20部電影進(jìn)行過評分,電影的評分標(biāo)準(zhǔn)為1到5的整數(shù)評分值,評分值越大,表示用戶對該電影的喜好程度越高。數(shù)據(jù)集的稀疏度為(1-100000/(943*1682))=93.7%。
4.2 評測指標(biāo)
本實(shí)驗中主要研究電影推薦系統(tǒng)中的預(yù)測評分,因此采取平均絕對偏差(Mean Absolute Error,簡稱MAE)作為度量推薦質(zhì)量的評測指標(biāo)。MAE是通過計算預(yù)測評分與用戶實(shí)際評分的差值來度量預(yù)測的準(zhǔn)確性,見式(9)所示,是目前應(yīng)用最廣泛的推薦效果的衡量指標(biāo)之一。
其中T表示預(yù)測評分的個數(shù),rui表示用戶u對項目i的實(shí)際評分,pui表示經(jīng)推薦算法計算得出的用戶u對項目i 的預(yù)測評分。MAE與推薦系統(tǒng)的推薦精度呈負(fù)相關(guān)關(guān)系,MAE的值越大,則推薦精度越低,MAE的值越小,其推薦精度越高。
4.3 實(shí)驗過程及結(jié)果分析
本文采取離線實(shí)驗的方式,將數(shù)據(jù)集以4:1的比例進(jìn)行劃分,80%的數(shù)據(jù)集作為訓(xùn)練集,20%的數(shù)據(jù)集作為測試集。為了防止評測結(jié)果出現(xiàn)過擬合的情況,利用五折交叉法進(jìn)行交叉驗證,每次使用不同的測試集,依次進(jìn)行5次實(shí)驗,最后取5次實(shí)驗的評測指標(biāo)的平均值作為最終的評測指標(biāo)。
改進(jìn)的協(xié)同過濾算法依次引入共同評分權(quán)重函數(shù)改進(jìn)了傳統(tǒng)的相似度計算方法,引入時間權(quán)重函數(shù)改進(jìn)了預(yù)測評分的計算方法,其實(shí)驗過程如圖1所示。
為便于描述,將改進(jìn)的協(xié)同過濾算法記作P-ICF,傳統(tǒng)的協(xié)同過濾算法記作T-ICF。在本實(shí)驗中,將鄰居的數(shù)目從10增加到80,步長為10,依次計算基于P-ICF和T-ICF的MAE值,實(shí)驗結(jié)果如表3所示,對應(yīng)的MAE曲線如圖2所示。
結(jié)合表3和圖2可知,隨著鄰居數(shù)目的增加,基于P-ICF的MAE值均小于基于T-ICF的MAE值,即引入共同評分權(quán)重函數(shù)和時間權(quán)重函數(shù)的協(xié)同過濾算法較傳統(tǒng)的協(xié)同過濾算法擁有更高的推薦準(zhǔn)確度,從而驗證改進(jìn)的協(xié)同過濾算法的有效性。
同時,實(shí)驗結(jié)果也表明:隨著最近鄰的數(shù)目的不斷增加,平均絕對誤差MAE會呈現(xiàn)先下降,再趨于平穩(wěn)甚至上升的趨勢,說明鄰居的數(shù)目的取值不是越大越好。如P-ICF在鄰居的數(shù)目小于30的范圍內(nèi)時,MAE逐漸減少,超過30后,MAE值基本不變甚至出現(xiàn)上升趨勢。這是因為如果鄰居數(shù)目的取值較大時,會引入一些噪聲數(shù)據(jù),使得那些原本相似度較小的電影成為了目標(biāo)電影的鄰居。因此,應(yīng)根據(jù)實(shí)際情況設(shè)置合適的鄰居數(shù)目。
5 結(jié)論
本文主要研究了協(xié)同過濾算法在電影推薦系統(tǒng)中的應(yīng)用。通過對傳統(tǒng)的協(xié)同過濾算法的局限性,分別從相似度計算方法和預(yù)測評分的計算方法進(jìn)行了改進(jìn),提出引入共同評分權(quán)重函數(shù)改進(jìn)了相似度計算方法,緩解了因數(shù)據(jù)稀疏性而導(dǎo)致的相似度過度估計的問題;引入時間權(quán)重函數(shù)改進(jìn)了預(yù)測評分的計算方法,增強(qiáng)了用戶近期評分的時效性。最后通過實(shí)驗,驗證了改進(jìn)的協(xié)同過濾算法的有效性,其推薦準(zhǔn)確度高于傳統(tǒng)的協(xié)同過濾算法。同時,本文也存在一些不足,在考慮用戶興趣變化時,未對用戶的長期興趣和短期興趣進(jìn)行區(qū)分,接下來將分別從用戶的長期興趣和短期興趣構(gòu)建興趣模型,以期提高推薦精度。
參考文獻(xiàn)
[1]王娜, 陳會敏.泛在網(wǎng)絡(luò)中信息過載危害及原因的調(diào)查分析[J].情報理論與實(shí)踐, 2014,(11):20-25.
[2]Bao X.Applying machine learning for prediction, recommendation, and integration, 2009[C].
[3]朱揚(yáng)勇, 孫婧.推薦系統(tǒng)研究進(jìn)展[J].計算機(jī)科學(xué)與探索,2015,(05):513-525.
[4]中國網(wǎng)絡(luò)視聽節(jié)目服務(wù)協(xié)會.2017中國網(wǎng)絡(luò)視聽研究發(fā)展報告[R].成都: 2017.
[5]中國互聯(lián)網(wǎng)信息中心.第41次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計報告[R].北京: 2017.
[6]Barragáns-Martínez A B, Costa-Montenegro E, Burguillo J C, et al.A hybrid content-based and item-based collaborative filtering approach to recommend TV programs enhanced with singular value decomposition[J].Information Sciences, 2010,180(22):4290-4311.
[7]汪靜, 印鑒.基于共同評分和相似性權(quán)重的協(xié)同過濾推薦算法[J].計算機(jī)科學(xué), 2010,37(2).
[8]王益.基于用戶興趣特征變化的旅游路線個性化推薦技術(shù)研究[D].武漢:武漢理工大學(xué), 2015.
[9]范順忠, 陳浩.基于興趣感知和時間因子的個性化菜品推薦[J].計算機(jī)應(yīng)用研究, 2018,(02):358-361.
[10]Herlocker J, Konstan J A, Riedl J.An Empirical Analysis of Design Choices in Neighborhood-Based Collaborative Filtering Algorithms[J].2002,5(4):287-310.
[11]Ma H, King I, Lyu M R.Effective missing data prediction for collaborative filtering: International ACM SIGIR Conference on Research and Development in Information Retrieval[C].2007.
[12]Su H, Lin X, Yan B, et al.The Collaborative Filtering Algorithm with Time Weight Based on MapReduce: International Conference on Big Data Computing and Communications[C].2015.