陳淑娟,徐雅斌
1.網絡文化與數字傳播北京市重點實驗室,北京100101
2.北京信息科技大學 計算機學院,北京100101
近年來,Facebook、Twitter、微博等社交網絡已經成為人們溝通交流的重要渠道。每個社交網絡都存在著意見領袖,意見領袖在敏感信息、輿情、熱點話題的傳播過程中扮演著關鍵作用,具有較大的社會影響力。
分析發現,在每個社交網絡中,圍繞著意見領袖自然形成若干個不同的社團,而每個社團往往具有一個或多個交流和討論的主題。因此,意見領袖的挖掘與主題社團是密切相關的。研究如何面向主題社團挖掘意見領袖對熱點事件傳播,輿情管控具有重要的意義和研究價值。
針對上述分析,本文提出了一種基于主題相似度的多標簽均衡社團劃分算法和快速意見領袖挖掘算法QMOLA。首先采用I-LDA 計算主題分布,并籍此計算出主題相似度。并利用主題相似度排序,確定節點標簽傳播更新的順序,再結合鄰居節點間的相似度和社團標簽信息更新自身的社團標簽信息,由此劃分出高穩定性的主題社團;然后針對某一主題社團,根據結構特征排除粉絲數、關注數和VIP 等級較低的用戶,確定候選人集合;最后,根據候選人的傳播特征和情感特征計算用戶影響力,挖掘TOP- K 個意見領袖。整體算法的框架流程圖如圖1所示。
(1)提出了一個I-LDA 模型,將粉絲類別屬性作用于LDA 模型,由此可抽取出主題表達能力更強的主題詞,使得主題識別效果更好。
(2)針對同一社團的用戶經常發布相同或相似主題文本內容的特點,采用基于主題相似度的多標簽均衡社團劃分算法劃分主題社團,相對已有的社團劃分方法,有效提高了社團劃分的準確性。
(3)提出了意見領袖快速挖掘算法QMOLA,不僅可以減少計算全部用戶影響力的時間,提高效率,而且還可提高社團中意見領袖挖掘的準確性。
對于社團劃分的研究,姜昊等[1]提出了Fast-Newman算法,不同于傳統的分裂式社團劃分算法GN[2],該算法先將每個用戶初始化一個單獨的社團,再采用貪婪算法合并社團,實現復雜網絡的快速社團劃分。Liu等[3]提出了一種基于局部最優擴展內聚思想的社區發現算法,先使用最重要的節點及其鄰接節點初始化核心社團,再通過節點隸屬度對核心社團進行擴展。文獻[4-6]提出基于節點重要性的多標簽傳播重疊社團發現算法,先采用LeaderRank 或PageRank 計算出節點的影響力,再使用多標簽傳播算法劃分社團。趙雨露等[7]在采用標簽傳播算法劃分社團的基礎上,采用最大社區節點數控制社團規模。歐陽驥等[8]提出采用主題劃分與鏈接劃分的社團發現算法,先采用隱含狄利克雷分布(Latent Dirichlet Allocation,LDA)模型對社團進行主題劃分,再應用模塊度社團發現算法對社團進行鏈接劃分。翟菊葉等[9]提出一種主題社團混合模型(On-line Topic and User Combine Model,OTUCM)模型的網絡社團演化識別方法,把社團識別轉換成主題識別,并引入時間因素,實現動態社團劃分。
對于意見領袖挖掘的研究,文獻[10-12]主要根據核數、粉絲數、接近中心性、轉發數等節點的結構特征挖掘意見領袖。郭博等[13]采用層次分析法確定用戶的粉絲數、關注數、活躍度和可信度各個指標的權重,并基于PageRank算法挖掘意見領袖。Qiu等[14]根據用戶評論進行文本挖掘,并通過引入時間特征改進PageRank 算法來挖掘意見領袖。陳振春等[15]通過研究用戶的粉絲數、跨社團數等結構特征和用戶行為特征計算節點影響力,并挖掘意見領袖。肖宇等[16]通過分析用戶回帖的情感傾向,采用LeaderRank算法計算意見領袖排名。徐郡明等[17]根據用戶的情感傾向和活躍程度改進LeaderRank 算法挖掘意見領袖。Duan等[18]先采用聚類算法將用戶聚類,再對用戶進行情感分析,由此挖掘意見領袖。
綜上可以發現,現有的方法采用LDA 主題模型對文本提取主題并計算主題相似度,但是提取出的主題詞傾向于選擇高頻詞,而主題表達能力強的低頻詞被分配到各主題的概率比較低。現有的方法劃分社團常采用分裂或聚合的方式將關系密切的用戶劃分在一個社團內,將關系不密切的用戶分離,但是忽略了用戶間的主題相似影響,不能準確地劃分主題社團。現有的意見領袖挖掘方法計算結構特征、行為特征或情感特征對PageRank算法進行改進計算影響力,但是并未考慮到用戶在每個主題社團下的影響力是不同的。并且計算全部用戶的影響力值,并對其進行排序,導致耗時較長,計算效率需進一步提高。

圖1 整體算法的框架流程圖
LDA 主題模型的基本思想是將多個不同的主題按照一定的概率分布生成文檔,其中多個不同的詞按照一定的概率分布生成主題,從而挖掘文檔中隱藏的主題信息。標準的LDA 模型是一種基于文檔-主題-詞語的三層貝葉斯模型,可以得到“文檔-主題”和“主題-詞項”兩個概率分布。
LDA 模型以離散的詞頻作為輸入,并且語料庫中單詞的重要程度只有詞頻相關。由于文檔中公用詞和停用詞幾乎出現在所有主題下,而LDA 模型會賦予在部分文檔中出現頻率低而在語料庫的其他文檔中出現頻率高的單詞一個較高的值,而賦予在整個語料庫所有文檔中出現頻率很低的單詞一個較低的值。因此,當使用LDA 模型提取文本中的主題詞時,容易出現向高頻詞傾斜的現象,因而主題表達能力強的低頻詞分配到各主題中的概率就會比較低,主題表達能力弱的高頻詞分配到各主題中的概率往往會比較高,由此降低了模型的主題識別效果。為了能抽取到主題表達能力強的主題詞,使主題識別效果更好,本文提出了一個I-LDA模型,如圖2所示。

圖2 I-LDA模型
基于I-LDA 模型的主題挖掘方法的過程:(1)根據用戶的粉絲博主分布比例作為用戶的興趣屬性矩陣,將其作為I-LDA 模型的輸入文檔之一;(2)對微博文本進行預處理,包括去短文,分詞,以及去停用詞,形成規范的文本語料庫,得到詞匯表和文檔-詞匯矩陣,作為ILDA 模型的輸入文檔之一;(3)采用I-LDA 模型對文本語料進行文本表示,在利用Gibbs抽樣過程中,使用興趣屬性矩陣對文章-主題矩陣以及主題-詞矩陣進行加權迭代,由此得到文章-主題分布矩陣和主題-詞分布矩陣。
在主題數為K 的情況下,語料庫中包含M 篇文檔,每篇文檔中包含詞匯Wm,n,每個用戶包含C 個興趣屬性。首先,對于任意一篇文檔m,使用Dirichlet 分布作為主題分布θm的先驗分布,其中α 是分布的超參數,θm表示文檔m 屬于K 個主題的概率。對于任意一個主題k,使用Dirichlet分布作為詞分布φk的先驗分布,其中β 是分布的超參數,φk表示主題k 對于N 的詞的概率。
然后,對于文檔m 中的每個詞w 進行如下操作:根據每一篇文檔中主題的多項式分布和興趣參數對主題詞的加權處理,不斷調整主題分布,最終得到這篇文章的主題分布Zm,n。根據每一個主題中詞的多項式分布和興趣參數對詞項的加權處理,不斷調整詞分布,最終得到K 個主題下的詞分布Wm,n。重復此過程,遍歷文檔中所有的詞匯,直到生成所有文檔的主題。最后采用快速Gibbs 抽樣對超參數α 和β 進行迭代估計,得到ILDA的聯合概率分布如式(1)所示:

迭代循環最終得到文檔m 的主題分布和主題k 的詞分布的期望公式:

一般可以根據用戶的標簽信息判斷用戶的興趣。但是用戶往往并不及時更新自己的信息資料,所以以標簽信息表示用戶的興趣缺乏時效性。以微博為例,大V用戶經過微博認證分類,并且關注自己感興趣的用戶,所以可根據粉絲的認證博主分類推測用戶的興趣。博主分類為44種類型,如表1所示。

表1 粉絲博主分類類型
由此,用戶u 的興趣屬性可由interest(u)=[c1(u),c2(u),…,c44(u)]表示。ci(u)表示用戶u 的第i 類粉絲博主的比例,計算公式如式(5)所示:

其中,fanNum(ui)表示用戶u 的第i 類粉絲博主數量。
通過I-LDA模型進行主題識別后,得到所有用戶及其主題構成的用戶-主題矩陣(User-Topic Matrix,UTM)如式(6)所示:

其中,a 表示用戶的個數,b 表示主題的個數。用戶(u,v)的主題分布可使用VSM表示:topic_rate(u)={t1(u),t2(u),…,tb(u)},topic_rate(v)={t1(v),t2(v),…,tb(v)}。兩用戶(u,v)的主題相似度可采用公式(7)所示:

多標簽均衡傳播算法是一種快速劃分社團的半監督學習算法。標簽的格式為(c,r),其中c 表示節點屬于c 社團,r 表示節點屬于c 社團的從屬系數,每個節點可以擁有多個標簽,并且多個標簽的從屬系數之和為1。均衡傳播指在網絡中,若存在一些已標記節點和未標記節點,將已標記節點的標簽信息傳遞給相鄰的未標記節點,引入閾值p 判斷未標記節點是否保留傳遞得到的標簽,以此更新自身標簽信息并轉換成已標記節點。但是也存在一些問題:
(1)節點更新標簽的順序是隨機的,可能會出現未標記節點預測已標記節點的標簽信息的現象。
(2)更新節點標簽時,認為節點接收每個鄰居節點標簽的概率是相同的,忽略了節點與不同鄰居節點之間的相似度對標簽傳播的影響。
(3)當鄰居節點擁有多個從屬系數最大的標簽時,算法采用隨機的方式保留標簽,使得社團劃分存在一定的隨機性,導致劃分的社團結構不穩定。
為了解決上述三個問題,提高社團劃分的準確性和保證社團結構的穩定性,本文對已有的多標簽傳播算法進行改進,提出了一種基于主題相似度的多標簽均衡社團劃分算法如算法1所示。
算法1 基于主題相似度的多標簽均衡社團劃分
輸入:用戶節點集合U ,用戶的主題相似度。
輸出:主題社團集合S。
(1)每個節點ui設置一個各不相同的標簽(c,r)。
(2)將主題相似度從大到小排序,確定標簽更新的順序,并設定閾值參數p。
(3)更新節點ui的標簽時,接收鄰居節點傳遞的標簽。計算每種標簽的社團從屬系數與相似度乘積之和,確定最大值bmax。
(4)節點ui計算每種標簽的乘積之和與bmax的比值,將比值與閾值p 進行比較,保留大于p 的標簽。
(5)節點ui對標簽的社團從屬系數進行標準化,使得所有標簽從屬系數之和為1。
(6)如果社團中的最少節點數不再變化,則算法停止,否則繼續重復步驟(3)~(5),對其余節點進行標簽更新操作。
(7)將擁有相同標簽的節點劃分到一個社團中,從而實現主題社團劃分。
通過上述算法即可得到主題社團集合S。在算法中,步驟(1)、(2)為準備階段,完成節點的標簽初始化、確定節點的標簽更新順序和設置閾值p 三部分。步驟(3)~(6)為標簽更新階段,每個節點按照更新的規則迭代更新自己的標簽。步驟(7)為收尾階段,統計和整理節點的標簽,劃分主題社團。
主題社團形成之后,挖掘主題社團中的意見領袖的關鍵在于綜合分析各個維度的特征對用戶影響力的作用結果。基于對意見領袖的特征進行深層次分析,本文從結構特征、傳播特征和情感特征三個角度挖掘意見領袖。
結構特征不僅指用戶個人因素,還指其所處的網絡拓撲結構因素,在微博中可由粉絲數、關注數、VIP 等級,接近中心性等屬性表示。但是,由于采集的數據集不能準確再現用戶在微博中的網絡拓撲結構,對接近中心性的計算存在差異。為此,本文主要從粉絲數、關注數和VIP等級三個因素計算用戶的結構特征值INF_S。

其中,followedNum(u) 表示用戶u 的粉絲數,followerNum(u)表示用戶u 的關注數,vipLevel(u)表示用戶u 的VIP等級,α1~α3表示對應屬性的權重。
每種屬性數據具有不同的量綱,數據間差異較大,不能直接參與計算,因此需要對數據進行標準化處理,使得數據指標之間具有可比性。本文采用min-max 標準化對數據進行線性轉換,將結果映射到[0-1]之間,轉換函數如下所示:

通過AHP層次分析法確定每個屬性的權重參數值。
首先,通過對1 043個用戶進行結構特征分析,可以發現,用戶可以選擇不關注其他用戶,但不能阻止其他用戶關注自己,因此粉絲數相對于關注數稍微重要,另外,VIP 等級越高,影響力越強,因此VIP 等級相對于粉絲數和關注數較強重要。然后,根據兩兩屬性之間的重要程度,得出層次判別矩陣如表2 所示。最后,通過一次性檢驗得到各個屬性權重如表3 所示。從表中可以看出,VIP 等級、粉絲數和關注數的比例約為6∶2∶1,符合用戶的結構特征分布。

表2 結構屬性權重的層次判別矩陣

表3 結構屬性權重設置
傳播特征指用戶在一段時間內發布的微博數和微博被點贊、被轉發和被評論的數量。為了表示時間對傳播特征的影響,本文選取用戶在24小時內的發博數、被點贊數、被轉發數和被評論數計算用戶的傳播特征值INF_P。

其中,weiboNum(u)表示用戶u 發布的微博數,likeNum(u)表示用戶u 的被點贊數,repostNum(u)表示用戶u 的被轉發數,replyNum(u)表示用戶u 的被評論數,α1~α4分別表示對應屬性的權重。
首先,通過式(9)的轉換函數對數據進行min-max標準化轉換;然后,對用戶進行傳播特征分析,發布微博越多,其微博有更大概率被轉發,因此微博數相對于其他三者較強重要,轉發數越高,則微博更能廣泛傳播,因此轉發數相對于點贊數稍微重要,對微博進行評論,更能體現對該條微博的認同,因此評論數相對于點贊數較強重要,相對于轉發數稍微重要。其次,通過層次分析法確定每個屬性的權重參數值,得到層次判別矩陣如表4 所示;最后,通過一致性檢驗得到各個屬性的權重如表5所示。從表中可以看出,微博數、評論數、轉發數和點贊數的比例約為7∶4∶2∶1,符合用戶的傳播特征分布。
用戶發布的微博往往受到粉絲或者路人的評論,對用戶發布微博的正向評論越多,越能體現其受尊重和受歡迎的程度,越能增加作為意見領袖的概率。反之,反向評論越多,則說明其不受尊重和不受歡迎的程度,越能降低作為意見領袖的概率。為此,本文以微博評論的情感極性作為用戶的情感特征,極性判別步驟如下:

表4 傳播屬性權重的層次判別矩陣

表5 傳播屬性權重設置
(1)用SVM模型訓練已標注好的語料,對參數進行調優。
(2)預處理,剔除微博評論中的特殊字段。例如,“http://www.qzjcj.com”“#話題#”“回復@用戶名:”“//@用戶名:”“@用戶名”等。
(3)采用jieba 分詞器對預處理過的評論進行分詞和加載停用詞表,去除評論中的停用詞。
(4)用word2vec 模型訓練每條評論,得到每個詞的高維向量,然后根據情感詞典選取每條評論中的特征詞,將特征詞的向量相加后求平均,得到每條評論的句子向量。
(5)使用訓練好的SVM 模型對句子向量進行極性分類。
情感極性分析結束后,統計每個用戶正、負向評論的條數,采用公式(11)計算用戶的情感特征值INF_E。參數分別取1、-2,能夠明顯區分用戶正向評論數與負向評論數。

通過研究發現,意見領袖一般具有明顯的結構特征,然而具有明顯結構特征的用戶不一定是意見領袖。此外,意見領袖的影響力不僅表現在微博被轉發或評論的次數,還表現在粉絲對其微博的支持態度。為了快速和準確地挖掘主題社團中的意見領袖,本文提出了快速意見領袖挖掘算法QMOLA,先根據結構特征篩選出候選人,后根據傳播特征和情感特征計算影響力,從候選人中選取意見領袖。
本文在網頁排名算法PageRank 的基礎上,添加用戶的傳播特征和情感特征,提出了如式(12)所示的用戶影響力(User Influence,UI)計算公式。

其中,d 為阻尼系數,取值為0.85;N 表示全部節點的數量,表示用戶i 被選為候選人的粉絲集合;L(j)表示用戶j 關注的且被選為候選人的用戶集合;INF_P(i)表示用戶i 的傳播特征值;INF_E(i)表示用戶i 的情感特征值。
UI 計算公式的提出借鑒了PageRank 算法的思想,認為一個用戶的影響力不僅與其傳播特征和情感特征有關,而且還與其粉絲的影響力有關。由PageRank 算法的質量假設可知,越是質量高的頁面指向頁面A,頁面A 越重要。所以,若粉絲的影響力普遍很高,且對該用戶的意見普遍贊成,則表明對此用戶的影響力貢獻越大。因此,UI計算公式不僅分析深層次的影響因素,同時還保持了PageRank 算法的優勢。算法步驟如算法2所示。
輸入:節點集合U ,關系集合E,主題社團集合S。
輸出:節點影響力排名。
(1)根據用戶的粉絲數、關注數和VIP 等級計算結構特征值INF_S。
(2)將社團中每個用戶的INF_S 從大到小排序,選取h 個用戶組成候選人集合H 。
(3)計算候選人集合H 中的每個用戶的傳播特征值INF_P 和情感特征值INF_E。
(4)根據UI公式計算出用戶的影響力值UI 。
(5)將候選人的UI 按照從大到小的順序進行排序,選擇前K 個用戶作為意見領袖TOP-K 。
本文從新浪微博平臺上采集實驗數據,按照廣度優先的策略,從微博昵稱為“人民日報”“央視體育”“新浪財經”“圈內星探”“新浪軍事”“央視新聞”“新浪娛樂”七個用戶開始爬取數據,爬取用戶的個人信息和2019-03-18—2019-03-20三天內發布的微博。針對每條微博,先爬取評論內容、點贊數和轉發數等數據,再爬取其粉絲用戶,將這些用戶繼續添加至待爬取隊列。對一個用戶的數據爬取結束之后,繼續對下一個用戶進行同樣的操作,重復此過程,直至爬取1 043 個用戶的信息,則爬蟲停止。
葉總接過話茬:“這么看來,我猜的就八九不離十了。老賈成功騙過我們之后,就剩下釣你教授上勾了。那天我提前離開酒席之后,他怕夜長夢多,便用錢盒子為餌,促成交易。仔細想想,看來老賈真的是以為這個盒子不太值錢,所以才把它當陪襯送給了陸教授。”
該數據集中包含1 043個用戶的個人信息、1 124條用戶關系、95 447條微博信息以及296 881條評論信息。另外,進行情感分析時,需要借助情感詞典,本文的情感詞典包含7 339個正向情感詞和12 956個負向情感詞。
本文的實驗環境如表6所示。

表6 實驗相關環境
4.2.1 評價指標
困惑度指所訓練出的模型將一篇文章歸屬于哪個主題的不確定性。困惑度越小,說明聚類的效果越好。
4.2.2 對比實驗
為了驗證本文提出的I-LDA 模型對于主題聚類的能力,與I-LDA模型在困惑度上進行對比實驗。在相同的實驗環境下,對比結果如圖3所示。

圖3 困惑度對比實驗結果
從圖3中可以看出,本文提出的I-LDA模型困惑度的值明顯低于LDA 模型的困惑度值,進一步說明了I-LDA模型的性能優于LDA模型,將用戶的興趣屬性融入LDA模型中在一定程度上提升了主題聚類的精確度。
4.3.1 評價指標
(1)時間指挖掘社團中意見領袖消耗的時間,采用計算用戶結構特征、傳播特征和情感特征的總時間表示。
(2)覆蓋率指從信息擴散角度衡量意見領袖的影響力,采用社團內轉發意見領袖微博的用戶數與用戶總數的比值來表示。
(3)支持率指從情感角度衡量意見領袖的受支持程度,采用社團內正向評論的用戶數與用戶總數的比值來表示。
4.3.2 對比實驗
將本文提出的QMOLA與文獻[19]提出的多維特征的意見領袖挖掘方法在挖掘時間上進行比較。在相同的實驗環境下,兩種方法的對比結果如圖4所示。

圖4 挖掘時間對比實驗結果
從圖4中可以看出,兩種方法都計算全部用戶的結構特征,耗時相同。之后,本文提出的QMOLA 只需計算候選人的傳播特征,與文獻[19]計算全部用戶的傳播特征耗時相差0.29 s。但是,兩種方法計算情感特征時,耗時相差明顯。并且從時間復雜度上分析可知,文獻[19]的時間復雜度為O(n3) ,而QMOLA 的時間復雜度為O(n+n2)。所以,在保證挖掘意見領袖準確率的前提下,本文提出QMOLA 比文獻[19]挖掘意見領袖的效率更高。
為了驗證本文方法的有效性,與PageRank和SRank方法在覆蓋率上進行對比實驗。在相同的實驗環境下,對比結果如圖5所示。

圖5 覆蓋率對比實驗結果
從圖5中可以看出,SRank只考慮了情感特征,忽略了好友的影響,導致挖掘出的意見領袖覆蓋率最低。PageRank方法體現了用戶之間的相互影響,比SRank具有稍好的優勢。而本文提出的QMOLA 是在PageRank的基礎上,不僅考慮用戶之間的相互影響,而且還結合了用戶的傳播特征和情感特征,因此,效果明顯優于PageRank和SRank方法。當選取的TOP-K 較小時,采用QMOLA挖掘出的意見領袖具有更高的覆蓋率和影響力。
為了進一步驗證結構特征、傳播特征和情感特征對節點影響力的影響,本文將QMOLA與根據結構特征和傳播特征計算影響力的方案1 以及根據結構特征和情感特征計算影響力的方案2進行對比,選擇支持率作為評價指標。在相同的實驗環境下,對比結果如圖6所示。

圖6 支持率對比實驗結果
從圖6 中可以看出,當選取意見領袖的TOP- K 個數較小時,本文提出的QMOLA 與方案1 和方案2 挖掘的意見領袖的支持率比較接近,但QMOLA 的效果最好。當TOP- K 選取個數較大時,QMOLA 綜合分析意見領袖的傳播特征和情感特征,挖掘的TOP- K 個意見領袖的支持率優于方案1 和方案2。因此,本文提出的QMOLA能夠挖掘出高支持率的意見領袖。
4.3.3 主題社團的意見領袖挖掘結果展示
表7 展示的是在“娛樂”主題社團中挖掘出的前10個意見領袖的影響力排名。從表中可以看出,“楊冪”“陳坤”等用戶結構特征值比較大,但是在近一段時間內,其微博被轉發和被評論的數量偏少,傳播特征值相對不高,導致用戶影響力偏低。再如“王思聰”的微博被轉發和被評論的數量很多,傳播特征值很高,但由于評論中出現太多貶義評論,導致情感特征值出現負值。綜合傳播特征值和情感特征值來看,其用戶影響力是比較低的。
為了更加準確、高效地挖掘不同主題社團下的意見領袖,本文針對現有方法主題抽取準確率低的問題,提出了一種I-LDA模型,通過添加興趣屬性對傳統的LDA模型進行改進,由此能夠抽取主題表達能力更強的主題詞。在以關注關系建立的社交關系圖中,增加主題相似度權重,并提出基于主題相似度的多標簽均衡社團劃分算法進行主題社團劃分,提高了主題社團劃分的準確性。本文進一步提出了一種快速意見領袖挖掘算法(QMOLA),該方法先在主題社團中篩選出結構特征值比較大的用戶作為候選人,再采用本文提出的用戶影響力(UI)計算公式,根據候選人的傳播特征和情感特征計算用戶影響力,據此,進行主題社團中的意見領袖挖掘。

表7 節點影響力排名
實驗及分析結果表明,本文方法不僅能夠準確劃分出主題社團,而且挖掘意見領袖的效率更高,挖掘出的意見領袖具有較高的覆蓋率和支持率。