仲兆滿,李 恒,管 燕,李 慧
(1.江蘇海洋大學(xué) 計算機工程學(xué)院,江蘇 連云港 222005;2.江蘇省海洋資源開發(fā)研究院,江蘇 連云港 222005)
近期,以活動為中心的社交網(wǎng)絡(luò)引起了研究者的關(guān)注,該類社交網(wǎng)絡(luò)被稱為活動社交網(wǎng)絡(luò)(event-basedsocial networks,EBSNs)[1-2],其通過線上的活動組織、參加及分享,最終達到促進線下真實世界人們交流的目的,比如Facebook Events,LindkedIn Events,Meetup以及豆瓣同城等。
與一般的社交媒體不同,EBSNs是以活動為中心的社交媒體,目前面向EBSNs的研究成果多是活躍用戶/活動的推薦,即用戶和活動有可以分析利用的歷史數(shù)據(jù)。然而,EBSNs上有大量冷啟動用戶和活動,如何向冷啟動用戶推薦活動,如何把冷啟動活動推薦給用戶,需要結(jié)合EBSNs的獨有特點加以深入研究。
EBSNs上的冷啟動現(xiàn)象表現(xiàn)在:①冷啟動用戶,用戶剛注冊加入社交平臺,沒有參加過(或很少參加)社交活動;有的用戶雖然在EBSNs上注冊時間較長,但沒有參加活動(或參加活動很少);②冷啟動活動,當一個新活動剛發(fā)布時,參加/感興趣的用戶沒有(或者很少);有的活動即使發(fā)布一段時間,但參加/感興趣的用戶沒有(或者很少)。
本文面向EBSNs,解決向冷啟動用戶推薦合適的活動(即已知冷啟動用戶,推薦活動),以及將冷啟動活動推薦給可能參加的用戶(即已知冷啟動活動,推薦給用戶)的問題。主要創(chuàng)新點體現(xiàn)在:①針對EBSNs具有的復(fù)雜異構(gòu)網(wǎng)絡(luò)的特性,給出了更精細的表示模型;②分析了EBSNs上用戶參加活動的行為模式,提出了包含3類來源的向冷啟動用戶推薦活動的模型,以及包含了2類來源的將冷啟動活動推薦給用戶的模型;③提出了EBSNs中節(jié)點的重要度計算方法。
研究EBSNs的推薦問題,首先需要了解EBSNs上用戶參加活動的行為模式。Macedo等[3]對EBSNs的用戶參加活動付費數(shù)據(jù)進行了深入分析和應(yīng)用。據(jù)Macedo的統(tǒng)計結(jié)果,Meetup數(shù)據(jù)中用戶參加活動付費稀疏度達到了99.99%,并且有45%的活動最多1個用戶參加。文獻[4-5]分析了豆瓣同城用戶參加活動的特點,發(fā)現(xiàn)EBSNs上存在社交影響,并且用戶選擇參加活動在一定程度上受朋友的影響。大多活動只有很少用戶參加,活動與用戶之間呈現(xiàn)冪率分布特性,大多用戶參加/感興趣持續(xù)時間短的活動。杜蓉等[6]研究了活動類網(wǎng)站中虛擬的線上社交關(guān)系與真實線下活動之間的相互影響,分析了EBSNs的活動在類型、時間、參與者3方面的分布特點。Du等[7]認為組織者是活動的擁有者,用戶參加活動受到組織者的影響。比如,組織者是一個用戶喜歡的歌星,那么該用戶可能參加歌星的音樂會。Li等[8]發(fā)現(xiàn)用戶參加活動與活動的內(nèi)容、地點、組織者相關(guān),同時用戶之間受到主題、地域及組織者的社交影響。
1)側(cè)重用戶/活動歷史數(shù)據(jù)分析,實現(xiàn)用戶/活動的推薦。文獻[9-10]使用豆瓣同城數(shù)據(jù),研究EBSNs用戶參加活動的預(yù)測,認為有影響力的關(guān)注者比較重要。Yu等[9]提出了奇異值分解方法用于參加活動的預(yù)測,考慮到了活動的內(nèi)容、上下文及社交影響。Qiao等[10]使用貝葉斯?jié)撛谝蛩啬P瓦M行活動推薦,考慮到了社交關(guān)系、地理和排名等因素。認為一些用戶喜歡家附近的活動,而有些用戶喜歡參加在特定區(qū)域發(fā)起的活動。高澤鋒等[11]提出了一種結(jié)合用戶長短期興趣建模的活動推薦方法。Jhamb等[12]提出了雙視角的潛在因子模型用于群組感知的活動推薦,考慮到了活動的地點、時間、活動流行度等因素。
2)融合了用戶的社交關(guān)系進行推薦。文獻[5,13]利用了EBSNs上朋友間的關(guān)系進行活動參加預(yù)測。Chin等[5]調(diào)研了用戶參加線下活動的行為習(xí)慣,發(fā)現(xiàn)用戶是否參加活動受朋友關(guān)系的影響。Xu等[13]應(yīng)用了用戶的偏好和朋友關(guān)系進行推薦。Li等[8]提出了混合協(xié)作過濾模型(matrix factorization with event-user neighborhood,MF-EUN),融合了活動和用戶的鄰居,為了解決社交影響矩陣的稀疏性,提出了基于附加信息的鄰居發(fā)現(xiàn)方法。Mo等[14]提出了基于反向隨機游走和參與規(guī)??刂频幕顒油扑]方法,其構(gòu)建的EBSNs社交模型包括了用戶、活動、群組、標簽和地區(qū),實體之間的關(guān)系比較粗略。仲兆滿等[15]提出了基于活動、主辦方和用戶實體的關(guān)系(relationships between event, sponsor and user, ESU)圖的活動推薦多因素決策模型,包括社交影響力、活動內(nèi)容、地點及時間。
3)社區(qū)推薦(活動主辦方推薦),即把一些社區(qū)推薦給用戶。Zhang等[16]使用矩陣分解方法對用戶和社區(qū)進行建模,考慮到了顯性特征(比如地點和社交特征)及隱性模型,改善了社區(qū)推薦的效果。Pham等[17]使用通用圖模型解決在EBSNs上推薦社區(qū)給用戶。Li等[18]利用用戶之間的結(jié)構(gòu)和行為社交影響實現(xiàn)社群檢測。
以上EBSNs推薦相關(guān)的研究多是面向活躍用戶/活動的,即這些用戶/活動已經(jīng)在EBSNs上留下了足夠的歷史數(shù)據(jù),然后基于這些記錄可以挖掘出用戶及活動的特征,進而實現(xiàn)推薦。
社交媒體的冷啟動問題由來已久,對于冷啟動的界定比較一致。Ocepek等[19]將用戶的冷啟動分為2種情況:①用戶沒有任何評論信息,稱為絕對冷啟動;②用戶有很少評論信息,稱為局部冷啟動,將小于等于5條評論信息的用戶作為局部冷啟動用戶。于洪等[20]針對完全新項目,即不存在任何一個用戶曾經(jīng)對該項目評價過,在充分考慮用戶、標簽、項目、時間等信息的基礎(chǔ)上,獲得個性化的預(yù)測評分值,用于解決新項目冷啟動的問題。Pereira等[21]提出了一種基于同步聚類和學(xué)習(xí)技術(shù)的混合推薦(simultaneous co-clustering and learning,SCOAL)方法,針對絕對冷啟動用戶和局部冷啟動用戶進行了實驗分析,核心問題是將某個冷啟動用戶劃分到合適的類中,將發(fā)表信息少于20條的視為局部冷啟動用戶。Guo等[22]融合了社交信任信息以解決推薦中的冷啟動問題,認為發(fā)表評價信息少于5條的用戶為冷啟動用戶。仲兆滿等[23]提出了微博媒體上影響用戶活躍性的4類指標,避免了簡單根據(jù)信息發(fā)表數(shù)量判定用戶是否活躍的粗糙方式。
面向EBSNs活動預(yù)測的研究成果中,也是將參加活動少于一定閾值的用戶定義為冷啟動用戶,將參加用戶少于一定閾值的活動定義為冷啟動活動。文獻[8]將參加了少于5個活動的用戶理解為冷啟動用戶,將少于8個用戶參加的活動理解為冷啟動活動。
傳統(tǒng)的社交媒體上,雖然有大量用戶/項目,但用戶/項目的活躍度符合冪律分布,即只有少量用戶/項目是活躍的,大多數(shù)用戶/項目是冷啟動的[24-25]。面向傳統(tǒng)社交媒體冷啟動問題的研究已經(jīng)取得不少成果。Son等[26]從3個視角系統(tǒng)總結(jié)了冷啟動用戶推薦的已有工作:①利用用戶的附加信息,包括用戶背景、地點、社交標簽、用戶鄰居等;②選取同類用戶所在的群組,因為用戶雖然是冷啟動的,但其所在的群組有可以利用的信息;③使用混合方法提高預(yù)測效果,可以避免單一方法所帶來的缺陷。
由于EBSNs引起學(xué)術(shù)界的研究時間不長,其中冷啟動問題的研究成果很少。經(jīng)調(diào)研,與EBSNs上冷啟動問題密切相關(guān)的文獻有:①Zhang等[27]提出了集合貝葉斯泊松分解模型用于解決EBSNs的冷啟動活動的推薦,其中活動上下文包括活動文本內(nèi)容、組織者及地點信息。但對冷啟動活動,可以利用的活動的上下文信息很少;②Jhamb等[15]提出的雙視角潛在因子模型用于群組感知的活動推薦,一定程度上可以解決冷啟動用戶/活動的推薦問題,核心思想是利用群組已經(jīng)包含的用戶和已經(jīng)發(fā)起的活動作為已有數(shù)據(jù)。但在不同群組之間及不同用戶之間難以跨越,解決EBSNs冷啟動問題有一定的局限性。
冷啟動用戶/活動推薦的流程包括3個核心步驟:①構(gòu)建活動社交網(wǎng)絡(luò)表示模型,為面向活動社交網(wǎng)絡(luò)開展研究奠定基礎(chǔ);②確定冷啟動用戶/活動推薦的來源,明確推薦信息的來源;③計算模型中節(jié)點的重要度,選取重要度高的節(jié)點進行推薦。
定義1ESU,定義為二元組ESU=(Entity,Relation),其中,Entity表示實體,有活動集E、主辦方集S和用戶集U這3類實體;Relation為關(guān)系,有主辦方-活動邊集SE、主辦方-用戶邊集SU、用戶-活動邊集UE以及用戶之間邊集UU四類邊。
定義2ESU活動e,定義為九元組e=(ide,etype,es,ebd,ec,et,el,p,w),其中,ide為活動標識,etype是類型,es是發(fā)起人,ebd是概述,ec是詳情,et是時間,el是地點,p是參加活動用戶,w為對活動感興趣的用戶。
定義3ESU主辦方s,定義為五元組s=(ids,name,type,e,u),其中,ids是主辦方標識,name是主辦方名,type是活動類型,u是關(guān)注主辦方的用戶。
定義4ESU用戶u,定義為十元組u=(idu,name,s,l,ct,fu,bfu,fs,d,ph),其中,idu是用戶標識;name是用戶名;s是興趣;l是常居地;ct是創(chuàng)建賬號時間;fu是他的關(guān)注;bfu是關(guān)注他的用戶;fs是他關(guān)注的主辦方;d是用戶的日記;ph是用戶的相冊。
定義5ESU主辦方-活動邊集,定義為SE={se=(si,ej)∧si→ej|si∈S,ej∈E},主辦方si通過“發(fā)起”方式與活動ej建立關(guān)系。
定義6ESU主辦方-用戶邊集,定義為SU={su=(si,uj)∧si→uj|si∈S,uj∈U},主辦方si通過“包含”方式與用戶uj建立關(guān)系。
定義8ESU用戶-活動邊集,定義為UE={ue=(ui,ej)∧ui→ej|ui∈U,ej∈E},用戶ui通過“感興趣/參加”方式與活動ej建立關(guān)系。
定義9EBSNs的冷啟動用戶,定義為
(1)
(1)式中,當用戶ui參加活動的個數(shù)少于5個時,CSU(ui)=1,用戶ui為冷啟動用戶,否則用戶ui為活躍用戶。
定義10EBSNs的冷啟動活動,定義為
(2)
(2)式中,當活動ei參加的人數(shù)少于8個時,CSE(ei)=1,活動ei為冷啟動活動,否則活動ei為活躍活動。
定義11向冷啟動用戶推薦活動,描述CSU-RE(ui)={e1,e2,…,ek},ej(1≤j≤k)為推薦的活動,假設(shè)EBSNs上有M個活動,經(jīng)對活動進行評分后,推薦K個評分高的活動給用戶ui,K< 定義12將冷啟動活動推薦給用戶,描述CSE-RU(ei)={u1,u2,…,uk},uj(1≤j≤k)為推薦的用戶,假設(shè)EBSNs上有N個用戶活動,經(jīng)對用戶進行評分后,推薦K個評分高的用戶給活動ei,K< 本文提出的向冷啟動用戶推薦活動,以及將冷啟動活動推薦給用戶的模型分別如圖1和圖2。 圖1模型中,向冷啟動用戶ui推薦活動的來源分為3類:①用戶ui的關(guān)注者參加的活動,此類推薦活動記為E(ui-follower);②用戶所在主辦方發(fā)起的活動,此類推薦活動記為E(ui-sponsor);③用戶所在主辦方中其他用戶參加的活動,此類推薦活動記為E(ui-sponsor-ou),一個用戶可以加入多個主辦方,可以將不同主辦方發(fā)起的活動推薦給冷啟動用戶ui。 圖1 基于ESU向冷啟動用戶推薦活動模型 圖2模型中,將冷啟動活動ei推薦給用戶的來源分為2類:①活動ei所在主辦方的其他用戶,將此類推薦用戶記為U(ei-sponsor);②活動ei所在主辦方的其他用戶的關(guān)聯(lián)用戶,將此類推薦用戶記為U(ei-sponsor-ou)。 圖2 基于ESU將冷啟動活動推薦給用戶模型 圖1和圖2模型理清了推薦活動/用戶的來源之后,向冷啟動用戶ui推薦活動和將冷啟動活動ei推薦給用戶的核心問題是主辦方以及用戶節(jié)點的重要度計算。 2.4.1 主辦方-活動邊權(quán)重 通過主辦方包含的用戶數(shù)量及用戶參加活動的情況,可以量化主辦方-活動邊的權(quán)重。UN(sj)表示主辦方sj包含的用戶數(shù)量,UN(ei)表示sj中參加活動ei的用戶數(shù)量。主辦方sj-活動ei的關(guān)系權(quán)重計算式為 (3) se(sj,ei)越大,說明主辦方sj中有越多的用戶參與了sj發(fā)起的活動。 2.4.2 主辦方-用戶邊權(quán)重 通過主辦方發(fā)起的活動數(shù)量及用戶參加主辦方發(fā)起的活動情況,可以量化主辦方-用戶邊的權(quán)重。SN(ui)表示用戶ui加入的主辦方數(shù)量,EN(sj)表示主辦方sj發(fā)起的活動數(shù)量,SEN(ui)為用戶ui參加的主辦方sj發(fā)起的活動數(shù)量。主辦方sj-用戶ui的邊權(quán)重計算式為 (4) 一個用戶參加的主辦方越多,主辦方sj對該用戶的影響力就越小。 2.4.3 用戶-用戶邊權(quán)重 通過不同用戶參加活動的情況,可以量化用戶-用戶邊的權(quán)重。E(u)表示用戶u參加的活動,E(v)表示用戶v參加的活動,S(u)表示用戶u加入的主辦方,S(v)表示用戶v加入的主辦方。用戶u-用戶v的邊權(quán)重計算式為 (5) (5)式中,α+β=1。 2.4.4 用戶-活動邊權(quán)重 通過用戶參加的活動及用戶參加主辦方發(fā)起的活動情況,可以量化用戶-活動邊的權(quán)重。E(uj)表示用戶uj參加過的活動集合,sj表示活動ei所在的主辦方,ES(uj)表示用戶uj參加過sj發(fā)起的活動集合。用戶uj-活動ei的邊權(quán)重計算式為 (6) ue(uj,ei)越大,用戶uj對活動ei的影響越大。 2.4.5 基于重啟隨機游走的節(jié)點重要度計算 PageRank算法表示為 (7) (7)式中:Rk為第k次迭代時節(jié)點的重要度;W表示邊的權(quán)重;d=0.85;I=(1,1,…,1)T;N為節(jié)點數(shù)量。 重啟型隨機游走算法RWR通常用于計算2個節(jié)點間的結(jié)構(gòu)相關(guān)性。各個節(jié)點與節(jié)點j的結(jié)構(gòu)相關(guān)性計算方法為 Rk=cWRk-1+(1-c)ej (8) (8)式中:1-c為返回節(jié)點ej的概率;ej為第j維單位向量,初始時R0=ej。 主辦方S的重要度取決于其發(fā)起的活動及包含的用戶對其產(chǎn)生的影響,所以S重要度的計算應(yīng)依據(jù)其外鏈(出度)?;顒觘的重要度取決于主辦方以及用戶對其產(chǎn)生的影響。用戶u的重要度取決于主辦方和他的粉絲對其產(chǎn)生的影響。所以活動e和用戶u的重要度的計算應(yīng)依據(jù)其內(nèi)鏈(入度)。 主辦方、用戶及活動的重要度計算方法分別為 Sk=c(WSEEk-1+WSUUk-1)+(1-c)sej (9) Uk=c(WSUSk-1+WUVUk-1)+(1-c)uej (10) Ek=c(WSESk-1+WUEUk-1)+(1-c)eej (11) (9)—(11)式中:sej;uej和eej分別為單位向量;1-c為返回節(jié)點的概率;WSE,WSU,WUV和WUE分別為4類邊的權(quán)重。 活動社交網(wǎng)絡(luò)數(shù)據(jù)采集的流程包括:①通過調(diào)用活動社交網(wǎng)絡(luò)提供的API接口或者模擬人工瀏覽網(wǎng)站系統(tǒng)的模式,分類別獲取數(shù)據(jù);②獲取特定地域主辦方數(shù)據(jù);③獲取主辦方在一定時間范圍內(nèi)發(fā)起的活動數(shù)據(jù);④獲取主辦方包含的用戶數(shù)據(jù);⑤建立主辦方、活動、用戶數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,量化邊的權(quán)重,存儲入庫。 本文選取豆瓣同城的數(shù)據(jù)作為實驗語料。豆瓣同城大城市的活動及用戶數(shù)量較多,因此,選取了北京、上海和南京3個大城市進行數(shù)據(jù)的收集。通過采集活動以及活動所在主辦方的方式,逐步擴大采集用戶的范圍。采集了3個城市從2016年10月1日—2017年11月30日的數(shù)據(jù),具體數(shù)據(jù)情況如表1。 表1 豆瓣同城3個城市采集的數(shù)據(jù) 表1中的冷啟動用戶指參加活動數(shù)量少于5個的用戶,3個大城市冷啟動用戶的比例大約為69%;冷啟動活動指感興趣/參加的人數(shù)少于8個的活動,3個大城市冷啟動活動的比例大約為59%。與傳統(tǒng)社交媒體的冷啟動用戶比例大約80%相比,采集到的EBSNs的冷啟動用戶和活動的比例低一些,主要原因是:①活動作為社交平臺的子功能,其領(lǐng)域更為專一,加入的用戶及發(fā)起的活動都更有針對性;②在采集用戶信息時,是通過活動及主辦方擴展而來,對于一些沒有關(guān)注活動和主辦方的用戶信息無法獲取,這些用戶多是冷啟動用戶。 評價指標包括P@5,P@10,R@5,R@10和F1-measure。P@n指標模擬了常用搜索引擎返回的結(jié)果,是一個擬人化的指標,目前推薦系統(tǒng)評測中用得較多[10];P@n指標只關(guān)心檢索到的結(jié)果與查詢項是否相關(guān),不考慮返回的信息與查詢項相關(guān)性的次序;P@n=m/n,其中,n指返回的推薦數(shù)量(本文分別返回5個和10個),m指在n個中正確的數(shù)量;R@n=m/k,k為標準答案的個數(shù),m為在n個中正確的數(shù)量;F1-measure=(2×P@n×R@n)/(P@n+R@n)。比如,某冷啟動用戶ui真正參加了5個活動(標準答案),向某冷啟動用戶ui推薦了10個活動,10個活動中用戶ui真正參加了3個活動,則P@10=3/10=0.3,R@10=3/5=0.6。 3.2.1 用戶參加活動-關(guān)注者參加活動的相關(guān)性分析 通過分析用戶與其關(guān)注者參加的共同活動,挖掘兩者之間是否有顯著的相關(guān)性,對基于關(guān)注者進行活動/用戶的推薦有一定的指導(dǎo)意義。使用x2檢驗,選擇顯著水平α=0.05,得到3個城市各自和平均的顯著性比率如表2。 表2 用戶與其關(guān)注者參加活動的x2測試 通過表2可見,3個城市用戶參加活動與其關(guān)注者參加活動的平均顯著率達到活動總數(shù)的71%。 3.2.2 用戶參加活動-所在主辦方發(fā)起活動的相關(guān)性分析 通過分析用戶參加活動與其所在主辦方發(fā)起的活動之間的關(guān)系,挖掘兩者之間是否有顯著的相關(guān)性,對基于用戶所在主辦方進行活動的推薦有一定的指導(dǎo)意義。使用x2檢驗,選擇顯著水平α=0.05,得到3個城市各自和平均的顯著性比率如表3。 表3 用戶參加活動與其所在主辦方發(fā)起活動的x2測試 通過表3可見,3個城市用戶參加的活動與其所在主辦方發(fā)起的活動的平均顯著率達到活動總數(shù)的67%。 3.2.3 用戶參加活動-所在主辦方中其他用戶參加活動的相關(guān)性分析 通過分析用戶與其所在主辦方中其他用戶共同參加活動的情況,挖掘兩者之間是否有顯著的相關(guān)性,對基于用戶所在主辦方中的其他用戶進行活動/用戶的推薦有一定的指導(dǎo)意義。使用x2檢驗,選擇顯著水平α=0.05,得到3個城市各自和平均的顯著性比率如表4。 表4 用戶與其所在主辦方中的其他用戶參加活動的x2測試 通過表4可見,3個城市用戶參加活動與其所在主辦方的其他用戶參加活動的平均顯著率達到活動總數(shù)的59%。 對采集到的豆瓣同城用戶、活動和主辦方而言,選取其中的冷啟動用戶和活動進行實驗。為了進行冷啟動用戶推薦效果的分析,選取參加活動少于5個且參加了1個以上的用戶作為冷啟動用戶。為了進行冷啟動活動推薦效果的分析,選取參加活動的用戶少于8個且至少有1個用戶參加的活動作為冷啟動活動。3個城市用于實驗的冷啟動用戶和冷啟動活動數(shù)量如表5。 表5 豆瓣同城3個城市冷啟動用戶和活動數(shù)據(jù) 對于向冷啟動用戶ui推薦活動,本文選用了3種方法用于實驗的分析和比較。 1)利用冷啟動用戶ui的關(guān)注者參加的活動進行推薦,因為是冷啟動用戶,鄰居不是很多,所以使用了用戶的所有關(guān)注者。由于沒有主辦方(群組)的概念,僅僅使用用戶-活動構(gòu)建關(guān)系圖,進而使用基于入度的關(guān)注者和活動節(jié)點的重要度計算方法。該方法簡記為Neighbor-ER(neighbor event recommendation),類似于文獻[5,8,13],但這些文獻研究的不是冷啟動的推薦; 2)文獻[12]提出的雙視角的潛在因子模型用于群組感知的活動推薦,利用群組已經(jīng)包含的用戶和已經(jīng)發(fā)起的活動作為已有數(shù)據(jù),提供用于分析的基礎(chǔ)。進行活動推薦時,該方法簡記為Group-ER(group event recommendation)。其中的正則化參數(shù)λ和γ都設(shè)置為0.025,SGD(steepest descent method)的學(xué)習(xí)速率α設(shè)置為0.05。 3)本文提出的向冷啟動用戶推薦活動的方法,進行活動推薦時,該方法簡記為ESU-ER(event sponsor user-event recommendation)。其中,(5)式中的參數(shù)α=β=0.5。 對于將冷啟動活動ei推薦給用戶,本文選用了3種方法用于實驗的分析和比較。 1)Zhang等[27]提出的基于集合貝葉斯泊松分解模型的EBSNs冷啟動活動的推薦,其中的活動上下文包括活動文本內(nèi)容、組織者以及地點信息。該方法簡記為CBPF-UR(collective bayesian poisson factorization-user recommendation)。 2)文獻[12]提出的雙視角潛在因子模型用于群組感知的活動推薦。進行用戶推薦時,該方法簡記為Group-UR(group-user recommendation)。其中,正則化參數(shù)λ和γ都設(shè)置為0.025,SGD的學(xué)習(xí)速率α設(shè)置為0.05。 3)本文提出的向冷啟動用戶推薦活動的方法。進行用戶推薦時,該方法簡記為ESU-UR(event sponsor user-user recommendation)。其中,(5)式中的參數(shù)α=β=0.5。 對表5中所列出的3個城市的冷啟動用戶,使用3種方法Neighbor-ER,Group-ER和ESU-ER得到的活動推薦結(jié)果如表6。 表6 豆瓣同城3個城市向冷啟動用戶推薦活動結(jié)果 由表6可見,3種方法中,本文所提方法ESU-ER取得的效果最為理想,F(xiàn)1-measure@5=0.388,F(xiàn)1-measure@10=0.417,比方法Neighbor-ER的指標F1-measure@5提高了0.186,比指標F1-measure@10提高了0.170;比方法Group-ER的指標F1-measure@5提高了0.1,比指標F1-measure@10提高了0.129。主要原因是ESU-ER基于ESU構(gòu)建了更為合理的向冷啟動用戶推薦活動模型,以及使用了更為合理的節(jié)點重要度計算方法。方法Neighbor-ER的效果最差,主要原因是其利用用戶之間的關(guān)系進行活動推薦,如果用戶圈子很小,就很難進行活動推薦。方法Group-ER的效果比ESU-ER差一些,主要原因是其推薦活動時,不同群組和不同用戶之間難以跨越,在推薦活動的多樣性上有明顯的不足。 對表5中所列出的3個城市的冷啟動活動,使用3種方法CBPF-UR,Group-UR和ESU-UR得到的用戶推薦結(jié)果如表7。 表7 豆瓣同城3個城市將冷啟動活動推薦給用戶的結(jié)果 由表7可見,3種方法中,本文所提方法ESU-UR取得的效果最為理想,F(xiàn)1-measure@5=0.459,F(xiàn)1-measure@10=0.464,比方法CBPF-UR的指標F1-measure@5提高了0.174,比指標F1-measure@10提高了0.177;比方法Group-UR的指標F1-measure@5提高了0.086,比指標F1-measure@10提高了0.108;CBPF-UR的效果最差,主要原因是對冷啟動活動而言,可以利用的活動的上下文信息很少,對推薦不利。 對向冷啟動用戶推薦活動和將冷啟動活動推薦給用戶2種冷啟動推薦的結(jié)果對比,可以發(fā)現(xiàn)將冷啟動活動推薦給用戶的效果更為理想,方法ESU-UR的指標F1-measure@5提高了0.071,指標F1-measure@10提高了0.047。主要原因是,冷啟動活動雖然感興趣/參加活動的人很少,但由于其屬于某個主辦方,很多主辦方包含了大量的用戶,對選取用戶進行推薦是有利的。 同時,通過表6和表7的實驗結(jié)果可以發(fā)現(xiàn),無論是向冷啟動用戶推薦活動,還是將冷啟動活動推薦給用戶的效果都不夠理想,都還有較大的提升空間。 本文針對EBSNs上的冷啟動用戶和冷啟動活動的推薦問題,給出了向冷啟動用戶推薦活動和將冷啟動活動推薦給用戶的模型。對于EBSNs上冷啟動用戶有一種情況(可以稱為純冷啟動用戶),該類用戶沒有參加任何活動,沒有關(guān)注任何主辦方,沒有和其他用戶建立關(guān)系,這類純冷啟動用戶將很難進行活動推薦。另外,EBSNs上用戶注冊地點有一定作用,但用戶注冊時的地點不一定就是居住地,而且有些EBSNs用戶注冊地點過于籠統(tǒng),比如豆瓣同城,注冊時填寫的是每個城市,比如北京、上海等。因此,用戶注冊地點在推薦活動時的作用不大。 雖然本文在EBSNs冷啟動問題的解決取得了一定的進展,但發(fā)現(xiàn)如下問題還需進一步提升:①對于純冷啟動用戶的活動推薦需要另辟蹊徑;②基于本文提出的ESU模型,可以面向EBSNs開展活躍用戶及活動的推薦、社區(qū)檢測、社區(qū)及用戶的傾向性分析等。2.4 節(jié)點重要度計算
3 實驗及分析
3.1 實驗數(shù)據(jù)及評價指標
3.2 用戶參加活動行為模式分析
3.3 實驗方法
3.4 冷啟動用戶活動推薦結(jié)果
3.5 冷啟動活動用戶推薦結(jié)果
4 總結(jié)及展望