?

一種基于局部詞位置相對定位的非概率主題模型

2020-09-09 03:14張新豪陳知行
計算機應用與軟件 2020年9期
關鍵詞:詞典文檔局部

張新豪 陳知行

1(黃河科技學院現代教育技術中心 河南 鄭州 450063)2(北京理工大學自動化學院 北京 100081)

0 引 言

在文本分類、信息檢索或語言模型生成等文本處理應用中,詞位置的表示是非常重要的。例如,n-Gram模型由于其簡潔和高效而廣受歡迎。n-Gram是一種基于統計語言模型的算法,其基本思想是將文本的內容按照字節進行大小為n的滑動窗口操作,形成長度為n的字節片段序列。每一個字節片段稱為Gram,對所有Gram的出現頻度進行統計,并按照事先設定好的閾值進行過濾,形成關鍵Gram列表,即這個文本的向量特征空間,列表中的每一種Gram就是一個特征向量維度。該模型基于馬爾可夫假設,即假設在一段文本中,第n個詞的出現只與前面n-1個詞相關,與其他任何詞都不相關?;谶@樣的假設,可以評估文本中每一個詞出現的概率,整句的概率就是各個詞出現概率的乘積。這些概率可以通過直接從語料中統計n個詞同時出現的次數得到,常用的有一元的Uni-Gram、二元的Bi-Gram和三元的Tri-Gram。具體來說,它對一個詞建模是基于給定的先前n-1個詞,即p(wi|wi-1,wi-2,…,wi-n+1),n越大,模型能夠捕獲的上下文就越長。與之相關的方法是圍繞詞建立對稱窗口模型p(wi|wi+1,wi-1,wi+2,wi-2,…)[1]。

關于建模文檔局部性的研究主要集中在n-Gram模型的變體上。文獻[2]采用局部加權詞袋(Locally Weighted Bag-of-Words,LWBOW)方法來擴展n-Gram,其在長度歸一化文檔上使用了核平滑,通過在一個文檔的每個位置應用不同的權值并總計出靠近特定位置的詞出現,擴展了局部依賴關系。該方法采用平滑核在概率單純形中生成一條平滑曲線,該曲線代表文檔的時間推進。LWBOW允許檢查比n-Gram模型更大范圍的依賴關系,還允許將詞模式綁定到特定的文檔位置。平滑核的帶寬捕獲估計偏差和估計方差之間的權衡。

文檔模型如n-Gram和LWBOW存在固有的稀疏性,這是捕獲大詞匯序列中依賴關系的必然結果。依賴關系范圍越大,估計依賴關系就越難,因為估計方差增大了。具體而言,n個連續詞的可能組合數呈指數式增長,這使得每個組合的觀測數極其稀疏,最終導致計算困難且誤差較大。因此,在許多數據有限的情況下,n值較低的n-Gram模型的性能優于n值較高的n-Gram模型。

神經概率語言模型[3-4]試圖解決文檔模型存在的問題,其通過采用壓縮參數空間的參數模型來捕獲大詞匯的大范圍關系。由于這種模型估計的是壓縮的參數向量,而不是呈指數式增長的n-Gram計數,因此可有效捕獲詞依賴關系。概率主題模型[5]和矩陣分解模型[6-7]估計詞匯的壓縮表示,通常稱為潛在空間或主題。不同于神經概率語言模型,這兩種模型通常是基于詞袋表示或二元的Bi-Gram特征,限制了它們捕獲順序詞依賴關系的潛力。文獻[8]將稀疏主題編碼(Sparse Topical Coding,STC)和概率主題模型進行了詳細比較。STC是一種非概率的方法,被證明具有最先進的準確性以及相對較快的訓練時間,不同于標準的矩陣分解方法如非負矩陣分解,STC完全采用稀疏約束。

文本分割和分解研究也集中在局部文檔特征上。文獻[9]采用分層主題模型引入了語義片段,不同于本文所關注的空間片段,這些研究側重于語義片段,從而引出語義局部性概念。

時間主題模型[10-11]是基本潛在狄利克雷分配(Latent Dirichlet Allocation,LDA)[12]的擴展,其對順序詞出現進行建模。這兩種方法得到的主題因文檔位置不同而有所變化。

本文定義了一個局部上下文的概念,其為一個給定詞在文檔中的位置的條件詞概率,并采用一個平滑核來估計局部上下文,每個核帶寬檢查一個唯一的局部分辨率范圍。由于模型中有大量的局部上下文,所以還采用了稀疏編碼構想來壓縮空間。

本文貢獻如下:(1) 引入豐富的局部依賴關系,生成高度區分的特征;(2) 生成文檔的稀疏和緊湊表示形式;(3) 利用模擬詞的接近性生成局部連貫的主題。本文模型是分析文檔主題流的有用工具。

本文模型與STC的不同之處在于兩方面:(1) 采用局部上下文p(w|t),而不是單個詞觀測p(w),從而得到不同的損失函數;(2) 采用了一種新的基于貪婪坐標下降的更新規則,而不是采用路徑坐標下降。本文模型也有別于基本的時間主題模型LDA,順序轉換是基于文檔中特定的位置,例如在局部加權的詞袋中,本文模型采用了從非參數統計數據中進行核平滑的思想。

1 模型設計

1.1 局部上下文

大多數文檔和主題建模研究都采用諸如一元的Uni-Gram或n-Gram等順序特征來對文檔進行建模,即將文檔建模為詞w與詞位置t的聯合分布p(w,t)進而模擬出一個詞在文檔中某個特定索引處出現的概率。盡管這種方法對文檔序列的建模是有用的,但其不能模擬詞的相對定位,而詞與詞位置之間的條件分布p(w|t)則可以對詞的相對定位進行建模。

本文提出的局部上下文是指出現在一個特定文檔位置附近的詞的分布p(w|t),并用φ(t)來表示:

φ:N→R|V|

(1)

式中:|V|是詞匯表的大小。

給定一個長度為L的文檔x=[w1,w2,…,wL]和一個位置i,則可以使用一個平滑核k(i,j)來估計局部上下文φ(i),k(i,j)是一個在|i-j|中單調遞減的實值歸一化函數。直觀地說,核定義了感興趣的位置。

φ(i)=[φ1(i),φ2(i),…,φ|V|(i)]T

(2)

(3)

1.1.1k(i,j)的選擇

平滑核k(i,j)=g(i-j)有幾種標準的選擇。我們采用高斯核,因為它是一個歸一化高斯密度,但為了便于說明,采用下面的常數核(支持3個詞):

(4)

這個核在窗口{wi-1,wi,wi+1}中測量一個詞的存在,其不同于三元的Tri-Gram表示,因為忽略了窗口內的排序。非常數核允許強調靠近窗口中心的詞,而認為較遠的位置不重要。

1.1.2與n-Gram模型的比較

n-Gram模型及其變體與本文模型有根本的區別,因為n-Gram采用的是連續詞的聯合分布p(wi,…,wi-n+1),而不是詞和它的位置之間的條件分布p(w|t)。當n-Gram模型的詞匯量或窗口的大小(n)增加時,其事件空間的大小呈指數式增長。相比之下,本文模型的事件空間是不變的窗口大小(即核帶寬),而且在詞匯量大小上只是線性的。在實際中,當詞匯量和n值都很大時,n-Gram模型的表現很差。

1.2 局部上下文稀疏編碼

考慮一個文檔的局部上下文袋Φ={φ(i)|i=1,2,…,L},這里L為文檔的長度。由于直接估計局部上下文袋的統計值是很難的,故采用K碼(或主題)詞典中少數(稀疏)碼的線性組合來近似每個φ(i),即:

φ(i)≈Dβ(i)D∈R|V|×K,β(i)∈RK

(5)

(6)

需要注意的是,詞典可以跨多個文檔共享,因此對應于不同的Φ(文檔)的β是可比較的。

這里使用每個φ(i)和Dβ(i)之間的距離平方和來度量模型的近似質量,并在β(i)上加上一個L1罰值以加強稀疏性。這種做法相當于在高斯分布下利用與L1罰值相對應的Laplace先驗p(β)∝e-λ|β|來最大化模型的罰值似然。這樣,就可得到下列學習詞典D和β參數的目標函數:

(7)

(8)

假設一個特定文檔的主題賦值參數是正態分布β(i)|z~N(z,ρ-1I),并認為均值z是一個特定于文檔的參數或者一個文檔表示形式,得到目標函數:

(9)

(10)

上述方程假設單個文檔,在多個文檔的情況下,我們對它們進行求和,這時,D是跨文檔共享的,β和z是特定于文檔的。

1.2.1與概率主題模型的比較

本文所提出的局部上下文稀疏編碼方法構成一個圖形模型,如圖1所示。圖中z表示一個文檔表示形式;φ表示長度為L的文檔中的一個局部上下文;D為共享詞典(主題);β是采用D的對應局部上下文的潛在表示形式。

圖1 局部上下文稀疏編碼模型的結構

在本文模型中的歸一化可能與生成數據的真實分布不一致,這是由于參數位于一個受限域中,即:

(1) 詞(或一個局部上下文)的局部概率服從以Dβ為中心的分布,其中D包含跨多個文檔共享的主題,β包含相應的主題賦值。例如,假設是高斯分布,則有:

φ=p(w|t)~N(Dβ,σφI)

(11)

(2) 與一個特定文檔相對應的主題賦值參數{β(i)|i=1,2,…,L}服從以z為中心的正態分布且具有Laplace先驗,即:

(12)

1.2.2模型求解

本文模型的訓練過程類似于標準稀疏編碼模型的訓練過程。假設有多個文檔X=[x(1),x(2),…,x(N)],則可以最小化式(9)的累計損失函數:

(13)

且在共享詞典D上滿足下列約束條件:

(14)

這是一個雙凸問題,可以迭代求解β、z和D。此外,為了更好地解釋,還對β加上非負性約束條件。

(1) 求解β和z。通過對β每個維數的反復優化(坐標下降),這種最小絕對收縮與選擇算子(Least Absolute Shrinkage and Selection Operator,LASSO)問題就可以在非負約束條件下以封閉的形式得到唯一的解。具體地,如果采用簡記β(n)(i)→β、z(n)→z、φ(n)(i)→φ,則最小化β(n)(i)的單個分量得到如下結果:

(15)

相應的最優解為:

(16)

如果最小化z(n)與β(n)(1),β(n)(2),…,β(n)(L(n))之間的L2距離,則相應的文檔表示形式z(n)也可以以封閉形式求解得到:

(17)

一般會按順序j=1,2,…,K迭代β的維數,直至收斂,這被稱為路徑坐標下降,就像STC訓練中所進行的那樣。然而,貪婪坐標下降[14]是通過選擇減少損失最大(Δl)的維度,一次更新一個維度,這就使得訓練速度比具有相同精度水平的路徑坐標下降法更快,故本文采用下降更快的貪婪坐標下降法。

算法1求解β和z的貪婪坐標下降法實現偽代碼

1.Input:x(1),x(2),…,x(N)的局部上下文和D

2.for全部x∈{x(1),x(2),…,x(N)}do

//并行執行

3.Φ=[φ(1),φ(2),…,φ(L)]

//在x中的

4. [b(1),b(2),…,b(L)]=DTΦ

7.zt+1=zt

8.for全部i∈{1,2,…,L(n)}do

//并行執行

//等待其他完成更新z

15.endfor

16.endwhile

17.endfor

18.Output:全部局部上下文的z(1),z(2)…,z(N)和全部β

(18)

(19)

具體地,采用基于上述梯度的步驟,然后使用單純形投影Π將其投影回單純形,即:

Dt+1=Π(Dt-ηt▽)

(20)

2 實驗結果及分析

2.1 實例說明

現采用具有2種不同類型詞局部性即(a,b)與(a,c)的4個文檔的綜合實例來說明本文算法模型的實現原理,即:

x1=[a,b,a,b,a,b,c,c,c],x2=[b,a,b,a,b,a,c,c,c]

x3=[a,c,a,c,a,c,b,b,b],x4=[c,a,c,a,c,a,b,b,b]

由于a和b在x1和x2中一起出現,a和c在x3和x4中一起出現,因此得到x1和x2的主題與x3和x4的主題是不同的。

詞袋表示形式是主題模型的共同特征,它為全部文檔生成完全相同的表示形式[3,3,3]或[0.33,0.33,0.33](規一化)。相比之下,二元的Bi-Gram模型能區分全部4個文檔,盡管它同時嚴格地分離了兩個局部相似對([a,b]和[b,a])。雖然嚴格的分離可能是一個更好的選擇,但最終將導致特征空間的激增,特別是在試圖解釋大范圍依賴關系時。

與n-Gram模型不同,本文方法很容易捕獲與2種不同類型局部性相對應的2個主題。圖2為本文方法在一個單純形中得到的結果,使用了一個大小為K=2(主題數目)的詞典和一個帶寬為0.7的高斯平滑核。平滑核的有效寬度約為5個詞。圖中每個角表示對應字符之一的概率,填充形狀(Dz)表示單純形上的文檔表示形式,未填充形狀(φ)表示每個文檔的局部上下文,填充方塊為2個主題D1、D2,{Dz1,Dz2}和{Dz3,Dz4}之間是明顯分離的。

圖2 本文方法在單純形中對于綜合實例的結果

可以看出:2個主題D1和D2捕獲2種不同類型的局部性,D1位于a和b之間,表示a和b的混合主題,D2位于a和c之間;單純形上的文檔表示形式(Dz)形成2個單獨的組,第一組由Dz1和Dz2構成,第二組由Dz3和Dz4構成。文檔表示形式的位置是根據它的局部詞分布p(w|t)來區分文檔的,而n-Gram模型不能實現這一點。

2.2 局部主題實驗結果

與傳統的主題模型的主題相比,本文模型的主題反映了詞的局部性。LDA無法捕捉到2.1節的綜合實例中任何有意義的主題,因為全部4個文檔都有相同的均勻詞分布,與LDA不同,本文模型獲得了與2種不同類型的局部性相對應的2個主題。此外,由于每個局部上下文都包含它的鄰域信息,故本文模型最終形成了局部連貫的主題,這在實際應用中是有用的,因為大多數文本一般都有局部連貫的上下文。

將本文模型與LDA進行比較,實驗數據來自維基百科(英文版)的一篇文章《Paris》[15],因為該文章包含了共同的知識,且結構良好。

圖3為通過LDA和本文模型在《Paris》每個位置上的主題賦值(2種模型方法的K=15)。文檔進程從左到右進行,每個位置對應一個詞,最左邊的邊表示文檔的開始,最右邊的邊表示結束,圖下面的數字表示主題ID。從圖3(上)可見,采用LDA模型方法沒有顯示出任何局部連貫結構,而是被分割成零碎的碎片;從圖3(下)可見,采用本文模型,主題賦值是局部連貫的,而且顯示出了文檔的語義流。表1給出了每個主題的詳細信息,它從城市介紹開始:一般信息(表1中的主題1)及其聲譽(主題2),然后是巴黎的幾個方面:歷史(主題3,4)、展覽會(主題5)、藝術(主題6)和教育(主題7)。另外,每個主題最前面的詞的確是每個局部主題的高度陳述??梢?,本文模型得到的主題比LDA技術得到的主題有更多的局部分布。

圖3 通過LDA和本文模型方法的主題賦值比較

表1 《Paris》上采用本文模型選定主題最前面的詞

2.3 分類實驗結果

為對本文模型在分類中生成的特征進行研究,采用支持向量機(Support Vector Machine,SVM)。SVM具有不同的特征集,具體來說,就是采用ν-SVM,其ν值是采用交叉驗證從10個候選值中挑選出來的。

分類任務是標準的20個新聞組分類數據,采用正式的訓練測試分割和標準的預處理:用小寫字體書寫、剝離非英文字符、標記句子和詞,并刪除稀有的特征和停止詞。預處理得到18 845個文檔、21個類別和大小為|V|=6 329的詞匯表。為了檢驗參數的影響,處理數據集的一個子集(5個類別,comp.*),最后評價了數據集子集和整個數據集的總體性能。

2.3.1主題數量的影響

圖4為對于不同模型和詞典大小(從50~8 000)得到的測試集分類精度與主題數量K之間的關系曲線。在n-Gram模型下,從訓練集中選擇了最頻繁的K個特征,對于LDA、STC和本文模型,將詞典的大小指定為參數。本文模型方法的帶寬固定為h=1,覆蓋約7個詞(±3h),并為剩下的參數嘗試了一組候選值,并選擇了性能最好的值,例如對于STC,λ={10-4,10-2,10-1,0.5,1}。

圖4 不同模型和詞典大小的測試集分類精度與主題數量K之間的關系比較

可以看見,本文模型的性能接近于小詞典中的一元Uni-Gram,但能夠在一個足夠大的詞典中獲得更好的性能,即當K>|V|(K<|V|時,一元的Uni-Gram模型達到最大性能)時,本文模型的性能仍有提高;STC模型的性能對于相對較小的詞典來說表現良好,但其最大性能不如其他模型好。

Bi-Gram、Tri-Gram和4-Gram模型即使對于大詞典性能也較差,這是因為特征數量迅速增加(Bi-Gram生成23|V|個特征,Tri-Gram生成35|V|個特征,4-Gram生成37|V|個特征),從而將大大降低每個特征的觀測次數。相反,盡管本文模型覆蓋了大約7個相鄰的詞,但其似乎并沒有受到稀疏性的影響,且表現出較好的性能。

2.3.2帶寬的影響

圖5為在其他參數不變時,本文模型對于不同帶寬的測試集分類精度??梢?,在h=1時獲得了最好的性能,采用較窄的帶寬(如h=0.5)會導致收斂速度更快,但性能變差,這是由于缺乏局部特征的可變性所引起;采用更寬的帶寬(如h=4)減緩了收斂速度,也降低了性能,這是由于包含了該任務不必要的局部依賴關系。這種不同帶寬的不同結果驗證了局部性特征在分類性能上存在顯著的差異。

圖5 不同平滑帶寬時的測試集分類精度

2.3.3總體性能比較

將本文模型的總體性能與其他模型進行比較,包括局部依賴關系模型n-Gram模型,非監督主題模型LDA和STC以及性能較好的監督主題模型[8]。

表2為20個新聞組數據集的5個類別(comp.*)和全部20個類別(*)對于不同模型的測試集分類精度的比較結果??梢?,本文模型在子集和全部集合上都優于其他模型;n-Gram模型的性能增益表明,對大范圍依賴關系的建模在分類中是有益的;與監督主題模型相比,本文模型的性能更好,因為監督主題模型直接優化其判別性能,而本文模型是一種純粹的無監督編碼方法。

表2 不同種模型的測試集分類精度比較 %

3 結 語

本文提出了一種用于局部詞分布的非概率主題模型,采用核平滑來捕獲序列信息,為處理大范圍的局部信息提供了一種靈活有效的方法。提出的稀疏編碼公式得到了有效的訓練過程和稀疏表示形式,這種稀疏表示形式是局部連貫的,而且具有較強的識別能力。本文模型能夠高效地發現主題和表示形式,對于發現局部主題和文檔語義流以及構造預測模型都是有用的。

猜你喜歡
詞典文檔局部
淺談Matlab與Word文檔的應用接口
爨體蘭亭集序(局部)
有人一聲不吭向你扔了個文檔
凡·高《夜晚露天咖啡座》局部[荷蘭]
米蘭·昆德拉的A-Z詞典(節選)
米沃什詞典
詞典引發的政治辯論由來已久 精讀
Word文檔 高效分合有高招
丁學軍作品
局部遮光器
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合