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