本發(fā)明涉及一種基于預測微博轉(zhuǎn)發(fā)概率的方法,屬于新聞傳播與計算機技術(shù)的交叉領(lǐng)域。
背景技術(shù):
微博作為近年來興起的一種在線社會網(wǎng)絡的信息交流平臺,表現(xiàn)出非常強勁的發(fā)展態(tài)勢。與傳統(tǒng)媒體不同,微博更注重時效性和創(chuàng)新交互性,它的靈活性和廣泛參與性降低了使用門檻,不同身份、背景、年齡的人們都可以通過微博來了解實時信息,這是一種比報紙、電視等傳統(tǒng)媒介更新奇、更快捷的獲取信息的方式。微博的信息交換模式是瞬時的,而且圍觀人群也不是相互孤立的,他們之間的關(guān)系是復雜的,微博是一個信息交流網(wǎng)絡,其中用戶是節(jié)點,用戶之間的追隨關(guān)系是邊。研究微博傳播是非常重要的,用戶發(fā)布的消息,通過微博的“轉(zhuǎn)發(fā)”和“評論”傳播,可以通過研究微博轉(zhuǎn)發(fā)來對微博的傳播進行研究。微博轉(zhuǎn)發(fā)預測在微博傳播、輿情檢測、微博推薦等方面有很大的應用價值。
微博轉(zhuǎn)發(fā)模型作為社交網(wǎng)絡中有影響力的傳播方式和機制,是研究社交網(wǎng)絡中事件影響的基礎(chǔ)。目前很多人研究出微博轉(zhuǎn)發(fā)預測的方法。有一種方法是用特征加權(quán)的模型解決微博轉(zhuǎn)發(fā)預測的問題,它分析基本特征的區(qū)分度,由此建立無預測模型,提取區(qū)分度大的特征,最后建立一個加權(quán)的轉(zhuǎn)發(fā)預測模型。但是該方法在研究中忽視了各個 特征之間的聯(lián)系,例如粉絲數(shù)和關(guān)注數(shù)就有很大的關(guān)聯(lián),這對模型有一定程度的影響。也有用幾期學習的方法來對給定微博的用戶轉(zhuǎn)發(fā)行為進行預測。但該方法沒有考慮到新浪微博上有不少的“僵尸粉”、“水軍”,這些用戶的轉(zhuǎn)發(fā)行為往往與正常用戶不同然而這種研究方法并沒有識別并剔除這類用戶,對預測精度也造成了一定的影響。
技術(shù)實現(xiàn)要素:
技術(shù)問題:本發(fā)明針對上述方案中存在的不足,提出了一種預測微博轉(zhuǎn)發(fā)概率的方法,該方法建立基于邏輯回歸模型的微博轉(zhuǎn)發(fā)預測模型并且剔除了“僵尸粉”、“水軍”這樣的垃圾用戶,不僅提高樣本數(shù)據(jù)的準確性,而且提高預測效率。
技術(shù)方案:本發(fā)明建立微博轉(zhuǎn)發(fā)預測模型,抓取相應的微博特征作為邏輯回歸模型的輸入?yún)?shù),循環(huán)輸入剔除完垃圾用戶的測試數(shù)據(jù),測試出模型參數(shù)之后,用完整的預測模型計算出測試數(shù)據(jù)的轉(zhuǎn)發(fā)概率。
邏輯回歸的預測模型在本研究中用模型表達式來表示,利用抓取的特征,計算出這些特征的權(quán)重,通過特征與其權(quán)重的乘積來計算轉(zhuǎn)發(fā)該條微博的概率。數(shù)據(jù)在抓取的時候利用分類器,進行用戶去重、垃圾用戶濾除。
本發(fā)明對數(shù)據(jù)的抓取采用先選擇特定用戶作為開始數(shù)據(jù),然后從該用戶向外擴散,按照廣度優(yōu)先順序?qū)⒃撚脩舻姆劢z用戶作為下一個待抓取微博數(shù)據(jù)的用戶。為了方便對轉(zhuǎn)發(fā)的預測,需要從抓取的微博 數(shù)據(jù)中識別出轉(zhuǎn)發(fā)的微博數(shù)據(jù)作為研究對象,在微博網(wǎng)絡中,轉(zhuǎn)發(fā)的微博數(shù)據(jù)將呈現(xiàn)”//@username”的格式。還需要將抓取到的微博數(shù)據(jù)分為訓練數(shù)據(jù)和測試數(shù)據(jù)完成對本發(fā)明結(jié)果的展示。
完成數(shù)據(jù)的抓取之后,需要對微博用戶的特征進行提取,提取合適的微博特征可以更好的提高預測微博轉(zhuǎn)發(fā)的效率。本發(fā)明從發(fā)布用戶、接收用戶和微博內(nèi)容三個方面分析影響微博用戶轉(zhuǎn)發(fā)的特征因素。其中每一個方面都包含幾個影響微博轉(zhuǎn)發(fā)的特征因素。發(fā)布用戶包含用戶的影響力這個特征因素,接受用戶包含用戶的興趣相似度、用戶的親密度、用戶活躍度這三個特征因素,微博內(nèi)容是否包含圖片、是否包含視頻以及提及他人的次數(shù)這幾個因素作為微博特征因素。
對于發(fā)布用戶的興趣相似度,將用戶的興趣和要預測的微博內(nèi)容進行比較,計算相似度的高低,按照如下公式(1)計算。
其中分別表示文本Os和On第k個特征項的權(quán)值,k∈[1,n]將接收用戶過去的微博加入到集O={m1,m2,m3…mn}中,利用中科院計算技術(shù)研究所的漢語詞法分析系統(tǒng)(ChineseLexical Analysis System,ICTCLAS)對過去微博集合進行中心詞語的提取,放入到集合Os中,OS={w1,w2,w3…wn}。對新微博同樣使用ICTCLAS方法進行詞語的提取,將新微博的中心詞加入新微博中心詞集合On中,On={w′1,w′2,w′3…w′n}。
一段時間用戶的活躍度對微博的轉(zhuǎn)發(fā)有很大的影響,利用公式(2) 用戶的活躍度。
其中,npost表示在時間t內(nèi)用戶發(fā)布的微博總數(shù),nr表示在時間t內(nèi)用戶所發(fā)的微博中轉(zhuǎn)發(fā)的微博數(shù)量。ni表示用戶i在時間Ti期間已經(jīng)發(fā)過的微博數(shù)量。
用戶之間的親密度反映用戶之間的互動交流,對微博的轉(zhuǎn)發(fā)有著很大的影響。用公式(3)計算用戶之間的親密度。
其中,euv是用戶u對用戶v評論數(shù),ruv是用戶u對用戶v的轉(zhuǎn)發(fā)數(shù),zuv是用戶u對用戶v的點贊數(shù),同樣,evu是用戶v對用戶u評論數(shù),rvu是用戶v對用戶u的轉(zhuǎn)發(fā)數(shù);zvu是用對用戶u的點贊數(shù)。
用戶影響力很大程度影響著轉(zhuǎn)發(fā)概率,大V博主發(fā)布的微博被粉絲轉(zhuǎn)發(fā)的概率會更高。為更好預測轉(zhuǎn)發(fā)概率,通過公式(4)獲得用戶的影響力。
這里P(ui)為用戶ui的影響力,I(ui)為用戶ui的粉絲集合,o(vj)為用戶vj的關(guān)注數(shù)量,c為常數(shù)。
在本發(fā)明中,用公式(5)來表示LRM(邏輯回歸模型)。
這里,Xi是第i個輸入變量集合,ω是輸入變量權(quán)重集合,表示不同的變量所占的不同比重,φi(x)是輸入變量轉(zhuǎn)換為的變量函數(shù)。
這種基于邏輯回歸模型的微博轉(zhuǎn)發(fā)預測模型的具體步驟如下:
S1:從新浪微博中提取數(shù)據(jù);
S2:利用垃圾用戶檢測模型剔除垃圾用戶;
S3:計算接收用戶的興趣和微博內(nèi)容相似度的興趣相似度;
S4:計算在一段時間內(nèi)接收用戶的活躍度;
S5:計算用戶之間的親密度;
S6:計算發(fā)布用戶的影響力;
S7:統(tǒng)計微博中是否包含圖片、是否包含視頻以及微博中提及他人次數(shù);
S8:判斷邏輯回歸模型參數(shù)是否確定,若是,將S3、S4、S5、S6、S7輸入到LRM模型,進行微博轉(zhuǎn)發(fā)預測。若否,繼續(xù)輸入訓練數(shù)據(jù);
S9:判斷訓練數(shù)據(jù)是否輸入完成,若是,得出模型參數(shù);若否,轉(zhuǎn)S1;
S10:求得微博轉(zhuǎn)發(fā)概率。
該微博轉(zhuǎn)發(fā)預測方法,很重要的一個環(huán)節(jié)就是對模型參數(shù)的確定,本發(fā)明對于模型中的權(quán)重參數(shù)即模型參數(shù)使用最大似然估計來求解。定義似然函數(shù)如公式(6)。
公式(6)中的f(xi|ω)可以展開為公式(7)的形式:
ω=(ω1,ω2…ωn)T是系數(shù)向量,φi(x)是輸入變量x轉(zhuǎn)換成的變量函數(shù)。
求L(ω)關(guān)于ω的導數(shù),得到:
令可得到最適合的ω,來進行合理的回歸。
檢測是否存在垃圾用戶,具體步驟如下:
D1:微博數(shù)據(jù)采集;
D2:邀請三位評價者對D1所采集的微博數(shù)據(jù)進行標注;
D3:對特征值進行提取;
D4:進行訓練,得出SVM分類器;
D5:判斷SVM分類器是否達到最好效果,若是,進入測試數(shù)據(jù)階段;若否,轉(zhuǎn)D3;
D6:輸入待檢測數(shù)據(jù);
D7:對待檢測數(shù)據(jù)進行特征提??;
D8:將D7獲得的數(shù)據(jù)輸入D4得到的最有效分類器中。
D9:輸出檢測結(jié)果,剔除垃圾用戶;
與現(xiàn)有的微博轉(zhuǎn)發(fā)預測方法相比,本發(fā)明的創(chuàng)新點在于運用邏輯回歸模型作為預測轉(zhuǎn)發(fā)的模型,通過該模型計算出轉(zhuǎn)發(fā)的概率,并且在模型運用的同時運用SVM(支持向量機)檢測用戶,剔除垃圾用戶,提高了數(shù)據(jù)的準確性和預測的效率。
附圖說明
圖1本發(fā)明基本流程圖。
圖2為一種垃圾用戶檢測的流程圖。
圖3為一種基于邏輯回歸模型的轉(zhuǎn)發(fā)預測方法的流程圖。
圖4測試本發(fā)明的測試話題混淆矩陣表。
圖5測試本發(fā)明的測試話題F-value值和G-mean值。
具體實施方式
下面結(jié)合附圖和具體實施方式,對本發(fā)明作進一步說明。
基本思想:本發(fā)明提供一種基于邏輯回歸模型的微博轉(zhuǎn)發(fā)預測方法,提取微博信息中的特征,將提取的特征作為邏輯回歸模型的參數(shù)輸入到模型中,通過模型對訓練數(shù)據(jù)進行訓練學習,獲得邏輯回歸模型參數(shù),得到轉(zhuǎn)發(fā)微博的概率。為提高樣本數(shù)據(jù)的準確性,避免垃圾用戶的大量入侵而干擾樣本數(shù)據(jù),本發(fā)明利用了SVM(支持向量機)分類器作為檢測垃圾用戶的分類器,從而剔除垃圾用戶。
本發(fā)明利用微博的API爬取500個用戶和他們的粉絲在2015年1月到2015年2月時間段的微博作為訓練數(shù)據(jù)。2015年6月到2015年8月的微博作為測試數(shù)據(jù)。共爬取訓練數(shù)據(jù)431500條,測試數(shù)據(jù)273000條。對所有數(shù)據(jù)中進行興趣相似度sim、用戶活躍度A、親密度C、是否含圖片P、是否包含視頻V、提及他人的次數(shù)M以及用戶影響力P等7個特征的計算并放入特征集合中。將提取的特征輸入SVM分類器中完成垃圾用戶的檢測過濾,選取分類出的普通用戶作為預測數(shù)據(jù),從爬取的數(shù)據(jù)中剔除48139條微博,將224861 條數(shù)據(jù)作為實驗的測試數(shù)據(jù)。最后,基于LRM對微博的轉(zhuǎn)發(fā)進行預測,得出預測微博轉(zhuǎn)發(fā)概率。
圖1是本發(fā)明的基本流程圖。微博數(shù)據(jù)表示運用微博API從新浪微博中抓取的數(shù)據(jù);SVM(支持向量機)用來做檢測垃圾用戶的模型,將“僵尸粉”、“水軍”這樣的垃圾用戶剔除,提取合適的微博特征,輸入到LRM(邏輯回歸模型)中計算得出最終轉(zhuǎn)發(fā)概率。
圖2給出檢測垃圾用戶的流程圖。本研究基于SVM算法設(shè)計了一個分類器,通過訓練階段和測試階段完成垃圾用戶的檢測過程。在微博中,垃圾用戶是指頻繁的發(fā)布廣告信息、發(fā)布的微博具有很高的商業(yè)意圖、頻繁的發(fā)布相同的信息的用戶。在我們的研究中要將這些垃圾用戶剔除,來提高我們預測轉(zhuǎn)發(fā)的速率同時提高預測的精度。其實,剔除垃圾用戶也可以理解為將用戶進行分類,本文采用分類器來剔除垃圾用戶。本文采用支持向量機算法(Support Vector Machine SVM)作為垃圾用戶檢測的分類器。
圖3給出獲得基于邏輯回歸模型的轉(zhuǎn)發(fā)概率的流程圖。對抓取好的微博數(shù)據(jù)進行需要的特征提取,提取出用戶的興趣相似度、用戶之間的親密度、用戶的活躍度、用戶的影響力以及所抓取的微博中是否包含圖片、是否包含視頻、提及他人的次數(shù)這些特征。將這些特征輸入到邏輯回歸模型中,運用LRM表達式對微博轉(zhuǎn)發(fā)概率計算,這是就需要判斷模型表達式中的參數(shù)是否已經(jīng)獲得,如果獲得就可以直接完成測試;如果還未獲得模型參數(shù),就需要不斷的訓練學習,并結(jié)合極大似然估計來獲得模型參數(shù)完成對微博轉(zhuǎn)發(fā)概率的預測。
圖4是顯示發(fā)布用戶關(guān)于4個不同話題的預測結(jié)果的混淆矩陣,為了更好的顯示預測結(jié)果,在實驗中選取目前熱門的幾個話題,從爬取出的500個用戶中選出涉及某個話題的用戶作為一個發(fā)布用戶,運用LRM(邏輯回歸模型)得出該粉絲轉(zhuǎn)發(fā)涉及該話題的某條微博的概率。通過不同用戶在不同話題上的預測結(jié)果更好的顯示出LRM(邏輯回歸模型)的準確性。從中可以看出,對于每一個話題,預測非轉(zhuǎn)發(fā)而實際轉(zhuǎn)發(fā)的概率值以及預測轉(zhuǎn)發(fā)而實際未轉(zhuǎn)發(fā)的概率值都非常小,更加清楚的展示出邏輯回歸模型預測轉(zhuǎn)發(fā)的準確性。
圖5是對于4個發(fā)布用戶關(guān)于某一門話題的微博,其粉絲轉(zhuǎn)發(fā)概率的F-aule值和G-mean值。通過圖4的混淆矩陣,可以算出預測的查準率(precision)、查全率(recall)。查準率是預測正確的那一項占該項的比例,如被轉(zhuǎn)發(fā)的查準率是,查全率是預測正確的那一項占實際的那一項的比例,如被轉(zhuǎn)發(fā)的查全率是。但考慮到數(shù)據(jù)可能的不平衡性,我們進一步通過F-value和G-mean的方法實現(xiàn)對預測結(jié)果的評估。F-value是對查全率和查準率的一種綜合,是一種更接近轉(zhuǎn)發(fā)預測真實結(jié)果的評價指標,如公式(9)。
其中,pre是查準率,re是查全率,γ是一個任意正數(shù)。若γ≥1表示在評估的過程中查全率有很大的影響,相反若γ<1表示在評估的過程中查準率起到很大的作用。
G-mean是保持數(shù)據(jù)不平衡情況下評估的精度,如公式(10)。
其中,只有在數(shù)據(jù)不平衡的情況下的精度都高,G-mean才達到最大值。
上述描述僅作為本發(fā)明可實施的技術(shù)方案提出,不作為對其技術(shù)方案本身的單一限制條件。