本發(fā)明涉及社交網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是指一種基于改進pagerank的多角色社會活動組織方法。
背景技術(shù):
隨著web2.0技術(shù)的快速發(fā)展以及在線交互式應(yīng)用的迅速普及,社交網(wǎng)絡(luò)已經(jīng)成為人們獲取信息和交流信息的重要媒介,以新浪微博、騰訊微信為代表的社交網(wǎng)絡(luò)開始逐漸成為人們生活中不可缺少的部分。社交網(wǎng)絡(luò)在工業(yè)界的蓬勃發(fā)展,使得研究人員有機會通過對海量社交數(shù)據(jù)的研究,分析用戶的行為特征和各種屬性。其中近幾年以社會活動為主的基于事件的社交網(wǎng)絡(luò)的出現(xiàn),使得在社會活動方面的研究受到越來越多的關(guān)注。
社會活動的成功舉辦需要滿足多方面的限制條件:活動舉辦時間、地點、參與者的人數(shù)和參與者的角色等。由于通過社交網(wǎng)絡(luò)平臺報名參與活動的候選參與者不能完全滿足社會活動的需求,并且活動組織者對于報名用戶的信息未知,因此需要依賴社交網(wǎng)絡(luò)平臺挑選合適的活動參與者。在工業(yè)界,雖然已有的基于事件的社交網(wǎng)絡(luò)平臺能夠幫助活動組織者提升活動組織效率,但是多數(shù)只是提供了活動信息分享平臺,并未提供滿足活動需求的活動組織策略。同時,在學術(shù)界,對于社會活動組織問題的研究成果較少。所以幫助活動組織者挑選合適活動參與者的問題,即社會活動組織問題,是亟待解決的問題。
現(xiàn)有技術(shù)中已經(jīng)存在一些社會活動組織問題的相關(guān)研究,但上述研究均沒有考慮社會活動中的角色需求。在實際生活中,部分社會活動對于參與者的角色是有要求的,例如,舉辦一個技術(shù)會議,需要活動參與者是幾個不同技術(shù)領(lǐng)域的專家(即活動參與者角色)。所以現(xiàn)有技術(shù)不能滿足實際應(yīng)用的需要。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提出一種基于改進pagerank的多角色社會活動組織方法,能夠在滿足社會活動對于人數(shù)和角色需求的前提下,最大化活動參與者的意愿度。
基于上述目的本發(fā)明提供的一種基于改進pagerank的多角色社會活動組織方法,包括:
將報名參與社會活動的候選參與者及其關(guān)系抽象為社交網(wǎng)絡(luò);
生成目標函數(shù)和約束條件;其中,所述目標函數(shù)用于反應(yīng)候選參與者意愿度,所述約束條件用于反應(yīng)所述社會活動的組織要求;
在所述社交網(wǎng)絡(luò)中進行挑選,獲得參與者集合;所述參與者集合使所述目標函數(shù)的取值最優(yōu),且所述參與者集合中的每個參與者均符合所述約束條件;
根據(jù)所述參與者集合確定所述社會活動的參與者。
在一些實施方式中,所述社交網(wǎng)絡(luò)表達為帶權(quán)無向圖g=(v,e);其中,v表示社交網(wǎng)絡(luò)中所有節(jié)點的集合,每個節(jié)點vi∈v代表一個候選參與者;e表示社交網(wǎng)絡(luò)中所有邊的集合,每條邊eij∈e上的邊權(quán)值τij代表兩個候選參與者vi與vj之間的社會關(guān)系程度;
節(jié)點vi包括點權(quán)值ηi和屬性值ri;其中,點權(quán)值ηi代表候選參與者vi對于所述社會活動的興趣度,屬性值ri=ru∈r,表示活動候選參與者vi的角色屬性為ru,且具有唯一的角色屬性。
在一些實施方式中,所述參與者集合為f,其表示為:由節(jié)點集合v中挑選出的k個節(jié)點。
在一些實施方式中,所述目標函數(shù)的表達式h(f)為:
所述目標函數(shù)的含義為:f相比于其他節(jié)點集合,其意愿度為最大,其中意愿度的衡量為節(jié)點上權(quán)重值與邊上的權(quán)重值之和。
在一些實施方式中,所述約束條件具體包括:
f中的節(jié)點屬性為ru的節(jié)點個數(shù)需為特定值ku,即|fu|=ku,節(jié)點個數(shù)需為特定值k,即|f|=k=k1+k2+…+ku+…+ku;
f的導(dǎo)出子圖中任意兩個節(jié)點的距離不能超過特定值m,即dis(vi,vj)≤m,其中兩個節(jié)點之間距離為最短路徑的長度。
在一些實施方式中,所述在所述社交網(wǎng)絡(luò)中進行挑選,獲得參與者集合具體包括:
根據(jù)節(jié)點的點權(quán)值和邊權(quán)值對pagerank算法進行改進,生成改進pagerank算法;
使用所述改進pagerank算法選取種子節(jié)點;其中,所述種子節(jié)點還包括樞紐節(jié)點,所述樞紐節(jié)點的定義為:至少有一個鄰居節(jié)點的角色屬性和此節(jié)點的角色屬性不同的節(jié)點;所述樞紐節(jié)點用于確保參與者集合為f的導(dǎo)出子圖是連接圖;
以所述種子節(jié)點為起始節(jié)點,挑選使h(f)最大化的其他節(jié)點,替換掉不符合所述約束條件的節(jié)點,生成所述參與者集合為f。
在一些實施方式中,所述根據(jù)節(jié)點的點權(quán)值和邊權(quán)值對pagerank算法進行改進,生成改進pagerank算法具體包括:
在pagerank算法上添加:與點權(quán)值相關(guān)的第一函數(shù)wi=αηi和與邊權(quán)值相關(guān)的第二函數(shù)bij=δτij;設(shè)當節(jié)點vi的角色屬性ri與其鄰居節(jié)點vj的角色屬性rj相同時,代表兩個節(jié)點屬性關(guān)系的rij的值為1;當不同時,rij的值為ε>1,并把rij添加到pagerank算法中,rij表達式為:
相應(yīng)的,所述改進的pagerank的表達式為:
其中,imp(vi)表示節(jié)點vi的重要性值,ni表示節(jié)點vi的鄰居節(jié)點的集合,
在一些實施方式中,所述使用所述改進pagerank算法選取種子節(jié)點還包括:
使用改進的pagerank算法計算所述樞紐節(jié)點的重要性值;在每個角色中選擇一個樞紐節(jié)點作為樞紐種子節(jié)點;作為所述樞紐種子節(jié)點需滿足的條件是,所挑選出的u個樞紐種子節(jié)點的重要性值之和最大,且所導(dǎo)出的圖是連通圖;
分別再從每個角色內(nèi)選擇t個非樞紐種子節(jié)點;其中,在每個角色區(qū)域內(nèi)根據(jù)節(jié)點的重要性值,挑選出重要性值最高的前t個節(jié)點與樞紐種子節(jié)點作為種子節(jié)點,并且挑選出的t個節(jié)點與樞紐種子節(jié)點之間的距離不能超過
在一些實施方式中,所述以所述種子節(jié)點為起始節(jié)點,挑選使h(f)最大化的其他節(jié)點還包括:
從每個種子節(jié)點開始,選擇ku-1個使意愿度的增量最大化的節(jié)點;如果fui=fuj,則使用種子節(jié)點選擇策略重新選擇一個節(jié)點作為種子節(jié)點;根據(jù)h(fui)的值對fui進行排序;選擇包含樞紐種子節(jié)點的集合中排名第一的集合作為fu。
在一些實施方式中,所述替換掉不符合所述約束條件的節(jié)點具體包括:
選擇不滿足約束條件的節(jié)點對;用與被替換的節(jié)點相同角色的f的鄰居節(jié)點來替換不滿足約束條件的節(jié)點,其中替換節(jié)點需滿足約束條件并使h(f)的增量最大化,被替換的節(jié)點是使h(f)的遞減最小的節(jié)點。
從上面所述可以看出,本發(fā)明提供的基于改進pagerank的多角色社會活動組織方法,基于事件的社交網(wǎng)絡(luò)中當報名的活動參與者人數(shù)超出了活動所能容納的人數(shù)且活動對于參與者有角色需求時,幫助活動組織者在候選的活動參與者中挑選合適的活動參與者,使得在滿足活動人數(shù)、角色要求的同時,最大化活動參與者意愿度。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例的基于改進pagerank的多角色社會活動組織方法流程圖;
圖2為本發(fā)明實施例中的多角色的社會活動組織實例示意圖;
圖3為本發(fā)明實施例中的多角色的社會活動組織實例處理結(jié)果示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,并參照附圖,對本發(fā)明進一步詳細說明。
需要說明的是,本發(fā)明實施例中所有使用“第一”和“第二”的表述均是為了區(qū)分兩個相同名稱非相同的實體或者非相同的參量,可見“第一”“第二”僅為了表述的方便,不應(yīng)理解為對本發(fā)明實施例的限定,后續(xù)實施例對此不再一一說明。
本發(fā)明實施例提供了一種基于改進pagerank的多角色社會活動組織方法。參考圖1,為本發(fā)明實施例的基于改進pagerank的多角色社會活動組織方法流程圖。
所述基于改進pagerank的多角色社會活動組織方法,包括以下步驟:
步驟101、將報名參與社會活動的候選參與者及其關(guān)系抽象為社交網(wǎng)絡(luò);
步驟102、生成目標函數(shù)和約束條件;其中,所述目標函數(shù)用于反應(yīng)候選參與者意愿度,所述約束條件用于反應(yīng)所述社會活動的組織要求;
步驟103、在所述社交網(wǎng)絡(luò)中進行挑選,獲得參與者集合;所述參與者集合使所述目標函數(shù)的取值最優(yōu),且所述參與者集合中的每個參與者均符合所述約束條件;
步驟104、根據(jù)所述參與者集合確定所述社會活動的參與者。
由上述實施例可見,本發(fā)明的基于改進pagerank的多角色社會活動組織方法,基于事件的社交網(wǎng)絡(luò)中當報名的活動參與者人數(shù)超出了活動所能容納的人數(shù)且活動對于參與者有角色需求時,幫助活動組織者在候選的活動參與者中挑選合適的活動參與者,使得在滿足活動人數(shù)、角色要求的同時,最大化活動參與者意愿度。
下面通過一個具體的實施例進一步說明本發(fā)明的基于改進pagerank的多角色社會活動組織方法。
本實施例中,首先建立多角色社會活動的組織問題的形式化描述,其具體包括:
社交網(wǎng)絡(luò):本發(fā)明將報名參與活動的候選參與者及其關(guān)系抽象為社交網(wǎng)絡(luò),標記為帶權(quán)無向圖g=(v,e)。假設(shè)活動需要u種角色的活動參與者,r={r1,r2,...ru,...ru}表示所需的u種角色的集合。其中v表示社交網(wǎng)絡(luò)中所有節(jié)點的集合,每個節(jié)點vi∈v代表一個候選參與者,節(jié)點上的點權(quán)值ηi代表一個候選參與者(即節(jié)點vi)對于此活動的興趣度,值越大表示對此活動的興趣度越高,相反則越低。節(jié)點vi上的屬性值ri=ru∈r,表示活動候選參與者vi的角色屬性為ru,且只有唯一的角色屬性。e表示社交網(wǎng)絡(luò)中所有邊的集合,每條邊eij∈e上的邊權(quán)值τij代表兩個候選參與者vi與vj之間的社會關(guān)系程度,值越大表示兩個候選參與者之間的關(guān)系越親密。
多角色社會活動組織問題:從節(jié)點集合v中挑選k個節(jié)點組成滿足下述條件的結(jié)果f。1)f中的節(jié)點屬性為ru的節(jié)點個數(shù)需為特定值ku,即|fu|=ku,節(jié)點個數(shù)需為特定值k,即|f|=k=k1+k2+…+ku+…+ku;2)f的導(dǎo)出子圖中任意兩個節(jié)點的距離不能超過特定值m,即dis(vi,vj)≤m,其中兩個節(jié)點之間距離為最短路徑的長度;3)f相比于其他節(jié)點集合,其意愿度為最大,其中意愿度的衡量為節(jié)點上權(quán)重值與邊上的權(quán)重值之和,即
s.t.|fu|=ku
dis(vi,vj)≤m。
然后,本實施例通過基于改進pagerank的多角色社會活動組織算法(mrsao-ipr)對上述的多角色社會活動的組織問題進行求解。具體的,mrsao-ipr算法主要分為三步:首先,挑選社交網(wǎng)絡(luò)中重要的節(jié)點作為種子節(jié)點。其中種子節(jié)點由樞紐節(jié)點和其他種子節(jié)點組成。樞紐節(jié)點定義為,至少有一個鄰居節(jié)點的角色屬性和此節(jié)點的角色屬性不同的節(jié)點。樞紐節(jié)點的作用為確保結(jié)果f的導(dǎo)出子圖是連接圖。然后,以種子節(jié)點為起始節(jié)點,挑選使h(f)最大化的其他節(jié)點。最后,替換掉不符合約束條件的節(jié)點。下面,本實施例給出一個mrsao-ipr算法的偽代碼實現(xiàn):
(一)基于改進pagerank的種子節(jié)點挑選算法
根據(jù)節(jié)點在整個社交網(wǎng)絡(luò)中的重要性,來挑選重要的節(jié)點作為種子節(jié)點。因為點權(quán)值(興趣度)以及邊權(quán)值(社會關(guān)系強度)對于衡量節(jié)點的重要性有重要的影響,所以在pagerank算法上添加兩個函數(shù)來強調(diào)點權(quán)值與邊權(quán)值對節(jié)點重要性的影響。這兩個函數(shù)分別為,與點權(quán)值相關(guān)的wi=αηi和與邊權(quán)值相關(guān)的bij=δτij。因為樞紐節(jié)點的作用是確保結(jié)果f的導(dǎo)出子圖為連接圖,所以為了強調(diào)樞紐節(jié)點的重要性,設(shè)當節(jié)點vi的角色屬性rj與其鄰居節(jié)點vj的角色屬性rj相同時,代表兩個節(jié)點屬性關(guān)系的rij的值為1;當不同時,rij的值為ε>1。并把rij添加到pagerank算法中,rij表達式為:
改進的pagerank的表達式為:
其中,imp(vi)表示節(jié)點vi的重要性值,ni表示節(jié)點vi的鄰居節(jié)點的集合,
為了使結(jié)果f的導(dǎo)出子圖是連通圖,所以在每個角色區(qū)域內(nèi)選擇樞紐節(jié)點作為樞紐種子節(jié)點(算法1中的步驟10到步驟13)。首先,使用改進的pagerank算法,計算樞紐節(jié)點的重要性值(算法1中的步驟10)。然后,在每個角色中選擇一個樞紐節(jié)點作為樞紐種子節(jié)點。作為樞紐種子節(jié)點需滿足的條件是,所挑選出的u個樞紐種子節(jié)點的重要性值之和最大,且所導(dǎo)出的圖是連通圖。
為了解決貪婪算法搜索空間有限且容易陷入局部最優(yōu)解的問題,分別再從每個角色內(nèi)選擇t個非樞紐種子節(jié)點(算法1中的步驟15至步驟16)。具體來說,在每個角色區(qū)域內(nèi)根據(jù)節(jié)點的重要性值(算法1中的步驟15),挑選出重要性值最高的前t個節(jié)點與樞紐種子節(jié)點作為種子節(jié)點,并且挑選出的t個節(jié)點與樞紐種子節(jié)點之間的距離不能超過
(二)種子節(jié)點擴展策略
mrsao-ipr算法的第二階段,分別從種子節(jié)點出發(fā),貪婪地選擇使h(f)增量最大的節(jié)點。由于種子節(jié)點的重要性是全局的,所以從種子節(jié)點出發(fā)挑選其他節(jié)點所生成的結(jié)果接近最優(yōu)解。我們在算法2中詳細描述了種子節(jié)點擴展策略(算法1中的步驟17)。首先,從每個種子節(jié)點開始,選擇ku-1個使意愿度的增量最大化的節(jié)點(算法2中的步驟2到步驟11)。如果fui=fuj,則使用種子節(jié)點選擇策略(算法1中的步驟16)重新選擇一個節(jié)點作為種子節(jié)點。然后,根據(jù)h(fui)的值對fui進行排序(算法2中的步驟12)。最后,選擇包含樞紐種子節(jié)點的集合中排名第一的集合作為fu(算法2中的步驟13)。本實施例給出一個種子節(jié)點擴展策略的偽代碼實現(xiàn):
(3)替換策略
由于mrsao-ipr算法在不同的角色區(qū)域內(nèi)并行運行,可能導(dǎo)致最后的結(jié)果中的節(jié)點不滿足約束條件,所以我們提出替換不滿足約束條件的節(jié)點的替換策略。首先,選擇不滿足約束條件的節(jié)點對。然后,用與被替換的節(jié)點相同角色的f的鄰居節(jié)點來替換不滿足約束條件的節(jié)點,其中替換節(jié)點需滿足約束條件并使h(f)的增量最大化,被替換的節(jié)點是使h(f)的遞減最小的節(jié)點。
本發(fā)明實施例中,所使用的用來驗證算法可行性與有效性的數(shù)據(jù)集來源于dblp。數(shù)據(jù)集中的數(shù)據(jù)為論文信息和論文作者的信息。具體的,我們提取數(shù)據(jù)集中四個研究領(lǐng)域的數(shù)據(jù)來進行試驗:數(shù)據(jù)庫(db),數(shù)據(jù)挖掘(dm),理論(t)和人工智能(ai)。對數(shù)據(jù)進行預(yù)處理后,得到包括9264個節(jié)點,152302個邊和4種角色(不同領(lǐng)域分別代表不同的角色)的社交網(wǎng)絡(luò)數(shù)據(jù)。其中,節(jié)點表示活動候選參與者(作者),邊表示兩個候選參與者之間的關(guān)系(合著作者)。候選參與者(作者)所在的研究領(lǐng)域代表其(節(jié)點)角色。節(jié)點上的點權(quán)值表示候選參與者對活動的興趣度,對用戶對于活動興趣度的分析,以及作者所著論文數(shù)量,對其進行處理,使其遵循冪律分布。邊上的邊權(quán)值表示兩個候選參與者之間的親密程度,計算方法為計算兩個合著作者的關(guān)系程度:
本發(fā)明實施例中,相關(guān)的參數(shù)設(shè)置為:阻尼系數(shù)d=0.85;公式wi=αηi中α=1;公式bij=δτij中δ=1;rij中ε=1.2。
最后,給出一個應(yīng)用本發(fā)明實施例的方法的具體應(yīng)用實例。
本發(fā)明可以應(yīng)用于基于事件的社交網(wǎng)絡(luò)中,服務(wù)于借助此網(wǎng)絡(luò)平臺組織活動的活動組織者,幫助其挑選合適的活動參與者,進而使得活動圓滿舉行。例如,需要舉辦一個技術(shù)會議,此會議需要k個活動參與者,但是這些活動參與者必須滿足以下條件,k1個網(wǎng)絡(luò)專家(r1),k2個語言處理專家(r2),k3個人工智能專家(r3)和k4個數(shù)據(jù)挖掘?qū)<?r4)。因此,活動參與者需從報名的候選參與者中挑選合適的活動參與者,如圖2所示,此圖表示候選的活動參與者的所屬于的技術(shù)領(lǐng)域,對此活動的興趣度,以及候選者之間的社會關(guān)系。假設(shè)在這種情況下每個角色的參加者的數(shù)量是k1=2,k2=4,k3=4和k4=5。為了實現(xiàn)最大化參與者意愿度的目標,選擇陰影區(qū)域中的節(jié)點,如圖3所示,這是因為此組合的意愿度值相比于其他組合最大。
所屬領(lǐng)域的普通技術(shù)人員應(yīng)當理解:以上任何實施例的討論僅為示例性的,并非旨在暗示本公開的范圍(包括權(quán)利要求)被限于這些例子;在本發(fā)明的思路下,以上實施例或者不同實施例中的技術(shù)特征之間也可以進行組合,步驟可以以任意順序?qū)崿F(xiàn),并存在如上所述的本發(fā)明的不同方面的許多其它變化,為了簡明它們沒有在細節(jié)中提供。
本發(fā)明的實施例旨在涵蓋落入所附權(quán)利要求的寬泛范圍之內(nèi)的所有這樣的替換、修改和變型。因此,凡在本發(fā)明的精神和原則之內(nèi),所做的任何省略、修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。