本發(fā)明涉及社交網(wǎng)絡(luò)信息分析領(lǐng)域,主要涉及根據(jù)社交網(wǎng)絡(luò)用戶行為分析,構(gòu)建一種動(dòng)態(tài)微博轉(zhuǎn)發(fā)行為預(yù)測(cè)模型。
背景技術(shù):
隨著WEB2.0理念的普及與相關(guān)技術(shù)的日益成熟,社交網(wǎng)站如Twitter、Facebook、新浪微博等對(duì)人們的生活產(chǎn)生了巨大影響。人們?cè)谏缃痪W(wǎng)站中更新狀態(tài)或發(fā)送廣播,以此來(lái)展現(xiàn)自己的生活狀態(tài)、發(fā)表感想或與朋友們分享信息。社交網(wǎng)站為用戶相互交流、發(fā)表意見和觀點(diǎn)提供了非常便利的平臺(tái)。對(duì)社交網(wǎng)站的用戶行為進(jìn)行建模和預(yù)測(cè)對(duì)于安全、商業(yè)等多個(gè)領(lǐng)域具有十分重要的社會(huì)意義和應(yīng)用價(jià)值,近年來(lái)逐漸得到研究者的重視。
新浪微博是一款為大眾提供娛樂(lè)休閑生活服務(wù)的信息分享和交流平臺(tái),于2009年8月14日開始內(nèi)測(cè)。截至2014年6月底,我國(guó)微博用戶規(guī)模為2.75億,用戶之間組成復(fù)雜的關(guān)注網(wǎng)絡(luò),平均每天發(fā)送微博近1億條,信息沿著用戶間的關(guān)注關(guān)系傳播,形成傳播擴(kuò)散網(wǎng)絡(luò)。用戶轉(zhuǎn)發(fā)是微博中最有效的信息傳播機(jī)制,當(dāng)前轉(zhuǎn)發(fā)預(yù)測(cè)的研究主要集中在興趣特征、用戶影響力以及用戶屬性等對(duì)轉(zhuǎn)發(fā)行為預(yù)測(cè)結(jié)果的影響。所使用的方法包括基于文本的分析、基于用戶影響力的分析和基于網(wǎng)絡(luò)結(jié)構(gòu)的分析等。其中,基于文本的分析主要利用概率主題模型分析文本,根據(jù)文本主題與用戶興趣的相似度預(yù)測(cè)用戶的轉(zhuǎn)發(fā)行為。例如:Xuning Tang等人在《接下來(lái)誰(shuí)將參與?預(yù)測(cè)黑色網(wǎng)絡(luò)社區(qū)的參與》(Who will be Participating Next?Predicting the Participation of Dark Web Community)中構(gòu)建了一個(gè)用戶興趣和話題檢測(cè)模型(UTD)。在給定已有部分用戶對(duì)某個(gè)帖子進(jìn)行回復(fù)的條件下,UTD模型通過(guò)獲取話題內(nèi)容和發(fā)展趨勢(shì)預(yù)測(cè)哪些用戶會(huì)對(duì)新的帖子產(chǎn)生興趣;基于用戶影響力分析主要研究用戶在社交網(wǎng)絡(luò)中對(duì)于其他用戶的影響力,并與影響用戶轉(zhuǎn)發(fā)、評(píng)論的行為因素相結(jié)合,從而達(dá)到預(yù)測(cè)用戶轉(zhuǎn)發(fā)概率的目的。例如:Weng J等人在《基于主題找到影響力用戶》(TwitterRank:Finding Topic-sensitive Influential Twitterers)中通過(guò)用戶影響力評(píng)價(jià),幫助用戶迅速找出自己感興趣的信息,從而解決了“微博網(wǎng)絡(luò)中朋友過(guò)多所導(dǎo)致的信息過(guò)載問(wèn)題”;基于網(wǎng)絡(luò)結(jié)構(gòu)的分析主要利用小世界理論、用戶出入度等理論,構(gòu)建因子圖模型預(yù)測(cè)用戶的轉(zhuǎn)發(fā)行為。例如:Jing Zhang等人在《誰(shuí)影響了你?通過(guò)社會(huì)影響力預(yù)測(cè)轉(zhuǎn)發(fā)行為》(Who Influenced You?Predicting Re-tweet via social Influence Locality)中研究了基于用戶好友圈子,結(jié)合因子圖模型和社會(huì)影響力分析的轉(zhuǎn)發(fā)預(yù)測(cè)方法。
用戶的信息轉(zhuǎn)發(fā)行為是多因素共同作用的結(jié)果,但上述現(xiàn)有技術(shù)未考慮到用戶行為的復(fù)雜性,僅僅集中于一方面預(yù)測(cè)用戶轉(zhuǎn)發(fā)行為,預(yù)測(cè)結(jié)果并不準(zhǔn)確,而且無(wú)法評(píng)估影響用戶行為的各個(gè)特征的重要性。另外,當(dāng)前的研究主要集中在網(wǎng)絡(luò)靜態(tài)特征對(duì)信息傳播的影響,但卻忽視了網(wǎng)絡(luò)動(dòng)態(tài)特性的重要作用,造成動(dòng)態(tài)網(wǎng)絡(luò)靜態(tài)化問(wèn)題。例如,用戶活躍度具有動(dòng)態(tài)特性,用戶的活躍度隨時(shí)間不斷變化,其信息擴(kuò)散速度和范圍也將隨之改變。因此,在網(wǎng)絡(luò)靜態(tài)特征的基礎(chǔ)上,應(yīng)充分考慮動(dòng)態(tài)因素對(duì)信息傳播的影響。由于社交網(wǎng)絡(luò)中充斥著海量的信息,挖掘用戶興趣是提高信息轉(zhuǎn)發(fā)預(yù)測(cè)效果的主要途徑之一,利用LDA主題模型在大文本處理和特征降維方面的巨大優(yōu)勢(shì),可以幫助用戶迅速找出自己感興趣的信息。本文重點(diǎn)針對(duì)網(wǎng)絡(luò)動(dòng)態(tài)特性、用戶行為表征以及用戶特征重要性評(píng)定等問(wèn)題,引入并優(yōu)化LDA主題模型,對(duì)用戶行為進(jìn)行建模分析,并采用時(shí)間離散化及時(shí)間切片方法,增強(qiáng)LDA模型對(duì)動(dòng)態(tài)用戶特征的處理能力,動(dòng)態(tài)監(jiān)測(cè)用戶活躍度,提高轉(zhuǎn)發(fā)預(yù)測(cè)的準(zhǔn)確度。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)現(xiàn)有技術(shù)存在的問(wèn)題:針對(duì)信息傳播中網(wǎng)絡(luò)動(dòng)態(tài)特性、用戶行為表征以及用戶特征重要性評(píng)定等問(wèn)題,提出了一種有效估計(jì)消息是否能獲得轉(zhuǎn)發(fā)及其轉(zhuǎn)發(fā)規(guī)模、及早發(fā)現(xiàn)可能引發(fā)大規(guī)模爆發(fā)的微博的基于好友圈子的動(dòng)態(tài)微博轉(zhuǎn)發(fā)行為預(yù)測(cè)系統(tǒng)及方法。本發(fā)明的技術(shù)方案如下:
一種基于好友圈子的動(dòng)態(tài)微博轉(zhuǎn)發(fā)行為預(yù)測(cè)系統(tǒng),包括用戶行為數(shù)據(jù)源獲取模塊,用于獲取社交網(wǎng)絡(luò)中的用戶關(guān)系和用戶行為數(shù)據(jù),將發(fā)文用戶的粉絲作為備選用戶,其還包括屬性提取模塊、模型構(gòu)建模塊及預(yù)測(cè)分析模塊,其中,所述屬性提取模塊分別從用戶間興趣差異、備選用戶的活躍度以及發(fā)文用戶的影響力三方面提取相關(guān)屬性向量作為預(yù)測(cè)模型的輸入;微博轉(zhuǎn)發(fā)行為預(yù)測(cè)模型構(gòu)建模塊,用于對(duì)備選用戶構(gòu)建微博轉(zhuǎn)發(fā)行為預(yù)測(cè)模型,轉(zhuǎn)發(fā)行為主要受備選用戶與其好友的興趣差異τ、備選用戶在文章發(fā)布時(shí)段的活躍度s和其好友的網(wǎng)絡(luò)影響力r參數(shù)決定,并對(duì)以上模型參數(shù)進(jìn)行擬合;預(yù)測(cè)分析模塊用于將擬合后獲得的參數(shù)和任一時(shí)刻t的用戶發(fā)文情況進(jìn)行備選用戶是否會(huì)轉(zhuǎn)發(fā)該條微博的預(yù)測(cè)。
進(jìn)一步的,所述屬性提取模塊針對(duì)用戶間興趣差異,提取用戶興趣向量包括:利用用戶的關(guān)注行為屬性,獲取每個(gè)用戶的關(guān)注列表,定義用戶v的興趣向量為其中,ev,u表示用戶v關(guān)注列表中的用戶,u=1,2......|Ev|,|Ev|表示用戶v關(guān)注列表中的用戶總數(shù)。
進(jìn)一步的,所述屬性提取模塊針對(duì)備選用戶的活躍度,提取用戶狀態(tài)向量包括:利用用戶的交互行為屬性和時(shí)間屬性,獲取每個(gè)用戶在一段時(shí)間內(nèi)的用戶發(fā)布微博活躍度及轉(zhuǎn)發(fā)微博活躍度,定義用戶v的活躍度狀態(tài)向量為其中,表示用戶v在時(shí)間片t上的發(fā)布微博活躍度,表示用戶v在時(shí)間片t上的轉(zhuǎn)發(fā)微博活躍度,和分別代表用戶v在時(shí)間片t上的發(fā)布微博數(shù)、轉(zhuǎn)發(fā)微博數(shù)以及用戶v平均每天發(fā)布微博數(shù)。
進(jìn)一步的,所述屬性提取模塊針對(duì)發(fā)文用戶的影響力,提取用戶特征向量包括:利用網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)屬性,獲取每個(gè)用戶節(jié)點(diǎn)的出度、入度和局部聚集系數(shù),定義用戶v的影響力特征向量為其中,dv,1表示用戶v的粉絲數(shù),dv,2表示用戶v的好友數(shù),表示用戶v的局部聚集系數(shù),Ngv是節(jié)點(diǎn)v的鄰居節(jié)點(diǎn)集合,edgij是它的相鄰結(jié)點(diǎn)之間的連接。
進(jìn)一步的,所述微博轉(zhuǎn)發(fā)行為預(yù)測(cè)模型從用戶間興趣差異、備選用戶活躍度以及發(fā)文用戶影響力三方面,對(duì)于用戶間興趣差異方面,從用戶行為和用戶關(guān)系信息中提取用戶的興趣向量,利用LDA模型訓(xùn)練所有用戶,獲取用戶的興趣主題分布;對(duì)于備選用戶活躍度方面,從用戶行為和時(shí)間信息中提取各個(gè)時(shí)間片上的用戶的狀態(tài)向量,針對(duì)用戶狀態(tài)向量中的元素是連續(xù)值,使用高斯分布改進(jìn)LDA,再利用改進(jìn)的LDA模型訓(xùn)練所有用戶,獲取用戶在各個(gè)時(shí)間片上的活躍狀態(tài)分布;對(duì)于發(fā)文用戶影響力方面,從網(wǎng)絡(luò)結(jié)構(gòu)信息中提取用戶的特征向量,同上述用戶狀態(tài)向量一樣,使用高斯分布改進(jìn)LDA,再利用改進(jìn)的LDA模型訓(xùn)練所有用戶,獲取用戶的網(wǎng)絡(luò)角色分布;最后根據(jù)用戶間興趣是否一致、備選用戶在各個(gè)時(shí)間片上所處的活躍狀態(tài)、發(fā)文用戶的網(wǎng)絡(luò)角色以及用戶的歷史轉(zhuǎn)發(fā)數(shù)據(jù)訓(xùn)練整個(gè)預(yù)測(cè)模型,得到用戶轉(zhuǎn)發(fā)行為的多項(xiàng)分布。
進(jìn)一步的,所述微博轉(zhuǎn)發(fā)行為預(yù)測(cè)模型獲取用戶的興趣主題分布還包括:在用戶關(guān)系網(wǎng)絡(luò)的基礎(chǔ)上再利用用戶之間的交互行為,對(duì)用戶的興趣向量I(v)進(jìn)行加權(quán)得到加權(quán)用戶興趣向量為其中,wv,n表示用戶v發(fā)生第n次交互行為的交互對(duì)象,n=1,2......Nv,Nv為用戶v交互總次數(shù),再利用LDA模型訓(xùn)練所有用戶,便可得到用戶的興趣主題分布。
進(jìn)一步的,所述獲取用戶在各個(gè)時(shí)間片上的活躍狀態(tài)分布還包括:針對(duì)用戶發(fā)布活躍度xv,t,1和轉(zhuǎn)發(fā)活躍度xv,t,2是連續(xù)變量,使用高斯分布改進(jìn)LDA模型,使得發(fā)布活躍度和轉(zhuǎn)發(fā)活躍度的取值分別服從不同的高斯分布:其中,xv,t,m表示用戶v在時(shí)間片t上的第m個(gè)屬性值,μs,m和σs,m分別是用戶活躍狀態(tài)為s時(shí)第m個(gè)屬性的均值和標(biāo)準(zhǔn)差。
進(jìn)一步的,通過(guò)時(shí)間切片方法,將每天從夜間0點(diǎn)開始切割成4個(gè)時(shí)段,即t=1,2,3,4,將用戶的活躍狀態(tài)分為三個(gè)等級(jí),即非常活躍、一般活躍和不活躍,利用改進(jìn)的LDA模型訓(xùn)練所有用戶,便可得到用戶在各個(gè)時(shí)間片上的活躍狀態(tài)分布。
進(jìn)一步的,基于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)將用戶節(jié)點(diǎn)分為三種角色類型,即意見領(lǐng)袖、信息傳播者和普通用戶,同樣,使用高斯分布改進(jìn)LDA模型后,利用此模型訓(xùn)練所有用戶,便可得到用戶的網(wǎng)絡(luò)角色分布。
一種基于所述系統(tǒng)的好友圈子的動(dòng)態(tài)微博轉(zhuǎn)發(fā)行為預(yù)測(cè)方法,其包括以下步驟:
獲取社交網(wǎng)絡(luò)中的用戶關(guān)系和用戶行為數(shù)據(jù),將發(fā)文用戶的粉絲作為備選用戶;分別從用戶間興趣差異、備選用戶的活躍度以及發(fā)文用戶的影響力三方面獲取三個(gè)用戶向量作為預(yù)測(cè)模型的輸入;
構(gòu)建微博轉(zhuǎn)發(fā)行為預(yù)測(cè)模型,并對(duì)模型參數(shù)進(jìn)行擬合;
將擬合后獲得的參數(shù)和任一時(shí)刻t的用戶發(fā)文情況輸入到預(yù)測(cè)模型進(jìn)行備選用戶是否會(huì)轉(zhuǎn)發(fā)該條微博的預(yù)測(cè)。
本發(fā)明的優(yōu)點(diǎn)及有益效果如下:
本發(fā)明提出了一種基于好友圈子的動(dòng)態(tài)微博轉(zhuǎn)發(fā)行為預(yù)測(cè)方法。首先,針對(duì)單個(gè)用戶興趣、活躍度和影響力的多樣性,利用LDA主題模型可解決“一詞多義,多詞一義”的基礎(chǔ)思想和方法,對(duì)用戶行為進(jìn)行建模分析,得到關(guān)于用戶行為的主題分布;其次,考慮到用戶狀態(tài)向量和用戶特征向量中的元素是連續(xù)值,使用高斯分布改進(jìn)LDA,以發(fā)現(xiàn)用戶的活躍度和影響力;最后,針對(duì)用戶的活躍度隨時(shí)間的變化,利用時(shí)間離散化及時(shí)間切片方法,提出一種改進(jìn)的LDA動(dòng)態(tài)微博轉(zhuǎn)發(fā)行為預(yù)測(cè)模型,動(dòng)態(tài)監(jiān)測(cè)用戶的活躍度,提高預(yù)測(cè)模型的準(zhǔn)確度。
本發(fā)明針對(duì)信息傳播中網(wǎng)絡(luò)動(dòng)態(tài)特性、用戶行為表征以及用戶特征重要性評(píng)定等問(wèn)題,提出了一種基于好友圈子的動(dòng)態(tài)微博轉(zhuǎn)發(fā)行為預(yù)測(cè)方法,能夠?qū)τ脩艮D(zhuǎn)發(fā)行為做出準(zhǔn)確的預(yù)測(cè)。根據(jù)預(yù)測(cè)結(jié)果,能夠有效估計(jì)消息是否能獲得轉(zhuǎn)發(fā)及其轉(zhuǎn)發(fā)規(guī)模,及早發(fā)現(xiàn)可能引發(fā)大規(guī)模爆發(fā)的微博,對(duì)微博突發(fā)性檢測(cè)和微博影響力評(píng)估具有重要意義。
附圖說(shuō)明
圖1是本發(fā)明提供優(yōu)選實(shí)施例基于好友圈子的動(dòng)態(tài)微博轉(zhuǎn)發(fā)行為預(yù)測(cè)方法總體流程圖;
圖2是本發(fā)明的預(yù)測(cè)模型框圖;
圖3是本發(fā)明的預(yù)測(cè)模型流程圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、詳細(xì)地描述。所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例。
本發(fā)明解決上述技術(shù)問(wèn)題的技術(shù)方案是,
由于社交網(wǎng)絡(luò)中的信息傳播主要受興趣差異、用戶歷史行為和網(wǎng)絡(luò)結(jié)構(gòu)推動(dòng),因此本發(fā)明分別從用戶興趣、活躍度和影響力三個(gè)方面出發(fā),利用LDA主題模型的基礎(chǔ)思想和方法,對(duì)用戶行為進(jìn)行建模分析,得到關(guān)于用戶行為的主題分布;其次,針對(duì)用戶屬性中存在連續(xù)變量的問(wèn)題,使用高斯分布改進(jìn)LDA,以發(fā)現(xiàn)用戶的活躍度和影響力;最后,針對(duì)用戶的活躍度隨時(shí)間的變化,利用時(shí)間離散化及時(shí)間切片方法,提出一種改進(jìn)的LDA動(dòng)態(tài)微博轉(zhuǎn)發(fā)行為預(yù)測(cè)模型,使其能夠動(dòng)態(tài)監(jiān)測(cè)用戶的活躍度,準(zhǔn)確的預(yù)測(cè)用戶的轉(zhuǎn)發(fā)行為并發(fā)現(xiàn)影響用戶轉(zhuǎn)發(fā)的關(guān)鍵因素。
具體表述為:給定一個(gè)社交關(guān)系網(wǎng)絡(luò)G=(V,E,Y)。其中,V表示網(wǎng)絡(luò)中的所有用戶,|V|=N表示用戶的數(shù)量;E表示所有用戶之間的關(guān)系,是一個(gè)N×N維的矩陣;Y表示用戶的一系列過(guò)往行為,|Y|=I表示用戶行為數(shù)據(jù)總數(shù)。設(shè)計(jì)一個(gè)概率生成模型,利用社交網(wǎng)絡(luò)中的用戶關(guān)系和用戶行為信息,并加入時(shí)效性因素的影響,對(duì)每個(gè)用戶進(jìn)行分析,通過(guò)4個(gè)概率生成過(guò)程得到每個(gè)用戶的興趣分布、活躍等級(jí)分布、網(wǎng)絡(luò)角色分布以及用戶轉(zhuǎn)發(fā)行為的分布,依據(jù)這4個(gè)分布對(duì)一段時(shí)間內(nèi)用戶對(duì)其關(guān)注好友微博的轉(zhuǎn)發(fā)行為進(jìn)行預(yù)測(cè)。
如圖1所示為本發(fā)明的總體流程圖,主要包括:獲取數(shù)據(jù)模塊,提取屬性模塊,構(gòu)建模型模塊,預(yù)測(cè)分析模塊共四大模塊。
以下具體說(shuō)明本發(fā)明的詳細(xì)實(shí)施過(guò)程。
S1:獲取數(shù)據(jù)源。獲取的數(shù)據(jù)具體包括用戶關(guān)注關(guān)系網(wǎng)絡(luò)和網(wǎng)絡(luò)中所有用戶的用戶行為信息,用戶行為包括用戶過(guò)往發(fā)布和轉(zhuǎn)發(fā)的微博,以及發(fā)布和轉(zhuǎn)發(fā)微博的時(shí)間。具體可采用如下方法(也可采用現(xiàn)有技術(shù)的常規(guī)方法獲取):
S11:獲取原始數(shù)據(jù)。獲取一個(gè)用戶關(guān)注關(guān)系網(wǎng)絡(luò)和該網(wǎng)絡(luò)下的所有用戶的過(guò)往行為數(shù)據(jù)。通過(guò)社交網(wǎng)絡(luò)公共API或直接下載現(xiàn)有數(shù)據(jù)源都可以得到原始數(shù)據(jù),也可結(jié)合網(wǎng)絡(luò)爬蟲等方法補(bǔ)充數(shù)據(jù)。
S12:簡(jiǎn)單的數(shù)據(jù)清洗。通過(guò)簡(jiǎn)單的數(shù)據(jù)清洗可以使大部分?jǐn)?shù)據(jù)利于分析。例如,刪除重復(fù)數(shù)據(jù)、清理無(wú)效節(jié)點(diǎn)等。
S13:對(duì)數(shù)據(jù)進(jìn)行時(shí)間分片,確定用戶在各個(gè)時(shí)間片上的屬性。這里的用戶屬性具體指用戶的發(fā)布活躍度和轉(zhuǎn)發(fā)活躍度。由于用戶的轉(zhuǎn)發(fā)行為與其作息時(shí)間密切相關(guān),根據(jù)用戶的生活作息特點(diǎn),將一天以預(yù)定時(shí)間(如6個(gè)小時(shí))為一個(gè)時(shí)間段進(jìn)行時(shí)間分片。在某個(gè)時(shí)間段t里,根據(jù)用戶屬性確定此時(shí)段內(nèi)用戶的活躍狀態(tài),以預(yù)測(cè)用戶是否會(huì)轉(zhuǎn)發(fā)其好友的微博。
S2:提取相關(guān)屬性??紤]社交網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)行為主要從興趣差異、用戶歷史行為以及網(wǎng)絡(luò)結(jié)構(gòu)三方面,本發(fā)明分別從用戶興趣、活躍度和影響力三個(gè)方面出發(fā)來(lái)提取相關(guān)屬性,如關(guān)注行為屬性、交互行為屬性、時(shí)間屬性和網(wǎng)絡(luò)結(jié)構(gòu)屬性。其屬性可根據(jù)數(shù)據(jù)方面的特征對(duì)其進(jìn)行適當(dāng)修改。
提取完以上三方面的各個(gè)屬性后,獲取相應(yīng)的用戶向量。其具體方式如下。
S21:提取用戶興趣向量??紤]到用戶對(duì)自己感興趣的用戶關(guān)注,利用用戶的關(guān)注行為屬性,獲取每個(gè)用戶的關(guān)注列表,定義用戶v的興趣向量為:
其中,ev,u(u=1,2......|Ev|)表示用戶v關(guān)注列表中的用戶,|Ev|表示用戶v關(guān)注列表中的用戶總數(shù)。例如:用戶a關(guān)注列表中的用戶有:b,c,d,e......,則用戶a的興趣向量為I(a)=[b,c,d,e......]。
S22:提取用戶狀態(tài)向量。根據(jù)用戶的生活作息特點(diǎn),將一天以預(yù)定時(shí)間(如6個(gè)小時(shí))為一個(gè)時(shí)間段進(jìn)行時(shí)間分片,利用用戶的交互行為屬性和時(shí)間屬性,獲取每個(gè)用戶在各個(gè)時(shí)間片內(nèi)的發(fā)布微博活躍度及轉(zhuǎn)發(fā)微博活躍度,定義用戶v的狀態(tài)向量為:
其中,表示用戶v在時(shí)間片t上的發(fā)布微博活躍度,表示用戶v在時(shí)間片t上的轉(zhuǎn)發(fā)微博活躍度。和分別代表用戶v在時(shí)間片t上的發(fā)布微博數(shù)、轉(zhuǎn)發(fā)微博數(shù)以及用戶v平均每天發(fā)布微博數(shù)。例如:用戶a在第1時(shí)間片上發(fā)布了3條微博,其中轉(zhuǎn)發(fā)微博為2條,而用戶a平均一天發(fā)布5條微博,則用戶a的行為向量為
S23:提取用戶特征向量。由于用戶節(jié)點(diǎn)在網(wǎng)絡(luò)中的位置對(duì)信息傳播有重大影響,利用網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)屬性,獲取每個(gè)用戶節(jié)點(diǎn)的出度、入度和局部聚集系數(shù),定義用戶v的特征向量為:
其中,dv,1表示用戶v的粉絲數(shù),dv,2表示用戶v的好友數(shù),表示用戶v的局部聚集系數(shù)。Ngv是節(jié)點(diǎn)v的鄰居節(jié)點(diǎn)集合,edgij是它的相鄰結(jié)點(diǎn)之間的連接。例如:用戶a擁有30個(gè)粉絲,20個(gè)好友,鄰居節(jié)點(diǎn)共有40個(gè),其鄰居節(jié)點(diǎn)之間存在200個(gè)連接邊,則用戶a的特征向量為
S3:建立預(yù)測(cè)模型,如圖2所示為本發(fā)明的預(yù)測(cè)模型框圖。備選用戶是否會(huì)轉(zhuǎn)發(fā)其好友的微博,主要受備選用戶與其好友的興趣差異τ、備選用戶在文章發(fā)布時(shí)段的活躍度s和其好友的網(wǎng)絡(luò)影響力r決定。
預(yù)測(cè)模型進(jìn)行備選用戶是否會(huì)轉(zhuǎn)發(fā)其好友的某條微博的預(yù)測(cè)具體包括:對(duì)于興趣差異方面,從用戶行為和用戶關(guān)系信息中提取用戶的興趣向量I(v),利用LDA模型訓(xùn)練所有用戶,獲取用戶的興趣社區(qū)分布其中,表示用戶v的興趣社區(qū)分布,N為用戶總數(shù);對(duì)于用戶活躍度方面,從用戶行為和時(shí)間信息中提取各個(gè)時(shí)間片上的用戶的狀態(tài)向量L(v,t),針對(duì)用戶狀態(tài)向量中的元素是連續(xù)值,先使用高斯分布改進(jìn)LDA,再利用改進(jìn)的LDA模型訓(xùn)練所有用戶,獲取用戶在各個(gè)時(shí)間片上的活躍狀態(tài)分布其中,表示用戶v在t時(shí)間片上的活躍狀態(tài)概率分布;對(duì)于用戶的網(wǎng)絡(luò)影響力方面,從網(wǎng)絡(luò)結(jié)構(gòu)信息中提取用戶的特征向量F(v),同上述用戶狀態(tài)向量一樣,使用高斯分布改進(jìn)LDA,再利用改進(jìn)的LDA模型訓(xùn)練所有用戶,獲取用戶的網(wǎng)絡(luò)角色分其中,表示用戶v的網(wǎng)絡(luò)角色概率分布;最后,根據(jù)用戶的興趣社區(qū)分布用戶在各個(gè)時(shí)間片上的活躍狀態(tài)分布用戶的網(wǎng)絡(luò)角色分布以及用戶的歷史轉(zhuǎn)發(fā)數(shù)據(jù)Y訓(xùn)練整個(gè)預(yù)測(cè)模型,得到用戶的轉(zhuǎn)發(fā)行為分布其中,表示當(dāng)用戶間興趣差異為τ,備選用戶處于活躍狀態(tài)s且發(fā)文用戶扮演網(wǎng)絡(luò)角色r時(shí)備選用戶轉(zhuǎn)發(fā)該條微博的概率,表示不轉(zhuǎn)發(fā)的概率。模型的求解和如何預(yù)測(cè)備選用戶在各個(gè)時(shí)間片上的轉(zhuǎn)發(fā)行為將在接下來(lái)的部分詳細(xì)敘述。
如圖3所示為本發(fā)明的預(yù)測(cè)模型流程圖。
S31:獲取用戶的興趣社區(qū)分布。
由于好友關(guān)系僅表示用戶間具有交互的可能性,不能真實(shí)反映兩者信息交互的強(qiáng)度,趨于靜態(tài)。為了發(fā)現(xiàn)活躍的興趣社區(qū),我們?cè)谟脩絷P(guān)系網(wǎng)絡(luò)的基礎(chǔ)上再利用用戶之間的交互行為,對(duì)用戶的興趣向量I(v)進(jìn)行交互加權(quán),這里的交互行為具體指轉(zhuǎn)發(fā)行為,得到加權(quán)用戶興趣向量為:
其中,wv,n(n=1,2......Nv)表示用戶v發(fā)生第n次交互行為的交互對(duì)象,Nv為用戶v交互總次數(shù)。例如:用戶a與用戶b發(fā)生2次交互,與用戶c發(fā)生4次交互......,則用戶a的加權(quán)興趣向量為I'(a)=[b,b,c,c,c,c......]。
給定C作為興趣社區(qū)數(shù),采用LDA模型訓(xùn)練所有用戶,具體生成過(guò)程如下:
對(duì)每一個(gè)用戶v:
1、抽樣一個(gè)邊分布ξ~Dir(λ),λ是Dirichlet分布的參數(shù);
2、抽樣一個(gè)用戶興趣社區(qū)分布α是Dirichlet分布的參數(shù);
3、對(duì)用戶的每一條邊ev,i:
1)抽樣一個(gè)興趣社區(qū)
2)抽樣一條邊
其中,表示用戶v的興趣社區(qū)分布,表示興趣社區(qū)c的邊分布。
在此概率生成模型中,對(duì)用戶行為建模實(shí)際上是要計(jì)算用戶的興趣社區(qū)分布以及興趣社區(qū)的邊分布對(duì)于Φ和ξ的求解,采用Gibbs抽樣,Gibbs抽樣每次迭代估算Φ和ξ的公式如下:
其中,表示用戶v在興趣社區(qū)c的概率,C為興趣社區(qū)總數(shù),nv,c表示用戶v與處于興趣社區(qū)c的關(guān)注用戶交互的次數(shù),|Nv|為用戶v與其好友的交互總次數(shù);表示興趣社區(qū)c中出現(xiàn)用戶e的概率,|E|為網(wǎng)絡(luò)中邊的總數(shù),nc,e表示興趣社區(qū)c中用戶e的交互次數(shù),nc為興趣社區(qū)c中的交互總次數(shù)。
S32:獲取用戶在各個(gè)時(shí)間片上的活躍狀態(tài)分布。
用戶的轉(zhuǎn)發(fā)行為與其作息時(shí)間密切相關(guān),每個(gè)用戶都有自己相對(duì)固定的上網(wǎng)時(shí)間,在該時(shí)段內(nèi),用戶較活躍,發(fā)帖轉(zhuǎn)帖概率較大,而其他時(shí)間很少參與話題的傳播。因此,通過(guò)時(shí)間切片方法,將每天從夜間0點(diǎn)開始切割成4個(gè)時(shí)段(t=1,2,3,4),對(duì)向量數(shù)據(jù)按時(shí)間先離散。其次,針對(duì)用戶發(fā)布活躍度xv,t,1和轉(zhuǎn)發(fā)活躍度xv,t,2是連續(xù)變量,使用高斯分布改進(jìn)LDA模型,使得發(fā)布活躍度和轉(zhuǎn)發(fā)活躍度的取值分別服從不同的高斯分布:
其中,xv,t,m表示用戶v在時(shí)間片t上的第m個(gè)屬性值,μs,m和σs,m分別是用戶活躍狀態(tài)為s時(shí)第m個(gè)屬性的均值和標(biāo)準(zhǔn)差。
本發(fā)明將用戶的活躍狀態(tài)設(shè)為三個(gè)等級(jí)S=3,即非?;钴S、一般活躍和不活躍。利用改進(jìn)的LDA模型訓(xùn)練所有用戶,具體生成過(guò)程如下:
對(duì)每一個(gè)用戶v:
1、抽樣一個(gè)用戶在時(shí)間片t上的活躍狀態(tài)分布β是Dirichlet分布的參數(shù);
2、抽樣一個(gè)活躍等級(jí)
3、對(duì)用戶v的每一個(gè)屬性:
1)抽樣一個(gè)屬性值
其中,表示用戶v在時(shí)間片t上的活躍狀態(tài)分布。
在此概率生成模型中,對(duì)用戶狀態(tài)屬性建模實(shí)際上是要計(jì)算用戶在各個(gè)時(shí)間片上的活躍狀態(tài)分布以及用戶各個(gè)屬性取值服從的高斯分布N(μ,σ)。對(duì)于Θ(t)和μ,σ的求解,采用EM算法,EM迭代估算Θ(t)和μ,σ的過(guò)程分為兩步:
E-step:更新
M-step:更新μs,m和σs,m。
其中,表示用戶v在時(shí)間片t上活躍狀態(tài)為s的概率,S為狀態(tài)等級(jí)數(shù),M為用戶狀態(tài)屬性個(gè)數(shù),xv,t,m表示用戶v在時(shí)間片t上的第m個(gè)屬性值,μs,m和σs,m分別是用戶活躍狀態(tài)為s時(shí)第m個(gè)屬性的均值和標(biāo)準(zhǔn)差。
S33:獲取用戶的網(wǎng)絡(luò)角色分布。
節(jié)點(diǎn)在網(wǎng)絡(luò)中的位置及其所產(chǎn)生的影響對(duì)信息傳播效果具有重要影響。本發(fā)明基于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)將用戶節(jié)點(diǎn)分為三種角色類型R=3,即意見領(lǐng)袖、信息傳播者和普通用戶。意見領(lǐng)袖擁有較高的入度而信息傳播者擁有較高的出度。
同樣,由于角色屬性中存在連續(xù)變量,使用高斯分布改進(jìn)LDA模型后,利用改進(jìn)的LDA模型訓(xùn)練所有用戶,具體生成過(guò)程如下:
對(duì)每一個(gè)用戶v:
1、抽樣一個(gè)用戶網(wǎng)絡(luò)角色分布ε是Dirichlet分布的參數(shù);
2、抽樣一個(gè)網(wǎng)絡(luò)角色
3、對(duì)用戶v的每一個(gè)角色屬性:
1)抽樣一個(gè)角色屬性值
其中,表示用戶v的網(wǎng)絡(luò)角色分布。
在此概率生成模型中,對(duì)用戶角色屬性建模實(shí)際上是要計(jì)算用戶的網(wǎng)絡(luò)角色分布以及用戶各個(gè)角色屬性取值服從的高斯分布N(μ',σ')。對(duì)于η和μ',σ'的求解,采用EM算法,EM迭代估算η和μ',σ'的過(guò)程分為兩步:
E-step:更新
M-step:更新μ'r,h和σ'r,h。
其中,表示用戶v扮演網(wǎng)絡(luò)角色r的概率,R為網(wǎng)絡(luò)角色個(gè)數(shù),H為用戶狀態(tài)屬性個(gè)數(shù),dv,h表示用戶v的第h個(gè)屬性值,μ'r,h和σ'r,h分別是用戶扮演網(wǎng)絡(luò)角色r時(shí)第h個(gè)屬性的均值和標(biāo)準(zhǔn)差。
S34:獲取用戶的轉(zhuǎn)發(fā)行為分布。
根據(jù)用戶的興趣社區(qū)分布用戶在各個(gè)時(shí)間片上的活躍狀態(tài)分布用戶的網(wǎng)絡(luò)角色分布以及用戶的歷史轉(zhuǎn)發(fā)數(shù)據(jù)Y訓(xùn)練整個(gè)預(yù)測(cè)模型,得到用戶的轉(zhuǎn)發(fā)行為分布具體生成過(guò)程如下:
對(duì)每一個(gè)用戶轉(zhuǎn)發(fā)行為yi:
1、抽樣一個(gè)用戶轉(zhuǎn)發(fā)行為分布ρ~Dir(γ),γ是Dirichlet分布的參數(shù);
2、為備選用戶v抽樣一個(gè)興趣社區(qū)
3、為發(fā)文用戶u抽樣一個(gè)興趣社區(qū)
4、為備選用戶v抽樣一個(gè)活躍狀態(tài)
5、為發(fā)文用戶u抽樣一個(gè)網(wǎng)絡(luò)角色
6、抽樣一個(gè)用戶轉(zhuǎn)發(fā)行為
其中,表示用戶的轉(zhuǎn)發(fā)行為分布,表示當(dāng)用戶間興趣差異為τ,備選用戶處于活躍狀態(tài)s且發(fā)文用戶扮演網(wǎng)絡(luò)角色r時(shí)備選用戶轉(zhuǎn)發(fā)該條微博的概率,表示不轉(zhuǎn)發(fā)的概率。τ為指示函數(shù),定義如下:
其中,zu,zv分別表示用戶u、v所在的興趣社區(qū)。τ=1表示興趣一致,τ=0表示興趣不一致。
在此概率生成模型中,對(duì)用戶轉(zhuǎn)發(fā)行為建模實(shí)際上是要計(jì)算用戶的轉(zhuǎn)發(fā)行為分布對(duì)于的求解,采用Gibbs抽樣,Gibbs抽樣每次迭代估算的公式如下:
其中,ni,τ,s,r表示興趣差異為τ、備選用戶活躍狀態(tài)為s、發(fā)文用戶扮演網(wǎng)絡(luò)角色r時(shí),用戶行為yi=1(轉(zhuǎn)發(fā))或yi=0(不轉(zhuǎn)發(fā))的次數(shù);I為用戶行為總數(shù),包括不轉(zhuǎn)發(fā)行為;M為用戶狀態(tài)屬性個(gè)數(shù),H為用戶角色屬性個(gè)數(shù)。
S4:通過(guò)擬合出來(lái)的Φ、Θ(t)、η、和用戶好友的任意一條微博,根據(jù)擬合的預(yù)測(cè)模型,計(jì)算其轉(zhuǎn)發(fā)概率即可得到預(yù)測(cè)結(jié)果。通過(guò)預(yù)測(cè)到的結(jié)果即可分析出用戶會(huì)轉(zhuǎn)發(fā)哪些好友的微博,以及影響用戶轉(zhuǎn)發(fā)微博的關(guān)鍵因素。
本發(fā)明利用社交網(wǎng)絡(luò)中的用戶關(guān)系和用戶行為數(shù)據(jù),將發(fā)文用戶的粉絲作為備選用戶,預(yù)測(cè)備選用戶是否會(huì)在一段時(shí)間內(nèi)轉(zhuǎn)發(fā)其好友的微博。首先,針對(duì)單個(gè)用戶興趣、活躍度和影響力的多樣性,利用LDA主題模型可解決“一詞多義,多詞一義”的基礎(chǔ)思想和方法,對(duì)用戶行為進(jìn)行建模分析,得到關(guān)于用戶行為的主題分布;其次,考慮到用戶狀態(tài)向量和用戶特征向量中的元素是連續(xù)值,使用高斯分布改進(jìn)LDA,以發(fā)現(xiàn)用戶的活躍度和用戶影響力;最后,針對(duì)用戶的活躍度隨時(shí)間的變化,利用時(shí)間離散化及時(shí)間切片方法,提出一種改進(jìn)的LDA動(dòng)態(tài)微博轉(zhuǎn)發(fā)行為預(yù)測(cè)模型,動(dòng)態(tài)監(jiān)測(cè)用戶的活躍度,使其能夠準(zhǔn)確預(yù)測(cè)用戶的轉(zhuǎn)發(fā)行為,并分析影響用戶轉(zhuǎn)發(fā)的關(guān)鍵因素。
以上這些實(shí)施例應(yīng)理解為僅用于說(shuō)明本發(fā)明而不用于限制本發(fā)明的保護(hù)范圍。在閱讀了本發(fā)明的記載的內(nèi)容之后,技術(shù)人員可以對(duì)本發(fā)明作各種改動(dòng)或修改,這些等效變化和修飾同樣落入本發(fā)明權(quán)利要求所限定的范圍。