陳新元,謝晟祎
(1.福州墨爾本理工職業(yè)學(xué)院 信息工程系,福建 福州 350108;2.福建農(nóng)業(yè)職業(yè)技術(shù)學(xué)院 實(shí)驗(yàn)實(shí)訓(xùn)中心,福建 福州 350119)
隨著科技和社交網(wǎng)絡(luò)的進(jìn)步,人們的交流呈現(xiàn)在線化、數(shù)字化的趨勢(shì)。微博是國(guó)內(nèi)的主流社交網(wǎng)絡(luò)平臺(tái)之一,類(lèi)似國(guó)外的Twitter;截至2018年,活躍用戶數(shù)達(dá)到4.62億(出自微博數(shù)據(jù)中心發(fā)布的2018年用戶發(fā)展報(bào)告)。人們可以在微博上分享其觀點(diǎn)和情感,可以發(fā)表微博或?qū)ζ渌脩舻奈⒉┻M(jìn)行評(píng)論。此外,微信、人人等IM工具或平臺(tái)也有大量的社交信息。
對(duì)社交文本進(jìn)行分析,可發(fā)現(xiàn)網(wǎng)絡(luò)意見(jiàn)領(lǐng)袖,可提取、監(jiān)控、跟蹤網(wǎng)絡(luò)輿情[1],還可進(jìn)一步將數(shù)據(jù)挖掘的結(jié)果用于構(gòu)建情感網(wǎng)絡(luò)模型,或用于商業(yè)領(lǐng)域如產(chǎn)品、服務(wù)的智能推薦等。
文本分析的基礎(chǔ)是構(gòu)建表示模型。傳統(tǒng)的文本特征表示方案多采用向量空間模型(VSM),將文本表示為特征向量,向量取值代表了特征權(quán)重。當(dāng)文本較短時(shí),特征詞數(shù)量也較少,且動(dòng)態(tài)性較強(qiáng),故生成的特征多為稀疏矩陣;隨著文本規(guī)模的增長(zhǎng),特征向量矩陣的維數(shù)巨大,出現(xiàn)了維度災(zāi)難,因此文本降維具有重要意義。
傳統(tǒng)聚類(lèi)方法可分為劃分法和密度法,前者根據(jù)距離等標(biāo)準(zhǔn),給定分區(qū)數(shù)K,通過(guò)初始劃分并反復(fù)迭代的方法優(yōu)化樣本的劃分,將數(shù)據(jù)集構(gòu)造為K個(gè)分組,令同一個(gè)組內(nèi)的對(duì)象盡可能接近或相關(guān),每個(gè)分組代表一個(gè)聚類(lèi)。密度法則是計(jì)算區(qū)域內(nèi)點(diǎn)的密度,若密度超過(guò)閾值,則加入相似聚類(lèi);密度法可克服基于距離的算法只能發(fā)現(xiàn)“類(lèi)圓形”的缺點(diǎn)[2]。
本文希望能進(jìn)一步提高表示模型構(gòu)建的準(zhǔn)確率,因此嘗試對(duì)幾種主流降維方法進(jìn)行分析,并在真實(shí)數(shù)據(jù)集上比較其降維效果。在此基礎(chǔ)上,結(jié)合神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)聚類(lèi),將分詞后的微博文本表示為特征詞簇,從而優(yōu)化文本表示模型。實(shí)驗(yàn)階段將自組織神經(jīng)網(wǎng)絡(luò)的表現(xiàn)與傳統(tǒng)k-means算法比較以驗(yàn)證方案的有效性。
根據(jù)Johnson-Lindenstrauss引理,可以在多項(xiàng)式時(shí)間內(nèi)將高維空間映射到O(log )維的子空間上;同時(shí)對(duì)于任意0<ε<1,點(diǎn)間距離偏差可控制在1±ε以內(nèi)。因此對(duì)于m×n的矩陣Mm×n,可通過(guò)Mm×n·Rn×r = M’m×r(r<<n)的方式降維,其計(jì)算復(fù)雜度為O(mnr),若原矩陣為稀疏矩陣,可進(jìn)一步將計(jì)算復(fù)雜度降至O(cmr),其中c<n為行內(nèi)非0元素的均值。
由于文本特征矩陣的元素值非負(fù),故可以分解為2個(gè)非負(fù)矩陣的乘積,即Mm×n = Km×r×Rr×n(r<<n),(m+n)×r < mn。取原矩陣和矩陣R的第i列,可表示為Mi = KRi,則Mi則可視作關(guān)于K的正線性組合,系數(shù)為Ri。K=[w1, w2, …, wr]可看做是對(duì)M進(jìn)行線性估計(jì)的優(yōu)化的基向量,可嘗試用用較少的基揭示M的數(shù)據(jù)結(jié)構(gòu)。該算法具有收斂快、存儲(chǔ)空間小等優(yōu)點(diǎn),適用于大規(guī)模文本。
文本用詞多樣性并非可靠的概念表示,相反很可能掩蓋了其語(yǔ)義結(jié)構(gòu),因此LSA方法通過(guò)奇異值分解實(shí)現(xiàn)降維,將矩陣W表示為W=UAVT,U、V分別是對(duì)應(yīng)的左右奇異向量矩陣,A是W按奇異值遞減構(gòu)成的對(duì)角矩陣;通過(guò)構(gòu)建近似矩陣Wr=UrArVrT實(shí)現(xiàn)降維以突顯語(yǔ)義特征,Ur和Vr分別作為文本向量和詞向量。通過(guò)奇異值分解和近似矩陣設(shè)計(jì),LSA在很大程度上消除了文本噪聲[4]。但奇異值分解資源開(kāi)銷(xiāo)較高,達(dá)到O(mn2),因此LSA通常用于少量文本的處理。此外,若文本為稀疏矩陣,同樣可將復(fù)雜度降至O(cmn),其中c<n為行內(nèi)非0元素的均值。3種方法中,RP和NMF的復(fù)雜度低于LSA。
基本思路為特征詞的上下文越相似,其應(yīng)用環(huán)境和語(yǔ)義就越相似[5];因此將特征詞左右各n個(gè)詞計(jì)入上下文考慮范圍,根據(jù)上下文的相似度,使用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)自動(dòng)聚類(lèi)。
具體過(guò)程如下:
⑴ 在給定特征詞集合的基礎(chǔ)上,使用Huffman編碼;
⑵ 設(shè)置context窗口參數(shù)并進(jìn)行提取,將特征詞自身作為第1層DBN的輸入,其上下文作為第1層輸出,訓(xùn)練DBN,得到最能代表該特征詞的窗口向量;
⑶ 將DBN的輸出作為SOM神經(jīng)網(wǎng)絡(luò)的輸入,其輸出即為相同或相近語(yǔ)義的特征詞聚類(lèi)結(jié)果。
實(shí)驗(yàn)所用硬件為:Xeon 3104×2;16G×8內(nèi)存;1.2T SAS硬盤(pán)×3,Raid5。
本文自建微博數(shù)據(jù)集,使用分布式的爬蟲(chóng)系統(tǒng)同時(shí)通過(guò)微博API接口和Web頁(yè)面提取信息,隨機(jī)抽取話題;使用中科院的ICLCLAS對(duì)抓取的數(shù)據(jù)進(jìn)行分詞和停用詞處理等預(yù)處理操作,最后得到分割后的文本單元。
分別運(yùn)用RP、NMF和LSA等方法作降維處理(r=100和r=200),采用SOM神經(jīng)網(wǎng)絡(luò)進(jìn)行文本聚類(lèi)分析,在來(lái)自4個(gè)話題的10萬(wàn)、20萬(wàn)、50萬(wàn)條微博短文本上比較降維用時(shí)和聚類(lèi)平均準(zhǔn)確性,結(jié)果如表1、表2所示。分析可知:
表1 降維用時(shí) (單位:s)
⑴ 與計(jì)算量少的RP方法相比,NMF和LSA的耗時(shí)高出許多;后兩者間,耗時(shí)隨著數(shù)據(jù)集規(guī)模增加逐漸接近;在50萬(wàn)條數(shù)據(jù)集上,無(wú)論r取100或200,NMF和LSA的用時(shí)基本一致;
⑵ 3種降維方法都能在一定程度上提高聚類(lèi)的準(zhǔn)確率,相比RP,NMF和LSA的聚類(lèi)準(zhǔn)確率有明顯提高,能夠在一定程序上降低噪聲的影響;LSA的準(zhǔn)確率最高。
此外,實(shí)驗(yàn)中使用了增量算法對(duì)文本分塊并不斷更新表示模型,同時(shí)使用了Storm框架提高分析效率,實(shí)現(xiàn)文本表示模型的動(dòng)態(tài)更新。具體過(guò)程如下:LogHub系統(tǒng)接收文本后,使用并行Spout組件讀取文本;將數(shù)據(jù)副本緩存在IRichBolt中;數(shù)據(jù)通過(guò)增量模型,經(jīng)聚類(lèi)和降維后發(fā)送到IncrementBolt;最終通過(guò)HBase Shell進(jìn)行實(shí)時(shí)表示和分析。
文本降維是特征矩陣表示模型優(yōu)化的重要環(huán)節(jié),合適的文本降維方法有助于提高聚類(lèi)準(zhǔn)確性。實(shí)驗(yàn)數(shù)據(jù)表明,RP、NMF和LSA方法都能在一定程度上改善聚類(lèi)表現(xiàn);基于神經(jīng)網(wǎng)絡(luò)的聚類(lèi)方法相比傳統(tǒng)K-means方法也有一定改善。另外,降維矩陣的選擇和計(jì)算,對(duì)于方法用時(shí)和準(zhǔn)確率也有一定影響,相關(guān)參數(shù)的計(jì)算可作為今后研究的內(nèi)容。
表2 聚類(lèi)平均準(zhǔn)確率