周 瑛,劉仁芬,李 娜
(石家莊鐵道大學四方學院,河北 石家莊 051132)
互聯網應用的迅猛發展,使各種各樣的網絡主題呈爆炸式增加。在當前的移動社交網絡中,每天都會出現大量的新信息。其中含有很多不規范的文本,這些文本具有組合靈活以及容易創作和發布等特點,成為人類發布和獲取信息的重要手段。但是如何在這些數據中挖掘出有意義的內容成為當前研究的一大難題,其中網絡主題語義分類更是關鍵[1,2]。雖然現階段有關于網絡主題語義分類方面的研究不斷出現,但是取得的效果并不是十分理想,無法更好應對新出現的詞匯或者奇異短語。
為了更好地解決上述問題,國內外相關專家展開了更深層次的研究。例如楊銳等人[3]在不同環境下通過字符級和詞級卷積神經網絡兩者相結合完成網絡文本分類。范國鳳等人[4]優先對語義依存關系進行分析,同時對語義依存關系中的節點進行詞嵌入和編碼;然后通過信息傳遞的方式對節點和邊進行更新,挖掘語義依存信息,通過分類模型對其分類。在以上兩種算法的基礎上,本文提出一種基于特征序列的模塊化網絡主題語義分類算法。實驗結果表明,所提算法能夠獲取滿意的分類結果,還能夠有效減少算法的運行時間。
將數據庫中的全部時間序列通過一個頂點進行描述,通過Ochiia系數方法計算模塊化網絡主題語義之間的相似性,同時將其進行連接。
假設有兩個特征序列,分別為X={x1,x2,…,xm}和Y={y1,y2,…,ym},滑動窗口的長度為l。通過計算獲取對應的兩個子序列集,表示為X′和Y′,其中,兩個子序列之間的最小距離MPX′Y′能夠表示為

(1)
式中,m代表特征序列的長度。
特征序列X和Y兩者之間的相關關系SX,Y能夠表示為

(2)
式中,Nl代表矩陣剖面中的子序列數量。
對于各個特征序列的子序列而言,需要計算其中一條特征序列和剩余全部子序列之間的距離,獲取距離最小的特征序列,同時將兩個特征序列的相似度加1。為了更加詳細描述不同序列之間的關系,需要組建一個網絡圖
G={V,E,W}
(3)
式中,V代表網絡節點集合;E代表網絡的有向邊集合;W代表邊的權值集合。
為了全面掌握特征序列的建立過程,需要優先組建一個子序列網絡。其中,特征序列是由四個不同的子序列集構成的,其中每個子序列均采用一個節點進行表示,顏色相同的節點即來自同一個特征序列。對節點之間的有向邊進行定向,代表該邊的目標和源節點對應子序列的最小距離。
通過Louvain社區檢測算法將序列劃分為兩個不同的類,詳細的操作步驟如下所示:
1)求解特征序列數據集的大小和對應的序列長度。
2)將數據集中的全部特征序列進行遍歷,通過滑動窗口將其劃分為長度為I的子序列;Ti′代表特征序列Ti對應的子序列集合。
3)對于特征序列中的各個子序列,通過調用算法計算特征序列和其它子序列之間的矩陣剖面。
4)通過矩陣剖面計算兩個特征序列之間的相似性,即計算不同模塊化網絡主題語義之間的相似性[5,6]。
在得到不同主題之間的相似性后,為了能夠更加精準分析不同主題之間的語義關系,將整個關系通過圖的方式進行描述,將主題設定為網絡圖的頂點,其中各個主題之間的關系能夠看作是一個邊。對于不同的網絡主題而言,通過主題能夠更好地反映研究的主要內容。
優先提取不同網絡主題中的關鍵詞,同時統計各個關鍵詞出現的次數,將無利用價值或者出現次數較少的關鍵詞刪除。組建高頻主題共現矩陣,經過轉換形成相似性矩陣,結合近鄰傳播算法將全部網絡主題進行聚集,劃分為多個不同的簇。
近鄰傳播算法(AP)是一種全新的聚類算法,和傳統方法存在的主要區別為:AP算法將已知的數據點均設定為潛在的聚類關系,主要通過消息傳遞的方式完成聚類[7,8]。
假設數據集中含有n個數據集,設定在網絡主題語義的特征空間中存在一些比較緊密的簇C,各個數據點對應一個簇。其中,xc(i)代表隨機點對應的簇代表點。當模塊化網絡主題語義經過聚類后,能夠獲取對應的誤差函數J(C),具體的表達形式為

(4)
式中,d代表網絡主題語義的類型總數;x(i)代表任意簇點。
AP算法主要目的就是通過計算得到最優簇代表點集合,同時將誤差函數的取值降至最低,即

(5)
AP算法中主要包含兩種不同類型的信息,分別為:可靠性信息和安全性信息。為了有效避免算法在計算的過程中出現振蕩,需要在算法更新信息素的過程中加入衰減系數λ,其為介于0到1之間的實數。
利用圖1給出AP算法的具體操作流程:

圖1 AP算法的操作流程圖
1)將可靠性和安全性信息進行初始化處理;
2)計算可靠矩陣r;
3)計算有效矩陣a,同時計算矩陣對角線上的元素,剩余元素采用其它方式進行計算;
4)加入衰減系數,同時對矩陣a和r進行實時更新計算;
5)重復步驟2)到步驟4),直到迭代次數滿足最大值或者當前聚類中心連續多次迭代不發生時,停止計算;
6)將矩陣a和r相加獲取全新的矩陣g;
7)將含有簇中心的模塊化網絡主題語義對象放置到一個類中,獲取主題簇。
利用圖2給出模塊化網絡主題語義分類的詳細操作流程。

圖2 模塊化網絡主題語義分類流程圖
進行網絡主題語義預處理的目的是對主題進行分析,當完成文本的分類工作之后,需要進行去停用詞操作。因為經過分詞之后,網絡主題語義中會不可避免地出現一些價值不大的詞匯,即虛詞,需要將其剔除。
其中,模塊化網絡主題語義的采樣過程如下所示:
1)將全部參數進行初始化處理,同時設定最大迭代次數;
2)將全部網絡主題語義進行遍歷操作;
3)根據不同詞對的分布情況,及時更新語料庫中的主題矩陣和詞對矩陣;
4)是否滿足迭代次數,假設滿足,則直接進行步驟5);反之,則跳轉至步驟2);
5)保留網絡主題語義文件;
6)判斷迭代次數是否達到設定的需求;假設滿足條件,則跳轉至步驟2);反之,則跳轉至步驟7);
7)保留通過主題矩陣獲取的最終文件。
傳統的網絡主題語義主要是采用向量空間模型表示,模型主要是將文本映射為一個特征向量V(d),ωi(d)代表詞匯在語料庫中的權值。由于模型為主題模型,所以模型可以通過主題的概率分布進行描述,具體的計算式如下
di=(p(z0|di),p(z1|di),…,p(zk-1|di))
(6)
式中,di代表主題分布概率,p代表參考度。
由于模型為主題模型,其中文本以主題概率分布呈現的形式進行表示,借助2.1小節計算得到的各個網絡主題語義相似性,同時采用主題的概率分布向量進行計算,具體的計算式如下

(7)
式中,DKL代表兩個網絡主題語義的概率分布情況;q代表分布概率的取值范圍;pi和qi代表不同類型的網絡主題。
在上述分析的基礎上,結合特征序列,獲取網絡主題的平均熱度和描述詞,以此為基礎,組建網絡主題語義流行度序列。
根據不同網絡主題語義出現的時間順序,統計各個主題簇中全部關鍵詞在設定時間段內出現的次數。其中網絡主題流行度計算式如下

(8)


(9)
式中,year代表時間序列長度。
其中兩個網絡主題語義相似性越高,說明兩者的發展趨勢越一致。以下主要通過DTW算法對各個特征序列的相似性進行計算,根據計算結果構建相似性矩陣。根據k-means算法對全部主題序列進行聚類[9,10],詳細的操作過程如下所示:
k-means算法是一種簡單的聚類算法,根據計算不同聚類對象的維度距離獲取“中心對象”,即質心[11,12]。將質心靠近的對象劃分到相同的主題簇中。其中,k-means算法的計算過程為:
1)設定K個點將其放置到要被聚類的數據對象所表示的空間內,即初始聚類簇質心;
2)將各個對象劃分到最接近的質心聚簇中;
3)當全部對象完成分類之后,獲取W個聚簇,同時在各個聚簇中計算聚簇對應的質心位置,獲取W′個新的質心;
4)重復步驟2)和步驟3),直至質心的位置不再發生任何改變,同時形成穩定且獨立的聚簇;
通過k-means算法將全部特征序列進行分類,實現模塊化網絡主題語義分類,即
1)將模塊化網絡主題語義進行遍歷處理,獲取全部網絡主題中概率值最大的主題;
2)統計不同聚簇下各個主題所占據的比例,獲取出現次數最多的主題;
3)在網絡主題庫中,通過步驟2)統計出現次數最多的主題,然后將排名前10的詞匯作為聚簇進行描述;
4)通過k-means對全部特征序列進行聚類,實現模塊化網絡主題語義分類。
為了驗證所提基于特征序列的模塊化網絡主題語義分類算法的有效性,需要進行仿真測試。
為了驗證融合主題信息的卷積神經網絡文本分類方法(文獻[3]方法)、基于語義依存分析的圖網絡文本分類模型(文獻[4]方法)以及所提算法性能的好壞,選取精確率、召回率和兩者的加權調和平均值作為評價指標,具體的計算公式如下所示

(10)
式中,P代表精確率;R代表召回率;α代表權重因子;F代表P和R之間的加權調和平均值,即F=F1,F1值的大小和分類結果準確性存在密切的關聯,F1的取值越大,則說明得到的分類結果準確率越高,具有更好的分類性能,具體的計算公式如下所示

(11)
通過上述評價指標對各個算法的分類性能進行測試分析,具體實驗結果如圖3所示。

圖3 不同算法的分類性能測試
由圖3中的實驗數據可知,相比另外兩種分類方法,所提算法的精確率、召回率以及F1值均高于另外兩種算法,說明所提算法具有更好的分類效果。
為了更進一步驗證所提算法的優越性能,分別在不同的主題環境下進行實驗測試,具體實驗結果如表1所示:

表1 不同測試主題下各個算法的分類正確率測試分析
分析表1中的實驗數據可知,即使在不同的測試主題下,所提算法的分類正確率還是優于另外兩種算法,更進一步說明了所提算法的優越性。
以下實驗將運行時間作為測試指標,其中運行時間越短,則說明分類速度越快。利用圖4給出三種不同分類算法的運行時間。

圖4 不同算法的運行時間測試分析
分析圖4中的實驗數據可知,所提算法的運行時間明顯更低一些,主要是其對不同網絡主題的流行度進行計算,同時構建流行度序列。將流行度序列作為劃分依據,將相似的網絡主題語義劃分到同一個主題簇中,能夠更好地完成分類,同時還能夠簡化分類流程,有效降低分類時間。
為了更好完成網絡主題語義分類,結合特征序列,提出一種基于特征序列的模塊化網絡主題語義分類算法。經過仿真測試證明,所提方法能夠全面提升分類結果的準確性,同時還能夠有效減少運行時間,全面提升算法的運行速度。