一種基于多Markov鏈的微博用戶興趣預測方法
【專利摘要】本發明涉及一種基于多Markov鏈的微博用戶興趣預測方法,包括以下步驟:1、分別獲取q個、p個用戶發表的微博作為訓練數據、測試數據;2、以用戶為單位,對訓練數據、測試數據進行預處理,提取每個用戶的興趣特征值;3、將訓練數據轉化為Markov鏈,再基于Markov鏈兩兩之間的聚類相似度,對Markov鏈進行合并,然后利用合并后的Markov鏈建立多Markov鏈模型;4、對測試數據進行用戶分類;5、基于對測試數據分類得到的用戶類別,利用多Markov鏈模型預測用戶的興趣特征。該方法可以有效預測微博用戶的興趣。
【專利說明】—種基于多Markov鏈的微博用戶興趣預測方法
【技術領域】
[0001]本發明涉及社交網絡信息分析【技術領域】,特別是涉及一種基于多Markov鏈的微博用戶興趣預測方法。
【背景技術】
[0002]隨著Web2.0技術和無線網絡技術的發展,社交網絡對人類社會和生活的影響越來越大。微博作為當今流行的一種社交網絡平臺,它為用戶提供了一個實時交流平臺。微博用戶可以通過電腦或者移動終端關注自己感興趣的信息,實時地獲取各種網絡資源,并發表個人觀點等。
[0003]相關數據顯示,我國微博用戶數量由2010年底的6311萬猛增至2012年6月的
2.74億,使用率增長近300%,中國網民使用微博的比例已經過半。如此龐大的用戶數量群,其知識層次差別很大,所產生的網絡信息良莠不齊、形式各異。同時,不同用戶的信息需求也不盡相同。
【發明內容】
[0004]本發明的目的在于提供一種基于多Markov鏈的微博用戶興趣預測方法,該方法可以有效預測微博用戶的興趣。
[0005]為實現上述目的,本發明的技術方案是:一種基于多Markov鏈的微博用戶興趣預測方法,包括以下步驟:
步驟S1:獲取q個微博用戶發表或轉發的微博信息作為訓練數據,獲取P個微博用戶發表或轉發的微博信息作為測試數據;
步驟S2:以微博用戶為單位,對所述訓練數據、測試數據進行預處理,從微博用戶發表或轉發的微博信息中提取每個微博用戶對應的η個興趣特征值,分別轉換為文本向量;步驟S3:將所述訓練數據對應的q個微博用戶作為獨立的用戶類別,每個微博用戶利用其對應的η個興趣特征值生成一條對應的Markov鏈,共得到q條Markov鏈,然后計算所述q條Markov鏈兩兩之間的聚類相似度,根據聚類相似度對Markov鏈進行合并,得到若干條合并后的Markov鏈,每一條合并后的Markov鏈對應一類微博用戶,利用所有合并后的Markov鏈建立多Markov鏈模型;
步驟S4:利用最小錯誤率的貝葉斯判定規則,對所述測試數據對應的P個微博用戶進行用戶分類;
步驟S5:基于步驟S4確定的微博用戶的用戶類別,利用步驟S3建立的多Markov鏈模型預測微博用戶的興趣特征。
[0006]進一步的,步驟SI中,對訓練數據、測試數據進行預處理包括中文分詞和停用詞處理,中文分詞的方法為:采用中文分詞系統,結合自定義的用戶詞典對微博信息進行分詞,停用詞處理的方法為:采用HashMap快速索引查表法對無用信息進行過濾,從而降低微博信息的噪音。
[0007]進一步的,步驟S3中,多Markov鏈模型的建立方法如下:
將多Markov鏈模型表示為一個四元組:(X,K, p (C),MC);
其中,X是一個離散隨機變量,值域為Ix1, X2, -,Xi,-, xn},每個Xi對應一個微博用戶的興趣特征值,稱為模型的一個狀態;K表示多Markov鏈模型包含的用戶類別的數目;C=Ic1, C2,…,C1J表示用戶類別,其分布函數P(C)表示不同類別用戶的概率分布;MC={mCl,mc2,…,mck}為Markov鏈的集合,每一個元素mck是描述類別為ck的一類微博用戶的興趣特征值的Markov鏈;
類別為ck的一類微博用戶的興趣特征值的Markov鏈的轉移矩陣Ak和初始狀態分布入k分別為:
【權利要求】
1.一種基于多Markov鏈的微博用戶興趣預測方法,其特征在于,包括以下步驟: 步驟S1:獲取q個微博用戶發表或轉發的微博信息作為訓練數據,獲取P個微博用戶發表或轉發的微博信息作為測試數據; 步驟S2:以微博用戶為單位,對所述訓練數據、測試數據進行預處理,從微博用戶發表或轉發的微博信息中提取每個微博用戶對應的η個興趣特征值,分別轉換為文本向量; 步驟S3:將所述訓練數據對應的q個微博用戶作為獨立的用戶類別,每個微博用戶利用其對應的η個興趣特征值生成一條對應的Markov鏈,共得到q條Markov鏈,然后計算所述q條Markov鏈兩兩之間的聚類相似度,根據聚類相似度對Markov鏈進行合并,得到若干條合并后的Markov鏈,每一條合并后的Markov鏈對應一類微博用戶,利用所有合并后的Markov鏈建立多Markov鏈模型; 步驟S4:利用最小錯誤率的貝葉斯判定規則,對所述測試數據對應的P個微博用戶進行用戶分類; 步驟S5:基于步驟S4確定的微博用戶的用戶類別,利用步驟S3建立的多Markov鏈模型預測微博用戶的興趣特征。
2.根據權利要求1所述的一種基于多Markov鏈的微博用戶興趣預測方法,其特征在于,步驟SI中,對訓練數據、測試數據進行預處理包括中文分詞和停用詞處理,中文分詞的方法為:采用中文分詞系統,結合自定義的用戶詞典對微博信息進行分詞,停用詞處理的方法為:采用HashMap快速索引查表法對無用信息進行過濾,從而降低微博信息的噪音。
3.根據權利要求1所述的一種基于多Markov鏈的微博用戶興趣預測方法,其特征在于,步驟S3中,多Markov鏈模型的建立方法如下: 將多Markov鏈模型表示為一個四元組:(X,K, p (C),MC); 其中,X是一個離散隨機變量,值域為Ix1, X2, -,Xi,-, xn},每個Xi對應一個微博用戶的興趣特征值,稱為模型的一個狀態;K表示多Markov鏈模型包含的用戶類別的數目;C=Ic1, C2,…,C1J表示用戶類別,其分布函數P(C)表示不同類別用戶的概率分布;MC={mCl,mc2,…,mck}為Markov鏈的集合,每一個元素mck是描述類別為ck的一類微博用戶的興趣特征值的Markov鏈; 類別為ck的一類微博用戶的興趣特征值的Markov鏈的轉移矩陣Ak和初始狀態分布入k分別為:
其中,Pku表示類別為Ck的一類微博用戶的興趣特征值中興趣Xi和興趣\同時出現的概率,Pki表示類別為Ck的一類微博用戶的興趣特征值出現的初始狀態分布;采用貝葉斯估計法計算轉移矩陣Ak和初始狀態分布λ k中的Pku和Pki:
其中,α kiJ為超級參數,采用貝葉斯假設確定其值;sku表示類別為Ck的所有用戶的興趣特征值序列中,狀態對(Xi, Xj)出現的次數; 聚類相似度定義如下: 對于任意兩個轉移矩陣A1^A1,設A1^A1的第i行分別為pku、plu,pk1、pii都表示在給定X[t-l]=xi條件下變量X[t]的分布,即P (Xt I Xw= xi),則PpPli的近似程度用它們的交叉熵 CE (pki, Pli)為:
則轉移矩陣Ak、A1的聚類相似度δ kl為:
評價聚類結果的準則函數定義如下: 多Markov鏈模型中,一個用戶的興趣特征由其所屬的Markov鏈描述,這些內部概率依賴關系表示為一個含有隱變量,即類別變量C的Bayes網絡; 將P (M|D)作為評價聚類結果的準則函數:
其中,M表示一個Bayes網絡模型,D表示訓練數據,p(M|D)為后驗概率,其越大此模型越優; P(D|M)表示模型M的似然函數,采用如下公式計算:
其中L(D,C)表示對于節點C的似然函數,L(D,Xh,Xt)表示對節點(Xh,Xt)的似然函數,分別利用下式計算:
對Markov鏈進行合并:當Ck和C1屬于同一類的話,合并后的Markov鏈mc(k+1)為:
多Markov鏈模型的建立流程如下: 步驟3301:設訓練數據0={(11,d2,…,d,},利用式(I廣(4),將訓練數據D轉化為q條Markov鏈;然后利用式(5廣(7),計算q條Markov鏈兩兩之間的聚類相似度,并將計算得到的聚類相似度按從大到小排列成相似度隊列Q ;利用式(8) 111),計算每條Markov鏈的準則函數值Pold,設初值Pnew=Pold ; 步驟S302:當Pold小于等于Pnew時,令Pnew等于Pold ; 步驟S303:遍歷相似度隊列Q,利用式(12)、(13),嘗試合并Q[I]所對應的兩個Markov鏈,并計算準則函數值Pm,其中Q[I]表示相似度隊列Q中第I個元素,1=1,2,…,length[Q], length[Q]表示相似度隊列Q中元素的個數;如果Pnew大于Ptjld,正式合并Q[I]對應的兩個Markov鏈,并重新計算并排序相似度隊列Q ; 步驟S304:重復步驟S302、S303,直至每條Markov鏈的P()ld大于pnew,最終獲得k條合并后的markov鏈; 步驟S305:計算結束,步驟S304獲得的k條合并后的markov鏈即組成所述多Markov鏈模型。
4.根據權利要求1所述的一種基于多Markov鏈的微博用戶興趣預測方法,其特征在于,步驟S4中,對微博用戶進行分類的方法如下: 根據貝葉斯公式,一用戶屬于類別Ck的概率為:
P ( X1,X2,…,Xn)為序列(X1,x2,-,Xn)的邊際概率,對于不同的分類,該值都不會改變,為常數; 利用最小錯誤率的貝葉斯判定規則得到:
5.根據權利要求1所述的一種基于多Markov鏈的微博用戶興趣預測方法,其特征在于,步驟S5中,采用如下公式預測微博用戶的興趣特征:
其中,Akh表示第k類微博用戶的興趣特征值對應的Markov鏈的h階轉移矩陣;Wi是權值,滿足等式Wjw2+…+wh=l ;H(t) = [O, O,…,I]表示微博用戶在時刻t的狀態,如果此時微博用戶處于狀態xi,則該向量的第i維等于1,其余各維都為O ; 在向量V(t)中,概率值最大的那一向量分量所對應的狀態,就是微博用戶在時刻t最可能的狀態,從而得到該微博用戶所屬的興趣特征。
【文檔編號】G06F17/30GK104077412SQ201410334853
【公開日】2014年10月1日 申請日期:2014年7月14日 優先權日:2014年7月14日
【發明者】鄭相涵, 陳國龍, 安東云, 郭文忠, 於志勇 申請人:福州大學