薛 濤,郭 瑩,胡偉華
(1.西安工程大學 計算機科學學院,陜西 西安 710048;2.西安工程大學 人文社會科學學院,陜西 西安 710048)
隨著大數(shù)據(jù)時代的到來,如何快速從海量網(wǎng)絡新聞中獲取有效的熱點話題已經(jīng)成為研究熱點。主題模型[1]作為一種時效性較高的熱點主題識別方法,能夠有效提取文檔集及語料庫中的隱含主題,抽取出詞匯與文檔間的深層次語義關系,在文本分類[2]、話題檢測與演化追蹤[3]、情感分析[4]等任務中具有重要意義。如在分析國際社會對中國形象的關注重點和熱點趨勢時,有利于了解中國在國際上的受關注領域和程度以及形象認知變化。
目前,結合深度學習的主題模型研究主要分為3類:詞/文檔向量輔助增強的概率主題模型、基于神經(jīng)網(wǎng)絡結構的主題模型和聯(lián)合訓練主題模型。詞向量輔助增強主題模型[5-6]是利用已訓練好的詞向量提升模型性能,其優(yōu)勢在應用于短文本和領域文本時,產(chǎn)生的主題詞語義一致性更強。基于神經(jīng)網(wǎng)絡結構的主題模型[7-8]是一種文檔生成模型,但其多數(shù)模型依然以文檔詞袋結構[9]作為模型輸入,產(chǎn)生主題-詞匯的分布,忽略了詞匯間順序和分布的稀疏性[10]。聯(lián)合訓練主題模型[11-12]融合了概率主題模型和基于神經(jīng)網(wǎng)絡模型的優(yōu)勢,既可以利用潛在主題結構捕獲文檔全局的語義信息,也可以捕獲詞序列中詞匯間依賴關系[1]。對于新聞文本的熱點主題識別任務,側重生成表達不同主題的詞向量,實現(xiàn)文本分類和主題推斷,所以文中采用聯(lián)合訓練主題模型,通過在主題模型基礎上結合詞表示、文檔表示以及其他屬性信息,將主題向量和詞向量融合到同一語義空間中形成嵌入式向量模型進而學習主題。
文獻[13]提出的TWE模型,在LDA主題模型[14]主題-詞分布基礎上,根據(jù)給定單詞和主題詞來預測上下文單詞向量生成詞匯,允許每個詞匯在不同語境下有不同的向量表示。但該方法獲得的主題詞語義一致性有待商榷,且需要大規(guī)模語料支撐。文獻[15]提出的TopicVec生成式主題詞向量模型,以文檔為單位推斷主題,在PSDVec詞向量模型[16]基礎上使用鏈接函數(shù)輔助生成文檔中的詞匯,由上下文信息和主題共同決定主題中的詞。文獻[17]提出TEWV模型,是一種基于連續(xù)詞袋CBOW模型[18],將主題信息和上下文信息融合到詞向量中學習單詞和主題低維度向量表示的主題增強詞向量模型。上述2種模型產(chǎn)生的主題在文檔上的分布都是稠密的。文獻[19]提出的LDA2Vec模型,結合LDA主題模型和Word2Vec詞向量模型[20],來預測中樞詞上下文向量。其不同之處在于它可以產(chǎn)生稀疏可解釋的文檔向量,產(chǎn)生的主題詞可解釋性更強。
鑒于此,本文以文獻[19]提出的LDA2Vec模型為基礎,結合LDA主題模型考慮全局特征和Word2Vec詞向量模型考慮局部特征的優(yōu)勢,通過擴展Skip-gram模型[18],使用主題向量表示文檔向量,訓練表達不同主題的詞向量,注重詞向量、主題向量和上下文向量之間的關系,旨在不顯著增加主題模型復雜度的條件下,獲得將稀疏文檔分布、密集詞及主題向量混合的主題模型,使其形成可監(jiān)督、可解釋的主題,提升熱點主題語義一致性、分類準確率和主題的可解釋性。
LDA2Vec是一種聯(lián)合學習密集單詞向量和潛在文檔級混合主題向量的新型主題模型,將模型擴展為在同一語義空間訓練單詞、主題和文檔向量[21]。根據(jù)其模型實驗結果來看,LDA2Vec模型主要存在以下缺陷:①在語料庫較大的情況下,訓練文檔權重時需要大量計算,會耗費很多時間;②沒有很好地將詞語上下文信息和文檔的主題信息相結合,導致上下文向量表示學習得到的主題語義一致性及可解釋性差。
通過解析LDA2Vec模型,在考慮詞語信息和主題信息的基礎上,預先使用LDA和Word2Vec模型訓練語料庫,用LDA2Vec模型的核心算法進行迭代計算,獲得含有主題信息的文檔向量,然后將其與Word2Vec得到的詞向量聯(lián)合訓練得到融合向量,利用該向量完成熱點主題識別任務。核心算法在于文檔權重的訓練以及樞軸詞和目標詞都確定時上下文向量表示學習的計算和訓練。具體來說,NS-LDA2Vec聯(lián)合訓練主題模型會更側重生成特定主題下的詞向量和文檔向量,首先以Skip-gram負采樣算法為基準,通過移動窗口滑動的方式掃描語料庫,從中提取共同出現(xiàn)的樞軸詞和目標詞對,然后預測附近的目標詞,最后隨機初始化語料庫中每個文檔的潛在向量,完成中樞詞的上下文預測任務,以獲得含有主題信息的文檔向量。NS-LDA2Vec模型結構如圖1所示。
圖1中,首先使用Word2Vec詞向量模型訓練詞向量表示,給定中樞詞,預測相鄰的其他單詞,重復移動掃描窗口,提取出現(xiàn)的中樞詞和目標詞對,在此基礎上利用Skip-gram模型的負采樣思想訓練得到表達不同主題的中樞詞向量。然后在LDA模型的基礎上訓練主題矩陣,設置文檔權重維度為主題數(shù),經(jīng)過Softmax變換得到文檔比例向量,合成文檔矩陣和文檔比例向量得到文檔向量,最后融合該文檔向量和上述詞向量得到上下文向量,該向量基于全局和局部預測,通過中樞詞附近的單詞和全局文檔主題進行熱點主題預測。將中樞詞的文檔向量和詞向量的總和設計為上下文向量,可表示為
cj=wj+dj
(1)
式中:wj為詞語j的詞向量;dj為詞語j的文檔向量。目的是通過聯(lián)合訓練詞向量和文檔向量,產(chǎn)生的詞向量表達能力更強,尤其是針對“一詞多義”問題,需要考慮在不同主題下不同詞匯的語義差異,以訓練出相應的詞向量[22]。從模型結構可以看出,方法的主要內容可以劃分為詞表示和文檔向量表示2個模塊。
首先,在文檔權重的訓練方面,根據(jù)Skip-gram負采樣思想訓練得到詞向量表示[23],采用文獻[20]提出的移動窗口形式掃描語料庫,提取窗口中共同出現(xiàn)的中樞詞及目標詞對,然后將中樞詞和目標詞表示為同一向量。與LDA2Vec不同的是,文中方法在選擇滑動窗口時,窗口大小選擇固定值,其大小設置為5,即包含中樞詞前后5個單詞,動態(tài)移動窗口,利用中樞詞來預測鄰近窗口內出現(xiàn)的所有目標詞,最后使用目標損失函數(shù)來區(qū)分基于語料庫的上下文詞對和隨機從負采樣詞匯池中抽樣的上下文詞對,從而學習上下文信息和主題信息,且采用負采樣思想,無需更新每個訓練樣本的權重,只需要更新部分權重,這樣不僅可以降低模型計算量,還能得到更優(yōu)的模型效果。
對文檔中的每個中樞詞進行預測訓練時,以含有主題信息的文檔比例向量為基礎,通過將觀測到的詞與邊際分布完全分離,來最小化負采樣得到的預測詞與目標詞之間的損失函數(shù)進行訓練,最終學習到上下文信息和主題信息。該過程損失函數(shù)的計算方法為
(2)
式中:cj為上下文向量;wi為目標詞向量;wl為負采樣詞向量。在訓練模型時,隨著迭代次數(shù)增加,隨機初始化的文檔權重也會更集中,產(chǎn)生的文檔主題可解釋性也更好,但迭代次數(shù)過大也會產(chǎn)生過擬合現(xiàn)象,使得效果不佳,通過多次實驗比對,方法取迭代次數(shù)為200,同時通過優(yōu)化其過程的損失函數(shù),使得總損失最小化,從而得到可解釋性主題向量。
1.4文檔向量表示
與LDA模型相同,本模型將文檔向量分解為文檔權重向量和主題矩陣2個部分。其中,文檔權重表示每個主題在文檔中的重要性。首先,初始化數(shù)據(jù)集中的每一篇文檔的文檔權重向量,通過約束文檔向量dj生成一組潛在主題向量t0,t1,…,tk,…,tn,可表示為
dj=pj0·t0+pj1·t1+…+
pjk·tk+…+pjn·tn
(3)
(4)
式(4)可以衡量在特定主題下文檔j的所有文檔中的可能性,通過調整超分布中的超參數(shù)λ,發(fā)現(xiàn)在先驗參數(shù)α<1時,每個主題中的文檔比例相對稀疏,而α>1時,文檔比例向量相對集中。為了增強模型的可解釋性,方法中取α=n-1,n為主題數(shù)目。然后通過不斷迭代優(yōu)化,使得文檔比例向量變得更集中,最終獲得可解釋性主題向量。
模型的總損失L是Skip-gram負采樣損失函數(shù)Lneg與優(yōu)化LDA在文檔權重上的概率分布函數(shù)產(chǎn)生的損失Ld之和,可表示為
L=Ld+Lneg
(5)
在迭代訓練結束后,將文檔表示過程得到的主題向量、文檔比例向量合成得到文檔向量,將其與詞向量表示得到的中樞向量相加得到,使得預測過程中負采樣損失和Dirichlet似然項總和最小化,并生成可解釋的文檔表示形式,用于發(fā)現(xiàn)未標記文檔集合中的主題或結構,完成后續(xù)熱點主題識別任務中的模型的可解釋性分析。
實驗爬取美國《紐約時報》、英國《泰晤士報》、法國《世界報》、日本《朝日新聞》等10個國際主流媒體17 066篇涉華新聞報道作為語料庫,將這些數(shù)據(jù)分成9組不同類別的文檔集。在預處理階段,采用英文停用詞表和自定義的停用詞做文本預處理,對缺失值使用正則匹配方法處理,并將數(shù)據(jù)集中的數(shù)據(jù)按照8∶2的比例劃分為訓練集和測試集送入模型訓練。根據(jù)主題建模結果的反饋,改進文本處理過程,使得不同模型在同一語料庫可以橫向對比。
本文使用Python語言實現(xiàn)了NS-LDA2Vec模型,主要由詞向量表示和文檔表示2部分算法組成。其中,詞向量表示部分采用基于Python的gensim包實現(xiàn)Word2Vec的Skip-gram模型詞向量的訓練,其主要參數(shù)設置如下:詞向量維度size設置其默認為100;訓練窗口設置其默認為5;hs參數(shù)設置為0,表示不使用hs方法,采用負采樣方法;negative設置為3,表示負采樣noise words個數(shù)。文檔表示部分采用基于Python的sklearn包實現(xiàn)LDA模型的訓練。損失函數(shù)選用層次Softmax。
采用綜合指標F1值進行主題分類任務評價,采用主題相關度評價指標進行主題相關度任務評價,并通過可視化主題識別結果,對主題詞可解釋性進行分析,驗證模型性能。
F1值是評價分類效果的綜合指標,是召回率與精確率的加權調和平均值,F(xiàn)1值越高, 說明本文方法更有效,可表示
(6)
式中:P為精確度,反映測試集中預測為正類正確的比重, 由測試樣本中預測正類樣本數(shù)量除以所有預測為正類的樣本數(shù)得到;R為召回率,反映原有樣本中有多少正類樣本被預測, 由原有樣本中預測正類的樣本數(shù)除以樣本中總正類的數(shù)量得到。由于P和R往往不能同時提高,文中采用綜合指標F1值。
主題相關度Cv[24]是通過模型訓練得到的主題最相關的前10個主題詞,比較其在語料庫中的共現(xiàn)頻率,對最終結果取平均值,來衡量主題詞間的相關程度,可表示為
(7)
為了評估本文方法的分類和主題識別任務的可行性和有效性,以經(jīng)典的LDA主題模型、文獻[17]提出的TEWV模型和文獻[19]提出的LDA2Vec模型為基線,將4種模型在測試數(shù)據(jù)集上進行分類任務,其對應F1值變化如圖2所示。
圖 2 不同模型F1值變化Fig.2 F1 value change of different models
從圖2可以看出,LDA分類效果最差,TEWV和LDA2Vec模型相對較好,NS-LDA2Vec模型在分類任務中表現(xiàn)效果最好。在詞向量維度達到350時,本文方法模型的F1值達到了0.898,相較于LDA、TEWV和LDA2Vec模型分別提高了0.328、0.048、0.031,相比之下F1值最高,說明樣本數(shù)據(jù)的分類效果最好,也符合大多數(shù)分類任務的需求。原因在于NS-LDA2Vec模型不僅在詞向量表示中融入了主題信息,同時還利用了附加的文檔上下文向量,這樣可以獲得富含主題信息的詞向量表示和稀疏性更好的文檔向量表示,所以文本分類效果更好。
為了判斷本文方法模型學習到的主題表示、詞向量表示和文檔表示的主題建模效果,對比4種模型在主題相關度評估任務上的結果,如表1所示。
表1 主題相關度結果
從表1可以看出,主題個數(shù)為10時,NS-LDA2Vec、 LDA2Vec和TEWV相較于傳統(tǒng)的LDA模型相比,分別提高了0.088 3、0.076 4、0.069 7。主題數(shù)為20時,TEWV、LDA2Vec和NS-LDA2Vec取得了比較相近的效果。主題數(shù)為30時,NS-LDA2Vec、 LDA2Vec和TEWV相較于LDA,分別提升了0.081 8、0.070 4、0.084 4??梢园l(fā)現(xiàn),基于Skip-gram模型聯(lián)合訓練詞向量和文檔向量的NS-LDA2Vec比基于CBOW模型的TEWV模型在主題相關度方面效果更好,這是由于NS-LDA2Vec方法假設上下文語義依賴于主題和詞語義,但在主題數(shù)為30時,文中方法和TEWV模型還存在一定差距,分析原因可能是在計算主題和詞的相似度時,參數(shù)調優(yōu)會對結果產(chǎn)生一定影響,表明在一定范圍內,使用文中方法進行熱點主題識別任務是更加合適的。
將得到的文檔向量和詞向量輸入模型訓練,對主題詞的可解釋性進行驗證。隨機選擇一個主題-詞分布(文中以14號主題-詞分布為例),利用pyLDAvis工具包對該主題的主題-詞分布結果可視化展示,如圖3所示。圖3(a)圓圈的大小表示主題出現(xiàn)概率的大小,圓圈之間的距離表明不同主題之間的相關程度,圖3(b)是對每個主題的可視化展示,標深的顏色即是該主題詞在對應主題下出現(xiàn)的頻率,這樣可以更加直觀地對熱點主題結果進行觀察和可解釋性分析。
(a) 主題-詞概率分布
(b) 主題可視化圖 3 14號主題的主題-詞分布Fig.3 Topic-word distribution of topic 14
從圖3可以看出,結果中提取的主題之間比較清晰分明,沒有過多的重疊,交叉現(xiàn)象,原因在于該方法聯(lián)合訓練詞信息和主題信息,這樣產(chǎn)生的詞向量中含有大量領域背景信息,在詞推理任務中,有助于提升詞向量的線性學習能力。同時也可以通過調整相關性參數(shù),獲得不同相關性下主題詞排序,便于更好地理解主題信息,主題的可解釋性更好。
綜上所述,與已有的方法相比,本文方法采用聯(lián)合訓練詞向量和文檔向量的熱點主題識別方法,不僅可以提升語義一致性,改善文本隱含語義缺失問題,還能夠提高主題識別結果的精確性和可解釋性。
文中針對概率主題模型無法充分利用詞間語義關系以及詞向量模型忽略文檔主題信息的問題,提出一種新的熱點主題識別方法NS-LDA2Vec,通過聯(lián)合訓練文檔向量和詞向量預測中樞詞的上下文向量,改善詞語、主題和文檔的表示效果。結果表明,提出的NS-LDA2Vec模型能夠有效利用詞間語義關系、主題信息及上下文信息,相比同類方法在主題識別任務上分類效果更好,主題相關度及語義一致性效果更佳,能在一定程度上提升熱點主題識別的效果。在下一階段工作中,將研究文本聚類方法,之后與本文方法算法結合,以期找到更優(yōu)話題數(shù),實現(xiàn)更好的熱點識別效果。