王 帥 蘭少華
(南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 江蘇 南京 210094)
?
基于顯式和隱式社交網(wǎng)絡(luò)的混合推薦
王 帥 蘭少華
(南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 江蘇 南京 210094)
傳統(tǒng)的社交網(wǎng)絡(luò)推薦一般依靠用戶之間的好友關(guān)系,但好友關(guān)系不是基于共同興趣而產(chǎn)生的。針對(duì)這種情況,提出通過(guò)用戶標(biāo)簽所表達(dá)的情感興趣來(lái)擴(kuò)展用戶好友關(guān)系,形成基于用戶好友關(guān)系和共同興趣的混合推薦。利用用戶間直接的朋友關(guān)系構(gòu)建顯式社交網(wǎng)絡(luò),利用標(biāo)簽數(shù)據(jù)構(gòu)建隱式社交網(wǎng)絡(luò);在顯式和隱式社交網(wǎng)絡(luò)圖中分別采用提出的SNA_SPFA(Social Networks Algorithm Based on Shortest Path Faster Algorithm)算法得到推薦結(jié)果;最后按照一定權(quán)重混合兩種推薦結(jié)果。實(shí)驗(yàn)表明,該方法優(yōu)于傳統(tǒng)的協(xié)同過(guò)濾方法和社交網(wǎng)絡(luò)推薦。
社交網(wǎng)絡(luò) 標(biāo)簽 情感 混合推薦
隨著信息技術(shù)和互聯(lián)網(wǎng)的發(fā)展,個(gè)性化推薦逐漸融入到了人們的日常生活中。而個(gè)性化推薦一般需要滿足兩個(gè)基本條件:第一是信息過(guò)載,如果用戶很容易就能在互聯(lián)網(wǎng)上找到想要的資源,就不需要個(gè)性化推薦了;第二是用戶一般沒(méi)有特別明確的需求,因?yàn)槿绻忻鞔_的需求就可以通過(guò)搜索引擎來(lái)找到感興趣的物品。個(gè)性化推薦在當(dāng)前的互聯(lián)網(wǎng)產(chǎn)品中已被廣泛應(yīng)用,包括大家所熟知的電商推薦、話題推薦、相關(guān)搜索、交友推薦等。
如今,社交網(wǎng)絡(luò)在我們?nèi)粘I钪虚_(kāi)始占據(jù)越來(lái)越重要的地位,它不僅定義了用戶之間的聯(lián)系,而且隱含了豐富的用戶偏好信息。相對(duì)于傳統(tǒng)的推薦方法,如協(xié)同過(guò)濾、基于內(nèi)容的推薦等推薦方法,基于社交網(wǎng)絡(luò)的推薦較好地利用了用戶之間的朋友關(guān)系,這和現(xiàn)實(shí)生活中向朋友尋求推薦具有較大相似性。大量研究實(shí)驗(yàn)表明,基于社交網(wǎng)絡(luò)的推薦要優(yōu)于傳統(tǒng)的推薦方法。
在社交網(wǎng)絡(luò)中,標(biāo)簽的應(yīng)用也越來(lái)越廣。推薦系統(tǒng)的目的是聯(lián)系用戶的興趣和相應(yīng)的物品,而標(biāo)簽作為物品的一種特殊特征,在一定程度上表達(dá)了用戶對(duì)物品的興趣,所以標(biāo)簽特別適合作為推薦的中間媒介。標(biāo)簽一般分為兩種:一種是特定領(lǐng)域的專家給物品打的標(biāo)簽,這種標(biāo)簽一般具有較高的信任度,在屬性上更傾向于物品的固有屬性;另一種是普通用戶給物品打的標(biāo)簽,簡(jiǎn)稱UGC。這種標(biāo)簽一方面表達(dá)了用戶的興趣,另一方面表達(dá)了物品的語(yǔ)義,從而將用戶興趣和物品聯(lián)系起來(lái)[1]。
傳統(tǒng)的推薦方法主要包括基于內(nèi)容的過(guò)濾和協(xié)同過(guò)濾?;趦?nèi)容的過(guò)濾通過(guò)物品特征和用戶偏好來(lái)推薦物品。然而,這種方法存在很多局限,目前商業(yè)領(lǐng)域幾乎沒(méi)有純粹的基于內(nèi)容的推薦系統(tǒng)。協(xié)同過(guò)濾是推薦系統(tǒng)中最古老的算法,它主要分為兩種:一種是基于用戶的協(xié)同過(guò)濾,該算法首先通過(guò)用戶對(duì)物品的評(píng)分來(lái)計(jì)算所有用戶之間興趣的相似度,計(jì)算方法一般采用余弦相似性或皮爾遜相關(guān)性的方法;然后通過(guò)與目標(biāo)用戶興趣最相似的K個(gè)用戶去預(yù)測(cè)目標(biāo)用戶對(duì)某一物品的興趣程度。另一種是基于物品的協(xié)同過(guò)濾,該算法給用戶推薦那些和他們之前喜歡的物品相似的物品[6]。但協(xié)同過(guò)濾最大的局限在于數(shù)據(jù)的稀疏性和計(jì)算復(fù)雜度,而且K值的選擇也相應(yīng)地影響推薦的效果[2]。
隨著Web 2.0的發(fā)展和興起,社交網(wǎng)絡(luò)在人們的日常生活中扮演著越來(lái)越重要的角色,而且越來(lái)越多的研究者開(kāi)始將社交網(wǎng)絡(luò)的方法引入到推薦系統(tǒng)中。研究發(fā)現(xiàn),基于社交網(wǎng)絡(luò)的推薦效果要優(yōu)于傳統(tǒng)的協(xié)同過(guò)濾。如文獻(xiàn)[3]在3個(gè)真實(shí)的電影推薦系統(tǒng)和3個(gè)圖書(shū)推薦系統(tǒng)上,分別進(jìn)行社會(huì)化推薦和基于協(xié)同過(guò)濾的推薦,發(fā)現(xiàn)社會(huì)化推薦結(jié)果的滿意度明顯高于基于協(xié)同過(guò)濾的算法。雖然實(shí)驗(yàn)存在一些問(wèn)題,比如不是雙盲實(shí)驗(yàn),用戶知道結(jié)果來(lái)自哪個(gè)推薦系統(tǒng),但還是得到了業(yè)界認(rèn)可。部分文獻(xiàn)將協(xié)同過(guò)濾與社交網(wǎng)絡(luò)的推薦相結(jié)合,用戶之間邊的權(quán)重由熟悉程度和興趣相似度按一定權(quán)重混合,然后采用重啟型隨機(jī)游走算法,取得了較好的實(shí)驗(yàn)效果。但所采用的重啟型隨機(jī)游走算法計(jì)算復(fù)雜度過(guò)高,且用戶全部好友的歷史行為數(shù)據(jù)過(guò)于龐大,在實(shí)際環(huán)境中難以操作[4,5,9,12]。
因此,本文提出一種基于顯式和隱式社交網(wǎng)絡(luò)的混合推薦算法,主要貢獻(xiàn)如下:
(1) 對(duì)標(biāo)簽進(jìn)行情感分析,然后利用情感得分計(jì)算用戶之間的相似度來(lái)構(gòu)建隱式社交網(wǎng)絡(luò),擴(kuò)展用戶的好友關(guān)系。
(2) 在所構(gòu)建的顯式和隱式社交網(wǎng)絡(luò)上,采用下文提出的SNA_SPFA算法進(jìn)行推薦。
(3) 將以上兩種推薦結(jié)果按照加權(quán)組合的方式進(jìn)行混合,得到最終的推薦結(jié)果。
2.1 顯式社交網(wǎng)絡(luò)
根據(jù)用戶之間的朋友關(guān)系,可以用圖來(lái)表示一個(gè)社交網(wǎng)絡(luò)。用圖G(V,E,W)定義一個(gè)社交網(wǎng)絡(luò),其中V是頂點(diǎn)集合,每一個(gè)頂點(diǎn)代表社交網(wǎng)絡(luò)中的一個(gè)用戶;E是邊的集合,如果用戶Va和Vb是朋友關(guān)系,那么就有一條邊E(Va,Vb)直接連接這兩個(gè)用戶;而W(Va,Vb)則定義邊的權(quán)重,在這里代表兩個(gè)用戶之間的熟悉程度或信任程度。
目前社交網(wǎng)絡(luò)上主要有三種不同的社交網(wǎng)絡(luò)數(shù)據(jù)。一種是雙向確認(rèn)的社交網(wǎng)絡(luò)數(shù)據(jù),這類社交網(wǎng)絡(luò)以Facebook和人人網(wǎng)為代表,好友關(guān)系的形成需雙方確認(rèn),一般采用無(wú)向圖表示;第二種是單向關(guān)注的社交網(wǎng)絡(luò)數(shù)據(jù),這類社交網(wǎng)絡(luò)以Twitter和新浪微博為代表,好友關(guān)系的形成是單向的,一般采用有向圖表示;第三種是基于社區(qū)的社交網(wǎng)絡(luò)數(shù)據(jù),在這種數(shù)據(jù)中,用戶之間并沒(méi)有明確的關(guān)系,但是這類數(shù)據(jù)中包含了用戶屬于不同社區(qū)的信息。本文中采用的是雙向確認(rèn)的社交網(wǎng)絡(luò)數(shù)據(jù)。
2.2 隱式社交網(wǎng)絡(luò)
標(biāo)簽作為一種重要的用戶行為數(shù)據(jù),蘊(yùn)含了豐富的用戶興趣信息,因此對(duì)標(biāo)簽數(shù)據(jù)的深入研究有助于改進(jìn)和提高推薦系統(tǒng)的質(zhì)量。由于讓專家給物品打標(biāo)簽的成本較大,而且在Web 2.0時(shí)代不能代表用戶的個(gè)性化情感傾向。而UGC標(biāo)簽是一種表達(dá)用戶興趣和物品語(yǔ)義的重要方式,所以本文根據(jù)這種UGC標(biāo)簽來(lái)分析用戶的情感從而進(jìn)行個(gè)性化推薦。
2.2.1 情感分析
本文首先根據(jù)所要推薦的領(lǐng)域和常用的情感詞典來(lái)建立實(shí)驗(yàn)所需的情感詞典。然后對(duì)標(biāo)簽進(jìn)行情感分析,將標(biāo)簽情感分為正向情感、中性情感和負(fù)向情感。最后將標(biāo)簽情感轉(zhuǎn)換為對(duì)物品的顯式評(píng)分,來(lái)表示對(duì)物品感興趣的程度。其中正向情感對(duì)應(yīng)1分,中性情感對(duì)應(yīng)0.5分,負(fù)向情感對(duì)應(yīng)0分。
2.2.2 隱式好友關(guān)系的建立
由于用戶對(duì)同一個(gè)物品可能會(huì)打多個(gè)標(biāo)簽,我們?nèi)《鄠€(gè)情感標(biāo)簽評(píng)分的平均值來(lái)代表用戶對(duì)物品的評(píng)分。將用戶所打的標(biāo)簽轉(zhuǎn)換為情感評(píng)分后,采用常用的Pearson相關(guān)系數(shù)來(lái)計(jì)算用戶間相似度,Pearson相關(guān)系數(shù)的取值從+1(強(qiáng)正相關(guān))到-1(強(qiáng)負(fù)相關(guān))。當(dāng)用戶間相似度不小于閾值0.3時(shí),則可在兩用戶之間建立隱式好友關(guān)系。Pearson相關(guān)系數(shù)的計(jì)算公式如下:
(1)

2.2.3 隱式社交網(wǎng)絡(luò)圖
本文通過(guò)UGC標(biāo)簽來(lái)擴(kuò)展用戶社交關(guān)系,若不同用戶對(duì)相同物品打了相同或相似的標(biāo)簽,則認(rèn)為用戶之間存在著一定程度的隱式好友關(guān)系。隱式社交網(wǎng)絡(luò)通過(guò)以下三步來(lái)建立:(1)將用戶對(duì)物品所打的標(biāo)簽按所表達(dá)的情感轉(zhuǎn)換為相應(yīng)的情感評(píng)分;(2)通過(guò)Pearson相關(guān)系數(shù)來(lái)計(jì)算用戶之間的相似度,當(dāng)相似度大于一定閾值時(shí),可建立直接的隱式好友關(guān)系,類似于顯式網(wǎng)絡(luò)中直接的朋友關(guān)系;(3)用圖G′(V,E,W)來(lái)表示所建立的隱式社交網(wǎng)絡(luò)。
2.3 推薦算法
社交網(wǎng)絡(luò)定義了用戶之間的好友關(guān)系,而用戶行為數(shù)據(jù)集定義了不同用戶的歷史行為和興趣傾向。傳統(tǒng)的協(xié)同過(guò)濾只考慮了用戶的歷史行為數(shù)據(jù),而忽略了用戶之間的社交關(guān)系對(duì)推薦結(jié)果的影響。單純的社交推薦利用了用戶之間的社交關(guān)系,卻忽略了用戶的興趣往往和用戶好友的興趣并不一致。本文就是通過(guò)利用這兩種數(shù)據(jù),在所構(gòu)建的顯式和隱式社交網(wǎng)絡(luò)圖中分別采用相同的算法來(lái)計(jì)算用戶對(duì)物品的興趣程度。
2.3.1 信任度計(jì)算
由于現(xiàn)實(shí)生活中,好友的熟悉程度存在很大差別,為了更真實(shí)模擬現(xiàn)實(shí)生活,本文認(rèn)為用戶之間的熟悉程度和信任程度正相關(guān)。用戶間共同好友越多,則兩個(gè)用戶之間更加信任彼此,且信任可以在網(wǎng)絡(luò)中進(jìn)行傳播[7]。針對(duì)社交網(wǎng)絡(luò)圖,通過(guò)以下方法來(lái)計(jì)算用戶間的信任度:
(1) 在所構(gòu)建的顯式社交網(wǎng)絡(luò)圖G(V,E,W)中,首先對(duì)所有相連的邊分配一個(gè)初始的權(quán)重Tij=0.5來(lái)表示用戶間的信任程度;對(duì)沒(méi)有邊相連的用戶,我們認(rèn)為用戶之間初始的信任程度為0。在隱式社交網(wǎng)絡(luò)圖G′(V,E,W)中,初始邊的權(quán)重即上文中計(jì)算的用戶間相似度。(2) 在社交網(wǎng)絡(luò)圖G(V,E,W)和G′(V,E,W)中,用戶節(jié)點(diǎn)之間路徑大致分為單路徑和多路徑。單路徑意味著只有一條從ai到as的路徑,圖1表示從ai到as唯一的一條路徑。對(duì)單路徑用戶之間信任程度的計(jì)算方法為:
Tis=∏(m,n)∈path(i,s)Tmn
(2)

圖1 單路徑信任傳播
通常,所構(gòu)造的社交網(wǎng)絡(luò)圖中,用戶節(jié)點(diǎn)之間的路徑不止一條。圖2表示從ai到as有兩條路徑。Path(ai,as)={((ai,aj),(aj,ak),(ak,as)),((ai,ar),(ar,as))}。

圖2 多路徑信任傳播
為了計(jì)算多路徑用戶之間的信任程度,采用如下的計(jì)算方法,這種方法通過(guò)用戶Ui的所有鄰居節(jié)點(diǎn)采用加權(quán)平均的方法來(lái)計(jì)算。計(jì)算方法如下:
(3)
其中N(i)為Ui的所有鄰居節(jié)點(diǎn)。
2.3.2 預(yù)測(cè)評(píng)分
當(dāng)預(yù)測(cè)用戶對(duì)某物品p的興趣時(shí),從目標(biāo)用戶節(jié)點(diǎn)首先訪問(wèn)直接相連的用戶,但是有時(shí)這個(gè)相鄰節(jié)點(diǎn)并沒(méi)有對(duì)物品p的評(píng)價(jià)或者用戶之間具有較低的信任值,所以需要訪問(wèn)不相鄰的其他用戶節(jié)點(diǎn)。本文采用如下公式來(lái)預(yù)測(cè)用戶對(duì)物品p的興趣:
P(a,p) =∑b∈V(a)TabRbp
(4)
其中V(a)是分別在顯式或隱式網(wǎng)絡(luò)圖中,從目標(biāo)用戶Ua能訪問(wèn)到的所有用戶節(jié)點(diǎn)。Tab是用戶Ua和Ub的信任度,Rbp是用戶Ub對(duì)物品p的興趣度,由用戶的行為數(shù)據(jù)來(lái)確定,而P(a,p)是預(yù)測(cè)用戶Ua對(duì)物品p的興趣度。
2.3.3 SNA_SPFA算法
為了計(jì)算從用戶Ua能訪問(wèn)到的所有用戶節(jié)點(diǎn),我們采用一種SNA_FPFA算法。該算法分別在顯式和隱式社交網(wǎng)絡(luò)圖中尋找符合一定信任度的用戶節(jié)點(diǎn),并返回相應(yīng)的信任度。
在現(xiàn)實(shí)生活中,我們總是向有限的朋友尋求推薦,所以為了和現(xiàn)實(shí)中場(chǎng)景更加相似,本文中V(a)并不是社交網(wǎng)絡(luò)圖中所有用戶節(jié)點(diǎn)。SNA_SPFA算法設(shè)定了2個(gè)全局限制參數(shù):trust_threshold和max_nodes。trust_threshold定義了節(jié)點(diǎn)間最小信任度閾值,max_nodes定義了計(jì)算過(guò)程中從目標(biāo)用戶節(jié)點(diǎn)訪問(wèn)的最大節(jié)點(diǎn)數(shù)。
在計(jì)算目標(biāo)用戶對(duì)物品興趣的過(guò)程中,本文所采用的SNA_SPFA算法計(jì)算過(guò)程類似于SPFA算法,采用深度優(yōu)先遍歷的方法來(lái)逐層訪問(wèn)其他用戶節(jié)點(diǎn),遍歷過(guò)程中采用優(yōu)先隊(duì)列來(lái)存儲(chǔ)訪問(wèn)到的節(jié)點(diǎn)。
算法:SNA_SPFA
輸入:圖G(V,E,W)或G′(V,E,W),目標(biāo)起始節(jié)點(diǎn)OriginNode
輸出:目標(biāo)用戶感興趣的物品集
1:InitQueue(Que);
//Que是一個(gè)優(yōu)先隊(duì)列
2:A=getAdjacentNodes(OriginNode);
//獲得目標(biāo)節(jié)點(diǎn)的相鄰節(jié)點(diǎn)
3:for every node i in A do
4:EnQueue(Que,i);
//插入相鄰節(jié)點(diǎn)到隊(duì)列中
5:end for
6:while(!Que.Empty()){
7:DeQueue(Que,u);
//彈出隊(duì)列中頭元素u
8:if((++visitedNodes)>max_nodes)
return false;
9:if((u.rating!=NULL)&&(GetTrust(OriginNode,u)>=trust_threshold)){
//節(jié)點(diǎn)u滿足條件
10:u.visited = TRUE;
//標(biāo)記u已被訪問(wèn)過(guò)
11:return Response(rating)}
//返回起始目標(biāo)節(jié)點(diǎn)感興趣的物品和興趣度12:else{
13:A= getAdjacentNodes (u);
14:for every node i in A do
15: if((!i.visited)&&(i!= OriginNode))
//節(jié)點(diǎn)i沒(méi)被訪問(wèn)過(guò)且不是原始目標(biāo)節(jié)點(diǎn)
16: EnQueue(Que,i);
17:end for}}
2.4 混合推薦方法
首先分別在顯式社交網(wǎng)絡(luò)和隱式社交網(wǎng)絡(luò)中按照上文算法得到目標(biāo)用戶Ua最感興趣的前N個(gè)物品集合,分別記為Rc和Rs。對(duì)Rc中的任一物品p1,目標(biāo)用戶對(duì)它的興趣度為P(a,p1);對(duì)Rs中的任一物品p2,目標(biāo)用戶對(duì)它的興趣度為P(a,p2)。然后對(duì)由兩種社交網(wǎng)絡(luò)中得的推薦結(jié)果,按一定權(quán)重混合用戶對(duì)物品p的興趣度,混合公式如下:

(5)
混合方法對(duì)只在Rc中的物品p1,興趣度按權(quán)重α計(jì)算;對(duì)只在Rs中的物品p2,興趣度按權(quán)重(1-α)計(jì)算;對(duì)同時(shí)出現(xiàn)在Rc和Rs中物品,則分別按照權(quán)重α和(1-α)混合后相加。最后按照混合后用戶對(duì)物品的興趣度排序,取前N個(gè)興趣度高的物品得到最終的推薦結(jié)果。
3.1 實(shí)驗(yàn)設(shè)計(jì)
本文采用的數(shù)據(jù)集是ACM第5次推薦系統(tǒng)大會(huì)公開(kāi)的last.fm數(shù)據(jù)集,該數(shù)據(jù)集收集了last.fm在線音樂(lè)網(wǎng)站上1892位用戶的歷史行為數(shù)據(jù)。該數(shù)據(jù)集包括1892位用戶和17 632首音樂(lè)、12 717對(duì)用戶之間的朋友關(guān)系、92 834條用戶聽(tīng)歌記錄,11 946個(gè)標(biāo)簽和186 479條用戶對(duì)歌曲所打的標(biāo)簽記錄。
該數(shù)據(jù)集中,用戶對(duì)音樂(lè)只記錄了聽(tīng)歌次數(shù)而沒(méi)有直接的評(píng)分。本文將用戶對(duì)音樂(lè)的收聽(tīng)次數(shù)轉(zhuǎn)換為間接評(píng)分來(lái)進(jìn)行實(shí)驗(yàn),其中收聽(tīng)次數(shù)越多則間接評(píng)分越高。實(shí)驗(yàn)中將數(shù)據(jù)集隨機(jī)分為8份,其中訓(xùn)練集占7份,測(cè)試集占1份。為了保證測(cè)評(píng)指標(biāo)不是過(guò)擬合的結(jié)果,需要進(jìn)行8次實(shí)驗(yàn),每次使用不同的測(cè)試集,最后將8次實(shí)驗(yàn)測(cè)出的評(píng)測(cè)指標(biāo)的平均值作為最終的評(píng)測(cè)指標(biāo)。每次實(shí)驗(yàn)中通過(guò)直接的朋友關(guān)系構(gòu)造顯式社交網(wǎng)絡(luò),通過(guò)標(biāo)簽來(lái)構(gòu)建隱式社交網(wǎng)絡(luò),根據(jù)好友對(duì)物品的間接評(píng)分來(lái)預(yù)測(cè)目標(biāo)用戶對(duì)物品的興趣度。為了比較實(shí)驗(yàn)效果,將本文所采用的混合社交推薦方法與傳統(tǒng)協(xié)同過(guò)濾和社交網(wǎng)絡(luò)推薦進(jìn)行對(duì)比。
3.2 評(píng)估標(biāo)準(zhǔn)
預(yù)測(cè)準(zhǔn)確度是衡量一個(gè)推薦系統(tǒng)或推薦算法預(yù)測(cè)用戶行為的能力。由于離線的推薦算法有不同的研究方向,預(yù)測(cè)準(zhǔn)確度主要有兩個(gè)指標(biāo):一是評(píng)分預(yù)測(cè),主要通過(guò)均方差和平均絕對(duì)誤差來(lái)評(píng)價(jià);二是TopN推薦,主要通過(guò)準(zhǔn)確率和召回率來(lái)度量。為了比較三種方法的好壞,本文采用準(zhǔn)確率(precision)、召回率(recall)和F1值來(lái)度量。
準(zhǔn)確率描述的是最終推薦列表中有多少比例是已經(jīng)發(fā)生過(guò)的用戶-物品評(píng)分記錄。召回率描述的是算法推薦的物品有多少包含在最終的推薦列表中。而F1值是準(zhǔn)確率和召回率的一種加權(quán)平均。算法對(duì)用戶Ua推薦N個(gè)物品(記為R(a)),令用戶Ua在測(cè)試集上喜歡的物品集合為T(mén)(a)。則準(zhǔn)確率、召回率和F1值通過(guò)以下公式計(jì)算:
(6)
(7)
(8)
3.3 實(shí)驗(yàn)結(jié)果及分析
在本文算法中,主要有二個(gè)參數(shù)對(duì)實(shí)驗(yàn)影響較大,分別是最大節(jié)點(diǎn)數(shù)max_nodes(分別對(duì)應(yīng)其他兩種方法中相似用戶數(shù)K和好友數(shù)K)和α。在本文的混合推薦中,參數(shù)α決定了顯式和隱式社交網(wǎng)絡(luò)推薦的權(quán)重。從圖3中實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)α=0.7時(shí),實(shí)驗(yàn)效果較好,這說(shuō)明并不是顯式社交推薦所占權(quán)重越大越好,也驗(yàn)證了顯式社交網(wǎng)絡(luò)中朋友關(guān)系并不是基于共同興趣而產(chǎn)生的。而協(xié)同過(guò)濾中相似用戶K和傳統(tǒng)社交推薦中最熟悉的好友數(shù)K也是實(shí)驗(yàn)的重要參數(shù)。所以,本文詳細(xì)比較了不同K值下三種推薦方法的推薦質(zhì)量。

圖3 在不同α值下混合推薦的F1值
圖4表示三種方法中準(zhǔn)確率隨最近鄰個(gè)數(shù)K的變化曲線,圖5表示三種方法中召回率隨最近鄰個(gè)數(shù)K的變化曲線,圖6的結(jié)果由圖4和圖5中數(shù)據(jù)來(lái)決定,但它反映了實(shí)驗(yàn)的總體效果。從圖6中可以看出,當(dāng)K=10時(shí),三種方法在該數(shù)據(jù)集上的F1值都達(dá)到最大。這同時(shí)也啟示我們可以對(duì)歷史行為較少的用戶導(dǎo)入少量社交信息,從而在一定程度上解決用戶冷啟動(dòng)問(wèn)題(用戶冷啟動(dòng)指新用戶到來(lái)時(shí),由于缺少用戶的行為數(shù)據(jù)而無(wú)法預(yù)測(cè)其興趣,也就無(wú)法給用戶做個(gè)性化推薦)。從實(shí)驗(yàn)結(jié)果可以看出,本文提出的方法要優(yōu)于傳統(tǒng)的協(xié)同過(guò)濾和社交網(wǎng)絡(luò)推薦。

圖4 在不同K值下三種方法的準(zhǔn)確率

圖5 在不同K值下三種方法的召回率

圖6 在不同K值下三種方法的F1值
本文提出利用標(biāo)簽數(shù)據(jù)來(lái)擴(kuò)展用戶的好友關(guān)系,進(jìn)一步挖掘用戶的社交信息,然后分別在所構(gòu)建的顯式和隱式社交網(wǎng)絡(luò)中進(jìn)行推薦,最后按一定權(quán)重混合兩種推薦結(jié)果。實(shí)驗(yàn)結(jié)果表明,本文方法要優(yōu)于傳統(tǒng)的推薦方法,但也存在一些不足之處,具有一定提升空間。未來(lái)將進(jìn)一步研究隱式社交網(wǎng)絡(luò)的構(gòu)建和相應(yīng)的推薦方法。
[1] 項(xiàng)亮.推薦系統(tǒng)實(shí)踐[M].北京:人民郵電出版社,2012.
[2] Xing Z,Wang X X,Wang Y.Enhancing collaborative filtering music recommendation by balancing exploration and exploitation [C]//Proceedings of the 15th Conference on the International Society for Music Information Retrieval (ISMIR 2014),2014:445-450.
[3] Sinha R,Swearingen K.Comparing Recommendations Made by Online Systems and Friends[C]//DELOS workshop:personalisation and recommender systems in digital libraries,2001.
[4] Konstas I,Stathopoulos V,Jose J M.On social networks and collaborative recommendation[C]//Proceedings of the 32nd international ACM SIGIR conference on Research and development in information retrieval.ACM,2009:195-202.
[5] Yang L,Gopalakrishnan A K.A collaborative filtering recommendation based on user profile and user behavior in online social networks[C]//2014 International Computer Science and Engineering Conference (ICSEC).IEEE,2014:273-277.
[6] 羅辛,歐陽(yáng)元新,熊璋,等. 通過(guò)相似度支持度優(yōu)化基于K 近鄰的協(xié)同過(guò)濾算法[J].計(jì)算機(jī)學(xué)報(bào),2010,33( 8):1437-1445.
[7] He C B,Tang Y,Chen G H,et al.Collaborative Recommendation Model Based on Social Network and Its Application[J].Journal of Convergence Information Technology,2012,7(2):253-261.
[8] Han J W,Kamber M,Pei J.Data mining:concepts and techniques:concepts and techniques [M].Amsterdam:Elsevier,2011.
[9] 俞琰,邱廣華.用戶興趣變化感知的重啟動(dòng)隨機(jī)游走推薦算法研究[J].現(xiàn)代圖書(shū)情報(bào)技術(shù),2012,28(4):48 -53.
[10] 馮勇,李軍平,徐紅艷,等. 基于社會(huì)網(wǎng)絡(luò)分析的協(xié)同推薦方法改進(jìn)[J].計(jì)算機(jī)應(yīng)用,2013,33( 3):841-844.
[11] Yang X W,Steck H,Liu Y.Circle-based recommendation in online social networks[C]//Proceedings of the 18th ACM SIGKDD international conference on Knowledge discovery and data mining.ACM,2012:1267-1275.
[12] Yan Y,Qiu G H.Algorithm of Friend Recommendation in Online Social Networks Based on Local Random Walk [J].Systems Engineering,2013,31(2):47-54.
[13] Chen H C,Chen A L P.A music recommendation system based on music data grouping and user interests[C]//Proceedings of the tenth international conference on Information and knowledge management.ACM,2001:231-238.
MIXED RECOMMENDATION BASED ON EXPLICIT AND IMPLICIT SOCIAL NETWORKS
Wang Shuai Lan Shaohua
(SchoolofComputerScienceandEngineering,NanjingUniversityofScienceandTechnology,Nanjing210094,Jiangsu,China)
Traditional social networks recommendation usually relies on friendships between users,but the friendships are not based on common interests.In light of this situation,we propose to expand users’ friendships by emotion and interest expressed in users’ tags,and to form the mixed recommendation based on users’ friendships and common interests.First,we use direct friendship between users to construct an explicit social network,and use tag data to construct an implicit social network.Then we apply the proposed SNA_SPFA algorithm to explicit and implicit social graphs respectively to get recommendation result.Finally,we mix the two recommendation results according to a certain weight.Experiments show that this method is superior to traditional collaborative filtering methods and social network recommendations.
Social networks Tag Emotion Mixed recommendation
2015-08-15。國(guó)家自然科學(xué)基金項(xiàng)目(61170035)。王帥,碩士生,主研領(lǐng)域:推薦系統(tǒng),社交網(wǎng)絡(luò),網(wǎng)絡(luò)安全。蘭少華,教授。
TP391
A
10.3969/j.issn.1000-386x.2016.11.009