国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于位置社交網(wǎng)絡的用戶社區(qū)和屬性位置簇搜索

2023-10-18 03:10:19宗傳玉李箬竹夏秀峰
計算機應用研究 2023年9期

宗傳玉 李箬竹 夏秀峰

摘 要:針對當前社區(qū)搜索問題不能完全滿足用戶活動位置推薦的需求,提出了屬性地理社會社區(qū)搜索問題(AGCS)。該問題是從帶有屬性的基于位置的社交網(wǎng)絡中尋找緊密連接的用戶社區(qū)和屬性位置簇的工作。定義一個基于屬性約束和簽到信息的新社區(qū)度量用以衡量結果質量,并提出三種新的搜索算法來解決該問題:一種基本算法,一種基于貪心擴展策略的局部算法以及優(yōu)化的局部算法。實驗證明提出的算法能夠在帶有屬性的基于位置的社交網(wǎng)絡中有效地搜索高質量的用戶社區(qū)和屬性位置簇,局部算法社區(qū)分數(shù)較基本算法增加近1.5倍,優(yōu)化的局部算法在保證社區(qū)質量的基礎上將算法效率提升到原來的近40倍。

關鍵詞:社區(qū)搜索; 用戶社區(qū); 屬性位置簇

中圖分類號:TP301.6?? 文獻標志碼:A

文章編號:1001-3695(2023)09-015-0000-00

doi:10.19734/j.issn.1001-3695.2023.01.0019

User community and attribute location cluster search in

location-based social networks

Zong Chuanyu, Li Ruozhu, Xia Xiufeng

(School of Computer Science, Shenyang Aerospace University, Shenyang Liaoning 110136, China)

Abstract:This paper proposed the attribute geosocial community search problem (AGCS) to address the current community search problem that does not fully satisfy the need for user activity location recommendations. This problem was the work to find closely connected user community and attribute location cluster from location-based social networks with attributes. It defined a new community metric based on attribute constraints and check-in information to measure the quality of results, and proposed three new search algorithms to solve the problem: a basic algorithm, a local algorithm based on a greedy expansion strategy, and an optimized local algorithm. Experiments demonstrate that the proposed algorithms can effectively search user community and attribute location cluster in location-based social networks with attributes. The community score of local algorithm results is nearly 1.5 times higher than that of basic algorithm, and the efficiency of optimization algorithm is improved to nearly 40 times on the basis of ensuring community quality.

Key words:community search; user community; location cluster with attribute

0 引言

社區(qū)是一個內部緊密連接、外部稀疏連接的子圖。在圖中搜索社區(qū)是許多圖分析應用程序中的基本問題。社區(qū)搜索旨在圖中搜索與一組查詢節(jié)點和一些查詢約束相關的社區(qū)[1,2]。從網(wǎng)絡中檢索社區(qū)可以用來組織活動,推薦用戶可能認識的人等[3]。

隨著數(shù)據(jù)種類的增加和用戶需求的變化,僅以用戶關系為搜索條件的社區(qū)搜索已不能完全滿足社區(qū)搜索的需求。屬性社區(qū)搜索是在常規(guī)社區(qū)搜索的基礎上,通過向用戶關系添加屬性約束,使得可以搜索同時滿足用戶關系結構和關鍵字內聚性的屬性社區(qū)。然而,單純地添加屬性約束的社區(qū)搜索可能返回一個具有大范圍空間位置的社區(qū)。

隨著基于位置的社交網(wǎng)絡的出現(xiàn),社區(qū)搜索不再局限于以用戶之間的密切關系為搜索標準,還可以在用戶關系的基礎上添加位置條件。現(xiàn)有大多數(shù)包含有位置約束的社區(qū)搜索只產生了單個用戶社區(qū),很少有研究在與用戶社區(qū)對應的基于位置的社交網(wǎng)絡位置上探討用戶社區(qū)和位置簇的搜索問題,因此,基于位置的社交網(wǎng)絡上的社區(qū)搜索出現(xiàn)了。Kim等人[4]提出的地理社會社區(qū)搜索(GCS)要求搜索到的社區(qū)網(wǎng)絡和位置簇不僅與用戶關系密切,而且在地理上也緊密相連。在基于位置的社交網(wǎng)絡中搜索社區(qū)會產生一個用戶社區(qū)和一個位置簇,簇中包含與用戶社區(qū)對應的所有位置。

單一的屬性約束或位置約束并不能完全滿足所有用戶的需求。本文結合兩者共同作為社區(qū)搜索的約束條件,以獲得在合理空間范圍內的理想社區(qū)。為了獲得同時滿足屬性和位置約束的社區(qū),需要在帶有屬性的基于位置的社交網(wǎng)絡上同時對位置和屬性進行約束。所以本文提出了屬性地理社會社區(qū)搜索(AGCS)問題,AGCS要求在帶有屬性的基于位置的社交網(wǎng)絡中尋找一個緊密連接的用戶社區(qū)和一個與用戶社區(qū)緊密連接的屬性位置簇。

圖1表示一個帶有屬性的基于位置的社交網(wǎng)絡,它包含用戶網(wǎng)絡、具有屬性的位置節(jié)點集和簽到信息。用戶網(wǎng)絡中的每個節(jié)點代表一個用戶,位置節(jié)點集中的每個節(jié)點表示用戶可能訪問的位置,兩者之間的邊表示用戶曾到達過該位置,ai表示位置li的屬性/關鍵字。假設圖1中的用戶u11想去看電影,他需要一些關于電影院以及同行人的推薦,這時可以使用AGCS,找到一個用戶社區(qū)和一個具有指定屬性“電影”的空間位置簇。

本文的主要貢獻如下:a)基于屬性約束和簽到信息,定義了一種新的社區(qū)度量。b)提出了在帶有屬性的基于位置的社交網(wǎng)絡上的屬性地理社會社區(qū)搜索(AGCS)問題。據(jù)調查,這是第一個找到具有高社區(qū)度量的一個用戶社區(qū)和一個滿足屬性約束的空間位置簇的工作。c)提出基本算法得到屬性地理社會社區(qū)搜索(AGCS)問題的近似解,在基本算法的基礎上提出了局部算法提高了結果社區(qū)的質量。d)提出了優(yōu)化的局部擴展算法,在保證了社區(qū)質量的基礎上,算法的效率平均提高了近40倍。e)在真實數(shù)據(jù)集和合成數(shù)據(jù)集上進行了大量的實驗,結果表明,本文提出的算法可以有效地在帶有屬性的基于位置的社交網(wǎng)絡中搜索用戶社區(qū)和屬性位置簇。

1 相關工作

在基于結構約束的社區(qū)搜索的基礎上,還有以下幾種搜索條件下的研究:

基于地理位置約束的社區(qū)搜索研究,Zhu等人[5]提出了一組滿足最小認知約束的地理社會集群查詢(GSGQs),以在LBSN上生成一個有凝聚力的群體。Wang等人[6]提出了一個包含地理半徑約束的社區(qū)搜索問題,在一個基于位置的社會網(wǎng)絡上尋找一組空間鄰近的群體。

基于屬性約束的社區(qū)搜索研究,F(xiàn)ang等人[7]提出了屬性社區(qū)查詢(ACQ),得到了基于關鍵字內聚性的屬性社區(qū)(AC)。Zhang等人[8]在屬性圖上研究了以關鍵字為中心的社區(qū)搜索(KCCS),提出了一種不輸入查詢節(jié)點只用查詢關鍵字來搜索社區(qū)的方法。Chen等人[9]基于屬性社區(qū)搜索提出的無參數(shù)上下文社區(qū)模型只需要一組描述與期望匹配的社區(qū)上下文關鍵字,就可以返回滿足約束的社區(qū)。Liu等人[10]提出了一個以頂點為中心的屬性社區(qū)(VAC)問題來解決屬性設置困難和單一查詢屬性類型的問題。Apon等人[11]提出了基于社會和空間文本的靈活的top-k社會空間關鍵字感知組查詢(SSKGQ)問題。文獻[12]設計了屬性網(wǎng)絡中結合用戶偏好的社區(qū)搜索和離群點檢測方法。

同時基于位置和屬性的社區(qū)搜索的研究,Guo等人[13]提出了多屬性社區(qū)(MAC)搜索,并研究了兩種有效計算top-j多屬性社區(qū)的方法。Chen等人[14]提出了共定位社區(qū)搜索(LCD)問題,其得到的社區(qū)滿足k-truss約束和用戶的空間位置約束。Chen等人[15]還提出了地理社會群體搜索問題,來獲得一個與某一地點相近并且社會關系密切的一群人,并提出MKCSSG模型,在找到最佳的社區(qū)結果的同時縮小了搜索空間。文獻[16]提出了異質網(wǎng)絡中基于元路徑P和元結構S的P-距離和S-距離及(k,d,P)-truss和(k,d,S)-truss社區(qū)模型以度量子圖的結構內聚性,同時提出了關鍵詞屬性得分函數(shù)用于度量不同子圖的關鍵詞屬性相關性。

在當前的社區(qū)搜索研究中,同時基于位置和屬性的社區(qū)搜索只考慮了用戶的需求,返回的結果只包含獨立的用戶社區(qū),不能完全滿足用戶活動位置推薦的需求?;谖恢玫纳缃痪W(wǎng)絡上的社區(qū)搜索[4]的出現(xiàn)為用戶提供了一組緊密聯(lián)系的用戶社區(qū)和位置簇,但當用戶對推薦的活動位置有屬性需求,例如用戶希望推薦的位置可以用來舉行一個生日聚會,已有的工作返回的結果會包含大量與“生日聚會”無關的位置,不能完全滿足用戶的需求?;谝陨锨闆r,本文在帶有屬性的基于位置的社交網(wǎng)絡上進行了基于位置和屬性的社區(qū)搜索的研究,返回同時滿足內聚性約束、空間約束和屬性覆蓋率的一組具有高訪問次數(shù)的用戶社區(qū)和屬性位置簇。

2 屬性地理社會社區(qū)搜索

帶有屬性的基于位置的社交網(wǎng)絡(location-based social network with attributes,LBSNA):給定一個無向圖G=(V,E),G表示由一組節(jié)點V和一組邊EV×V組成的社交網(wǎng)絡。VH是V中節(jié)點的子集,H=(VH,EH)表示由VH誘導的G的子圖。簽到圖由一個二分圖GC=(VU,VL,EC)表示,其中VU是一組用戶節(jié)點,VL={(li,A(li))}是一組具有A(li)={a1,a2,a3,…,aj}屬性標簽的位置點,(u,l)∈EC是一條簽到邊,代表用戶u到位置l的簽到,W(u,l)∈R表示邊(u,l)∈EC的權重。簽到權重W可以用來表示用戶到位置的簽到頻率。LBSNA表示為N=(GU,VL,GC),該網(wǎng)絡由一個社交網(wǎng)絡GU、一組帶有屬性標簽的位置節(jié)點集VL和一個簽到圖GC組成。

社區(qū)通常是一個滿足結構內聚性的子圖,結構內聚性是對社區(qū)聯(lián)系緊密程度的度量,有k-core、k-truss和k-clique等[1]。盡管本文方法可以簡單地拓展到別的結構,但在本文中使用k-core作為結構內聚性的度量[17]。定義deg(v)為直接連接到節(jié)點v的節(jié)點數(shù),即節(jié)點v的鄰居數(shù),deg(v)也被稱為一個節(jié)點的度。此外,給定一個子圖H=(VH,EH),δ(H)返回節(jié)點v∈VH的最小度。k-core的定義如下。

定義1 k-Core。給定正整數(shù)k,當圖的子圖Hk滿足v∈Hk,δ(Hk)≥k,并且Hk連通時,稱Hk是一個k-core。

如圖2所示,節(jié)點{u1,u2,u3,u4,u5,u6,u10,u11,u12}誘導的子圖為一個2-core,由{u3,u4,u5,u6,u10,u11,u12}誘導的子圖為一個3-core。

定義2 用戶社區(qū)(user community)。給定一個社交網(wǎng)絡GU,和一個度閾值k,用戶社區(qū)HU=(VHU,EHU)是圖GU的一個連通子圖,滿足度約束k,即v∈VHU,deg(v)≥k。

定義3 距離可達(distance reachable)。給定位置節(jié)點集VL中的兩個位置節(jié)點li和lj,距離閾值r,假設i=1,j=n。若存在節(jié)點集{l1,l2,l3,…,ln}∈VL,任意節(jié)點集中節(jié)點lx和lx+1之間的距離dis(lx,lx+1)≤r(dis(lx,lx+1)表示lx到lx+1之間的距離),則稱li和lj距離可達。

定義4 屬性位置簇(attribute location cluster)。給定一個位置節(jié)點集VL,一個距離閾值r,一個查詢屬性集AQ={a1,a2,…,an}和一個度閾值k。如果滿足以下條件,則一組位置點LAC構成位置簇。

a)li,lj∈LAC,li和lj是距離可達的;

b)li∈LAC,AQA(li);

c)LAC按半徑r約束生成的位置網(wǎng)絡滿足k-core。

基于屬性位置簇的性質,需要從屬性位置網(wǎng)絡中獲取屬性位置簇。通過為滿足屬性約束并且距離小于等于半徑約束的點創(chuàng)建邊,可以得到屬性位置網(wǎng)絡。

圖3(a)所示是一個屬性位置節(jié)點集,由l1~l18共18個帶有不同屬性標簽的位置節(jié)點組成。圖3(b)為圖3(a)中的位置節(jié)點以r=0.5為半徑劃分并創(chuàng)建的屬性位置網(wǎng)絡。可以看出,基于位置節(jié)點集和半徑閾值r構造的位置網(wǎng)絡包含{l1,l2,l3,l4,l5,l6,l7}、{l8,l9,l10,l11,l12}和{l14,l15,l16,l17,l28}三個連通分量,連通分量中的任意兩個節(jié)點都是距離可達的。在距離閾值r=0.5和度閾值k=2約束下,可以得到位置網(wǎng)絡{l8,l9,l10,l11,l12}和{l14,l15,l16,l17,l28},如圖3(c)。節(jié)點{l14,l15,l16,l17,l28}的集合滿足AQ={a1,a5}屬性約束,該集合構成的網(wǎng)絡就是屬性位置簇。

基于第1章中給出的應用和本文模型對屬性覆蓋密度、內聚性約束和用戶對滿足屬性要求的位置的高簽到偏好的需求,本文定義了一個社區(qū)質量度量。

定義5 社區(qū)分數(shù)(community score)。根據(jù)屬性約束和簽到信息,定義社區(qū)分數(shù)如下:

SG=x×|Vt||Va|+y×∑μ∈HU,v∈HALW(μ,v)∑μ∈HU,ω∈GALW(μ,ω)(1)

其中:|Vt|表示搜索到的屬性位置簇中位置節(jié)點的個數(shù);|Va|表示原始位置節(jié)點集中滿足屬性約束的位置節(jié)點的數(shù)量;W(μ,v)是(μ,v)邊的權重;∑μ∈HU,v∈HALW(μ,v)是用戶社區(qū)中用戶到屬性位置簇的簽到邊的權重和;∑μ∈HU,ω∈GALW(μ,ω)是用戶社區(qū)中用戶到原始位置節(jié)點集中滿足屬性約束的位置上簽到邊的權重和;x+y=1。最大化的社區(qū)分數(shù)的含義是希望結果屬性位置簇盡可能多地覆蓋滿足屬性約束的位置點,且結果用戶社區(qū)盡可能多地在結果屬性位置簇中簽到。

x和y的取值描繪了用戶對屬性覆蓋和訪問密度的偏好。在本文中設置系數(shù)x=y=12。邊權重W(μ,v)=1。圖1所示為一個帶有屬性的基于屬性的社交網(wǎng)絡,其中存在一個AGCS結果社區(qū)由{〈u10,u11,u12,u13〉,〈l14,l15,l16,l17,l18〉}組成,該屬性地理社會社區(qū)的社區(qū)分數(shù)為SG=1/2×5/16+1/2×8/18=109/288。

問題定義 屬性地理社會社區(qū)搜索(attribute geosocial community search,AGCS)。給定一個帶有屬性的基于位置的社交網(wǎng)絡N=(GU,VL,GC)、一個查詢節(jié)點集QVGU∪VL、一個距離閾值r、一個度閾值k和查詢屬性集AQ={a1,a2,…,ai}。屬性地理社會社區(qū)搜索問題旨在找到一個滿足所有查詢約束的用戶社區(qū)HUGU和一個屬性位置簇LAC,并且最大化社區(qū)分數(shù)。

3 屬性地理社會社區(qū)搜索方法

3.1 基本算法

為了得到一個高質量的結果社區(qū),首先需要得到一些滿足查詢半徑約束和內聚性約束的用戶候選結果和同時滿足屬性約束的位置候選結果。然后,通過計算,在候選結果中找到具有最大社區(qū)分數(shù)的社區(qū)。

通過對位置節(jié)點中距離小于半徑約束的節(jié)點創(chuàng)建邊,構建了一個位置網(wǎng)絡。為了加快建立和刪除位置網(wǎng)絡的過程,在建立網(wǎng)絡之前需要先刪除不滿足屬性約束的位置節(jié)點。然后找到兩個網(wǎng)絡圖中度不小于k的所有候選連通分量,這些候選連通分量滿足結構內聚性約束。最后對兩組候選連通分量一一進行分數(shù)計算并得到最大社區(qū)分數(shù)的結果。

算法1 基本算法

輸入:圖N=(GU,VL,GC);查詢節(jié)點集QVGU∪VL;查詢屬性集AQ;半徑r;度閾值k。

輸出:用戶社區(qū)HU;屬性位置簇LAC;社區(qū)分數(shù)Score 。

CU←OCC(GU,Q,k);

從VL中刪除所有不包含查詢屬性的位置節(jié)點;

for each v∈VL

通過R-tree獲得節(jié)點v的可能鄰居NL;

將節(jié)點v加入到屬性位置網(wǎng)絡GAL中;

for each nj∈NL

計算v與nj之間的歐式距離Dj;

if Dj

將節(jié)點nj和邊(v,nj)添加到GAL中;

CL←OCC(GAL,Q,k) ;MaxScore←0;

從CU和CL中刪除不包含Q的候選網(wǎng)絡;

for each ci∈CU

for each cj∈CL

計算由ci、cj組成的社區(qū)的社區(qū)分數(shù)Score;

if Score>MaxScore

MaxScore←Score;HU←ci,HAL←cj;

返回HU←ci,HAL←cj,Score。

基本算法由兩個部分組成,用戶社區(qū)搜索和屬性位置網(wǎng)絡搜索。如算法1所示,首先獲得候選用戶連通分量的集合,利用OCC(GU,Q,k)函數(shù)得到滿足約束條件的節(jié)點集。OCC()的主要過程是移除所有度小于k的節(jié)點,同時移除因為受刪除其他節(jié)點影響導致度小于k的節(jié)點,直到所有節(jié)點的度大于或等于k。然后刪除位置節(jié)點集中所有不滿足屬性約束的節(jié)點。屬性位置網(wǎng)絡的生成是借助R-tree完成的,下一步生成候選屬性位置連通分量集,并將不包含查詢節(jié)點的連通分量從兩個連通分量集合中刪除,最后計算每組連通分量(一個用戶連通分量和一個位置連通分量)的社區(qū)得分,社區(qū)分數(shù)最大的一對連通分量就是屬性地理社會社區(qū)搜索的結果。

3.2 局部算法

由于k-core的搜索算法隱含有找最大連通分量的約束,基本算法得到的結果社區(qū)分數(shù)并不是當前圖可以得到的最大分數(shù),為了得到具有較高社區(qū)分數(shù)的結果,提出了局部算法。

局部算法的基本思想是從給定的查詢節(jié)點出發(fā),使用給定的貪心擴展策略向當前解決方案中迭代的添加節(jié)點,逐步擴大當前解決方案的規(guī)模。

局部算法初始化當前解決方案為查詢節(jié)點構成的網(wǎng)絡,對兩個網(wǎng)絡分別初始化一個優(yōu)先隊列,優(yōu)先隊列存儲可能要插入到當前解決方案中的候選節(jié)點。初始化優(yōu)先隊列為查詢節(jié)點的鄰居節(jié)點,如果不包含任何用戶或位置查詢節(jié)點,則當前解決方案對應的簽到圖的鄰居節(jié)點將被插入到優(yōu)先隊列中。然后根據(jù)隊列優(yōu)先級標準維護兩個優(yōu)先隊列。

局部算法的關鍵在于優(yōu)先隊列的排序標準,如下:a)優(yōu)先隊列中的節(jié)點到當前解決方案的簽到邊權重和;b)優(yōu)先隊列中的節(jié)點在當前解決方案的鄰居個數(shù)。

第一個標準隱含的意義是保證插入到當前解決方案的節(jié)點對社區(qū)分數(shù)的貢獻,可以增加當前解決方案的簽到權重。第二個標準是保證加入的節(jié)點能更快地使解決方案滿足結構內聚性。第一個標準的優(yōu)先級高于第二個標準。

性質1 給定修剪后的屬性位置網(wǎng)絡GL,不存在HLGL可以使社區(qū)分數(shù)更高。

由性質1可以看出基本算法可以直接得到最優(yōu)社區(qū)分數(shù)的屬性位置網(wǎng)絡,因此,局部算法只需要重新生成用戶網(wǎng)絡即可。

算法2 局部算法

輸入:用戶網(wǎng)絡圖GU,屬性位置網(wǎng)絡GAL,查詢節(jié)點集QVGU∪VL,查詢屬性集AQ,度閾值k。

輸出:用戶社區(qū)HU,屬性位置簇LAC,社區(qū)分數(shù)Score。

初始化用戶當前解決方案HU、位置解決方案HAL、用戶優(yōu)先隊列UWait;

while δ(HU)

for each vi∈UWait

分別計算節(jié)點vi兩個優(yōu)先級標準的分數(shù);

對UWait中節(jié)點按照優(yōu)先級標準進行排序;

將UWait中的第一個節(jié)點插入到HU中,并將這個節(jié)點的鄰居插入到UWait中;

reScore←Score←HU和GAL組成的社區(qū)的社區(qū)分數(shù);

while reScore=Score

找到優(yōu)先隊列中優(yōu)先級較高且保證結構內聚性的點vu;計算插入vu后的社區(qū)分數(shù)reScore;

if reScore>Score

將vu插入HU中;Score←reScore;

else

reScore=0;

返回HU,HAL,Score。

算法2描述如下,初始化解決方案為用戶查詢節(jié)點和輸入的屬性位置網(wǎng)絡,將查詢節(jié)點的鄰居插入到優(yōu)先隊列中,按照優(yōu)先級a)b)計算優(yōu)先隊列中的節(jié)點標準分數(shù)并排序。將優(yōu)先隊列的第一個節(jié)點插入到社區(qū)解決方案中,然后將這個節(jié)點的鄰居插入到優(yōu)先隊列中,迭代以上過程直到社區(qū)解決方案滿足結構內聚性,然后計算社區(qū)分數(shù)。為保證最終得到的解決方案的社區(qū)分數(shù)最大,對優(yōu)先隊列的排序標準進行了修改,繼續(xù)對解決方案進行擴展。

修改后的排序標準如下:a)優(yōu)先隊列中的節(jié)點到當前解決方案的簽到邊權重和/優(yōu)先隊列中的節(jié)點到原始網(wǎng)絡的簽到邊權重和;b)優(yōu)先隊列中的節(jié)點在當前解決方案的鄰居個數(shù)。

使用新標準重新計算優(yōu)先隊列標準分數(shù),取標準b)分數(shù)滿足k約束的節(jié)點并按標準a)降序排序。然后假設將優(yōu)先隊列中的第一個節(jié)點插入到社區(qū)解決方案,并計算插入后的社區(qū)分數(shù),如果分數(shù)變大則更新社區(qū)解決方案和社區(qū)分數(shù)。重復上述過程直到社區(qū)分數(shù)不在增長,返回社區(qū)分數(shù)最大的結果社區(qū)。

復雜度分析:判斷結果社區(qū)是否滿足結構內聚性并且對優(yōu)先隊列進行維護的復雜度是O(n(c+n log n+m+n)+n),其中對每個點都計算一次優(yōu)先級分數(shù)的復雜度是O(c),c是用戶社區(qū)到位置社區(qū)總簽到次數(shù)。優(yōu)先隊列排序的時間復雜度為O(n log n),UWait的維護代價是O(n),k-core判斷的代價是O(m+n),m是用戶社區(qū)中邊的數(shù)量,n是用戶社區(qū)節(jié)點數(shù)量。第二個循環(huán)的代價同上,所以最終時間復雜度為O(n(c+n log n+m+n)+n)。

3.3 優(yōu)化算法

局部算法優(yōu)化了基本算法的結果質量,但局部算法的執(zhí)行效率不高,為了提升局部算法的執(zhí)行效率,首先通過對圖的結構內聚性判斷過程進行分析,開發(fā)了一種快速對節(jié)點度進行維護的優(yōu)化策略。然后由于局部算法在每一次優(yōu)先隊列發(fā)生變化時,都需要對優(yōu)先隊列進行重排操作維護其優(yōu)先級。分析算法流程,通過將優(yōu)先隊列重構和最佳節(jié)點選擇組合到一起,排序過程可以從局部算法中剔除。結合以上兩種優(yōu)化策略,最終得到了優(yōu)化的局部算法。

3.3.1 圖結構判斷

局部算法要求在每次插入新節(jié)點后對當前解決方案進行結構內聚性判斷,當前最優(yōu)的結構內聚性判斷算法時間復雜度是O(m+n),隨著解決方案規(guī)模的增長,這部分算法的執(zhí)行代價也在持續(xù)增長。為了優(yōu)化這個過程,優(yōu)化算法首先初始化變量kmin為當前解決方案中度最小的節(jié)點。每次產生新的節(jié)點插入時,kmin維護為新解決方案中度最小的節(jié)點,直到kmin大于等于k。合理的數(shù)據(jù)結構設計使得更新過程中不需要遍歷全圖,只需要比對當前插入節(jié)點及受當前插入節(jié)點影響導致度增加的節(jié)點的度。優(yōu)化后的時間復雜度為O(1)。

3.3.2 優(yōu)先隊列維護

局部算法中,優(yōu)先隊列的維護要求每次向優(yōu)先隊列插入節(jié)點都需要對優(yōu)先隊列進行排序,即使最佳的排序策略也具有O(n log n)的代價,由于每次只需要提取當前最佳節(jié)點插入到結果中,優(yōu)化算法把排序和節(jié)點分數(shù)計算結合,在計算分數(shù)時保留了最佳節(jié)點,去掉了排序的過程。

算法3 優(yōu)化算法

輸入:用戶網(wǎng)絡圖GU,屬性位置網(wǎng)絡GAL,查詢節(jié)點集QVGU∪VL,查詢屬性集AQ,度閾值k。

輸出:用戶社區(qū)HU,屬性位置簇LAC,社區(qū)分數(shù)Score。

初始化用戶當前解決方案HU位置解決方案HAL、用戶優(yōu)先隊列UWait,指針m指向待插入節(jié)點及其兩個標準的分數(shù)sm1,sm2 ;

kmin←δ(HU);

while kmin

for each vi∈UWait

計算節(jié)點vi兩個優(yōu)先級標準的分數(shù)s1,s2;

if s1

m指向vi,sm1←s1;

else if s1==sm1并且s2>sm2

m指向vi,sm1←s1, sm2←s2

將m指向的節(jié)點插入到HU中,將kmin更新為HU的最小度,

reScore←Score←HU和GAL組成的社區(qū)的社區(qū)分數(shù);

while reScore=Score

找到優(yōu)先隊列中優(yōu)先級較高且保證結構內聚性的點vu,計算插入 vu后的社區(qū)分數(shù)reScore;

if reScore>Score

將vu插入HU中;Score←reScore;

else

reScore=0;

返回HU,HAL,Score。

算法3描述如下,將用戶查詢節(jié)點插入到社區(qū)結果HU中,將查詢節(jié)點的鄰居插入到優(yōu)先隊列UWait中,指針m指向隊列中的節(jié)點,sm1為指向節(jié)點的標準a)的分數(shù),sm2為指向節(jié)點的標準b)的分數(shù),記錄社區(qū)結果HU中節(jié)點的最小度值kmin。當kmin

復雜度分析:記錄并維護社區(qū)結果的最小度和可能插入結果社區(qū)的節(jié)點,這個過程的復雜度是O(n×c+n),其中對用戶社區(qū)中每個點都計算一次優(yōu)先級分數(shù)的代價是c,c是用戶社區(qū)到位置社區(qū)總簽到次數(shù)。n是用戶社區(qū)節(jié)點數(shù)量。第二個循環(huán)同上,所以最終時間復雜度為O(n×c+n)。

4 實驗與評價

4.1 數(shù)據(jù)描述與實驗設置

本文使用了以下三個數(shù)據(jù)集進行實驗:

a)Yelp(YP)[3]。Yelp數(shù)據(jù)集包括1 987 897名用戶,177 969個商家,908 915次簽到記錄,以及超過120 000個屬性。本文從中隨機抽取了100 000個用戶節(jié)點,177 969個商家和908 915條簽到信息生成數(shù)據(jù)集。

b)Gowalla(GL)[17]。Gowalla是一個基于位置的社交網(wǎng)站,Gowalla數(shù)據(jù)集包括196 591名用戶,172 979個地點,6 442 890條簽到信息。從中隨機抽取了100 000用戶,100 000位置,6 442 890條簽到信息生成數(shù)據(jù)集。

c)Brightkite(BK)[18]。Brightkite數(shù)據(jù)集包括58 227個用戶和772 967個地點,4 491 143條簽到信息。從中隨機抽取一個了58 227個用戶和100 000個帶有183 384條簽到記錄的位置節(jié)點生成數(shù)據(jù)集。

因為數(shù)據(jù)集Gowalla、Brightkite不包含屬性,所以將數(shù)據(jù)集進行分組,給每組位置節(jié)點,隨機分配數(shù)量不等的10種屬性,由此合成需要的數(shù)據(jù)集。

實驗設置各參數(shù)默認值為:k=20,|Q|=2(一個用戶查詢點,一個位置查詢點),|A|=1,r=50 m。

實驗首先研究了三個算法在同樣的參數(shù)設置下、不同數(shù)據(jù)集上的社區(qū)質量,然后研究了優(yōu)化策略的有效性。參數(shù)的變化可能會對算法的執(zhí)行效率產生影響,所以接下來通過改變參數(shù)k、參數(shù)r和屬性個數(shù)研究了算法的執(zhí)行效率變化,最后通過改變數(shù)據(jù)集的大小,證明了算法的可伸縮性。

所有算法使用GNU C++實現(xiàn)。實驗運行在一臺Windows 10系統(tǒng)、3.9 GHz CPU、256 GB RAM和1 TB磁盤的PC上。

4.2 實驗評估

a)模型差異。與本文模型最相近的工作是文獻[4]中的地理社會社區(qū)搜索(GCS),在同樣的內聚性和半徑約束下,通過設置不同的查詢點進行實驗,地理社會社區(qū)搜索中質量最佳的GRA算法推薦的位置簇中滿足屬性需求的位置點覆蓋率最多達到了32.3%,所以GCS并不能滿足用戶對屬性的需求。任意條件下,AGCS都可以在保證內聚性和緊密的空間關系的同時,保證提供的位置簇100%的屬性覆蓋。

b)社區(qū)分數(shù)評估。如圖4所示,通過設置k,r及查詢屬性數(shù)量為默認值,本文評估了三個算法在三個數(shù)據(jù)集上的社區(qū)得分表現(xiàn),可以發(fā)現(xiàn)local和optimization算法的社區(qū)分數(shù)都在basic算法的基礎上獲得了提升,實際通過觀察實驗結果和實驗過程,local和optimization的最終結果社區(qū)簽到貢獻相較basic更加緊密,規(guī)模也縮小了。

優(yōu)化策略有效性評估:如圖5所示,通過設置各項參數(shù)為默認值,在YP、BK和GL數(shù)據(jù)集上,分別取出10組不同的查詢點,并在實驗后取均值評估了本文提出的優(yōu)化策略的有效性,觀察實驗圖可以發(fā)現(xiàn),在真實世界的數(shù)據(jù)集Yelp上效率提升了約14倍,在Gowalla和Brightkite數(shù)據(jù)集上效率各提升了約44和55倍,平均下來optimization相較local獲得了約40倍的效率提升。

d)參數(shù)k對效率影響評估。參數(shù)k衡量了用戶對查詢結果內聚程度的偏好,k從結構內聚性方面約束查詢結果,通常情況下越高的k值帶來越少的圖節(jié)點數(shù)量。

為了研究內聚性變化對算法執(zhí)行效率的影響。如圖6所示,通過設置r和查詢屬性數(shù)量為默認值,在YP和GL數(shù)據(jù)集上設置k為20~40,在BK數(shù)據(jù)集上設置k為5~20。分別研究了參數(shù)k的變化對實驗效率的影響,k取值范圍的差異是因為數(shù)據(jù)集平均節(jié)點度不一致。一種直覺是隨著參數(shù)k的增大,算法效率應該獲得提高,因為參與運算的點和邊的數(shù)量可能減少。但實際上通過實驗發(fā)現(xiàn)k并不與local和optimization需要運算的社區(qū)規(guī)模正相關,k的變化導致Basic獲得不同規(guī)模的用戶社區(qū),用戶社區(qū)規(guī)模越大,local和optimization算法的執(zhí)行時間就越長,但總體來說optimization在不同規(guī)模的社區(qū)下都能獲得較好的執(zhí)行效率。

參數(shù)r對效率影響評估:參數(shù)r衡量了用戶對位置網(wǎng)絡構建半徑的偏好,r的變化影響位置網(wǎng)絡構造的范圍,通常情況下越大的r值會帶來越高的圖平均節(jié)點度,進而帶來越多的待處理節(jié)點數(shù)量和邊數(shù)量。

為了研究r的變化對算法執(zhí)行效率的影響。如圖7所示,通過設置k和查詢屬性數(shù)量為默認值,在YP和GL數(shù)據(jù)集上設置r為30~70,在BK數(shù)據(jù)集上設置r為25~125。分別研究了參數(shù)r的變化對實驗效率的影響,r取值范圍的差異是因為數(shù)據(jù)集節(jié)點分布密度的不一致。通過實驗發(fā)現(xiàn)r的變化幾乎不對local和optimization算法的執(zhí)行效率造成影響,因為基于性質1,local和optimization不再對位置網(wǎng)絡進行運算,而r的變化改變了位置網(wǎng)絡的內聚性,但幾乎不改變用戶社區(qū)。

e)查詢屬性數(shù)量對效率影響評估。屬性變化衡量了用戶對具有某一類特殊標簽的位置的喜好,一種直覺是越多、越精細的屬性要求可能導致越少的待處理位置節(jié)點。

如圖8所示,通過設置k和r為默認值,在三個數(shù)據(jù)集上設置查詢屬性數(shù)量為1~3,分別研究了查詢屬性數(shù)量的變化對實驗效率的影響,觀察實驗圖發(fā)現(xiàn)隨著查詢屬性數(shù)量的增長,算法總體效率呈現(xiàn)增長趨勢,這是因為查詢屬性數(shù)量的增長導致待運算的位置網(wǎng)絡節(jié)點數(shù)量大幅降低,盡管用戶社區(qū)規(guī)模變化不大,但是位置網(wǎng)絡節(jié)點數(shù)量的減少造成算法運算代價的降低,圖8(b)體現(xiàn)出了這種代價的降低。圖8(a)(c)屬性數(shù)量從1~2時算法運算時間變化不大是因為候選位置網(wǎng)絡節(jié)點數(shù)量并未因屬性數(shù)量的變化產生太大的波動。

f)算法可伸縮性評估。如圖9所示,通過設置k和r和查詢屬性數(shù)量為默認值,分別伸縮三個數(shù)據(jù)集的規(guī)模為20%~100%,研究了算法的可伸縮性,也研究了規(guī)模變化對算法執(zhí)行效率的影響。觀察圖9(a),算法執(zhí)行效率的波動是因為數(shù)據(jù)集規(guī)模的變化導致結果社區(qū)大小一直在不規(guī)律波動,這是因為basic算法找到的社區(qū)作為local和optimization的待處理社區(qū)。這導致basic的結果規(guī)??赡茈S著數(shù)據(jù)集規(guī)模的變化產生無序的變化。也就造成了local和optimization效率的波動,但在GL和BK上,隨著數(shù)據(jù)集規(guī)模的變化,盡管local和optimization的待處理節(jié)點產生了變化,但處理的規(guī)模并沒有劇烈波動,這導致了整個算法的執(zhí)行代價趨于平穩(wěn)。

4.3 實例研究

通過在真實世界的Yelp數(shù)據(jù)集上,設置k=15,r=0.05 km,使用得到的社區(qū)質量最佳的優(yōu)化算法。本文進行了一個案例研究來證明AGCS的有效性。

組織活動:用戶準備舉行一個聚會,并希望得到一群人和一個特定地點的推薦來幫助用戶舉辦活動。被邀請參加活動的人應該和用戶關系密切,并且他們相互間的聯(lián)系也很密切。推薦舉辦活動的地點應該被參加活動的人群頻繁訪問,并且滿足活動主題。在本例中推薦地點需要能夠提供聚會的相關服務。

為了找到這樣的受邀人員和舉辦活動的候選地點,本文發(fā)出了一個AGCS查詢,它由組織者、用戶訪問過的地點以及用戶需要地點滿足的功能“相關服務”組成。AGCS找到了一組由150個用戶組成的社區(qū)和69個可以用來舉辦聚會的地點,這些地點共被用戶社區(qū)進行過652次歷史訪問,且在空間上鄰近。最終社區(qū)分數(shù)為0.151。

5 結束語

本文提出了屬性地理社區(qū)搜索問題(AGCS),該問題可以在包含屬性的基于位置的社交網(wǎng)絡文中找到一個緊密連接的用戶社區(qū)和一個屬性位置簇。定義了一個衡量社區(qū)質量的社區(qū)分數(shù)計算函數(shù)并設計了一個基本算法、一個局部算法和一個優(yōu)化的局部算法。最后基于三個數(shù)據(jù)集對提出的算法進行了效率和有效性的評估。

AGCS需要用戶提供k、r、查詢點和查詢屬性四個查詢參數(shù),由于用戶并不一定具備相關專業(yè)知識,或者對網(wǎng)絡不甚熟悉。提供合適的參數(shù)以獲取一組滿足用戶需求的社區(qū)對于用戶來說可能是困難的。在未來的工作中,將研究如何以有限的時間成本,通過查詢參數(shù)推薦的方法有效地幫助用戶探索符合用戶需求的一組社區(qū)及其對應的查詢參數(shù)。

參考文獻:

[1]Fang Yixiang,Huang Xin,Qin Lu,et al.A survey of community search over big graphs[J].The VLDB Journal,2020,29(1):353-392.

[2]Sozio M,Gionis A.The community-search problem and how to plan a successful cocktail party[C]//Proc of the 16th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York:ACM Press,2010:939-948.

[3]Liu Yiding,Pham T,Cong Gao,et al.An experimental evaluation of point-of-interest recommendation in location-based social networks[C]//Proc of the VLDB Endowment.New York:ACM Press,2017,10(10):1010-1021.

[4]Kim J,Guo Tao,F(xiàn)eng Kaiyu,et al.Densely connected user community and location cluster search in location-based social networks[C]//Proc of the 29th ACM SIGMOD International Conference on Management of Data.New York:ACM Press,2020:2199-2209.

[5]Zhu Qijun,Hu Haibo,Xu Cheng,et al.Geo-social group queries with minimum acquaintance constraints[J].The VLDB Journal,2017,26(5):709-727.

[6]Wang Kai,Wang Shuting,Cao Xing,et al.Efficient radius-bounded community search in geo-social networks[J].IEEE Trans on Knowledge and Data Engineering,2022,34(9):4186-4200.

[7]Fang Yixiang,Reynold C,Chen Yankai,et al.Effective and efficient attributed community search[J].The VLDB Journal,2017,26(6):803-828.

[8]Zhang Zhiwei,Huang Xin,Xu Jianliang,et al.Keyword-centric community search[C]//Proc of the 35th International Conference on Data Engineering.Piscataway,NJ:IEEE Press,2019:422-433.

[9]Chen Lu,Liu Chengfei,Liao Kewen,et al.Contextual community search over large social networks[C]//Proc of the 35th International Conference on Data Engineering.Piscataway,NJ:IEEE Press,2019:88-99.

[10]Liu Qing,Zhu Yifan,Zhao Minjun,et al.VAC:vertex-centric attributed community search[C]//Proc of the 36th International Conference on Data Engineering.Piscataway,NJ:IEEE Press,2020:937-948.

[11]Apon S H,Ali M E,Ghosh B,et al.Social-spatial group queries with keywords[J].ACM Trans on Spatial Algorithms and Systems,2021,8(1):1-32.

[12]楊成波,周麗華,黃亞群,等.異質網(wǎng)絡中基于關鍵詞屬性的Truss社區(qū)搜索[J].計算機應用研究,2023,40(6):1708-1714.(Yang Chengbo,Zhou Lihua,Huang Yaqun,et al.Truss community search based on keyword attributes in heterogeneous networks[J].Application Research of Computers,2023,40(6):1708-1714.)

[13]Guo Fangda,Yuan Ye,Wang Guoren,et al.Multi-attributed community search in road-social networks[C]//Proc of the 37th International Conference on Data Engineering.Piscataway,NJ:IEEE Press,2021:109-120.

[14]Chen Lu,Liu Chengfei,Zhou Rui,et al.Maximum co-located community search in large scale social networks[C]//Proc of the VLDB Endowment.New York:ACM Press,2018,11(10):1233-1246.

[15]Chen Lu,Liu Chengfei,Zhou Rui,et al.Finding effective geo-social group for impromptu activities with diverse demands[C]//Proc of the 26th ACM SIGKDD Conference on Knowledge Discovery and Data Mining.New York:ACM Press,2020:698-708.

[16]李青青,馬慧芳,李舉,等.屬性網(wǎng)絡中結合用戶偏好的社區(qū)搜索和離群點檢測[J].電子學報,2022,50(9):2172-2180.(Li Qingqing,Ma Huifang,Li Ju,et al.Community search and outlier detection combining user preferences in attribute networks[J].Acta Electronica Sinica,2022,50(9):2172-2180.)

[17]Cho E,Myers S,Leskovec J.Friendship and mobility:user movement in location-based social networks[C]//Proc of the 17th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York:ACM Press,2011:1082-1090.

[18]Cui Wanyun,Xiao Yanghua,Wang Haixun,et al.Local search of communities in large graphs[C]//Proc of ACM SIGMOD International Conference on Management of Data.New York:ACM Press,2014:991-1002.

收稿日期:2023-01-28;

修回日期:2023-03-20

基金項目:國家自然科學基金資助項目(61802268);遼寧省自然科學基金面上項目(2022-MS-303)

作者簡介:宗傳玉(1985-),男,山東濰坊人,副教授,CCF會員,博士,主要研究方向為數(shù)據(jù)清洗、數(shù)據(jù)溯源、查詢處理與優(yōu)化;李箬竹(1997-),女(蒙古族)(通信作者),遼寧朝陽人,碩士研究生,主要研究方向為查詢處理與優(yōu)化(liruozhu@stu.sau.edu.cn);夏秀峰(1964-),男,山東膠南人,教授,CCF會員,博士,主要研究方向為數(shù)據(jù)庫、數(shù)據(jù)倉庫.

休宁县| 合肥市| 砀山县| 舒城县| 峡江县| 珲春市| 双城市| 棋牌| 类乌齐县| 垣曲县| 苗栗市| 巴林右旗| 山西省| 商水县| 香港| 义乌市| 苍溪县| 廉江市| 曲松县| 共和县| 易门县| 龙山县| 枣庄市| 阿拉善右旗| 铁岭市| 万荣县| 楚雄市| 华容县| 靖安县| 斗六市| 阳新县| 台东市| 吉水县| 白朗县| 舟山市| 仲巴县| 贺兰县| 莱阳市| 黑龙江省| 崇仁县| 永春县|