宋嘯天 姚家偉
鎮(zhèn)江市人民檢察院
中國互聯(lián)網(wǎng)絡(luò)信息中心(China Internet Network Information Center,CNNIC)在2017年1月發(fā)布了第39次《中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計報告》,其中指出截至2016年12月,我國網(wǎng)民規(guī)模達(dá)7.31億,手機(jī)網(wǎng)民規(guī)模達(dá)6.95億,占比達(dá)95.1%,增長率連續(xù)3年超過10%。2017年5月,新浪微博發(fā)布2017年第一季度財報,截至3月31日,微博月活躍用戶達(dá)3.4億,位居世界第一。
國內(nèi)在大數(shù)據(jù)分析領(lǐng)域的研究起步較晚,但是發(fā)展較快。中國社科院、人民日報社和國內(nèi)多所大學(xué)于2006年就開始了相關(guān)研究,此外國內(nèi)還有諸如中科點擊(北京)科技有限公司的軍犬網(wǎng)絡(luò)輿情監(jiān)控系統(tǒng)、紅麥聚信(北京)軟件技術(shù)有限公司的unotice輿情系統(tǒng)、南京綠色科技研究院的CCLA網(wǎng)絡(luò)輿情分析系統(tǒng)等多個輿情分析軟件,取得了較大的進(jìn)展。
微博是一種兼具流行和新興的社交方式,由于微博短文本中的語言表達(dá)較口語化,同時由于“未登錄詞”(沒有被收錄在分詞詞表中但必須切分出來的詞,如縮寫詞匯、專有名詞、新增詞等)的存在,導(dǎo)致大數(shù)據(jù)分析的難度較大。本文針對以上問題,首先對需要進(jìn)行預(yù)處理的微博文本內(nèi)容進(jìn)行了闡述,隨后提出了一種基于“未登錄詞”的識別算法,并設(shè)計了面向微博短文本的聚類整合算法。
短文本通常具有錯誤性大、時效性強(qiáng)、信息量少、詞語更新頻率快等特點。微博短文本除了具備以上共性特點外,還具備有語言符號化(以符號代替文字)、互動性強(qiáng)、詞語省略等特點。所以,為了進(jìn)行微博短文本大數(shù)據(jù)的有效分析,需要首先對文本內(nèi)容進(jìn)行處理,處理流程如圖1所示。
圖1 微博短文本預(yù)處理流程示意圖
(1)標(biāo)點符號
在傳統(tǒng)的中文分詞方法中,會自動刪除標(biāo)點符號后利用詞庫分詞。但是微博短文本與傳統(tǒng)文本不同,標(biāo)點符號往往摻雜著作者的情感要素,需要單獨進(jìn)行處理。例如:“?”一般表示疑惑或者疑問,“?!币话惚硎緹o感情的稱述,“!”一般表示語氣加重或者驚訝。
(2)無用詞
在一篇微博短文本中,會出現(xiàn)一些沒有任何明確意義和具體含義的詞語,本文將此類詞語稱為無用詞。由于無用詞的存在會極大的影響文本分析的效率和準(zhǔn)確率,因此應(yīng)當(dāng)在預(yù)處理過程中對無用詞進(jìn)行提取并刪除。無用詞主要包含亂碼、錯誤詞匯等。
(3)表情符號
微博官方為了豐富交互的多樣性,加入了大量的表情符號,這些表情符號有時甚至可以表達(dá)作者一整句話的內(nèi)涵。在微博的文本數(shù)據(jù)中,表情符號位于<img>標(biāo)簽的“title”屬性之中,且這些表情符號也有對應(yīng)的文字表示,例如:用“[doge]”表示,用“[攤手]”表示。為了更加精確的進(jìn)行微博短文本的處理,也需要將相關(guān)的表情符號單獨抽取出來進(jìn)行隱藏價值的分析。
(4)特殊符號
在微博的短文本制作過程中,可以用到“@”和“##”這兩個基本功能。其中,“@”表示作者希望位于“@”字符后的用戶關(guān)注此條微博內(nèi)容,“##”中間的詞語表示一個話題。由于“@”和“##”關(guān)聯(lián)的詞語無需進(jìn)行詞義分離,所以在分詞前應(yīng)將對應(yīng)內(nèi)容提取出來,并在后期整理時參與文本分析。
但是,微博的詞語更新頻率較快,目前大多數(shù)分詞系統(tǒng)的詞庫無法做到100%的未登錄詞識別,這就導(dǎo)致分詞結(jié)果正確率會隨著未登錄詞占比的上升而下降。所以,本文針對微博短文的未登錄詞提出了一種智能的識別算法。
目前常見的UW(Unknown Word,未登錄詞)算法主要是基于統(tǒng)計的CRF(Conditional Random Field,條件隨機(jī)場)、SVM(Support Vector Machine,支持向量機(jī))等方法?;谟斜O(jiān)督方法的基本原理如下:
(1)對比模型和樣本參數(shù)提取新詞,如HMM(Hidden Markov Model,隱馬爾可夫模型)和VA(Viterbi Algorithm,維特比算法);
(2)統(tǒng)計涉及新詞的詞句出現(xiàn)次數(shù),并根據(jù)閾值判斷新詞的使用程度,如獨立字概率方法。
而無監(jiān)督方法是當(dāng)循環(huán)統(tǒng)計中發(fā)現(xiàn)新詞的重復(fù)次數(shù)大于實驗計算得出的標(biāo)準(zhǔn)值時,則將新詞確認(rèn)為UW。
兩種方法的挖掘過程如圖2所示。
圖2 UW挖掘方法圖
在分析微博短文本的特點時,可以直接提取“##”和“【】”中間的文本(話題文本)。微博正文則采用文本分詞法進(jìn)行劃分處理,UW的確認(rèn)步驟可簡單的分為以下三步:
(1)確認(rèn)候選詞;
(2)通過計算MI(Mutual Information,互信息)方法篩選候選詞;
(3)確認(rèn)UW。
具體流程如圖3所示。
圖3 UW識別算法流程示意圖
其中,N-Gram是指一種N元的切詞方法,即將字符串分割為長度為 N ( 2 ≤ N ≤ 5 ) 的子串,并得到分割詞匯,隨后通過篩選確認(rèn)較為重要的詞匯,最后在篩選詞中確認(rèn)候選詞。差異項的刪除過程可分為以下十步:
(1)匹配詞庫和切詞的結(jié)果;
(2)刪除已存在詞匯;
(3)刪除 H _ S T R 中 不存在于 B D _ S T R 中的詞匯;
(4)詞典遍歷;
(5)刪除舊詞;
(6)計算候選詞出現(xiàn)頻率;
(7)刪除出現(xiàn)頻率低于標(biāo)準(zhǔn)值的詞匯;
(8)利用MI技術(shù)和AS(Adjacent String,相鄰串)過濾候選詞;
(9)當(dāng)詞匯間包含PS(Public String,公共字串),例如“檢察機(jī)關(guān)公訴”和“察機(jī)關(guān)公訴處”,將以上兩個詞匯分別記做 A和 B,當(dāng)頻率計算時發(fā)現(xiàn) 和 均存在且頻率相同,則將A和B進(jìn)行組合為聯(lián)合詞匯 AB,即“檢察機(jī)關(guān)公訴處”,反之則刪除頻率詞匯;
(10)利用MI技術(shù)計算AB能否構(gòu)成UW。
當(dāng)算法的過濾層次越高時,UW的識別準(zhǔn)確率也越高。當(dāng)詞庫本身不健全或是判斷范圍沒有覆蓋短文本全部內(nèi)容時,將導(dǎo)致識別準(zhǔn)確率有一定幅度的下降,但是本文提出的算法在計算速度和準(zhǔn)確率上仍有較好的保證。
在微博短文本大數(shù)據(jù)分析的框架體系內(nèi),文本聚類是其中的一項基礎(chǔ)工作。微博短文本信息主題分散、長度不一、沒有較為顯著的共性規(guī)律。為了在這些大量錯綜復(fù)雜的文本信息中挖掘出具備價值的內(nèi)容,是聚類算法需要參與其中的主要因素之一。
傳統(tǒng)的基于文檔主題生成模型(Latent Dirichlet Allocation,LDA)的K-MEANS算法可用于對文本模型進(jìn)行聚類計算,算法框架如圖4所示。
圖4 LDA-K-MEANS算法框架示意圖
由于該算法的初始中心是通過隨機(jī)或主觀經(jīng)驗的方法進(jìn)行設(shè)定,所以容易過早收斂,導(dǎo)致局部最優(yōu);并且該算法在分析詞匯間語義時會進(jìn)行降維處理,這就使得文本的完整性受到影響。對此,本文設(shè)計了一種新型的面向微博短文本的聚類整合算法。主要從以下兩點進(jìn)行調(diào)整:
(1)調(diào)整初始中心
為了改進(jìn)傳統(tǒng)K-MEANS聚類算法初始中心選取客觀性較弱的問題,本文采取概率論理念對其加以改進(jìn)。在調(diào)整后的初始中心選取算法中,本文將數(shù)據(jù)文本的相關(guān)主題內(nèi)容表示為對應(yīng)的關(guān)系矩陣,不同的主題對應(yīng)的重要度也各不相同,重要度越高的主題越能反映文本的核心內(nèi)涵。該算法主要可分為以下三步:
1)選取重要程度和關(guān)聯(lián)程度較高的主題;2)根據(jù)主題詞進(jìn)行文本內(nèi)容預(yù)處理;
3)獲取收斂中心并作為聚類文本的初始中心。
由于單一的主題詞沒有整體的評估價值,所以需要對主題詞的分布概率進(jìn)行總結(jié),并得出其在文本集合中的重要性。隨后對文本集合重要性由高至低排序并選取排名靠前的主題詞,運用K-MEANS算法對文本集合進(jìn)行初始聚類,再計算被選取主題詞的相似度,得到對應(yīng)的中心點,最后將這些中心點作為K-MEANS的初始中心點。
(2)調(diào)整相似度算法
傳統(tǒng)的K-MEANS算法中相似度的計算是基于“文本—主題”的語義關(guān)聯(lián)模型,但維度的降低將導(dǎo)致相似度的計算結(jié)果精確度較差。通過融合VSM(Vector Space Model,向量空間模型)的算法(L_VSM),可以在不損壞文本信息完整性的同時能夠在分析上挖掘出更深層次的關(guān)系,提升相似度算法準(zhǔn)確性。由于采取了線性融合的方式,使得其準(zhǔn)確率高于LDA算法和VSM算法,并且在計算過程中也保留了語義的關(guān)聯(lián)關(guān)系,使得面向微博短文本的聚類整合算法準(zhǔn)確率較高、運算速度較快。面向微博短文本的聚類整合算法流程如圖5所示。
圖5 面向微博短文本的聚類整合算法流程示意圖
通過后續(xù)的模擬仿真測試,本文提出的面向微博短文本的聚類整合算法與LDA算法、VSM算法相比,其聚類F-Measure值(一種評價分類模型好壞的統(tǒng)計量)較高。初始中心杜絕了隨機(jī)選取過早收斂的問題,符合微博短文本的實際分布情況。面向微博短文本的聚類整合算法通過線性融合,在一定程度上緩解了LDA算法降維和VSM算法語義聯(lián)系弱帶來的影響,使得相似度計算的準(zhǔn)確率較高,有助于提升微博短文本的聚類分析質(zhì)量及成效。
互聯(lián)網(wǎng)大數(shù)據(jù)的分析系統(tǒng)在國內(nèi)外已經(jīng)得到了較為廣泛的應(yīng)用,但是如何針對微博短文本進(jìn)行縱深的大數(shù)據(jù)分析,以及如何將分析得出的內(nèi)容更加有效的在社會發(fā)展中發(fā)揮出應(yīng)有的作用,仍是我們需要繼續(xù)深入研究的工作。由于微博在社交元素中擁有典型性,其用戶群體之間的關(guān)系也是潛移默化、盤根錯節(jié)的,本文將以此為切入點,在后續(xù)的研究中繼續(xù)開展深入分析。