董 輝,盛 魁,張繼美
亳州職業(yè)技術(shù)學(xué)院,安徽 亳州 236800
隨著網(wǎng)絡(luò)技術(shù)發(fā)展和社交網(wǎng)絡(luò)服務(wù)的推廣,人類交往全面進(jìn)入在線社交網(wǎng)絡(luò)服務(wù)(social net?working services,SNS)時(shí)代[1],國(guó)內(nèi)外知名 SNS如微博、微信、FaceBook和Twitter等。SNS用戶規(guī)模持續(xù)擴(kuò)大,信息交互更加快捷,同時(shí)在SNS的基礎(chǔ)上又延伸出許多功能強(qiáng)大的應(yīng)用,如微信在線支付、小程序及微信公眾號(hào)等,使得SNS的服務(wù)內(nèi)容越來越豐富。在SNS中,用戶的自發(fā)參與產(chǎn)生了具有一些明顯特征屬性的社交大數(shù)據(jù),主要的特征屬性是“用戶創(chuàng)建的內(nèi)容”、“交互信息”及“關(guān)系信息”?!坝脩魟?chuàng)建的內(nèi)容”是指用戶自己在SNS上創(chuàng)建的內(nèi)容及其相關(guān)信息,如博客上的帖子、信息發(fā)布的時(shí)間和標(biāo)簽信息等;“交互信息”是指用戶間交互的內(nèi)容,例如微信上用戶之間的信息傳輸、朋友圈的點(diǎn)贊、評(píng)論等;“關(guān)系信息”構(gòu)成一個(gè)社交圈的信息,代表SNS用戶之間的直接或間接關(guān)聯(lián)關(guān)系,如微信上朋友圈、微博的好友圈等。這類社交大數(shù)據(jù)已經(jīng)被應(yīng)用于個(gè)性化推薦領(lǐng)域的研究,挖掘用戶的需求和偏好,及時(shí)向用戶推薦滿足個(gè)性化需求的信息[2]。
傳統(tǒng)的個(gè)性化推薦系統(tǒng)主要基于相似度的協(xié)同過濾(collaborative filtering,CF)算法向用戶提供推薦。相似度的算法主要有皮爾遜相關(guān)系數(shù)(pearson correlation coefficient,PCC)、余弦相似度(cosine similarity,CS)及杰卡德均方差(jacca?rd mean squared difference,JMSD)等方法[3]。但是以上算法只適合于利用明確的數(shù)據(jù)信息(如用戶的評(píng)分)計(jì)算相似度,而大多數(shù)社交數(shù)據(jù)都含有許多隱式信息,這使得傳統(tǒng)的推薦系統(tǒng)不能完全適合基于SNS的個(gè)性化推薦需求。此外,用戶在社交圈信任關(guān)系密切的用戶信息已被許多研究證實(shí)對(duì)于提升個(gè)性化推薦服務(wù)非常有用[4-6],然而,現(xiàn)有的相似度算法不適合于在線社交用戶之間親密關(guān)系的度量,因?yàn)槌擞脩魟?chuàng)建的內(nèi)容之外,它們很少關(guān)注社交大數(shù)據(jù)的其它方面的特征,更沒有考慮用戶之間共享的主題數(shù)量。
本文提出了一種描述SNS用戶之間親密度的新方法——友情度,并通過交互、群體和個(gè)人三種相似度來計(jì)算友情度。該方法考慮了社交大數(shù)據(jù)的各種特征,提出的個(gè)性化推薦系統(tǒng)充分利用用戶關(guān)心的主題和興趣及緊密關(guān)聯(lián)的用戶的信息,為SNS用戶推薦滿足個(gè)性化需求的興趣和主題。并使用各種評(píng)估指標(biāo)如平均絕對(duì)誤差(mean abso?lute error,MAE)、精確度Precision、召回率Recall和F1值等,評(píng)估所提出的推薦系統(tǒng)的性能和推薦質(zhì)量,驗(yàn)證友情度在個(gè)性化推薦中的重要作用,證實(shí)了基于友情度的個(gè)性化推薦系統(tǒng)比基于PCC和JMSD算法的CF推薦系統(tǒng)的性能要優(yōu)越,且推薦結(jié)果的質(zhì)量要高。
個(gè)性化推薦系統(tǒng)收集關(guān)于用戶對(duì)項(xiàng)目的偏好的信息,為用戶推薦希望獲取的項(xiàng)目。而社交大數(shù)據(jù)中包含了顯式或隱式信息,如博文、朋友圈信息、關(guān)注、博文時(shí)間和標(biāo)簽信息等,如能合理的利用這些信息,則可以增強(qiáng)個(gè)性化推薦。近年來,國(guó)內(nèi)外一些學(xué)者在不斷努力,試圖利用隱式數(shù)據(jù)信息來改進(jìn)個(gè)性化推薦系統(tǒng)。如潘一騰等[5]提出一種基于信任關(guān)系隱含相似度的社會(huì)化推薦算法,提高了社會(huì)化推薦算法的精度;劉靜等[6]提出了一種個(gè)性化的標(biāo)簽推薦系統(tǒng),使用用戶的標(biāo)記歷史和地理信息來生成基于學(xué)習(xí)方法的推薦系統(tǒng);趙亞輝和劉瑞[7]提出了基于評(píng)論的隱式社交關(guān)系進(jìn)行個(gè)性化推薦。但是,與考慮SNS用戶關(guān)聯(lián)信息以獲得推薦的方法相比,上述方法難以充分反映個(gè)人傾向并且推薦結(jié)果的準(zhǔn)確度較低。
基于人際關(guān)系的個(gè)性化推薦方式可以分為基于影響力的推薦和基于朋友圈的推薦。在SNS上彼此相關(guān)的用戶的偏好相似度要高于不相關(guān)用戶的偏好相似度,他們之間的關(guān)聯(lián)信息顯然比不相關(guān)用戶的信息更具有利用價(jià)值[8]。
1.2.1 基于社交影響力的個(gè)性化推薦系統(tǒng) 基于影響力的推薦系統(tǒng)主要用于需要專業(yè)領(lǐng)域知識(shí)的推薦,如學(xué)術(shù)或新聞?lì)I(lǐng)域的推薦系統(tǒng)。例如陳林等[9]定義了對(duì)新聞界影響專家模型,提出一種新穎的個(gè)性化新聞推薦算法;文獻(xiàn)[10]基于學(xué)術(shù)搜索平臺(tái)Arnet Miner,融合深度學(xué)習(xí)方法、社會(huì)網(wǎng)絡(luò)分析和語義搜索等相關(guān)技術(shù),進(jìn)行跨區(qū)域協(xié)作推薦與用戶相關(guān)的專家和論文。
1.2.2 基于朋友圈的個(gè)性化推薦系統(tǒng) 對(duì)于SNS用戶,人們更傾向于關(guān)注熟人和朋友的意見,基于朋友之間信任進(jìn)行的推薦更容易被接受,因此基于朋友的信息提供的推薦效率更高。但是在SNS中,基于朋友的個(gè)性化推薦對(duì)于用戶關(guān)系是均等看待的,沒有考慮到用戶之間關(guān)系遠(yuǎn)近的親密度,大多數(shù)研究都是針對(duì)一組具有相似興趣和偏好的社交網(wǎng)絡(luò)服務(wù)用戶提供推薦[11]。如劉海峰[12]提出了基于信任關(guān)系的商品推薦方法,改進(jìn)了推薦的性能,并解決多樣性推薦的問題。
本文綜合分析諸多學(xué)者研究成果的基礎(chǔ)上,研究影響用戶間親密度的各種因素,提出基于友情度的個(gè)性化推薦系統(tǒng),并對(duì)實(shí)驗(yàn)過程和實(shí)驗(yàn)結(jié)果進(jìn)行分析,評(píng)估所提出系統(tǒng)的性能和推薦質(zhì)量。
近年來,國(guó)內(nèi)外一些學(xué)者對(duì)基于用戶之間親密度的個(gè)性化推薦方法進(jìn)行了一定的研究。如文獻(xiàn)[13]考慮了用戶互動(dòng)和社交圈信息來計(jì)算他們之間的親密度,提出一種基于聯(lián)系強(qiáng)度的個(gè)性化模型來增強(qiáng)社交服務(wù),給出了更高質(zhì)量的推薦信息;文獻(xiàn)[14]提出一種綜合信任模型,構(gòu)建了基于社會(huì)網(wǎng)絡(luò)關(guān)系分析的綜合推薦模型,應(yīng)用矩陣分解技術(shù)推斷微博的主題分布和用戶的興趣取向,實(shí)現(xiàn)微博的個(gè)性化推薦。但是,先前的研究沒有考慮到影響友情度的各種因素,更沒有對(duì)影響因素進(jìn)行多維度分析,導(dǎo)致推薦信息的準(zhǔn)確性和精度不高,因此需要一種新的方法分析影響友情度的各種因素,利用它們計(jì)算友情度,設(shè)計(jì)一種高效的個(gè)性化推薦系統(tǒng)。
本文提出的個(gè)性化推薦系統(tǒng)的流程主要分為以下3個(gè)階段9個(gè)步驟。
階段一:處理所需的數(shù)據(jù)集,此階段分為5個(gè)步驟。步驟1:在社交服務(wù)網(wǎng)站上抓取推薦領(lǐng)域相關(guān)意見及評(píng)論數(shù)據(jù)構(gòu)建數(shù)據(jù)集;步驟2:在數(shù)據(jù)集中添加與推薦領(lǐng)域相關(guān)的正面、中性或負(fù)面的意見詞詞語,構(gòu)建意見詞詞典;步驟3:根據(jù)意見詞典,分析用戶生成的內(nèi)容如微博上的博文、大眾點(diǎn)評(píng)網(wǎng)的貼文、FaceBook上的帖子等,給出內(nèi)容的極性,如正面、負(fù)面或中性;步驟4:挖掘出與推薦領(lǐng)域及其評(píng)論信息相關(guān)的用戶,提取用戶的數(shù)據(jù)如用戶ID值等,創(chuàng)建用戶社交圈的用戶矩陣;步驟5:利用前面內(nèi)容的極性分析得分及用戶的參考項(xiàng)目的次數(shù)得分,計(jì)算友情度及推薦系統(tǒng)中用到的隱式偏好值和主題分布值。
階段二:計(jì)算SNS用戶間友情度,分為3個(gè)步驟。步驟6:利用SNS用戶間的交互信息計(jì)算交互相似度,交互信息如微信朋友圈或微博上的評(píng)論、點(diǎn)贊或轉(zhuǎn)發(fā)等信息;步驟7:使用主題分布值及隱式偏好值,計(jì)算個(gè)人相似度;步驟8:使用SNS社交圈用戶信息計(jì)算用戶組的相似度。融合以上3個(gè)相似度,計(jì)算出用戶間的友情度。
階段三:構(gòu)建推薦系統(tǒng)進(jìn)行推薦階段。步驟9:利用用戶間友情度、隱式偏好值及前面所計(jì)算的相似度值,構(gòu)建推薦系統(tǒng),為用戶提供高質(zhì)量推薦結(jié)果。
用戶在SNS上發(fā)布的內(nèi)容中表達(dá)了自己的看法,代表了自己情緒或感受。根據(jù)原先建立的意見詞典,可以把用戶生成的內(nèi)容的極性(OD)分類為正面、中性或負(fù)面的內(nèi)容,分別數(shù)字化為 1,0,-1。
從用戶生成的信息中提取關(guān)鍵字(即項(xiàng)目)和包含關(guān)鍵字的主題,用戶偏好分為用戶項(xiàng)目偏好和用戶主題偏好。根據(jù)內(nèi)容的極性和用戶生成內(nèi)容的總數(shù)計(jì)算項(xiàng)目偏好ru,i:
式(1)中,Du,i表示用戶u關(guān)于項(xiàng)目i所創(chuàng)建的內(nèi)容的集合。用戶的主題偏好是用戶高級(jí)偏好,在這里以主題分布值來表示,本文通過使用與主題t相關(guān)聯(lián)的用戶生成的內(nèi)容的總數(shù)的分布θu,t值來計(jì)算。算法如式(2):
式(2)中,Du是關(guān)于用戶u內(nèi)容的集合、Du,t與用戶u相關(guān)的主題t的內(nèi)容的集合。
在SNS中,綜合考慮影響用戶友情度的多種因素,用3種相似度來計(jì)算用戶之間的友情度。這3種相似度分別是個(gè)人相似度P、交互相似度I和群體相似度G,如表1所示。
表1 友情度的三種相似度及其因素Tab.1 Three kinds of similarity and their factors of degree of friendship
2.4.1 個(gè)人相似度 個(gè)人相似度表示SNS上用戶生成內(nèi)容之間的相似度,可以通過項(xiàng)目的偏好值和主題分布來計(jì)算。用戶生成的內(nèi)容會(huì)涉及到各種喜好及興趣,特別是在類似于大眾點(diǎn)評(píng)、微博等社交網(wǎng)站上,在計(jì)算用戶對(duì)項(xiàng)目的偏好時(shí),共同興趣的比例比僅計(jì)算用戶偏好相似度更為重要。因此,本文利用JMSD算法,來計(jì)算用戶之間的偏好相似度。
σJMSD為均方差(mean squard difference,MSD)和Jaccard系數(shù)的乘積。本文中MSD系數(shù)表示用戶u和f的項(xiàng)目偏好值之間的差異的平均值,用σMSD表示,Jaccard系數(shù)J(u,f)是SNS上用來計(jì)算用戶共同興趣的比率。計(jì)算方法分別如下:
SNS用戶創(chuàng)建大量與推薦領(lǐng)域主題相關(guān)的內(nèi)容,用戶間的關(guān)系越親密,用戶之間交流的的主題范圍就越廣,而且SNS用戶之間的主題的相似度是實(shí)現(xiàn)個(gè)性化檢索的主要元素之一。因此,個(gè)人相似度的計(jì)算不僅考慮項(xiàng)目信任,還要考慮用戶共享的主題數(shù)量及主題的相似度,以便在推薦領(lǐng)域根據(jù)個(gè)人傾向提供高質(zhì)量的推薦結(jié)果。用戶間的主題相似度可以通過使用散度(kullback-leibler divergence,KL)計(jì)算[15]。算法如式(5)所示:
則個(gè)人相似度計(jì)算式如式(6),取項(xiàng)目信任度和主題相似度的加權(quán)之和,表示項(xiàng)目與用戶提及的主題的相似度。
式(6)中αP+βP=1。
2.4.2 交互相似度 在SNS中,用戶通過信息的交互來分享彼此的好惡及情感,若用戶的好惡或偏好相似,則他們會(huì)積極分享信息。因此交互相似度可以通過用戶之間“互動(dòng)的廣度和深度”來衡量,用戶之間的交互相似度又是計(jì)算友情度的重要因素。在許多社交網(wǎng)站中,用戶都可以通過轉(zhuǎn)發(fā)、評(píng)論、關(guān)注、回復(fù)等功能進(jìn)行相互交互,因此可以使用這些信息,與交互頻率、交互近因等屬性結(jié)合起來共同計(jì)算交互相似度。
首先,計(jì)算SNS用戶的交互頻率。用戶交互頻率反映了用戶之間的關(guān)系的遠(yuǎn)近,關(guān)系近的用戶會(huì)頻繁的積極交流,交流的信息也更有價(jià)值。用戶交互頻率算法如式(7)所示,其中q(u,f)表示用戶u和f聯(lián)系的次數(shù)。
其次計(jì)算交互近因和交互時(shí)長(zhǎng)因子。交互近因和交互時(shí)長(zhǎng)因子是與用戶之間的聯(lián)系時(shí)間密切相關(guān)的權(quán)重。SNS大數(shù)據(jù)中,最新的信息非常重要,最近的聯(lián)系意味著用戶分享當(dāng)前的興趣,因此用戶最近是否接觸過是衡量親密關(guān)系的關(guān)鍵因素。用戶u和f的交互近因可表示為式(8)所示:
R(u,f)表示用戶u和f最近一次聯(lián)系到當(dāng)前時(shí)間所經(jīng)過的時(shí)間,L(u)表示收集用戶u的數(shù)據(jù)的時(shí)間。
一般地,在SNS中與他人交互時(shí)間較長(zhǎng)的人的信息比交互時(shí)間較短甚至沒有溝通的人的信息更重要,如果用L(u,f)表示用戶u和f之間的一次交互時(shí)長(zhǎng),則交互時(shí)長(zhǎng)因子算法如式(9)所示:
本文交互相似度是通過對(duì)QI(u,f),QR( )u,f和Q(uL,f)3個(gè)權(quán)重值進(jìn)行加權(quán)來計(jì)算的,如式(10)所示:
其中αI+βI+χI=1。
2.4.3 群體相似度 群體相似度是指不同用戶在SNS上所屬社交圈的相似度,可以用來衡量用戶與他的朋友之間的親密關(guān)系。在SNS的社交圈里,用戶傾向于將與他們密切接觸或具有類似興趣的用戶作為他們的朋友,因此擁有類似朋友列表的不同用戶所在社交圈相似度較高,即群體相似度較高。所以可以通過用戶u和f共享的朋友的比率來計(jì)算u,f所在社交圈的相似度。在SNS社交圈里,用戶朋友關(guān)系可分為直接和間接朋友關(guān)系。通過間接朋友關(guān)系,也可以獲取用戶社交圈中有用的信息和資源。本文用朋友級(jí)別的概念來描述群體相似度。如圖1所示,將用戶u的直接關(guān)聯(lián)朋友的級(jí)別定義為一級(jí),表示為,用戶間接關(guān)聯(lián)(第n層級(jí))朋友的級(jí)別定義為n級(jí),以表示,例如表示用戶u的兩個(gè)邊緣內(nèi)連接的一組用戶。
圖1 群體相似度Fig.1 Swarm similarity
在大多SNS中,幾乎所有的用戶的朋友用戶都在6層以內(nèi),即n=6。結(jié)合Jaccard系數(shù),則用戶群體相似度的算法表示式(11)所示:
其中 (αG+βG+...+χG=1)。
2.4.4 友情度的計(jì)算 在SNS中,本文用友情度來度量用戶之間的親密關(guān)系,根據(jù)前文分析友情度主要體現(xiàn)在個(gè)人相似度、交互相似度和群體相似度幾個(gè)重要的方面,綜合式(6)、式(10)和式(11)3種相似度算式,本文SNS中友情度QF( )u,f
算法如式(12)所示:
其中,δ表示根據(jù)每個(gè)元素的重要性提供權(quán)重值差異的加權(quán)矢量。
在社交網(wǎng)絡(luò)中,直接或間接關(guān)聯(lián)的用戶的信息比未關(guān)聯(lián)的用戶的信息更為重要,根據(jù)這些用戶的信息結(jié)合用戶友情度和社交圈朋友的級(jí)別的定義,給出對(duì)用戶u關(guān)于項(xiàng)目i的偏好值預(yù)測(cè)式,如式(13)所示:
實(shí)驗(yàn)環(huán)境為Intel Xeon E5-2630*2CPU、32 GB DDR4內(nèi)存、3 TB Sata3硬盤、Windwos Server 2008系統(tǒng)服務(wù)器,實(shí)驗(yàn)數(shù)據(jù)集來源于新浪微博音樂及電影2018年1月份樂評(píng)及影評(píng)博文數(shù)據(jù)的抓取,共28部在國(guó)內(nèi)上映的電影和亞洲音樂排行榜60首音樂、8138315條評(píng)論博文和2368372個(gè)微博會(huì)員相關(guān)的信息。經(jīng)過整理,實(shí)驗(yàn)中把該數(shù)據(jù)集分為評(píng)論博文信息、微博會(huì)員關(guān)系信息和評(píng)論意見詞典。博文信息有博文ID、博文內(nèi)容、發(fā)表時(shí)間、轉(zhuǎn)發(fā)量、回復(fù)數(shù)、關(guān)注量、點(diǎn)贊量、博主ID、對(duì)博文的評(píng)論及關(guān)注者的微博會(huì)員ID;微博會(huì)員關(guān)系信息包括有微博會(huì)員的ID、會(huì)員名及會(huì)員關(guān)注者的ID及會(huì)員名;意見詞典主要包括電影的正負(fù)面詞匯列表,用來標(biāo)志電影評(píng)論博文的極性情況。
實(shí)驗(yàn)對(duì)數(shù)據(jù)集進(jìn)行了交叉實(shí)驗(yàn),目的是分析評(píng)估本文所提出的個(gè)性化推薦系統(tǒng)。實(shí)驗(yàn)中,把微博會(huì)員數(shù)據(jù)集分成兩部分,其20%用于測(cè)試用戶集、80%視為訓(xùn)練用戶集,并建立了用戶對(duì)用戶的友情度矩陣,基于交互相似度的考慮,20%與其他用戶積極互動(dòng)的活躍用戶是測(cè)試用戶。在數(shù)據(jù)集中,實(shí)驗(yàn)中使用了28個(gè)電影和60個(gè)音樂共88個(gè)項(xiàng)目,但電影評(píng)論活躍用戶提及的項(xiàng)目數(shù)量平均值大約為10個(gè)、音樂評(píng)論活躍用戶大約為16個(gè)。對(duì)測(cè)試集合使用Leave-One-Out交叉驗(yàn)證[16]。首先基于測(cè)試集,計(jì)算用戶之間的友情度,建立用戶-用戶友情度矩陣,基于此矩陣計(jì)算用戶間交互和群體相似度;其次利用測(cè)試用戶與訓(xùn)練用戶之間的訓(xùn)練項(xiàng)目的偏好值及主題分部值,來計(jì)算個(gè)人的相似度;最后利用友情度3個(gè)重要元素:交互相似度(I),群體相似度(G)和個(gè)人相似度(P)的組合來計(jì)算用戶之間的相似度。
協(xié)同過濾個(gè)性化推薦系統(tǒng)是最受歡迎的推薦方式,而基于PCC和JMSD是在CF推薦系統(tǒng)中常用的系數(shù),它的有效性已經(jīng)在經(jīng)典的的推薦系統(tǒng)數(shù)據(jù)集(如Movielens)中得到證實(shí)。本文所提出的系統(tǒng)利用直接或間接連接到SNS的用戶的信息進(jìn)行推薦,把本文推薦系統(tǒng)的性能與基于PCC和JMSD的CF推薦系統(tǒng)進(jìn)行比較。使用衡量個(gè)性化推薦系統(tǒng)性能的幾個(gè)主要指標(biāo)MAE、精確度、召回率、F1值驗(yàn)證了推薦系統(tǒng)的推薦質(zhì)量。
3.3.1 IGP實(shí)驗(yàn)結(jié)果分析 本文針對(duì)精確度、召回率和F1值對(duì)友情度3個(gè)重要元素I、G、P及其組合進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如圖2所示。
圖2 友情度三要素及其組合實(shí)驗(yàn)結(jié)果:(a)精確度,(b)召回率,(c)F1值Fig.2 Experimental results of three elements of degree of friendship and their combination:(a)precision,(b)recall,(c)F1value
從圖2中可以發(fā)現(xiàn),在所有的組合中,I和P的組合(CIP)表現(xiàn)出最好的性能。因此,結(jié)合式(12),選擇CIP作為友情度。
3.3.2 MAE實(shí)驗(yàn)結(jié)果分析 MAE主要用于預(yù)測(cè)值的誤差測(cè)量,定義為公式(14):
式(14)中Ou,i表示用戶集合,pu,i和ru在測(cè)試用戶集U中都不為null值。MAE評(píng)估實(shí)驗(yàn)的結(jié)果如圖3所示,實(shí)驗(yàn)中K近鄰(K)的范圍是100到2000之間。
從圖3中可以分析,本文所提出的推薦算法比基于PCC和JMSD的CF推薦具有更低的錯(cuò)誤率?;谟亚槎韧扑]預(yù)測(cè)偏好值的準(zhǔn)確性在整體范圍內(nèi)分比PCC提高20%左右,與JMSD相比,在K<1000時(shí),它的性能略高,但K≥1000時(shí),性能提高了大約有8%,K的數(shù)量越多,性能改善越高。
圖3 推薦質(zhì)量實(shí)驗(yàn)結(jié)果Fig.3 Experimental results of quality of recommendations
3.3.3 針對(duì)推薦有效性的實(shí)驗(yàn)分析 MAE可能是衡量推薦算法性能的一個(gè)很好的指標(biāo),但是它不能準(zhǔn)確衡量用戶對(duì)推薦結(jié)果的滿意度,因此有必要使用新的算法測(cè)量用戶對(duì)推薦結(jié)果的滿意度即評(píng)估推薦的有效性。通常精確度p、召回率r和F1值被用于衡量個(gè)性化推薦結(jié)果的有效性,本文中精確度、召回率和F1值表示如式(15)~式(17),實(shí)驗(yàn)結(jié)果如圖4所示。
其中Zu表示用戶提供的N個(gè)推薦項(xiàng)的集合,表示閾值。為了衡量精確度、召回率和F1值,不僅要根據(jù)預(yù)測(cè)偏好值對(duì)推薦項(xiàng)目進(jìn)行排序,而且還要確定推薦項(xiàng)目相關(guān)性判斷的閾值。根據(jù)式(1)進(jìn)行多次計(jì)算發(fā)現(xiàn),式(15)和式(16)中如果ru,i>0.5,則表示用戶在所有他的博文中對(duì)于項(xiàng)目i的正面評(píng)論都多于1次,因此可以判斷推薦結(jié)果與i是相關(guān)的。因此,將閾值設(shè)置為0.5。
從實(shí)驗(yàn)結(jié)果可以看出,就精度而言,所提出的系統(tǒng)與PCC和JMSD相比分別顯示提高約8%和5%;在召回率方面,與PCC相比,所提議的系統(tǒng)性能提高約8%,與JMSD相比約為6%;對(duì)于F1值,與PCC相比,所提出的系統(tǒng)性能提高約10%,與JMSD相比約為9%??梢姡疚乃岢龅耐扑]系統(tǒng)推薦質(zhì)量上比基于PCC和JMSD的CF推薦系統(tǒng)整體上分別提高8.5%和7%左右。
圖4 推薦結(jié)果有效性的比較:(a)精確度,(b)召回率,(c)F1值Fig.4 Comparisons of recommendation results:(a)precision,(b)recall,(c)F1value
基于SNS提出的友情度對(duì)于推薦有很大幫助,只要它用戶之間的交互數(shù)據(jù)、好友列表信息或具有多個(gè)級(jí)別的項(xiàng)目,如微信、陌陌、微博等社交網(wǎng)絡(luò)擁有用戶之間的聯(lián)系信息和用戶之間評(píng)論的信息,利用這些信息就可以計(jì)算出用戶之間友情度,而大多數(shù)基于SNS的推薦系統(tǒng)都可以使用友情度進(jìn)行推薦。
使用1個(gè)月的微博電影、音樂評(píng)論數(shù)據(jù),針對(duì)MAE、精度、召回率、F1值進(jìn)行了比較實(shí)驗(yàn)。結(jié)果表明,綜合考慮SNS上的用戶間的友情度,對(duì)于推薦結(jié)果的有效性有很大的影響,所提出的系統(tǒng)在所有度量方面比基于JMSD和PCC的推薦表現(xiàn)出較好的性能和推薦質(zhì)量,對(duì)于提高推薦的準(zhǔn)確性是有用的。雖然推薦質(zhì)量的差異并不十分顯著,但所提出的系統(tǒng)在所有度量指標(biāo)中值都是最高的。