?

基于信息最大化變分自編碼器的孿生神經主題模型

2020-09-09 03:09劉佳琦
計算機應用與軟件 2020年9期
關鍵詞:集上文檔檢索

劉佳琦 李 陽

(中國科學技術大學計算機科學與技術學院 安徽 合肥 230027)

0 引 言

主題模型是一種基于有向概率圖模型的學習文檔向量化表示的方法,在自然語言處理中有著廣泛的應用[1-3]。主題模型假設文檔是由不同的主題構成,而每個主題可以形式化為詞表上單詞的概率分布。常用的主題模型有隱語義索引(Probabilistic Latent Semantic Analysis,PLSA)主題模型[4]和隱迪利克雷分布(Latent Dirichlet Allocation,LDA)主題模型[5]等。在求解主題模型的參數時,常用的貝葉斯推理方法需要對具體的問題推導閉式解并設計相應的推理算法。隨著問題復雜度提高,主題模型包含越來越多的隱變量和額外信息,模型的推理過程變得愈加復雜,對其參數進行快速準確的推理變得十分困難。

變分自編碼器(Variational Autoencoder,VAE)[6]作為一種深度生成模型,在機器學習領域取得了廣泛的關注。與以往的貝葉斯推理方法相比,VAE通過神經網絡近似模型中隱變量的后驗分布。由于神經網絡通常采用梯度下降的方式進行訓練,簡化了對隱變量后驗分布的參數更新方法的推導以及相應推理算法的設計步驟。因此,一些研究人員將VAE和主題模型結合,提出了基于VAE的神經主題模型并將其應用于不同的文本處理任務中,得到了較好的實驗結果[7-10]。

當使用VAE構建神經主題模型時,存在以下兩個問題:(1) 神經主題模型僅針對單個文檔進行建模,忽略了不同文檔之間的相似度信息。直觀上來說,語義接近的文檔,它們對應的隱變量之間的相似度應該較高,但是神經主題模型在訓練過程中沒有引入文檔間相似度的信息作為約束。(2) Chen等[11]指出VAE在訓練過程中,存在忽視模型中隱變量的現象,使得輸入和其隱變量之間的相關性弱化。以上問題導致神經主題模型不能很好地學習文檔的向量表示。

County等[13]通過一種孿生網絡(Siamese Network)編碼變量之間的距離,在計算機視覺領域得到有效的驗證。受到該工作的啟發,為了引入文檔之間的相似性,本文使用孿生網絡對神經主題模型進行擴展,提出了孿生神經主題模型(Siamese Neural Topic Model,SNTM)和該模型的一個變種——專家乘積孿生神經主題模型(SNTM with Product of Experts,PSNTM)。兩個模型均采用孿生網絡結構,使得模型能夠在訓練過程中同時處理不同的文檔,從而引入文檔之間的相似度信息。在孿生網絡的子結構中,為了提高輸入和隱變量之間的相關性,本文使用信息最大化變分自編碼器(Information Maximizing Variational Autoencoder,InfoVAE)[14]構建神經主題模型。相比于VAE,InfoVAE在訓練過程中能夠有效地利用模型中的隱變量,從而得到更有意義的文檔的向量表示。

本文的貢獻包含以下幾點:

(1) 通過孿生網絡結構對神經主題模型進行擴展,提出了孿生神經主題模型及其變種。與神經主題模型相比,該模型在訓練過程中引入文檔之間的相似度信息。

(2) 在孿生網絡的子結構中,選擇InfoVAE構建神經主題模型,相比基于VAE的神經主題模型,該模型的輸入與隱變量之間具有更強的相關性。

(3) 使用文檔檢索(Document Retrieval)和主題一致性(Topic Coherence)兩種方式對所提出的模型進行評估,實驗結果驗證了其有效性。

1 相關工作

主題模型在文檔建模和信息檢索中有著廣泛的研究與應用。許多研究人員利用不同的信息,對主題模型進行了擴展:Mcauliffe等[15]提出了監督式主題模型(Supervised Topic Model),將文檔的標簽信息引入LDA主題模型,實驗結果表明該模型能夠有效地對文檔的類別進行預測。Wang等[16]將時間序列和單詞共現信息相結合,提出了時間推移主題模型(Topic Over Time Topic Model)。Rosen-Zvi等[17]將文檔的作者信息考慮在內,認為不同作者對主題有著不同的偏好,提出了作者主題模型(Author-Topic Model)。Qiu等[18]對用戶在社交媒體上興趣和行為模式進行建模,提出了基于LDA的行為主題模型(LDA-based Behavior-Topic Model)。Du等[19]的研究指出,通過在主題模型中引入文檔之間的相似性信息能夠提高所提取的主題的質量。然而,為了引入額外信息,上述所有模型均需要精心設計概率模型和相關的推理算法。

VAE通過神經網絡近似模型中隱變量的后驗分布,提供了一種通用并且擴展性更強的選擇。許多研究人員將VAE與主題模型結合,并取得了一定的效果。Miao等[20]選擇高斯分布作為主題模型中主題的先驗分布,采用VAE進行文本建模,提出了神經變分文檔模型(Neural Variational Document Model,NVDM)。Srivastava等[7]通過VAE實現了LDA主題模型,稱為神經變分LDA主題模型 (Neural Variational LDA,NVLDA)。Miao等[8]提出了多種不同的方式來構建文檔中主題的先驗分布,并研究了構建任意數量主題的實現方式。Card等[9]通過在文本建模過程中引入了文檔所包含的元數據,對神經主題模型進行了擴展,改善了模型的主題一致性。Lin等[10]將注意力機制中的“sparsemax”函數引入神經主題模型中,提高了文檔中主題分布的稀疏性。 然而,上述工作中均沒有考慮到文檔之間的相似度信息。除此之外,基于VAE的神經主題模型在訓練過程中可能會忽視模型中的隱變量,從而導致輸入和隱變量之間的相關性較弱。

2 神經主題模型的文本建模

1) 對隨機變量θ~Dirichlet(α)進行采樣,得到文檔X的主題分布。

2) 對文檔X中的每個單詞xi:

(1) 對隨機變量ci~Multi(θ)進行采樣,得到主題ci的觀測值。

(2) 對隨機變量xi~Multi(φci)進行采樣,得到單詞xi的觀測值。

其中,α∈RK是迪利克雷分布的參數。值得注意的是,對于每個主題對應的向量φk,同樣可以選擇迪利克雷分布作為其先驗分布?;谖墨I[8],本文將其視為模型中的參數。因此,文檔X的似然函數可以表示為:

(1)

式中:Φ=[φ1,φ2,…,φK]。

當使用VAE或其變種構建神經主題模型時,對于迪利克雷分布,因為很難找與之對應并且有效的重參數技巧(Reparameterization trick),所以無法使用梯度下降的方法對模型進行優化。為了解決這一問題,本文選擇文獻[7]的方式,通過高斯分布來近似迪利克雷先驗。高斯分布的均值μ0∈RK和協方差矩陣Σ0∈RK×K的計算公式如下:

(2)

(3)

式中:αk表示向量α中的第k個元素;μ0k表示向量μ0中的第k個元素;Σ0kk表示矩陣Σ0主對角線上的第k個元素。值得注意的是,協方差矩陣Σ0為對角陣。

在得到均值μ0和協方差矩陣Σ0后,隱變量θ的先驗分布可以表示為以下形式:

θ=softmax(z)

(4)

式中:z~N(μ0,Σ0)。因此,對于文檔X,其似然函數可以表示為如下形式:

(5)

圖1描述了神經主題模型所對應的概率圖模型。

圖1 神經主題模型的概率圖模型

3 孿生神經主題模型

3.1 整體結構及優化目標

在神經主題模型中引入文檔之間的相似度,有助于模型在計算文檔表示過程中利用更多的信息。本文研究目標是構建一種能夠利用文檔之間的相似度信息,同時不改變神經主題模型建模結構的模型。

為此,本文使用孿生網絡對神經主題模型進行擴展,使得模型整體由兩組結構和參數都完全相同的神經網絡構成。給定兩篇不同的文檔Xi和Xj,本文分別將Xi和Xj作為兩個網絡的輸入,得到文檔的向量表示zi∈RK和zj∈RK。為了使得zi和zj之間依然能夠保留文檔Xi和Xj之間的相似度信息,本文設計了如下損失函數:

Lsim(Xi,Xj)=(g(f(zi,zj))-sim(Xi,Xj))2

(6)

式中:sim(Xi,Xj)表示文檔Xi和Xj之間的相似度;函數f(zi,zj)表示向量zi和zj之間的相似度。對于sim(Xi,Xj),本文選擇能夠較好地反映之間語義差異的詞移距離(Word Mover Distance,WMD)[21]的相反數衡量文檔之間的相似度。對于f(zi,zj),本文選擇余弦相似度作為zi和zj之間的相似度度量方式。由于f(zi,zj)和sim(Xi,Xj)的取值范圍并不相同,無法直接進行比較。因此本文使用一個線性函數g(x)=ax+b將f(zi,zj)轉換到sim(Xi,Xj)的取值范圍內,其中a∈R+,b∈R均為模型的參數。

本文所使用的孿生網絡不僅需要考慮不同文本之間的相似度,還需要考慮子結構對文本的表示能力。孿生網絡的子結構為神經主題模型,完成對文檔的“編碼-解碼”過程:編碼器將文檔X作為輸入,首先得到文檔表示z,之后通過z計算出神經主題模型的隱變量θ。值得注意的是,文檔表示z與θ存在如下的關系:

θ=softmax(z)

(7)

由式(7)可知,隱變量θ與z之間存在確定的依賴關系。但是相比于θ,z的取值范圍更大,所以使用z作為文檔表示能使得語義不同的文檔之間更加分散。因此本文選擇z作為文檔表示。在得到隱變量θ之后,解碼器將θ作為輸入,計算輸入文檔X的條件概率p(X|θ)。至此,神經主題模型完成了對文檔X的“編碼-解碼”過程。

通過上述分析,對于輸入文檔Xi和Xj,孿生神經主題模型的整體目標函數如下:

LSNTM(Xi,Xj)=LInfoNTM(Xi)+LInfoNTM(Xj)-

γLsim(Xi,Xj)

(8)

式中:LInfoNTM(·)表示基于InfoVAE的神經主題模型的目標函數;γ為模型的超參數。模型整體的網絡結構如圖2所示。

圖2 孿生神經主題模型的整體結構

3.2 基于InfoVAE的神經主題模型

根據式(5),可以得出文檔X的對數似然函數的證據下界(Evidence Lower Bound,ELBO):

KL(q(θ|X)‖p(θ|μ0,Σ02))

(9)

λ1KL(q(θ|X)‖p(θ|μ0,Σ20))-

(10)

圖3 基于InfoVAE神經主題模型的網絡結構

h1=softplus(W1e+b1)

(11)

h2=softplus(W2h1+b2)

(12)

μ1=W3h2+b3

(13)

log(Σ1)=W4h2+b4

(14)

(15)

式中:(xi|Φ,θ)服從多項式分布Multi(Φθ)。

目標函數中的第二項為近似后驗分布和先驗分布之間的KL散度,由于q(θ|X)=q(z|X)=q(z|μ1,Σ1),并且p(θ|μ0,Σ0)=p(z|μ0,Σ0)。因此分布q(θ|X)和p(θ|μ0,Σ0)之間的KL散度可轉換為q(z|μ1,Σ1)和p(z|μ0,Σ0)之間的KL散度,后者存在閉式解,具體公式如下:

KL(q(z|μ1,Σ1)‖p(z|μ0,Σ0)=

(16)

值得注意的是,在訓練初期,由于隱變量θ中只包含輸入X中的少量信息,相比于損失函數的第一項,該項更容易優化,因此在訓練過程中可能會出現信息選擇(Information Preference)問題[11],導致模型傾向于將近似后驗分布q(θ|X)直接設置為先驗分布p(θ|μ0,Σ0),降低了模型的表示能力。為了處理上述問題,本文將該項的權重λ1設置為一個較小的值,降低該項在目標函數中所占的比例。

目標函數中的第三項J(q(θ)‖p(θ|μ0,Σ0))表示分布q(θ)和p(θ|μ0,Σ0)之間任意嚴格的散度。Zhao等[14]指出通過在目標函數中添加該項能夠提升近似后驗分布q(θ|X)中θ和X之間的互信息。本文根據文獻[14]的建議,使用最大平均差異(Maximum Mean Discrepancy,MMD)度量分布q(θ)和p(θ|μ0,Σ0)之間的散度。令κ(·,·)表示任意正定核函數,分布p和q之間的最大平均差異定義如下:

MMD(p‖q)=Ep(θ),p(θ′)[κ(θ,θ′)]+Eq(θ),q(θ′)[κ(θ,θ′)]-

2Ep(θ),q(θ′)[κ(θ,θ′)]

(17)

本文選擇高斯核函數進行計算。值得注意的是,高斯核函數通常要求輸入數據的每一維均值為0,方差為1。隱變量θ顯然并不滿足上述要求,為了處理該問題,本文將分布q(θ)和p(θ|μ0,Σ0)之間的最大平均差異替換為分布q(z)=q(z|X)pD(X)和p(z|μ0,Σ0)之間的最大平均差異。一方面,本文可以對z進行批標準化處理,使得其每一維均值為0,方差為1,同時不影響隱變量θ的物理意義;另一方面,當且僅當q(θ)=p(θ|μ0,Σ0)時,MMD(q(z)‖p(z|μ0,Σ0))=0。依然滿足了嚴格散度的要求。

4 專家乘積孿生神經主題模型

神經主題模型認為文檔是由不同主題合成,每一個詞都與一個特定主題相關。在文獻[7]中,作者提出了一種新的能夠提高模型主題一致性的建模方法,該方法不需要顯式地對每個主題中單詞的分布建模,而是直接對文本中單詞的概率分布建模。在計算方式上與之前的建模方法相比,區別在于該方法放松了每個主題對應的向量φk中所有元素的和為1的要求。具體描述為:在給定θ的條件下,單詞xi|Φ,θ服從多項式分布Multi(softmax(Φθ))。值得注意的是,矩陣Φ被視為模型中的參數。

在上述建模方法中,單詞xi的概率分布的計算方式可以視為Hinton提出的專家乘積模型(Product of Experts)[22]?;谝陨戏治?,本文將上述修改應用在孿生神經主題模型中,得到了專家乘積孿生神經主題模型。

5 實 驗

5.1 實驗數據集

本文選取20Newsgroups、REUTERS和BBC三個新聞數據集進行實驗。20Newsgroups數據集包含了20個不同類別,近20 000個新聞組文檔,其訓練集大小為11 314,測試集大小為7 531。REUTERS數據集包含了路透社1987年新聞專線數據。本文選擇文獻[23]中所使用的8個類別版本的劃分結果,記為R8,其中訓練集大小為5 485,測試集大小為2 189。 BBC數據集大小為2 225,包含了5類不同類型的新聞數據。本文隨機地從中選取了400個文本作為測試集,其余的數據作為訓練集。

5.2 評估方式

為了評估本文模型的文檔表示能力以及挖掘文本中潛在主題分布的能力,使用文檔檢索(Document Retrieval)和主題一致性(Topic Coherence)檢測模型的有效性。

(1) 文檔檢索。文檔檢索任務用于檢測模型的文檔表示能力。本文采用文獻[24]的實驗方式,將測試集中的每個文檔作為查詢,根據文檔表示之間的余弦相似度從訓練集中獲取一定數量的檢索文檔,之后將檢索文檔中與查詢文檔具有相同標簽的文檔的比例作為精度。本文使用P@10(Precision At 10)值(從訓練集中選取和查詢文檔距離最小的10個文檔時的精度)作為評估指標,檢測所提出模型的文檔表示能力。

(2) 主題一致性。主題一致性用于評估模型從文本數據中所提取的主題的質量,反映了模型提取的主題中單詞分布的解釋性。本文采用文獻[25]所提出的計算方式衡量主題一致性。對于每個主題,本文選取概率分布最大的前10個單詞,使用各個單詞之間的歸一化的點互信息(Normalized Pointwise Mutual Information)計算每個單詞的向量表示,之后計算每個單詞之間的余弦相似度的均值(記為TC)。在得到所有主題的TC后將其均值作為評估指標,記為ATC。ATC越大,整體的主題一致性越好。

5.3 對比模型

本文選擇NVDM、NVLDA和ProdLDA三種不同的模型進行對比實驗。

NVDM:Miao等在文獻[20]中提出了神經變分文檔模型(NVDM)。 NVDM使用變分自編碼器對文檔進行建模,使用高斯分布作為文檔的主題分布,與“主題-詞”矩陣相乘之后進行歸一化得到文本中單詞的分布情況。

NVLDA/ProdLDA:在文獻[7]中,作者在VAE的框架下實現了LDA主題模型(NVLDA)。隨后,對該模型進行修改,將文檔建模過程中的“主題-詞”多項式分布混合結構替換為專家乘積模型并稱之為ProdLDA。相比于NVLDA,ProdLDA在數據中提取的主題的一致性較好。

5.4 實驗設置

對于所有數據集,本文去除文本中所有非UTF-8字符,之后將數據集中的所有單詞轉換為小寫形式并去除停止詞。對于BBC數據集和20Newsgroup數據集,本文選擇其中出現次數最多的2 000個單詞作為詞表。對于R8數據集,本文選擇文獻[21]中所采用的大小為13 311的詞表。

本文模型需要不同文檔之間的詞移距離作為輸入。對于BBC和R8數據集,本文計算了訓練集中任意兩個個體之間的詞移距離。由于20Newsgroup數據集的訓練集較大,計算其中任意兩個個體之間的詞移距離所花費的時間較長,因此對于訓練集中的每個個體,本文隨機地選取200個與其不同的個體計算它們之間的詞移距離。對于文檔檢索任務,本文對所有數據集的訓練集上劃分出10%的數據作為驗證集。

在所有實驗中,編碼器部分的每層神經網絡的節點數量為100。對于主題數量K,本文基于文獻[20],分別對K=50和K=200進行實驗。對于超參數λ1,本文在所有實驗中將其設置為0.01。本文使用Adam優化算法[26]對模型進行訓練,在所有實驗中,SNTM和PSNTM學習率的分別設置為0.005 0和0.002 0。對于模型中其余的超參數,本文使用網格搜索的方式進行選擇。

5.5 結果與分析

(1) 文檔檢索實驗。表1和表2分別顯示了當主題數量K分別為50和200時,各個模型在三個數據集上P@10值??梢钥闯?,當主題數量K=50時,SNTM在BBC數據集上表現最優,PSNTM其余的兩個數據集上表現最優;當主題數量K=200時,PSNTM在R8數據機上表現最優,SNTM在其余的兩個數據集上表現最優。除此以外,SNTM和PSNTM在所有實驗中表現均優于對比模型。

表1 當K=50時,所有模型在各個數據集上的P@10值 %

續表1

表2 當K=200時,所有模型在各個數據集上的P@10值 %

為了直觀地顯示各個模型在文檔檢索任務中的表現,本文計算了當主題數量K=50和K=200時,各個模型在20Newsgroup數據集上使用不同文檔檢索比例時的精度。圖4和圖5顯示了相應的實驗結果??梢钥闯?,在不同的文檔檢索比例下,SNTM和PSNTM的表現均優于對比模型。

圖4 當K=50時,所有模型在20Newsgroup數據集上文檔檢索任務表現

圖5 當K=200時,所有模型在20Newsgroup數據集上文檔檢索任務表現

文檔檢索任務的實驗結果表明,SNTM和PSNTM在計算文檔的向量表示時,能夠較好地保留文檔中的語義信息,使得同類文檔之間的相似度更高,在文檔檢索任務中表現更好。

(2) 主題一致性實驗。表3和表4分別顯示了當主題數量K分別為50和200時,各個模型在不同數據集上的ATC。實驗結果表明,除了當主題數量K=50時,SNTM在R8數據集上表現最好以外,PSNTM在其余的實驗中表現最好。值得注意的是,NVLDA與SNTM的子結構具有相同的概率圖模型。從實驗結果中可以發現:相比于NVLDA,SNTM在各個數據集上的主題一致性表現略有優勢;ProdLDA和PSNTM均使用了專家乘積代替文本建模過程中的“主題-詞”多項式分布結構;相比于ProdLDA,PSNTM在各個數據集上的主題一致性表現更好。

表3 當K=50時,所有模型在各個數據集上的ATC

表4 當K=200時,所有模型在各個數據集上的ATC

表5顯示了PSNTM在20Newsgroup數據集上所提取的一些具有代表性的主題,每個主題由該主題下概率分布最大的10個單詞表示。表5的第一行是每個主題的簡要概括??梢园l現,單詞和主題之間的匹配程度較好。

表5 PSNTM在20Newsgroup數據集上提取的部分主題

續表5

(3) 文檔間相似度信息對模型的影響。為了分析文檔間相似度信息對所提出的模型在文檔檢索和主題一致性中的影響,本文使用SNTM在R8數據集上進行實驗。由于超參數γ是目標函數L(Xi,Xj)中Lsim(Xi,Xj)項的權重系數,控制文檔間相似度信息對模型的影響。因此在實驗過程中,模型中的其余超參數不變,γ取值范圍為{0,30,60,90,120}。表6顯示了當γ取不同值時,SNTM在R8數據集的驗證集上所取得的P@10值和ATC??梢钥闯?,相比于γ=0(即模型中不引入文檔之間的相似度信息),當γ取其余不同的值時,模型的文檔檢索精度和主題一致性均得到了不同程度的提升。該實驗結果驗證了在神經主題模型中引入文檔之間的相似度信息,能夠改進模型在文檔檢索任務中的表現和增強模型所提取的主題的一致性。

表6 超參數γ取不同值時,SNTM在R8數據集的驗證集上所取得的P@10值和ATC

6 結 語

本文提出了孿生神經主題模及其變種——專家乘積孿生神經主題模型。兩個模型整體采用孿生網絡結構,能夠在訓練過程中引入文本之間相似度信息。對于孿生網絡中的子結構,本文使用信息最大化變分自編碼器構建神經主題模型,提升了模型中隱變量和輸入之間的相關性。在三個不同的數據集上的實驗結果表明,和對比模型相比,本文模型在文檔檢索任務中有更好的表現。除此之外,模型從文本數據中提取的主題具有良好的一致性。

猜你喜歡
集上文檔檢索
淺談Matlab與Word文檔的應用接口
關于短文本匹配的泛化性和遷移性的研究分析
有人一聲不吭向你扔了個文檔
基于互信息的多級特征選擇算法
瑞典專利數據庫的檢索技巧
一種基于Python的音樂檢索方法的研究
英國知識產權局商標數據庫信息檢索
Word文檔 高效分合有高招
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
師如明燈,清涼溫潤
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合