覃婷婷,劉 崢,陳可佳
(南京郵電大學 計算機學院,南京 210023)
隨著互聯網行業(yè)的快速發(fā)展,文檔數據急劇增加,從文本數據中發(fā)現潛在的主題信息也變得更加困難。經典主題模型如LDA[1]和sentenceLDA[2]通常利用文檔或者句子級別的單詞共現來構成主題,根據簡單的詞袋模型捕獲單詞之間的語義信息,但是,該方法忽略了有價值的單詞序列信息[3]。目前,研究人員提出了引入單詞嵌入和主題嵌入的主題模型LTE(Latent Topic Enbedding)[3],其將單詞嵌入和主題模型集成到一個框架中。單詞嵌入模型[4]將單詞映射到分布式表示中,其主要關注小滑動窗口內的單詞共現,這使得單詞嵌入可以捕獲單詞子序列的信息。但是,現有的單詞嵌入模型通常只關注單詞上下文的語義信息,并未充分了解文本的主題。
目前,學者們關于主題建模和單詞嵌入進行了較多研究。LDA是用離散數據集合(如文本語料庫)建立的生成概率模型[1],LDA及其變體已廣泛應用于內容推薦[5-6]、趨勢檢測[7-8]以及用戶概況分析[9-10]等應用中。Bigram主題模型[11-12]為了減輕LDA主題模型詞袋假設的負面影響,為每一對主題的單詞創(chuàng)建多項式分布,這導致其計算成本大幅增加。主題聯合詞向量模型[13]通過對單詞和主題向量進行線性變換得到最終的詞向量。文獻[14]將主題模型應用于文檔檢索,在一定程度上提高了文檔檢索的效果。文獻[4]提出了Skip-gram模型的幾個擴展模型,提高了向量的質量和訓練速度。文獻[15]將主題建模的結果輸入單詞嵌入模型以學習主題詞嵌入,但是其并非整合主題建模和單詞嵌入。文獻[16]基于LDA主題模型引入深度神經網絡模型LSTM(Long Short-Term Memory),建立了LLA(Latent LSTM Allocation)模型。LLA模型通過LSTM預測每個單詞主題的生成概率,使得LDA模型的超參數減少,同時利用了上下文的文本信息。但是,LLA模型用LSTM對主題和單詞進行嵌入,并且忽略了單詞與主題之間的相互關系。在本文模型中,將通過引入注意力機制的方法來解決這一問題。
主題模型可以了解文本的主題信息從而捕獲文本的主題分布,使得用戶可以較容易地獲取文本的主要內容,而單詞嵌入可以在一個小的滑動窗口內捕獲單詞的語義信息,并將單詞表示成一個較低維度的分布,這使得衡量單詞間距離的難度降低。鑒于主題模型和單詞嵌入的優(yōu)點和缺點,本文使用LDA模型作為主要框架,通過注意力機制將主題嵌入和單詞嵌入融合到LDA模型中,在此基礎上,構建一種JEA-LDA(Joint Embedding and Attention for Latent Dirichlet Allocation)模型。在文本的生成過程中,本文假設文檔中觀察到的單詞的主題可以通過2個通道生成,一個是多項式分布,另一個是基于主題嵌入和單詞嵌入。此外,在JEA-LDA模型中,針對主題和單詞建立注意力機制,獲取主題與單詞間的相互關系。在訓練單詞嵌入和主題嵌入的過程中,學習注意力分數,以確保在給定文本中與文本主題相關的單詞的權重高于不相關單詞的權重,從而使得主題嵌入和單詞嵌入的信息將影響主題建模的結果,而主題分布又將影響單詞嵌入和主題嵌入的訓練。
經典主題模型LDA利用單詞實例的共現來提取文本主題,但是其忽略了單詞間的位置關系。在本文中,通過將主題詞嵌入融入到LDA主題模型中來預測文本中每個單詞的主題,同時本文在主題詞嵌入模型中引入注意力機制,計算每個單詞的重要性分數,利用單詞的重要性分數和主題詞嵌入來預測下一個單詞的主題。
本文JEA-LDA主題模型的貝葉斯網絡示意圖如圖1所示。
圖1 JEA-LDA主題模型的貝葉斯網絡示意圖Fig.1 Bayesian network schematic diagram of JEA-LDA topic model
JEA-LDA主題模型以LDA模型為主題框架,融合單詞嵌入和主題嵌入并引入注意力機制。由圖1可以看出,JEA-LDA主題模型與LDA主題模型結構相似,不同之處在于,JEA-LDA主題模型添加了一個決定參數λ,表示主題生成的來源,JEA-LDA還結合了單詞嵌入和主題嵌入結構,并在單詞和主題之間添加注意力機制,用來捕獲主題與單詞之間的相互作用關系。在圖1中,V表示短文本單詞序列所組成的單詞嵌入矩陣,為被預測單詞的前導單詞序列,T表示連續(xù)單詞的主題嵌入矩陣,為被預測單詞的前導單詞的主題序列。嵌入矩陣的每一列表示一個單詞嵌入或主題嵌入,主題嵌入和單詞嵌入的長度保持一致。
(1)
為了捕獲連續(xù)單詞序列(如短語)的相對空間位置信息,本文在注意力的計算過程中引入一個非線性函數ReLU。特別地,本文考慮一個長度為2r+1、中心詞為第n個單詞的單詞序列,用注意力矩陣G的局部矩陣Gn-r:n+r來計算主題-短語的注意力分數。本文通過式(2)在第n個短語與主題間學習更高級的注意力分數:
sn=ReLU(Gn-r:n+rW1+b1)
(2)
η=softmax(m)
(3)
(4)
本文用交叉熵來衡量主題表示的概率,即式(4)中u為待預測單詞w的概率,如式(5)所示:
p(zw|V,T)=CE(Zw,f(u))
(5)
在JEA-LDA主題模型中,本文首先根據狄利克雷分布先驗參數α和β獲取參數文檔-主題分布θ和主題-詞分布φ;然后根據多項式分布Multi(θ)和主題詞嵌入模型為每一篇文檔的每一個單詞選定主題;最后根據多項式分布Multi(φ)為每一篇文檔逐步生成單詞。JEA-LDA模型的生成過程如算法1所示。
算法1JEA-LDA模型生成算法
輸入文本數據集D={d1,d2,…,dM}
輸出文檔-主題分布θ,主題-詞分布φ
1.for k=1 to K do
2.根據狄利克雷先驗分布抽樣主題-詞分布φk~Dir(β);
3.end for
4.for each 文檔d∈D do
5.根據狄利克雷先驗分布抽樣文檔-主題分布θd~Dir(α);
6.for each 單詞w∈d do
7.根據伯努利分布抽樣一個決定參數ξw~Ber(λ);
8.根據文檔-主題分布和主題詞嵌入模型的預測概率為單詞w抽樣一個主題zw~(1-ξw)Multi(θd)+ξwp(zw|V,T);
9.根據主題-詞分布抽樣一個單詞w~Multi(φzw);
10.end for
11.end for
12.return 文檔-主題分布θ,主題-詞分布φ
在JEA-LDA模型中,單詞w的概率可描述為p(w|α,β,λ,σ),其目標是最大化單詞w的概率。在理想情況下,可以通過最大化p(w|α,β,λ,σ)來計算σ的最優(yōu)值。但是,直接計算p(w|α,β,λ,σ)非常困難,因此,本文計算后驗概率p(w,ξ,z|α,β,λ,σ),如式(6)所示:
p(w,ξ,z|α,β,λ,σ)=
p(ξ|λ)p(z|α,ξ,σ)p(w|z,β)=
(6)
其中,Ed,k表示文檔d中屬于主題k的單詞個數,Fk,v表示文檔數據集中屬于主題k的單詞v的個數,Γ(·)表示Gamma函數,A表示通過伯努利分布生成的0的數量,B表示通過伯努利分布生成的1的數量。根據貝葉斯規(guī)則,為文檔d的單詞w指定主題k的概率如式(7)所示:
p(zd,w=k,ξd,w|w,z,α,β,λ,σ)=
p(ξd,w|λ,ξ)p(zd,w=k|w,z,ξd,w,α,β,σ)=
(7)
本文根據式(7)整合ξw,如式(8)所示:
p(zd,w=k|w,z,ξ,α,β,λ,σ)=
(8)
本文利用式(8)采樣每篇文檔中每個單詞的主題,重復執(zhí)行,直至收斂。接下來則考慮單詞嵌入和主題嵌入的優(yōu)化過程。在主題詞嵌入的過程中,對于每個短文本d的單詞w的主題,本文用單詞w前面的單詞序列預測w的主題。因此,目標函數可以建立如下:
(9)
根據上述分析,可以用蒙特卡羅EM算法來推導JEA-LDA模型的參數,如算法2所示。應用該算法可以獲得本文模型的參數,如文檔-主題分布θ和主題-詞分布φ。
算法2蒙特卡羅EM算法
輸入文本數據集D
輸出文檔-主題分布θ,主題-詞分布φ
1.初始化單詞嵌入矩陣V和主題嵌入矩陣T;
2.為每篇文檔的每個單詞隨機指派一個主題;
3.repeat
4.E-Step:
5.for each 文檔d∈D do
6.for each 單詞w∈d do
7.根據主題詞嵌入模型計算p(zd,w|σ);
8.根據式(8)獲取主題zd,w;
9.end for
10.end for
11.M-Step:
12.用隨機梯度下降法優(yōu)化主題詞嵌入模型參數σ;
13.until收斂
在算法2中,第1行首先對主題詞嵌入模型進行初始化,本文用預測訓練的單詞嵌入初始化單詞嵌入矩陣,對于不在詞匯表中的單詞和主題,本文采用均勻分布進行初始化。第2行對每一篇文檔隨機指派一個主題。第7行根據主題詞嵌入模型的前向過程預測單詞w主題為zd,w的概率。第8行根據式(8)指定單詞w的主題zd,w。第12行用隨機梯度下降法求解主題詞嵌入模型的參數。
假設算法2的最大迭代次數為H,語料庫中文本數量為M,每篇文檔的平均單詞數量為N,則JEA-LDA模型的時間復雜度為O(HMN)。
本次實驗采用搜狗實驗室(http://www.sogou.com/labs/)的新聞數據集來預訓練單詞嵌入,使用爬取自新浪微博的文本數據集來評估文本主題質量,該數據集包括679 823條文本數據,每條文本數據包含100個~200個單詞。
本次實驗的對比模型具體如下:
1)LDA[1],經典主題模型,直接用LDA對文本數據集提取主題。
2)DMM[17],Dirichlet多項式混合模型,其主要思想是假設每篇文本僅有一個主題。
3)LF-DMM[18],DMM的改進模型,其在DMM模型中引入了外部詞向量來補充單詞間的關系。
4)LF-LDA[18],LDA的改進模型,其在LDA模型中引入了外部詞向量來補充單詞間的關系。
(10)
PMI得分越高,模型學習的主題一致性越好,即模型性能越高。
圖2所示為微博文本數據在每個對比模型上的主題一致性PMI分數,其中,使用每個主題的前20個單詞分別計算PMI分數。從圖2可以看出,本文JEA-LDA模型相較于其他模型能夠取得更好的一致性效果。
圖2 5種模型的PMI分數對比結果Fig.2 Comparison results of PMI score of five models
在本文的對比主題模型中,可以獲得模型的文檔-主題分布θ,因此,可以用通用分類器對文本進行分類,以測試文本主題分布的效果,本次實驗采用SVM分類器。主題之間的區(qū)分度越高,文本主題的分布越合理,分類效果越好,模型的學習能力越高。
本文采用精度(P)、召回率(R)和F1值作為每種模型的分類評價指標,5種模型的分類結果對比如表1~表3所示,其中最優(yōu)結果加粗表示。
表1 5種模型的分類精度對比Table 1 Comparison of classification precision of five models
表2 5種模型的分類召回率對比Table 2 Comparison of classification recall of five models
表3 5種模型的分類F1值對比Table 3 Comparison of classification F1 value of five models
從表1~表3可以看出,本文模型通過引入單詞嵌入和主題嵌入,在一定程度上改善了主題模型的分類性能。
本文將主題嵌入和單詞嵌入融合到LDA主題模型中,在主題和單詞之間建立注意力機制,獲取主題與單詞間的相互關系。在訓練單詞嵌入和主題嵌入的過程中學習注意力分數,以確保在給定文本中與文本主題相關的單詞的權重高于不相關單詞的權重。實驗結果表明,主題嵌入和單詞嵌入相結合能夠改善主題提取的效果。下一步將在本文研究的基礎上,考慮短文本數據稀疏問題,針對短文本的主題提取和注意力機制進行分析和研究。