1.一種在線社會網(wǎng)絡(luò)中影響力最大化初始節(jié)點(diǎn)選取方法,其特征在于,包括以下步驟:
步驟1:對在線社會網(wǎng)絡(luò)的數(shù)據(jù)集進(jìn)行處理,得到真實(shí)的用戶執(zhí)行行為記錄得到真實(shí)的用戶執(zhí)行行為記錄和在線社會網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖G(V,E);其中,V表示在線社會網(wǎng)絡(luò)中的節(jié)點(diǎn)集合,包括用戶節(jié)點(diǎn)和消息節(jié)點(diǎn);E代表在線社會網(wǎng)絡(luò)中的邊集合;
計(jì)算考慮時(shí)間延遲后用戶節(jié)點(diǎn)u對v的直接影響力D_Inf(u,v);
步驟2:基于用戶節(jié)點(diǎn)的標(biāo)簽屬性,計(jì)算基于標(biāo)簽的用戶節(jié)點(diǎn)u和v之間基于標(biāo)簽的潛在影響力Tag_Inf(u,v);
步驟3:基于用戶節(jié)點(diǎn)的共同鄰居節(jié)點(diǎn)屬性,計(jì)算基于共同鄰居節(jié)點(diǎn)的用戶節(jié)點(diǎn)u和v之間基于共同鄰居節(jié)點(diǎn)的潛在影響力N_Inf(u,v):
步驟4:將Tag_Inf(u,v)和N_Inf(u,v)加權(quán)計(jì)算得到用戶節(jié)點(diǎn)u和v之間基于用戶節(jié)點(diǎn)屬性的潛在影響力Attr_Pot_Inf(u,v);
步驟5:根據(jù)用戶節(jié)點(diǎn)對于消息執(zhí)行的行為,并由消息的話題關(guān)鍵字得到消息的內(nèi)容相似度,計(jì)算用戶節(jié)點(diǎn)u和v之間的基于行為的潛在影響力Act_Pot_Inf(u,v);
步驟6:將Attr_Pot_Inf(u,v)和Act_Pot_Inf(u,v)加權(quán)計(jì)算得到用戶節(jié)點(diǎn)u和v之間的潛在影響力Pot_Inf(u,v);
步驟7:將D_Inf(u,v)與Pot_Inf(u,v)加權(quán)計(jì)算得到u對v的綜合影響力Comp_Inf(u,v);
步驟8:根據(jù)步驟7計(jì)算結(jié)果,得到在線社會網(wǎng)絡(luò)中綜合影響力傳播路徑,計(jì)算用戶節(jié)點(diǎn)u對v的傳播綜合影響力總和φu,v(v);
步驟9:定義節(jié)點(diǎn)u邊際收益為σMarginal_Revenue(u),計(jì)算公式如下:
其中,s為初始節(jié)點(diǎn)集合S中的節(jié)點(diǎn),φs,u(u)代表節(jié)點(diǎn)s對節(jié)點(diǎn)u的傳播綜合影響力,A代表在線社會網(wǎng)絡(luò)中所有用戶節(jié)點(diǎn)的集合;初始節(jié)點(diǎn)集合的初始值為
由上述公式計(jì)算在線社會網(wǎng)絡(luò)中所有用戶節(jié)點(diǎn)的邊際收益,并將計(jì)算得到的邊際收益從大到小進(jìn)行排序,選取排序后的前10k個(gè)用戶節(jié)點(diǎn)插入到隊(duì)列Q中,從隊(duì)列Q中選出邊際收 益最大的用戶節(jié)點(diǎn)插入初始節(jié)點(diǎn)集合S中;
步驟10:判斷初始節(jié)點(diǎn)集合中元素的個(gè)數(shù)|S|是否已經(jīng)達(dá)到要求的個(gè)數(shù)k,如果未達(dá)到,返回步驟9,重新計(jì)算并更新隊(duì)列Q中剩余節(jié)點(diǎn)的邊際收益,然后重新排序,選出邊際收益最大的用戶節(jié)點(diǎn)插入初始節(jié)點(diǎn)集合S中;如果已經(jīng)達(dá)到,則得到影響力最大化初始節(jié)點(diǎn)集合S。
2.根據(jù)權(quán)利要求1所述的在線社會網(wǎng)絡(luò)中影響力最大化初始節(jié)點(diǎn)選取方法,其特征在于,所述步驟1中,考慮時(shí)間延遲后用戶節(jié)點(diǎn)u對v的直接影響力D_Inf(u,v)的計(jì)算方法為:
設(shè)V中存在兩個(gè)用戶節(jié)點(diǎn)u和v,若v對與u相關(guān)的消息執(zhí)行過行為,則u和v之間存在直接影響力,u和v之間存在一條連邊,u和v稱為相鄰節(jié)點(diǎn);其中執(zhí)行過行為指進(jìn)行過發(fā)布、點(diǎn)贊、評論或轉(zhuǎn)發(fā)行為;與u相關(guān)的消息是指u發(fā)布、點(diǎn)贊、評論或轉(zhuǎn)發(fā)的消息;
給定兩個(gè)相鄰節(jié)點(diǎn)u和v,定義u對v的影響力Inf(u,v)計(jì)算公式如下:
其中,M(u)表示u執(zhí)行過行為的消息集合,|M(u)|代表u執(zhí)行過行為的消息條數(shù);M(v)表示用戶v執(zhí)行過行為的消息集合,|M(v)|代表v執(zhí)行過行為的消息條數(shù);|M(u)∩M(v)|表示u和v共同執(zhí)行過行為的消息條數(shù);
定義考慮時(shí)間延遲后u對v的直接影響力D_Inf(u,v)計(jì)算公式如下:
其中,t表示v對與u相關(guān)的消息執(zhí)行行為的平均時(shí)間延遲,T表示v對與其所有鄰居節(jié)點(diǎn)相關(guān)的消息執(zhí)行行為的平均時(shí)間延遲。
3.根據(jù)權(quán)利要求2所述的在線社會網(wǎng)絡(luò)中影響力最大化初始節(jié)點(diǎn)選取方法,其特征在于,所述步驟2中,基于標(biāo)簽的用戶節(jié)點(diǎn)u和v之間基于標(biāo)簽的潛在影響力Tag_Inf(u,v)的計(jì)算方法為:
將所有用戶節(jié)點(diǎn)的標(biāo)簽匯總構(gòu)建一個(gè)標(biāo)簽詞袋,標(biāo)簽詞袋中所有標(biāo)簽的個(gè)數(shù)記為N;依據(jù)用戶節(jié)點(diǎn)的標(biāo)簽構(gòu)建用戶節(jié)點(diǎn)的標(biāo)簽特征向量,標(biāo)簽特征向量的維度就是標(biāo)簽詞袋中所有標(biāo)簽的個(gè)數(shù)N,每一維代表標(biāo)簽詞袋中的一個(gè)標(biāo)簽;初始化標(biāo)簽特征向量的每一維的元素值都為0;用戶節(jié)點(diǎn)u的標(biāo)簽特征向量記為ξu_tags=(ξu_tag1,ξu_tag2,…,ξu_tagi,…,ξu_tagN);
對于任意一個(gè)用戶節(jié)點(diǎn)u和其對應(yīng)的標(biāo)簽集合,計(jì)算標(biāo)簽集合中每個(gè)標(biāo)簽tagi對應(yīng)于u的標(biāo)簽特征值TF-IDF(Tagi,u),公式如下:
其中n(tag)i,u表示標(biāo)簽tagi在用戶節(jié)點(diǎn)u的所有標(biāo)簽中出現(xiàn)的次數(shù),表示用戶節(jié)點(diǎn)u的所有標(biāo)簽總數(shù),|U|表示在線社會網(wǎng)絡(luò)中所有用戶節(jié)點(diǎn)個(gè)數(shù),|{tagi∈u}|表示在線社會網(wǎng)絡(luò)中擁有標(biāo)簽tagi的用戶節(jié)點(diǎn)個(gè)數(shù);
根據(jù)用戶節(jié)點(diǎn)u對應(yīng)的標(biāo)簽集合中每個(gè)標(biāo)簽tagi對應(yīng)于u的標(biāo)簽特征值TF-IDF(Tagi,u),更新u的標(biāo)簽特征向量ξu_tags中相應(yīng)維的元素值ξu_tagi,得到更新后的ξu_tags;
對于G(V,E)中的任意兩個(gè)用戶節(jié)點(diǎn)u和v,根據(jù)它們相應(yīng)的標(biāo)簽特征向量ξu_tags和ξv_tags的余弦相似度,計(jì)算兩個(gè)用戶節(jié)點(diǎn)u和v之間基于標(biāo)簽的潛在影響力Tag_Inf(u,v):
Tag_Inf(u,v)=cos(ξu_tags,ξv_tags)。
4.根據(jù)權(quán)利要求3所述的在線社會網(wǎng)絡(luò)中影響力最大化初始節(jié)點(diǎn)選取方法,其特征在于,所述步驟3中,基于共同鄰居節(jié)點(diǎn)的用戶節(jié)點(diǎn)u和v之間基于共同鄰居節(jié)點(diǎn)的潛在影響力N_Inf(u,v)的計(jì)算方法為:
對于G(V,E)中任意一個(gè)用戶節(jié)點(diǎn),依據(jù)鄰居節(jié)點(diǎn)構(gòu)建用戶的鄰居節(jié)點(diǎn)特征向量,維度為在線社會網(wǎng)絡(luò)中的用戶節(jié)點(diǎn)個(gè)數(shù)|U|,初始化鄰居節(jié)點(diǎn)特征向量的每一維的元素值均為0;用戶節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)特征向量記為ξu_neighbors=(ξu_neighbor1,ξu_neighbor2,…,ξu_neighbori,…,ξu_neighbor|U|);
對于用戶節(jié)點(diǎn)u和其對應(yīng)的鄰居節(jié)點(diǎn)集合,計(jì)算鄰居節(jié)點(diǎn)集合每個(gè)鄰居節(jié)點(diǎn)neighbori對于u的鄰居節(jié)點(diǎn)特征值TF-IDF(Neighbori,u),公式如下:
其中n(neighbor)i,u表示鄰居節(jié)點(diǎn)neighbori在u的所有鄰居中出現(xiàn)的次數(shù)(取值為1), 表示u的所有鄰居節(jié)點(diǎn)個(gè)數(shù),|{neighbori∈u}|表示在線社會網(wǎng)絡(luò)中擁有鄰居 節(jié)點(diǎn)neighbori的用戶節(jié)點(diǎn)個(gè)數(shù);
根據(jù)每個(gè)鄰居節(jié)點(diǎn)neighbori對于u的鄰居節(jié)點(diǎn)特征值TF-IDF(Neighbori,u),更新u的鄰居節(jié)點(diǎn)特征向量ξu_neighbors中相應(yīng)維的元素值ξu_neighbori,得到更新后的ξu_neighbors;
對于G(V,E)中的任意兩個(gè)用戶節(jié)點(diǎn)u和v,根據(jù)它們相應(yīng)的鄰居節(jié)點(diǎn)特征向量ξu_neighbors和ξv_neighbors的余弦相似度,計(jì)算兩個(gè)用戶節(jié)點(diǎn)u和v之間基于共同鄰居節(jié)點(diǎn)的潛在影響力N_Inf(u,v):
N_Inf(u,v)=cos(ξu_neighbors,ξv_neighbors)。
5.根據(jù)權(quán)利要求4所述的在線社會網(wǎng)絡(luò)中影響力最大化初始節(jié)點(diǎn)選取方法,其特征在于,所述步驟4中,用戶節(jié)點(diǎn)u和v之間基于用戶節(jié)點(diǎn)屬性的潛在影響力Attr_Pot_Inf(u,v)的計(jì)算方法為:
Attr_Pot_Inf(u,v)=α·Tag_Inf(u,v)+(1-α)·N_Inf(u,v)
其中0<α<1。
6.根據(jù)權(quán)利要求5所述的在線社會網(wǎng)絡(luò)中影響力最大化初始節(jié)點(diǎn)選取方法,其特征在于,所述步驟5中,用戶節(jié)點(diǎn)u和v之間的基于行為的潛在影響力Act_Pot_Inf(u,v)的計(jì)算方法為:
步驟5.1:挖掘異構(gòu)節(jié)點(diǎn)構(gòu)成的邊<用戶-消息>、<消息-用戶>的特征:
對于特定用戶節(jié)點(diǎn)u,針對其發(fā)布的消息m,計(jì)算接收到其他用戶點(diǎn)贊、評論和轉(zhuǎn)發(fā)行為次數(shù)分別為a1、a2和a3,構(gòu)建行為次數(shù)特征向量ξaction={a1,a2,a3},設(shè)置相應(yīng)的權(quán)重向量為ω={m1,m2,m3},其中m1,m2,m3∈(0,1);計(jì)算用戶節(jié)點(diǎn)u對于其發(fā)布的消息m產(chǎn)生的影響力UM_Inf(u,m),公式為:
同理,消息m對于它的發(fā)布者u傳遞作用產(chǎn)生的影響力MU_Inf(m,u)等價(jià)于用戶u對于其發(fā)布的消息m產(chǎn)生的影響力UM_Inf(u,m),即MU_Inf(m,u)=UM_Inf(u,m)。
步驟5.2:挖掘消息節(jié)點(diǎn)m構(gòu)成的邊<消息-消息>的特征,根據(jù)消息的話題關(guān)鍵字得到消息的內(nèi)容相似度,步驟具體為:
提取每條消息的話題關(guān)鍵字,將所有消息的話題關(guān)鍵字匯總,構(gòu)建話題關(guān)鍵字詞袋,話 題關(guān)鍵字詞袋中話題關(guān)鍵字總數(shù)記為M;針對每條消息構(gòu)建話題關(guān)鍵字特征向量,話題關(guān)鍵字特征向量的維度就是話題關(guān)鍵字詞袋中話題關(guān)鍵字總數(shù)M,初始化話題關(guān)鍵字特征向量的每一維的元素值均為0;消息節(jié)點(diǎn)m的話題關(guān)鍵字特征向量記為ξm_topics=(ξm_topic1,ξm_topic2,…,ξm_topici,…,ξm_topicM);
對于消息節(jié)點(diǎn)m和其對應(yīng)的話題關(guān)鍵字集合,計(jì)算話題關(guān)鍵字集合中每個(gè)話題關(guān)鍵字topici對于消息節(jié)點(diǎn)m的話題關(guān)鍵字特征值TF-IDF(topici,m),計(jì)算如下:
其中n(topic)i,m表示話題關(guān)鍵字topici在消息節(jié)點(diǎn)m的所有話題關(guān)鍵字中出現(xiàn)的次數(shù), 表示消息節(jié)點(diǎn)m的所有話題關(guān)鍵字出現(xiàn)的次數(shù)總和,|M|表示在線社會網(wǎng)絡(luò)中的消息節(jié)點(diǎn)個(gè)數(shù),|{topici∈m}|表示擁有話題關(guān)鍵字topici的消息節(jié)點(diǎn)個(gè)數(shù);
根據(jù)每個(gè)話題關(guān)鍵字topici對于消息節(jié)點(diǎn)m的話題關(guān)鍵字特征值TF-IDF(topici,m),更新消息節(jié)點(diǎn)m的話題關(guān)鍵字特征向量ξm_topics中相應(yīng)維的元素值ξm_topici,得到更新后的ξm_topics;
對于G(V,E)中的任意兩個(gè)消息節(jié)點(diǎn)m和n,根據(jù)它們相應(yīng)的話題特征向量ξm_topics和ξn_topics的余弦相似度,計(jì)算兩個(gè)消息節(jié)點(diǎn)m和n的內(nèi)容相似度:
Sim(m,n)=cos(ξm_topics,ξn_topics);
步驟5.3:對于給定用戶u和v,根據(jù)u和v發(fā)布的消息的相似度,通過以下公式來計(jì)算基于用戶行為的用戶之間的潛在影響力Act_Pot_Inf(u,v):
其中,M′(u)表示u發(fā)布過的消息集合,M′(v)表示用戶v發(fā)布過的消息集合。
7.根據(jù)權(quán)利要求6所述的在線社會網(wǎng)絡(luò)中影響力最大化初始節(jié)點(diǎn)選取方法,其特征在于,所述步驟6中,用戶節(jié)點(diǎn)u和v之間的潛在影響力Pot_Inf(u,v)的計(jì)算方法為:
Pot_Inf(u,v)=λ·Attr_Pot_Inf(u,v)+(1-λ)·Act_Pot_Inf(u,v)
其中λ∈(0,1)。
8.根據(jù)權(quán)利要求7所述的在線社會網(wǎng)絡(luò)中影響力最大化初始節(jié)點(diǎn)選取方法,其特征在于, 所述步驟7中,u對v的綜合影響力Comp_Inf(u,v)的計(jì)算方法為:
Comp_Inf(u,v)=D_Inf(u,v)+Pot_Inf(u,v)。
9.根據(jù)權(quán)利要求8所述的在線社會網(wǎng)絡(luò)中影響力最大化初始節(jié)點(diǎn)選取方法,其特征在于,所述步驟8中,用戶節(jié)點(diǎn)u對v的傳播綜合影響力總和φu,v(v)的計(jì)算方法為:
其中,條件X表示u對v沒有綜合影響力傳播路徑,則φu,v(v)=0;
條件Y表示u對v的綜合影響力傳播路徑只存在一條一跳路徑u→v,則φu,v(v)=Comp_Inf(u,v);
條件Z表示u對v的綜合影響力傳播路徑存在多條,其中φu,w(w)表示用戶節(jié)點(diǎn)u對用戶節(jié)點(diǎn)w的傳播綜合影響力總和;I(v)表示在線社會網(wǎng)絡(luò)中對v的綜合影響力傳播路徑存在一條一跳路徑的用戶節(jié)點(diǎn)集合{w1,w2,...,wn}。