閆 俊,劉文飛,林鴻飛
(大連理工大學(xué) 信息檢索研究室,遼寧 大連 116024)
近幾年,社交網(wǎng)絡(luò)越來越受到人們的青睞,而交流和維護(hù)朋友間的關(guān)系是人們使用此類社交網(wǎng)絡(luò)的主要原因[1]。有研究表明,在Facebook中,用戶會分享相當(dāng)大一部分關(guān)于他們自己日常生活的內(nèi)容[2]。音樂,作為很多社交網(wǎng)絡(luò)中人們分享的資源之一,受到了很多網(wǎng)站的重視,其中首推專門進(jìn)行音樂分享的社交網(wǎng)站,例如,last.fm,豆瓣音樂等。
在音樂網(wǎng)站中,音樂資源的海量增長使用戶對音樂的選擇顯得尤其困難。針對上述問題,網(wǎng)站中出現(xiàn)了“推薦”板塊,即根據(jù)用戶在網(wǎng)站中的聽歌信息預(yù)測用戶的潛在興趣歌曲,從而為用戶進(jìn)行推薦。
針對推薦,基于文本的推薦方法是目前的主要研究方向。歌曲描述文件的表示方法可以基于其文本相關(guān)信息,如元數(shù)據(jù)、歌詞、標(biāo)簽或從博客中挖掘出的綜述文字等[3]。在前面所提到的文本信息中,標(biāo)簽由于涵蓋了包括流派、風(fēng)格、情感、用戶想法或者樂器等多層面的信息[4],所以成為了很多研究者用于音樂推薦的資源。
關(guān)于基于標(biāo)簽的音樂推薦,文獻(xiàn)[5]中提出了一種使用HOSVD(Higher Order Singular Value Decomposition)方法進(jìn)行分解降維從而對用戶進(jìn)行推薦的方法。文獻(xiàn)[4]在文獻(xiàn)[5]的方法基礎(chǔ)上,結(jié)合音頻信息對推薦算法進(jìn)行了改進(jìn)。作為對比,文獻(xiàn)[6]中提出了一種比傳統(tǒng)基于歌曲或基于用戶的協(xié)同過濾更好的方法;該方法中,用戶的標(biāo)簽、曲目以及標(biāo)簽—項目關(guān)系都會影響社區(qū)網(wǎng)絡(luò)的生成,除了用戶相似度,歌曲相似度的計算同時融入了公共標(biāo)簽、公共用戶以及公共標(biāo)簽—歌曲關(guān)系的影響。此外,文獻(xiàn)[7]中將標(biāo)簽進(jìn)行了聚類,這些聚類一定程度上提高了音樂推薦的效果。在音樂文本信息中,音樂流派可以被證明是幫助用戶選擇喜歡歌曲的有用信息[8]。鑒于上述成果,文獻(xiàn)[9]中提出了一種基于音樂流派和用戶社區(qū)相似度的混合推薦方法,該方法通過顯式地將標(biāo)簽映射到流派空間,同時加入社區(qū)網(wǎng)絡(luò)用戶相似度,從而為用戶進(jìn)行歌曲推薦,取得了比LSA方法更好的效果。上述方法有的使用空間矩陣方法,有的加入了協(xié)同關(guān)系信息,沒有充分挖掘標(biāo)簽文本信息的潛在語義空間。標(biāo)簽作為一種文本信息,其潛在語義空間對歌曲推薦起著關(guān)鍵作用。
針對上述問題,本文將社會化標(biāo)簽作為音樂推薦主要依據(jù)的同時,深入挖掘了其潛在語義空間對音樂推薦的作用,從而進(jìn)行音樂推薦模型的建立。本文首先將標(biāo)簽映射到流派、情感以及上下文信息三個空間,然后在三個空間分別計算用戶和歌曲的相似度,最后將三個空間的相似度按照不同方式融合,從而形成推薦模型。實驗結(jié)果表明,融合不同空間相似度的推薦方法得到了很好的效果。
文章的組織結(jié)構(gòu)如下:第2節(jié)對研究方法中的相關(guān)工作進(jìn)行說明,第3節(jié)詳細(xì)介紹本文的主要研究方法,第4節(jié)是實驗結(jié)果及分析,第5節(jié)進(jìn)行總結(jié)。
本文使用的音樂流派相關(guān)外部資源是文獻(xiàn)[9]中提出的音樂流派本體庫,該本體庫包括22個流派,分別為:acoustic, ambient, blues, classical, country, electronic, emo, folk, hardcore, hip-hop, indie, jazz, Latin, metal, pop, pop-punk, punk, reggae, r&b, rock, soul, world。
音樂流派詞匯本體可用一個二元組進(jìn)行表示:
GenreItem = (B, G)
其中B代表詞或詞組;G則代表流派,范圍即是上述22個流派。
本文使用的情感相關(guān)外部資源是文獻(xiàn)[10]中提供的情感詞庫,該情感詞庫將情感詞分為了6類情感,分別是:anger, disgust, fear, joy, sadness, surprise。
該情感詞匯本體也可用一個二元組進(jìn)行表示:
EmotionItem = (W, E)
其中W代表一個詞;而E代表情感類別。
本文中標(biāo)簽除可以映射到流派空間和情感空間之外,還可以從某些潛在意義上反映人們對音樂的喜愛。本文通過對這些標(biāo)簽進(jìn)行分析,發(fā)現(xiàn)這些標(biāo)簽的范圍極其廣泛,包括地理、國家、生理、環(huán)境等方面。由于屬于這些方面的標(biāo)簽數(shù)量較少,同時沒有具體的方法將這些標(biāo)簽具體分類,本文將這些標(biāo)簽集合起來,形成了本文的第三個空間—上下文信息空間。
本小節(jié)中,將重點介紹本文中用到的兩種邏輯回歸模型。
(1) 支持向量機(jī)
支持向量機(jī)(Support Vector Machine),簡稱SVM,是一種監(jiān)督式學(xué)習(xí)方法,廣泛應(yīng)用于統(tǒng)計分類以及回歸分析中。
在分類中,支持向量機(jī)的主要目標(biāo)是找到一個超平面,使實例正確分布在該超平面的兩側(cè),并且使超平面到它兩側(cè)最近實例的距離最遠(yuǎn),這個超平面被稱作最大間隔超平面[11]。
1995年, Corinna Cortes與Vapnik提出了一種改進(jìn)的最大間隔區(qū)方法[12],這種方法可以處理標(biāo)記錯誤的樣本,用于回歸分析中。
(2) 邏輯斯蒂判別式
邏輯斯蒂判別式主要用于分類,而本文中重點運用了該方法的二值分類回歸模型[11]。在該模型中,有如下假設(shè),如式(1)所示。
其中P(x|Ci)表示類條件密度。在式(1)中,假設(shè)類條件密度的對數(shù)似然比是線性的,經(jīng)過推導(dǎo)和整理,可以得到實例屬于某一類的概率估計如式(2)所示。
于是通過一定的學(xué)習(xí)方法學(xué)習(xí)得到參數(shù)w和w0,從而就可以根據(jù)概率估計式(2)預(yù)測給定實例的分類信息了。
本文將在這一部分詳細(xì)介紹三個空間中用戶與歌曲的相似度計算方法,并將融合方法進(jìn)行詳盡的介紹。
(1) 歌曲文件表示
本文中,歌曲i用一個文件tracki進(jìn)行表示,tracki中包含歌曲i中含有的所有標(biāo)簽labelk,i以及l(fā)abelk,i在i中相對于最常用標(biāo)簽的整數(shù)型比例perk,i(從0到100),為了不丟棄0數(shù)值的影響,本文將perk,i加1進(jìn)行平滑。
(2) 用戶文件表示
本文中,用戶文件userj的表示方法類似于歌詞文件,它所含有的標(biāo)簽及比例用其聽過的歌含有的標(biāo)簽集合來表示。
3.2.1 標(biāo)簽到流派的映射
如2.1節(jié)中所講,本文依賴于音樂流派本體庫將標(biāo)簽映射到流派上。映射方法參考的是文獻(xiàn)[9]提出的方法,并定義如下公式。
3.2.2 流派空間向量表示方法及相似度計算
首先,以歌曲為例介紹歌曲的流派空間向量表示方法,具體方法如下:
(1) 歌曲的流派向量出現(xiàn)頻率計算如式(4)所示。
其中,Ni,g表示流派g在歌曲i中出現(xiàn)頻率,k表示歌曲i文件中的標(biāo)簽個數(shù),l代表標(biāo)簽。
(2) 歌曲的流派向量權(quán)重計算:
本文采用TF*IDF方法來計算歌曲文件在流派各個維度上的權(quán)重,具體公式如式(5)所示。
其中,wi,g表示歌曲文件i在流派g維上的權(quán)重,Ni表示歌曲i中出現(xiàn)在所有流派頻率的總和,|T|表示歌曲的總數(shù)目,|Tg|表示出現(xiàn)過流派g的歌曲總數(shù)目。
本文用類似的方法對用戶流派向量權(quán)重進(jìn)行計算。其中,TF單獨針對用戶文件計算,而IDF使用上述歌曲流派的IDF值。
為了和文獻(xiàn)[9]中的方法進(jìn)行對比,本文中同樣使用cosine方法計算用戶和歌曲間的流派相似度,見式(6)。
其中,wuser,g和wtrack,g分別代表用戶和歌曲流派向量的各維權(quán)重。
3.3.1 標(biāo)簽到情感的映射
本文依賴于2.1節(jié)中提到的情感本體庫進(jìn)行音樂情感映射。映射方法如下:
將情感本體庫中的單詞作為查詢關(guān)鍵字在數(shù)據(jù)庫中查詢含有該單詞的標(biāo)簽內(nèi)容,從而將標(biāo)簽映射到該詞匯對應(yīng)的情感中。
3.3.2 情感空間向量表示方法及相似度計算
類似于3.2節(jié)中流派向量的表示方法,可得到情感向量的各維權(quán)重wi,e以及用戶與歌曲的情感相似度EmoSim(user,track)。
3.4.1 用戶和歌曲的上下文信息空間表示
本文采用“詞袋”對用戶和歌曲的上下文信息空間進(jìn)行表示,此處的“詞袋”表示的是單詞集合文件。以歌曲為例,上下文信息空間表示具體步驟如下:
(1) 對每一首歌曲建立一個詞袋文件。
(2) 對于歌曲文件tracki中的第k個標(biāo)簽labelk,i,如果被映射到了流派或者情感空間,則丟棄;否則,將該標(biāo)簽寫入該歌曲對應(yīng)的詞袋文件中。
(3) 由于上下文標(biāo)簽的稀疏性,本文采用WordNet對詞袋文件內(nèi)容進(jìn)行了同義詞擴(kuò)展,形成了更加豐富的詞袋文件。
至此,歌曲文件的上下文信息空間表示完成,而用戶則參照歌曲文件的表示方法。
3.4.2 用戶和歌曲上下文信息空間相似度計算
本文采用jaccard系數(shù)計算用戶和歌曲的上下文信息相似度。計算公式如式(7)所示。
其中,user和track分別表示用戶和歌曲的上下文信息空間詞袋文件。|user∩track|表示用戶詞袋與歌曲詞袋相同詞的個數(shù),|user∪track|表示用戶詞袋與歌曲詞袋詞的并集的個數(shù)。
本文使用如下方法對上下文信息空間相似度進(jìn)行歸一化:
其中,minSim表示上下文空間相似度計算出的最小值,maxSim表示其最大值。
3.5.1 線性融合
本文中主要采用線性融合方法對三個空間的相似度進(jìn)行融合。如式(9)所示。
其中,Sim(user,track)表示用戶與歌曲的總相似度,λ1、λ2、λ3分別代表流派、情感、上下文空間相似度的相關(guān)性系數(shù),且λ1+λ2+λ3=1。
3.5.2 邏輯回歸融合
本文除了主要使用上述的線性融合方法以外,同時使用了支持向量機(jī)和邏輯斯蒂判別式兩種邏輯回歸方法將本文三個空間的相似度進(jìn)行了融合。具體融合原理方法已在2.4節(jié)中進(jìn)行了相關(guān)介紹。
用戶—歌曲對的三個空間的相似度可以形成一個三維向量simVec(GenreSim,EmoSim,ContSim),把該三維向量作為輸入實例,可以得到邏輯回歸的結(jié)果,結(jié)果越高,用戶—歌曲對的相似度越大。
本文的語料使用的是文獻(xiàn)[9]中的語料。在這個語料中,每首歌曲的標(biāo)簽信息不僅包含標(biāo)簽內(nèi)容,還包括標(biāo)簽在歌曲中相對于最常用標(biāo)簽的整數(shù)比例(1到101),而在實驗過程中本文也用到了該數(shù)據(jù)信息。
為了和文獻(xiàn)[9]的方法進(jìn)行對比,本文同樣采用了四倍交叉驗證方法來進(jìn)行實驗。本文將75%的歌曲信息作為訓(xùn)練集,另外25%的歌曲信息作為測試集。用戶文件使用訓(xùn)練集的數(shù)據(jù)進(jìn)行文件表示,實驗?zāi)繕?biāo)是正確地為用戶推薦測試集中的歌曲。
本文中采用最常用的P@N方法來評價推薦的準(zhǔn)確率,該方法指的是前N個推薦結(jié)果中的相關(guān)歌曲占的比率。
本文首先在流派、情感和上下文信息三個空間分別進(jìn)行相似度計算從而為用戶進(jìn)行歌曲推薦,和文獻(xiàn)[9]中的方法進(jìn)行對比試驗,得到的結(jié)果如表1所示。
表1 單獨空間推薦實驗結(jié)果
由表1結(jié)果可看出,本文中單獨使用流派空間和上下文信息空間的推薦效果已經(jīng)好于文獻(xiàn)[9]中的最高結(jié)果,其中上下文信息空間推薦效果最好,而情感空間的推薦效果最差。這說明,在用戶對歌曲標(biāo)注的標(biāo)簽中,除流派和情感信息以外,潛在的影響因素仍然具有相當(dāng)大的作用,而由于歌曲的情感相對單一,用戶對音樂的情感要求比較豐富,所以推薦效果較差。
在單獨空間實驗基礎(chǔ)上,本文針對其中一個測試集進(jìn)行了不同的相關(guān)融合方法測試,融合方法實驗結(jié)果如表2所示。
表2 融合推薦實驗結(jié)果
由表2實驗結(jié)果可看出,線性融合的方法遠(yuǎn)遠(yuǎn)高于兩種邏輯回歸方法。經(jīng)過分析,主要的原因在于訓(xùn)練集信息不平衡。使用邏輯回歸方法進(jìn)行訓(xùn)練時,訓(xùn)練集中僅提供1(用戶聽過歌曲)和0(用戶未聽過歌曲)兩種輸出,而由于用戶聽過的歌曲數(shù)量有限,輸出為1的樣本很少;同時,在輸出為0的實例中,我們并不能確認(rèn)用戶不喜歡該歌曲。邏輯回歸方法是一種相對復(fù)雜的機(jī)器學(xué)習(xí)方法,本文將用戶和歌曲對的三個相似度分?jǐn)?shù)作為輸入向量、1和0作為輸出進(jìn)行實例訓(xùn)練,提供的信息不夠全面,所以邏輯回歸的效果并不如簡單的線性融合方法好。
在上述實驗中可以看出,線性融合的方法最好。于是,本文在所有實驗數(shù)據(jù)上進(jìn)行線性融合方法。為了統(tǒng)計最佳結(jié)果,本文將三個系數(shù)分別賦值0到1(依次加0.1),做了66組系數(shù)實驗對比,最后統(tǒng)計出了三個空間兩兩融合以及三個一起融合最佳結(jié)果的系數(shù)(公式(9)所示),交叉驗證結(jié)果如表3所示。
表3 線性融合四倍交叉驗證結(jié)果
由表3的結(jié)果可以看出,融合三個空間的相似度具有最好的結(jié)果,且最佳結(jié)果都好于單獨使用一個空間(表1)。通過分析結(jié)果,本文得出結(jié)論,在本文的三個語義空間中,決定用戶是否喜歡一首歌的最重要因素來自于上下文信息空間,流派次之,最后是情感。這個現(xiàn)象說明,人們喜歡音樂的因素有很多,并不能簡單的使用單一的語義空間來對用戶的興趣進(jìn)行推測,而應(yīng)該融合更多的語義空間對用戶推薦合適的歌曲。
在音樂資源(歌詞,樂譜等)中,標(biāo)簽有效地反映了用戶對音樂的個性化認(rèn)知。因此,本文將社會化標(biāo)簽作為主要音樂推薦依據(jù),創(chuàng)新性的將標(biāo)簽同時映射到了流派、情感和上下文信息三個空間中,深入挖掘了這三個空間對用戶喜歡歌曲的影響力大小,并在各單獨空間基礎(chǔ)上進(jìn)行相關(guān)性融合研究,從而有效的為用戶推薦了其需要的歌曲。
[1] Dwyer C, Hiltz S R, Passerini K. Trust and Privacy Concern Within Social Networking Sites: A Comparison of Facebook and MySpace[C]//Proceedings of the 13th Americas Conference on Information Systems(AMCIS 2007). Keystone, Colorado, 2007.
[2] Acquisti A and Gross R. Imagined Communities: Awareness Information Sharing and Privacy on the Facebook[C]//Proceedings of the 6th Workshop on Privacy Enhancing Technologies. Cambridge, UK. 2006: 36-58.
[3] Celma O and Lamere P. Music Recommendation Tutorial[C]//Proceedings of the 16th ACM International Conference on Multimedia. New York, NY, USA. 2008: 1157-1158.
[4] Nanopoulos A, Rafailidis D and Symeonidis P et al. MusicBox: Personalized Music Recommendation Based on Cubic Analysis of Social Tags[J]. Audio, Speech, and Language Processing, IEEE Transactions. 2010. 18(2): 407-412.
[5] Symeonidis P, Ruxanda M and Nanopoulos A et al. Ternary semantic analysis of social tags for personalized music recommendation[C]//Proceedings of the ISMIR. Philadelphia, USA. 2008: 219-224.
[6] Liang H, Xu Y and Li Y et al. Collaborative Filtering Recommender Systems Using Tag Information[C]//Proceedings of the Web Intelligence and Intelligent Agent Technology. Sydney, Australia. 2008: 59-62.
[7] Shepitsen A, Gemmell J, and Mobasher B et al. Personalized recommendation in social tagging systems using hierarchical clustering[C]//Proceedings of the 2008 ACM Conference on Recommender Systems(RecSys ’08). New York, NY, USA. 2008: 259-266.
[8] Cai R, Zhang C and Wang C et al. MusicSense: contextual music recommendation using emotional[C]//Proceedings of the 15th International Conference on Multimedia Allocation Modeling. New York, NY, USA. 2007: 553-556.
[9] Tatli I, Birturk A. A Tag-Based Hybrid Music Recommendation System Using Semantic Relations and Multi-domain Information[C]//Proceedings of the Data Mining Workshops (ICDMW), 2011 IEEE 11th International Conference. Angeles, CA, USA. 2011: 548-554.
[10] Strapparava C, Mihalcea R. Learning to identify emotions in text[C]//Proceedings of the 2008 ACM Symposium on Applied Computing. New York, USA. 2008: 1556-1560.
[11] 阿培丁. 機(jī)器學(xué)習(xí)導(dǎo)論[M]. 機(jī)械工程出版社, 2009: 135-141.
[12] Cortes C, Vapnik V. Support-Vector Networks[J]. Machine Learning. 1995. 20(3): 273-297.