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

表1 降維用時 (單位:s)
⑴ 與計(jì)算量少的RP方法相比,NMF和LSA的耗時高出許多;后兩者間,耗時隨著數(shù)據(jù)集規(guī)模增加逐漸接近;在50萬條數(shù)據(jù)集上,無論r取100或200,NMF和LSA的用時基本一致;
⑵ 3種降維方法都能在一定程度上提高聚類的準(zhǔn)確率,相比RP,NMF和LSA的聚類準(zhǔn)確率有明顯提高,能夠在一定程序上降低噪聲的影響;LSA的準(zhǔn)確率最高。
此外,實(shí)驗(yàn)中使用了增量算法對文本分塊并不斷更新表示模型,同時使用了Storm框架提高分析效率,實(shí)現(xiàn)文本表示模型的動態(tài)更新。具體過程如下:LogHub系統(tǒng)接收文本后,使用并行Spout組件讀取文本;將數(shù)據(jù)副本緩存在IRichBolt中;數(shù)據(jù)通過增量模型,經(jīng)聚類和降維后發(fā)送到IncrementBolt;最終通過HBase Shell進(jìn)行實(shí)時表示和分析。
文本降維是特征矩陣表示模型優(yōu)化的重要環(huán)節(jié),合適的文本降維方法有助于提高聚類準(zhǔn)確性。實(shí)驗(yàn)數(shù)據(jù)表明,RP、NMF和LSA方法都能在一定程度上改善聚類表現(xiàn);基于神經(jīng)網(wǎng)絡(luò)的聚類方法相比傳統(tǒng)K-means方法也有一定改善。另外,降維矩陣的選擇和計(jì)算,對于方法用時和準(zhǔn)確率也有一定影響,相關(guān)參數(shù)的計(jì)算可作為今后研究的內(nèi)容。

表2 聚類平均準(zhǔn)確率