摘 要: 針對微博內容實時性的特點,對話題聚類的Single?Pass算法進行了改進,提出將時間參數添加到微博話題相似度檢測方法中,并針對微博轉發特性的處理方法給出了算法的處理步驟。仿真實驗表明,該算法的優點是邏輯簡單、算法執行效率高,通過算法的應用有效提高了基于Web數據挖掘的微博話題檢測準確度。
關鍵詞: Web; 數據挖掘; 微博; 相似度
中圖分類號: TN911?34; TP393 文獻標識碼: A 文章編號: 1004?373X(2016)03?0115?05
Research on Web data mining and its application in microblog topic detection
JIANG Yuting
(School of Information Engineering, Jiangsu Maritime Institute, Nanjing 211170, China)
Abstract: For the real?time characteristic of microblog content, the Single?Pass algorithm of topic clustering was improved. The time parameter is added to the method of microblog topic similarity detection, and the processing steps of the algorithm are given according to the processing method of the microblog forwarding characteristic. The simulation results show that the algorithm has the advantages of simple logic and high execution efficiency, and can effectively improve the accuracy of microblog topic detection based on Web data mining.
Keywords: Web; data mining; microblog; similarity
0 引 言
近年來,微博服務有了爆炸性的增長[1?2]。作為一個為用戶與朋友提供交流和信息共享的平臺,微博開辟了新的交流推薦機會[3]。推特和微博等服務開辟了新的提高熱點話題推薦準確性的方法。作為用戶與朋友交流和分享信息的流行平臺,微博服務每天都產生大量的內容。豐富的內容有助于形成對用戶的偏好以及物品特點更好的理解。此外,信息中用戶的社會關系和相互交互是通過微博服務體系顯示的。所有以上信息可以利用數據挖掘算法來提高挖掘熱點話題的準確性[4]。
在熱點話題的挖掘中經常使用的方法有兩種:其一是基于內容過濾法;其二是協同過濾法[5]。第一種方法在挖掘類似項目時,類似于過去的用戶喜歡模式。基于內容的過濾需要項目的知識特點,這并不總是可用的;相反,協同過濾方法不依賴問題的特征項。基于用戶的協同過濾方法假定相似用戶的偏好往往有相似的項目。通過收集和分析大量的用戶行為信息,當用戶行為被發覺后,可以使用協同過濾方法去預測相似項目中用戶和基于相似用戶的期望。這種方法經常遭受來自三個方面的問題,冷啟動,數據稀疏和可伸縮性。事實上,結合協同過濾的混合方法和基于內容的過濾已經證明能夠在一定程度上緩解上述問題。利用微博挖掘熱點話題時,需要注意的是:用戶的社會網絡和各自的偏好需要形成一個動態平衡。具有相似的興趣和喜好的人更有可能與對方相互連接和交互;另一方面,個體在許多方面往往是受他/她的社會關系影響,包括利益和偏好。考慮到上述兩個屬性,有學者提出了一個基于概率矩陣分解的混合推薦模型,一個受歡迎的協同過濾方法。兩個正則化被添加到矩陣分解過程中:社會正則化和項目相似性正則化,并借助于新浪微博數據集驗證所提出算法在電視節目推薦中的有效性。實驗結果表明,該算法明顯優于最先進的協同過濾方法,展示了在結合社會信任和推薦相似項目中的重要性。此外,有學者針對向新用戶推薦過程中的魯棒性進行了研究[6?7]。
本文采用數據挖掘知識探索了挖掘微博熱點話題的可能性。特別地,利用微博的以下兩個重要特性:
(1) 用戶發布的豐富內容,顯示用戶在熱點話題中的偏好;
(2) 用戶之間的相互影響導致各種社會互動的發生。通過利用用戶社交互動以及用戶在微博網站發布的內容,探索提高挖掘熱點話題的準確性。
1 Web數據挖掘
微博話題檢測涉及從微博相關網頁中抽取制定的數據并進行數據挖掘,該種挖掘方式是以Web為基礎進行的挖掘。使用一些數據挖掘技術對網絡文檔、網頁中的有用信息進行抽取,這一過程就是以Web為基礎進行的數據挖掘,因為Web數據挖掘的對象不同,所以可將Web數據挖掘分為如下三類[8?10]。
(1) 以Web頁面為基礎進行的內容挖掘
在各類網頁內容中將一些具有價值的知識信息提取出來,這是以Web頁面為基礎進行內容挖掘的重要任務。在應用中,可將網頁中的主題內容當作依據,將信息分成不同的類別。分類工作和數據挖掘工作有一些相同點,由于網絡的發展,出現了該種需求,因此在網絡中也出現了與之對應的應用。所以在各類媒介中都可以添加應用,例如將應用添加到BBS和微博中,進而完成各目標。
(2) 以Web結構為基礎進行的挖掘
將一些具有價值的信息從Web結構的鏈接中挖掘出來,這就是以Web結構為基礎進行的挖掘。在實際應用中,運用此項技術能夠找到某些網頁,搜索引擎經常使用這項技術。從該角度考慮,在數據挖掘任務中,以Web結構為基礎的數據挖掘和其他數據挖掘具有明顯的差異。
(3) 以Web使用記錄為基礎進行的挖掘
將一些有價值的信息從使用者記錄或Web服務器日志中挖掘出來就是基于Web使用記錄的挖掘。將具有價值的信息從Web使用記錄中挖掘出來,決策者根據這些信息能夠了解系統的運行狀況,從而制定各類決策,通過Web使用記錄得到的信息能夠讓決策更加科學、合理。
2 Web數據挖掘方法
2.1 微博數據信息提取及處理
當利用微博等開放平臺進行相關數據獲取之前,需要首先在平臺上注冊一個賬號。如果有新浪微博賬號,可以直接登錄平臺,還可以注冊新的賬號,可在http://open.weibo.com/上注冊新的賬號,并記住API接口驗證序號和密鑰,同時將返回地址填寫到微博的高級設置中,從而使獲取的數據記入開發者的配置文件中[11]。
本文主要利用API接口statuses/public_timeline進行微博數據的獲取。返回到最近發布的200條微博是該接口的主要功能,返回到的結果并不一定是實時動態,所以要對API接口進行多次調用,確保獲得的數據滿足要求。由于調用接口的頻率受到網站的限制,為了控制調用頻率,可采用線程和隊列的方式進行控制。URL是原來存在的接口,其返回格式為JSON,超文本轉移協議的請求方式是GET。
漢字話是微博中的一個主要特點,因此要對微博數據進行一系列操作,例如去除停用詞等。假如要處理一些英文微博數據,必須先刪除一些符號再進行處理,從而還原詞干。之所以進行這項工作是因為英文中的詞語存在時態變化,處理后可以更加真實的理解微博所表達的意思。
2.2 文本模型構建
對微博中的文本可以利用空間向量模型進行文本建模,以便用空間向量去代替原來微博中的文本內容,即將文本[Di]轉換為[Di],轉化公式為:
式中:[tij]是特征項,[wij]是特征權重,[1≤j≤M,][Di]中的特征項的數量是[M。]
微博中的文本內容并不多,所以在微博中提取的文本內容也較少。因此,向量模型中的特征項都可以由文本預處理后的詞匯來表示,當特征項被確定后,就要為特征項設置權重,權重設置越大,說明特征項越重要。因此權重設計的好壞決定了話題檢測算法的好壞,是話題檢測算法實現的重要步驟。詞頻?反文檔頻率方法是常用的話題檢測算法,以此為基礎,考慮微博具有的特點,以語義基礎下的特征權重計算方法為依據,能夠得到詞頻?反文檔頻率(TF?IDF)函數,它和語義具有相似性。此時還要利用計算方法計算詞語的相似度。改造后的結合語義相似度的詞頻?反文檔頻率函數(TF?IDF)為:
式中:[wij]表示特征項;[tij]表示特征權重;[fij]表示[tij]特征項在某個特定文本[Di]中出現的次數;[lgNmij+0.01]用來表示反文檔的頻率;文本總數量是[N;][M]是文本[Di]中的特征項總數量;[nij]用來表示包含特征項[tij]的文本數量;[mij]用來表示包括特征項[tij]的文本數與特征項相似度大于某個閾值的文本數的平均值的總和;文本數是[Pj],它存在于其他文本中,和[tij]的語義相似;[c]是與特征項[tij]具有相似語義的詞語的總數量。
2.3 微博系統數據挖掘算法
本節對本文提出的話題聚類算法Single?Pass進行介紹,并借助該算法的具體思想將改進后的算法在微博話題檢測中進行應用。為適應微博內容實時性的特點,可以將一些時間參數添加到檢測微博話題相似度的方法中,并將針對微博轉發特性處理的方法添加到算法步驟中,本方法有效地利用了微博的結構化信息,使得檢測的準確度得到提升[12]。
單遍聚類算法是基于向量空間模型的話題檢測經常采用的算法,它也被稱作是Single?Pass算法。該算法在對數據進行處理時,是以微博輸入的次序為依據。假定初始話題為零,第一個話題的創建就要以首個文本輸入來確定,之后對檢測到的類似話題和輸入的文本數據進行比較,通過比較得出結果。當相似度大于既定閾值時,則合并這個話題和文本,如果相似度小于既定閾值,則進行新話題的創建。邏輯簡單、算法執行效率高是該算法的優點[13?14]。
本文針對Single?Pass算法單一使用余弦相似度、雅各比相似度和語義相似度的不足,采用了組合相似度策略進行微博話題檢測。該算法稱之為改進的Single?Pass微博話題檢測算法。
改進的Single?Pass微博話題檢測算法如圖1所示。算法的具體步驟如下:
Step1:微博數據的獲取,對數據進行預處理,為文本建模。
Step2:對數據文本進行讀取,判斷各數據文本,如果這些數據文本屬于首個文本向量,則轉到Step4,否則轉Step3。
Step3:根據數據存儲服務器中數據的格式進行微博話題轉發關系的確認,若該微博與之前的話題有轉發關系,則直接轉到Step7,否則轉Step5。
Step4:進行新話題的創建,并將讀取的文本向量[Da]作為新話題的文本向量[da]。
Step5:對該文本向量與已有話題關系的判斷,并根據關系的相似程度,依次計算當前輸入文本與己有話題的相似程度[sim(Da,da),]根據計算結果,進行相似度的排序,并獲得其中相似度值最大的[Sa=maxk=1,2,…,Tsim(Da,da),]己檢測出的話題的數量通過公式中的[T]進行表示。
Step6:比較[Sa]與預先設定的相似度閾值[γ,][γ]的預設值在0.6~0.9之間,本文中設置的相似度閾值為0.80,在比較之后,如果相似度大于閾值則進入Step7,若比設定的閾值小則轉到Step4。
Step7:并入到相似話題。將當前獲得的文本放置在相似度高的話題中。
Step8:對文本判斷,如果這個文本是最后的文本,說明數據已經全部處理完畢,若該文本不是最后文本,則再次重復Step2到Step7,當輸入的數據全部被檢測完后,就要存儲和話題對應的文本以及檢測完的話題。
常用的相似度計算方法有余弦相似度、雅各比相似度、語意相似度等[15]。
余弦相似度的定義為:
雅各比相似度的定義為:
式中:[posi?posj]表示帖子[i]和帖子[j]的公共特征數量;[posi?posj]表示帖子[i]和帖子[j]的不同特征數量。
借鑒信息融合中的順序加權思想,語義相似度的定義如下:
如引言所述,這3種相似度的思想和角度不同,而且僅單一使用一種相似度都存在一些不足。本文基于以上方法,提出了組合相似度策略,見式(8):
式中:[α,β,γ]表示加權系數,反映了3種不同相似度對總體相似度的貢獻大小。
3 數據仿真實驗及結果分析
3.1 數據采集
以新浪微博平臺為本文的實驗平臺,從中采集了三亞海天盛筵、私人定制、中日戰爭、防空識別區、H7N10禽流感、支付寶、理財、銀行錢荒、春晚主持人、穿絲襪的狗狗、郭德綱、如何鑒定各種表、傳微信將收費、電影·風暴等14個熱門話題,微博數據超過了110 000條,每條微博都有對應的發送時間。為了準確地測試算法能否發揮有效性,可以從各類話題中挑選出一些微博,這些微博的文字內容好,格式也較好,之后對這些挑選出來的微博進行算法測試。
3.2 確定話題相似度及時間參數
通過話題相似度計算公式可知,在算法測試前,要對時間參數[α]的值和[β]的值以及相似度進行確定。[α]用來表示內容相似的微博帶來的影響,[β]用來表示時間參數對相似度產生的影響,圖2反映了各類影響情況。
由圖2可知,微博內容相似度的地位比較重要,發揮輔助作用的是時間參數。[α+β=1]是通過相似度計算公式得到的結果,所以想要得到[β]的值,一定要先確定[α]的值。
在本文中,當[α]參數的取值確定時,[α=0.8],對文本向量相似度閾值[γ]的取值和特征項相似度閾值[ε]進行討論,從而得到最小化的耗費函數值,即得到最小的[CDet]的值。本文中分別取[(ε,γ)]的值為(0.85,0.75),(0.95,0.95)和(0.80,0.70),采用參數取值對算法進行試驗,通過試驗可以證明:當[(ε,γ)]的取值為(0.80,0.70)時,耗費函數值取得最小值為0.052 4,故選取的參數[(ε,γ)]為(0.80,0.70)。
3.3 實驗結果
針對不同的算法,本文通過設計不同的比較實驗對Single?Pass算法進行改造測試。K?means算法是話題檢測常常使用的對比算法。針對14個不同的話題分別使用不同的算法進行實驗對比。當完成運算后,可以得到運行結果的平均值。圖3就是不同算法得到的實驗結果對比。
由圖3的實驗結果數據可知:在本文采用的評測標準指標上,本文改進的Single?Pass算法相對于K?means算法來說有了較大的提升。就性能而言,在計算后發現性能提升了30%。之所以會出現這種結果,是因為Single?Pass算法在改進后對微博的結構化信息進行了調整,該結構化信息主要指考慮了微博轉發功能的實際應用,在Single?Pass算法中時間參數和基于語義的相似度表示也能有效提升性能。
由圖4的實驗結果數據可知:在本文采用的評測標準指標上,本文改進的Single?Pass算法相對于未改進的Single?Pass算法提升較大。從評測指標來看,在所有的5個指標中,本文改進的Single?Pass算法均要好于未改進的Single?Pass,證明了本文方法的有效性。
4 結 論
以文本為對象進行的話題檢測算法發展時間較長,本文提出的算法是以話題檢測算法思想為基礎,將其應用于新浪微博的話題檢測中。微博是近幾年才出現在互聯網中的應用,微博不僅具有平民化特點,它的操作也十分簡單,同時它能夠反映人們的真實社會生活,因此得到了大眾的喜愛和認可。本文提出的數據挖掘平臺為微博平臺,這種數據挖掘方式能夠快速找出焦點話題,減少用戶瀏覽微博的時間,快速定位當前社會討論的熱點話題,同時也有利于廣告商等第三方應用進行市場走勢的定位。
參考文獻
[1] ZHANG L. The development research of China′s weibo [D]. Nanchang, Jiangxi University of Finance and Economics, 2012.
[2] FU L, YU L. Review of 2012?2013 mobile Internet development trend [J]. Journal of Interconnected World, 2013, 55(2): 1?6.
[3] ZHANG T. Weibo dissemination and public domain [D]. Shanghai: Shanghai Foreign Language University, 2013.
[4] YANG S, LONG B. Like alike?joint friendship and interest propagation in social networks [C]// Proceedings of the 20th International Conference on World Wide Web. [S.l.]: IEEE, 2011: 537?546.
[5] 陳文濤,張小明,李舟軍.構建微博用戶興趣模型的主題模型的分析[J].計算機科學,2013,40(3):127?130.
[6] PENNACCHIOTTI M. A machine learning approach to twitter user classification [C]// Proceedings of the Fifth IEEE International Conference on Weblogs and Social Media. Barcelona: IEEE, 2011: 121?125.
[7] 詹勇,楊燕,王紅軍.混合模型的微博交叉話題發現[J].計算機科學與探索,2013(8):747?753.
[8] HU N, BOSE I, GAO Y, et al. Manipulation in digital word?of?mouth: a reality check for book reviews [J]. Decision Support Systems, 2011, 50(3): 22?30.
[9] 劉茂福,康樂,顧進廣.微博關注網構建與統計分析研究[J].計算機應用與軟件,2013,30(11):45?49.
[10] LEE R, WAKAMIYA S, SUMIYA K. Discovery of unusual regional social activities using geo?tagged microblogs [J]. World Wide Web, 2011, 14(4): 321?349.
[11] DAVID J, MOSS R, MARK B, et al. A tale of two sites: Twitter vs. Facebook and the personality predictors of social media usage [J]. Computers in Human Behavior, 2012, 28(2): 561?569.
[12] YIN S. Weibo user network characteristics of research based on complex network [J]. Journal of Southwest Normal University, 2011, 33(6): 57?61.
[13] QIAO Y. Building and empirical weibo users fans evolution model [D]. Baoding, Hebei University, 2012.
[14] CHENG W, LONG Z. For Internet news topic detection algorithm [J]. Computer Engineering, 2009, 35(18): 28?30.
[15] 周剛,鄒鴻程,熊小兵,等.MB?SinglePass:基于組合相似度的微博話題檢測[J].計算機科學,2012,39(10):198?202.
[16] 韓忠明,張玉沙,張慧,等.有效的中文微博短文本傾向性分類算法[J].計算機應用與軟件,2012,29(10):89?93.