章宗杰+陳瑋
摘要:
推薦技術(shù)作為過濾海量信息的手段,在音樂領(lǐng)域也給人們帶來了便利。但音樂推薦與傳統(tǒng)的電商推薦相比存在顯式反饋不宜獲取、內(nèi)容特征提取代價(jià)大等缺陷。針對(duì)上述情況,提出一種基于標(biāo)簽擴(kuò)展的協(xié)同過濾算法,將社會(huì)化標(biāo)簽內(nèi)容作為物品內(nèi)容,基于內(nèi)容計(jì)算對(duì)用戶未收聽的物品進(jìn)行評(píng)分,在此基礎(chǔ)上利用協(xié)同過濾為用戶提供推薦列表。實(shí)驗(yàn)結(jié)果表明,該算法可以有效改善推薦結(jié)果的準(zhǔn)確性,提高推薦質(zhì)量。
關(guān)鍵詞:
推薦技術(shù);音樂推薦;協(xié)同過濾;社會(huì)化標(biāo)簽
DOIDOI:10.11907/rjdk.172220
中圖分類號(hào):TP312
文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):16727800(2018)001009903
Abstract:Recommended technology is a means of filtering large amounts of information, bringing convenience to people in the music field. But music recommendation is different from traditional electricity recommendation. There exist drawbacks in the music field, like difficult acquiring explicit feedback, costly extracting content features and so on.In view of the above situation, a collaborative filtering algorithm based on label extension is proposed. The content of socialized label is taken as the content of the item, and the score of the nonlistened item is calculated based on the content. The user will get a recommended list by this way.The experimental results show that the algorithm can improve the accuracy of recommendation results and the recommended quality.
Key Words:recommended technology;music recommendation;collaborative filtering; socialized label
0引言
隨著互聯(lián)網(wǎng)尤其是移動(dòng)互聯(lián)網(wǎng)的興起,如何在海量的信息和數(shù)據(jù)中挖掘有價(jià)值的信息呈現(xiàn)給用戶,成為電商、社交、新聞、影音等各大主流應(yīng)用的當(dāng)務(wù)之急,而推薦技術(shù)可為這些領(lǐng)域提供解決問題的方法。推薦技術(shù)根據(jù)用戶的興趣、行為等信息,給用戶推送最可能感興趣的物品,使用戶得到更好的體驗(yàn)[1]。如今推薦技術(shù)得到了長(zhǎng)足進(jìn)步,不僅是學(xué)術(shù)界的研究熱點(diǎn),更在電商、社交平臺(tái)、在線廣告等領(lǐng)域發(fā)揮重要作用。本文著眼于音樂推薦領(lǐng)域,結(jié)合社會(huì)化標(biāo)簽與協(xié)同過濾算法,以期提升推薦準(zhǔn)確率。
1音樂推薦研究現(xiàn)狀
早期的音樂推薦主要采用基于內(nèi)容的推薦算法,通過音頻信號(hào)分析歌曲的底層特征,進(jìn)而將內(nèi)容相似的歌曲放入推薦列表。如牛濱等[2]提出基于MFCC與GMM的個(gè)性推薦模型提取歌曲語(yǔ)音特征,但是聲學(xué)元數(shù)據(jù)的提取非常耗時(shí),而現(xiàn)今音樂產(chǎn)品更新快速,每天都會(huì)推出新的數(shù)以萬(wàn)計(jì)的音樂,所以純粹基于音頻特征的音樂推薦已逐漸被淘汰。
自從Tapestry系統(tǒng)為解決信息過量問題采用協(xié)同過濾技術(shù)以后,協(xié)同過濾即迅速被應(yīng)用于其它領(lǐng)域的推薦[3]。著名的國(guó)外音樂平臺(tái)Last.fm即是采用協(xié)同過濾技術(shù)推薦的代表。Last.fm將用戶行為記錄放入服務(wù)器中,據(jù)此找出若干興趣偏好相似的“最近鄰”,最后將最近鄰喜好,但目標(biāo)用戶未聽過的歌曲推薦給目標(biāo)用戶。而在國(guó)內(nèi)的最新研究中,王君等[4]提出了層次音樂推薦系統(tǒng)概念,一方面采取用戶間音樂偏好相似度進(jìn)行協(xié)同過濾的音樂推薦,另一方面,音樂內(nèi)容的相似包括情感、節(jié)奏、音色、旋律、歌詞等多個(gè)維度,將兩方面聯(lián)系起來,充分發(fā)揮兩者優(yōu)勢(shì),從而提高推薦滿意度。
2音樂推薦相關(guān)技術(shù)
2.1音樂推薦特點(diǎn)
與其它領(lǐng)域的推薦不同,用戶在使用音樂產(chǎn)品時(shí)僅將其用于娛樂或輔助工作學(xué)習(xí)的用途,因而造成了音樂推薦與主流電商推薦的差異。在電商、電影推薦中,因?yàn)橛脩粢冻龈蟮慕?jīng)濟(jì)或時(shí)間代價(jià)(如要付費(fèi)購(gòu)買物品,花兩小時(shí)觀看電影),用戶更愿意主動(dòng)向系統(tǒng)作出反饋,收集顯式評(píng)分任務(wù)會(huì)相對(duì)容易。而音樂產(chǎn)品本身只有幾分鐘的時(shí)間耗費(fèi)代價(jià),用戶并不會(huì)特意對(duì)其進(jìn)行評(píng)分行為,系統(tǒng)只能對(duì)用戶語(yǔ)境信息[5](如用戶播放歌曲行為、用戶注冊(cè)信息等)進(jìn)行記錄。
2.2社會(huì)化標(biāo)簽應(yīng)用
標(biāo)簽是一種無(wú)層次化結(jié)構(gòu)、用來描述信息的關(guān)鍵詞,可以用來描述物品的語(yǔ)義[6]。根據(jù)給物品貼標(biāo)簽的人的不同,標(biāo)簽分為兩種:一種是讓相關(guān)領(lǐng)域的從業(yè)者給物品貼標(biāo)簽,在音樂推薦領(lǐng)域中,這種標(biāo)簽一般稱為“音樂基因”;另一種則是讓普通用戶給物品貼標(biāo)簽,也即是社會(huì)化標(biāo)簽。由于讓相關(guān)領(lǐng)域?qū)<覍?duì)物品進(jìn)行標(biāo)簽行為的代價(jià)遠(yuǎn)高于用戶自己進(jìn)行標(biāo)簽行為,主流推薦領(lǐng)域主要采納社會(huì)化標(biāo)簽系統(tǒng),以提高推薦效果。
2.3基于協(xié)同過濾的音樂推薦算法
由于音樂推薦領(lǐng)域難以獲得用戶的顯式評(píng)分,Hu等[7]提出將用戶播放歌曲次數(shù)轉(zhuǎn)化成用戶評(píng)分的概念;Firan等[8]采用對(duì)數(shù)函數(shù)將用戶播放行為轉(zhuǎn)化為(0~10)分的用戶評(píng)分集,然后進(jìn)行協(xié)同過濾推薦。endprint
Frian提出的基于協(xié)同過濾的音樂推薦算法流程為:
(1)獲取用戶播放行為數(shù)據(jù),將用戶播放歌曲次數(shù)(Song_U_listened)按式(1)轉(zhuǎn)化成用戶評(píng)分Ru:
(2)建立用戶-物品評(píng)分矩陣。
(3)根據(jù)余弦相似性式(2)計(jì)算用戶u和v之間的相似性,找到與目標(biāo)用戶興趣最相似的k個(gè)用戶評(píng)分集合:
式中,Iuv為被用戶u和v同時(shí)評(píng)分的物品。
(4)選取出k個(gè)用戶收聽過且目標(biāo)用戶未收聽過的歌曲,根據(jù)式(3)計(jì)算目標(biāo)用戶對(duì)這些歌曲的預(yù)測(cè)評(píng)分ui,根據(jù)預(yù)測(cè)評(píng)分排序,選取評(píng)分高的前N首歌曲進(jìn)行推薦。
式中,物品i為目標(biāo)用戶未收聽過的歌曲,Ni(u)為近鄰用戶中收聽過物品i的集合。
3基于標(biāo)簽擴(kuò)展的協(xié)同過濾算法
RobinBurke[9]在2002年發(fā)表了一篇關(guān)于不同推薦算法混合設(shè)計(jì)的方案調(diào)研報(bào)告。報(bào)告中提出了7種不同的混合推薦策略,大致分為3種基本設(shè)計(jì)思路:整體式、并行式和流水式[10]。本文采用整體式混合設(shè)計(jì),提出基于標(biāo)簽擴(kuò)展的協(xié)同過濾算法。利用社會(huì)化標(biāo)簽,將其作為物品內(nèi)容,得到物品間的相似度,利用基于內(nèi)容的方法得到用戶未評(píng)分物品的預(yù)測(cè)評(píng)分,得到更完整的用戶評(píng)分矩陣后,再進(jìn)行協(xié)同過濾推薦。
3.1標(biāo)簽處理
通常,基于內(nèi)容的推薦系統(tǒng)被用來推薦基于文本的物品,如新聞、電子郵件等。本文將社會(huì)化標(biāo)簽作為物品內(nèi)容,對(duì)其進(jìn)行文本挖掘,得到物品相似度。首先,將音樂物品視為單個(gè)文檔,對(duì)用戶標(biāo)簽行為進(jìn)行處理,得到一個(gè)基于TFIDF(詞頻—逆文檔頻率)權(quán)重的n維向量空間模型(Vector Space Model, VSM)。每首歌曲被表示成一個(gè)文檔dj,讓D={d1,d2,…,dN}表示一個(gè)文檔集合,T={t1,t2,…,tN}表示詞典,即文檔集合中的標(biāo)簽集合,從而使dj={ω1j,ω2j,…,ωnj},其中ωkj是文檔dj中標(biāo)簽tk的權(quán)重。根據(jù)式(4)計(jì)算文檔相似度(即音樂物品相似度):
3.2基于標(biāo)簽擴(kuò)展的協(xié)同過濾算法
加入對(duì)用戶標(biāo)簽行為的分析可以擴(kuò)大單一基于協(xié)同過濾的推薦系統(tǒng)的特征空間,也能為推薦結(jié)果提出更為合理的解釋理由。本文將標(biāo)簽作為物品內(nèi)容,得到物品相似度,基于內(nèi)容對(duì)未評(píng)分的物品進(jìn)行預(yù)測(cè)評(píng)分,得到的結(jié)果能有效補(bǔ)充原有的評(píng)分矩陣。然后,在所得的更為完整的用戶評(píng)分矩陣上利用協(xié)同過濾算法計(jì)算用戶實(shí)際未評(píng)分物品的預(yù)測(cè)結(jié)果。最后根據(jù)評(píng)分排序,給目標(biāo)用戶提供一個(gè)含有前N首高評(píng)分歌曲的推薦列表。為此,本文構(gòu)造了一個(gè)虛擬的用戶評(píng)分向量vui用來表示用戶u對(duì)物品i的評(píng)分,如式(5)所示:
當(dāng)用戶u收聽歌曲i時(shí),用戶評(píng)分vui則由用戶u收聽歌曲i的次數(shù)進(jìn)行直接轉(zhuǎn)換,采用的是Firan在實(shí)驗(yàn)中所用的轉(zhuǎn)換函數(shù);若用戶u未收聽過歌曲i,將利用上述標(biāo)簽信息基于內(nèi)容進(jìn)行評(píng)分預(yù)測(cè),如式(6)所示:
式(6)中,k為與歌曲i最相似的k個(gè)項(xiàng)目,引入ωt是為了對(duì)熱門歌曲進(jìn)行懲罰。這里將被貼標(biāo)簽數(shù)nt多于每首歌曲被貼標(biāo)簽數(shù)nta的歌曲視為熱門歌曲,根據(jù)式(7)可得到權(quán)重ωt:
同樣,引入ωur適當(dāng)懲罰活躍用戶,這里將用戶行為記錄數(shù)nu大于用戶平均行為記錄nua的用戶視為活躍用戶,根據(jù)式(8)可得到權(quán)重ωr:
從而得到用戶u對(duì)物品i的預(yù)測(cè)評(píng)分ui:
根據(jù)最終預(yù)測(cè)評(píng)分的高低進(jìn)行排序,給目標(biāo)用戶提供長(zhǎng)度為N的推薦列表。
4算法實(shí)現(xiàn)與結(jié)果分析
4.1數(shù)據(jù)集
本文采用的是grouplens.org站點(diǎn)提供的last.fm音樂網(wǎng)站的真實(shí)用戶數(shù)據(jù)。該數(shù)據(jù)包含1 892個(gè)用戶、17 632位藝術(shù)家及用戶的收聽行為和標(biāo)簽行為記錄。
本文使用10折交叉驗(yàn)證方法,將每個(gè)用戶已進(jìn)行收聽行為的項(xiàng)目分成10個(gè)互不相交的集合。進(jìn)行10次實(shí)驗(yàn),每次實(shí)驗(yàn)選擇其中一個(gè)集合作為測(cè)試集,其余集合為訓(xùn)練集。
4.2評(píng)測(cè)指標(biāo)
進(jìn)行推薦的目的是為了找到用戶最可能感興趣的物品,因此本文采用的推薦方式是更符合現(xiàn)實(shí)要求的TopN推薦,即給用戶提供一個(gè)長(zhǎng)度為N的推薦列表。TopN推薦中常用的評(píng)測(cè)指標(biāo)是準(zhǔn)確率(Precision)。通過選取不同長(zhǎng)度N的推薦列表,可以全面評(píng)測(cè)實(shí)驗(yàn)算法的準(zhǔn)確率,Precision定義為:
式(10)中,R(u)為算法生成的長(zhǎng)度為N的推薦列表,T(u)為用戶在測(cè)試集上的行為列表。
4.3結(jié)果分析
本文選取Frian提出的基于協(xié)同過濾的音樂推薦算法(CFTR)和基于標(biāo)簽的內(nèi)容過濾算法(TagbasedCB)進(jìn)行對(duì)照,通過選取不同長(zhǎng)度N的推薦列表,以準(zhǔn)確率為評(píng)測(cè)指標(biāo),然后與本文提出的基于標(biāo)簽擴(kuò)展的協(xié)同過濾算法(TagexpandCF)作對(duì)比,實(shí)驗(yàn)結(jié)果如圖1所示。
實(shí)驗(yàn)結(jié)果表明,本文提出的算法在選取不同長(zhǎng)度N的推薦列表的情況下,相比于其它兩種算法,均具有更高的準(zhǔn)確率,明顯優(yōu)于傳統(tǒng)算法。
5結(jié)語(yǔ)
本文在傳統(tǒng)協(xié)同過濾算法的基礎(chǔ)上,根據(jù)用戶的標(biāo)簽行為對(duì)整個(gè)推薦系統(tǒng)的特征空間進(jìn)行擴(kuò)展,提出的基于標(biāo)簽擴(kuò)展的協(xié)同過濾算法能夠有效解決音樂推薦顯式反饋不易獲取、內(nèi)容特征處理代價(jià)大的缺陷,并且對(duì)于數(shù)據(jù)稀疏問題也有一定改善,可顯著提高推薦質(zhì)量。
參考文獻(xiàn):
[1]RICCI F, ROKACH L, SHAPIRA B, et al. Recommender systems handbook:a complete guide for research scientists & practitioners[M].New York:Springer, 2010.
[2]牛濱,孔令志,羅森林,等.基于MFCC和GMM的個(gè)性音樂推薦模型[J].北京理工大學(xué)學(xué)報(bào),2009(4):351355.
[3]GOLDBERG D, OKI B M, OKI B M, et al. Using collaborative filtering to weave an information tapestry[J].Communications of the ACM, 1992,35(12):6170.
[4]王君,許潔萍.層次音樂推薦系統(tǒng)的研究[C].中國(guó)計(jì)算機(jī)學(xué)會(huì)普適計(jì)算委員會(huì), 2009: 6.
[5]陳雅茜.音樂推薦系統(tǒng)及相關(guān)技術(shù)研究[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(18):916.
[6]項(xiàng)亮.推薦系統(tǒng)實(shí)踐[M].北京:人民郵電出版社,2012.
[7]HU Y, KOREN Y, VOLINSKY C. Collaborative filtering for implicit feedback datasets[C]. Eighth IEEE International Conference on Data Mining. IEEE, 2008:263272.
[8]FIRAN C S, NEJDL W, PAIU R. The benefit of using tagbased profiles[C]. Latin American Web Congress. DBLP, 2007:3241.
[9]BURKE R. Hybrid recommender systems: survey and experiments[J]. User Modeling and UserAdapted Interaction, 2002,12(4):331370.
[10]JANNACH D, ZANKER M, FELFERNIG A, et al. Recommender systems:an introduction[M].Oxford:Cambridge University Press, 2010.
(責(zé)任編輯:黃健)endprint