曹中華,夏家莉,李光泉,張志斌
1(江西財(cái)經(jīng)大學(xué) 信息管理學(xué)院,南昌 330032) 2(江西師范大學(xué) 軟件學(xué)院,南昌 330022)
隱含主題模型(LDA)[1]是現(xiàn)今最常用的文本語(yǔ)義獲取方法之一,自隱含主題模型提出至今,為提高模型的文本表示效果,或應(yīng)用于某特定領(lǐng)域,關(guān)于該模型的改進(jìn)及應(yīng)用研究一直非?;钴S,且已經(jīng)在許多領(lǐng)域取得成功.但由于主題模型忽略了詞之間的語(yǔ)義關(guān)系和背景知識(shí),造成其提取的主題難以解釋,語(yǔ)義連貫性差.文獻(xiàn)[2]較早提出將詞之間的關(guān)聯(lián)和相似性規(guī)則應(yīng)用于主題模型,用于提高主題模型的語(yǔ)義效果,該模型設(shè)計(jì)了兩種領(lǐng)域詞關(guān)聯(lián)規(guī)則:must-link和cannot-link,而后涌現(xiàn)出了許多各方面的詞關(guān)聯(lián)規(guī)則主題模型研究[3-6],其涉及到主題概念演化、情感判斷、熱點(diǎn)事件分析等.
研究也表明,模型特征參數(shù)常常是稀疏的,通過(guò)給損失函數(shù)添加LASSO[7]規(guī)則化函數(shù),可以避免模型過(guò)擬合,得到稀疏的特征參數(shù),且具有稀疏性的特征參數(shù)能夠更好的表示數(shù)據(jù)內(nèi)涵.為此有專家提出利用LASSO稀疏性理論,通過(guò)構(gòu)造主題特征參數(shù)的l1懲罰函數(shù),實(shí)現(xiàn)主題特征參數(shù)的自動(dòng)降維和選擇,從而提高文本主題表示效果.文獻(xiàn)[8]首先提出稀疏主題模型(STC),其以連續(xù)性概率分布模擬文檔的概率生成過(guò)程,文本中的每個(gè)詞用向量表示,將其映射到標(biāo)準(zhǔn)主題基上,使用泊松分布擬合文本內(nèi)的詞頻數(shù),通過(guò)對(duì)參數(shù)進(jìn)行l(wèi)1規(guī)則化,實(shí)現(xiàn)參數(shù)的稀疏性,學(xué)習(xí)得到文本的主題分布和標(biāo)準(zhǔn)主題基參數(shù).
現(xiàn)實(shí)數(shù)據(jù)本身具有許多結(jié)構(gòu)化的先驗(yàn)信息,組稀疏將特征按組結(jié)構(gòu)分類,實(shí)現(xiàn)組參數(shù)的同時(shí)選擇和消除.由于STC模型只是考慮了詞編碼向量的稀疏性,并沒(méi)有考慮不同詞在相同主題組內(nèi)的關(guān)聯(lián)性,為此文獻(xiàn)[9]提出了組稀疏主題模型(GSTC),通過(guò)引入詞在主題內(nèi)的組結(jié)構(gòu)化信息而構(gòu)造懲罰項(xiàng).組約束[10]可以將文本中出現(xiàn)的詞編碼分配在少數(shù)幾個(gè)主題組中,從而提高主題模型表示效果.文獻(xiàn)[11]使用稀疏組約束使每個(gè)組內(nèi)編碼也具有稀疏性.
組稀疏主題編碼(GSTC)只考慮到文本內(nèi)所有的詞在主題內(nèi)具有關(guān)聯(lián)性,并沒(méi)有深入考慮不同詞之間的語(yǔ)義關(guān)聯(lián),而根據(jù)概率方式的主題詞關(guān)聯(lián)模型研究結(jié)果[2-5],更精細(xì)化的組結(jié)構(gòu)應(yīng)該是具有一定語(yǔ)義關(guān)系的詞才應(yīng)該屬于一組.因此本文提出兩種層狀稀疏編碼模型(GHSTC、SHSTC),在K個(gè)基組上,根據(jù)詞之間的關(guān)系細(xì)分為許多語(yǔ)義相關(guān)的詞組,所有這些組之間具有重疊關(guān)系,形成樹(shù)形層狀結(jié)構(gòu),構(gòu)造層狀編碼規(guī)則項(xiàng),將詞之間的各種不同關(guān)聯(lián)性分解到不同的組,并賦予每個(gè)組相關(guān)的權(quán)重,而得到更優(yōu)的主題稀疏編碼效果.
本文下面內(nèi)容安排如下:首先介紹了詞組的定義和基本性質(zhì),在詞組基礎(chǔ)上構(gòu)建了兩種層狀稀疏規(guī)則策略,并描述了層節(jié)點(diǎn)的權(quán)重分配方法,然后給出了模型的參數(shù)計(jì)算方法,最后對(duì)模型的實(shí)驗(yàn)效果進(jìn)行分析和評(píng)價(jià).文中所有范數(shù)都表示2范數(shù).
定義1.設(shè)有詞表WD={vi|v是語(yǔ)料中存在的詞條,i是詞條的唯一編號(hào),1≤i≤N,N表示語(yǔ)料中詞條的個(gè)數(shù)},詞表元素滿足條件 ?vi,vj∈WD,vi≠vj.
文本抽象地由詞條組成,記為textd={vi,…,vl},將詞條關(guān)聯(lián)到不同的主題詞集,通過(guò)分析文本中出現(xiàn)的主題詞集組,尋找具有詞集關(guān)聯(lián)的主題.
假設(shè)主題由詞集WS描述,通常稱之為主題詞集,WS?WD,主題詞集可以是屬于同一個(gè)概念的詞集、說(shuō)明某對(duì)象的同義和反義詞集等多種不同情況.比如:詞集可以是表示態(tài)度的詞條,或者表示高度的詞條、或者表示經(jīng)濟(jì)發(fā)展的詞條等,詞集可以通過(guò)多種方式獲得,如WordNet[12],Brown clustering詞聚類[13]或Word2vect[14]等.所有主題詞集用WSS={WS1,…,WSh}表示.
性質(zhì)1.關(guān)聯(lián)主題詞集是已經(jīng)分類的WS的子集;
性質(zhì)2.文本可能具有多個(gè)關(guān)聯(lián)主題詞集;
證明:由定義可知,如?vi,vi∈textd,則?WS(vi)d,vi∈WS(vi)d,如果文本內(nèi)所有詞的WS(vi)d都一樣,則textd內(nèi)詞只屬于一個(gè)關(guān)聯(lián)主題詞集,否則textd具有多個(gè)關(guān)聯(lián)主題詞集.
性質(zhì)3.文本中的詞條可能關(guān)聯(lián)到多個(gè)關(guān)聯(lián)主題詞集,但是,主關(guān)聯(lián)詞集是唯一的.
為了分析方便,文本常常使用詞袋方式表示textd-p={wi,…,wl},元素wi表示詞條vi在該文本的頻數(shù).
定義4.所有訓(xùn)練文本共享基矩陣β∈K×N,K表示主題的個(gè)數(shù),βki表示詞條vi在第k個(gè)基的概率值,且每個(gè)基向量βk.∈N滿足單純性條件.
定義5.文本textd-p的參數(shù)矩陣Sd∈K×|textd-p|,其中ski表示textd-p中vi在第K個(gè)主題中的重要性參數(shù),且ski≥0.參數(shù)由人工賦初值,通過(guò)后續(xù)訓(xùn)練分析進(jìn)行調(diào)整.
針對(duì)文本textd-p構(gòu)建K棵樹(shù),其中,第k棵樹(shù)的根節(jié)點(diǎn)為root,root關(guān)聯(lián)的數(shù)據(jù)為參數(shù)Ω={ski,…,skl},root有|WSSd|個(gè)兒子節(jié)點(diǎn),即兒子節(jié)點(diǎn)分別與一個(gè)關(guān)聯(lián)主題詞集相關(guān),第j個(gè)兒子節(jié)點(diǎn)Node(j)與數(shù)據(jù)Ωj={ski|vi∈WS(vi)d}關(guān)聯(lián),由此,形成一棵二級(jí)層狀規(guī)則樹(shù),稱該規(guī)則樹(shù)為一般規(guī)則樹(shù)(GHSTC).
一般規(guī)則樹(shù)根節(jié)點(diǎn)和其子節(jié)點(diǎn)內(nèi)參數(shù)的集合滿足如下條件:
1)Ωj?Ω,
2)Ωo∪,…,∪Ω|WSSd|=Ω;
3)任意兒子節(jié)點(diǎn)參數(shù)內(nèi)容交集為?.如圖1所示.
圖1 一般規(guī)則樹(shù)(GHSTC)Fig.1 General regularization tree
在一般規(guī)則樹(shù)中,當(dāng)葉子節(jié)點(diǎn)滿足條件|Ωj|>1時(shí),將葉子節(jié)點(diǎn)內(nèi)參數(shù)繼續(xù)分解,使分解后的每個(gè)葉子節(jié)點(diǎn)僅與一個(gè)詞編碼相關(guān)聯(lián),得到稀疏規(guī)則樹(shù)(SHSTC),如圖2所示.稀疏規(guī)則樹(shù)是一般規(guī)則樹(shù)的特殊情況,它的葉子節(jié)點(diǎn)只有一個(gè)詞參數(shù)編碼.
圖2 稀疏規(guī)則樹(shù)(SHSTC)Fig.2 Sparse regularization tree
設(shè)規(guī)則樹(shù)中,根節(jié)點(diǎn)的約束權(quán)重為λ,非根節(jié)點(diǎn)的約束權(quán)重記為WNode(m):WNode(m)=ajm*WNode(j),其中Node(j)是Node(m)的父節(jié)點(diǎn),樹(shù)形結(jié)構(gòu)情況如圖3所示.
圖3 權(quán)重樹(shù)結(jié)構(gòu)圖Fig.3 Structure of the weight tree
(1)
負(fù)對(duì)數(shù)似然損失函數(shù)表示為:
(2)
具有層狀規(guī)則項(xiàng)的目標(biāo)函數(shù)為:
(3)
所有文本的負(fù)對(duì)數(shù)似然函數(shù)表示為:
(4)
需要優(yōu)化求解的參數(shù)為:β∈K×N,Θ={S1,S2,…,SM},通過(guò)擬和最小化文本內(nèi)各詞的出現(xiàn)頻數(shù),可以得到文本的參數(shù)矩陣Sd和全局基矩陣β的值,模型優(yōu)化過(guò)程采用分段優(yōu)化方法,先固定基β,優(yōu)化每個(gè)文本中的詞編碼Sd;然后固定Θ,優(yōu)化公共基β.
由于每個(gè)文本相互獨(dú)立,則每個(gè)文本內(nèi)的詞編碼值可以分別計(jì)算,引入一個(gè)新變量z,滿足約束條件z=s,則目標(biāo)優(yōu)化函數(shù)使用ADMM[16]優(yōu)化算法表示為式(5),迭代求解過(guò)程表示為式(6),(7),(8):
(5)
(6)
(7)
uk+1:=uk+(sk+1-zk+1)
(8)
文本中詞n第k維的編碼最優(yōu)值snk等于:
(9)
其中τ=βnk-ρ(znk-unk),μ=∑i≠kβnisni.
在求出所有文本的編碼Θ后,基β的求解可以使用投影梯度下降法實(shí)現(xiàn),且滿足βk.=1約束,采用文獻(xiàn)[19]提出的算法可以實(shí)現(xiàn)高效求解.綜上所述GHSTC或SHSTC模型算法可以描述如下:
算法.獲取詞的編碼Θ和主題基β
輸入:文本的詞頻數(shù),詞集關(guān)系
輸出:詞的編碼Θ和主題基β
Algorithms.Calcute Word Code And Beta(doc,R){
1 Initialization ParameterΘ,β
2 while not converge
3 for each doc
4 while not converge
5 for each word in doc
6 Calculate each word′s s code;
7 updateβ;
8 returnΘ,β;
9 }
為得到主題詞集,本文使用WordNet詞典和Word2vec模型方法,WordNet是一個(gè)語(yǔ)義關(guān)聯(lián)的詞典,每個(gè)詞語(yǔ)可對(duì)應(yīng)到多個(gè)不同的語(yǔ)義,且每個(gè)語(yǔ)義又可能對(duì)應(yīng)多個(gè)不同的詞,WordNet中提供了多種描述詞之間相似性的接口,但是缺少對(duì)形容詞等的相似性計(jì)算方法.Word2vec模型是谷歌開(kāi)源的一款NLP工具,模型假設(shè)相似語(yǔ)義的詞具有相同的相鄰詞,通過(guò)學(xué)習(xí)目標(biāo)詞和相鄰詞之間的關(guān)系,相近語(yǔ)義的詞將得到相近的詞向量表示.可以使用K-Means方法得到訓(xùn)練文本中相似語(yǔ)義的詞集.結(jié)合二者結(jié)果,構(gòu)建了一批語(yǔ)義相關(guān)詞集,并用于本文的文本稀疏編碼計(jì)算.
論文實(shí)驗(yàn)在20-Newsgroup數(shù)據(jù)集和Reuters21578數(shù)據(jù)集上進(jìn)行,20-Newsgroup數(shù)據(jù)集包括有20個(gè)不同的新聞組,實(shí)驗(yàn)從Sklearn數(shù)據(jù)集中選取了18846個(gè)文本,取11314個(gè)文本作為訓(xùn)練數(shù)據(jù),7532個(gè)文本作為測(cè)試數(shù)據(jù).Reuters21578數(shù)據(jù)集采用ModApte劃分方法,具有多類別標(biāo)簽的文本被舍棄,選取8982個(gè)文本作為訓(xùn)練數(shù)據(jù),2246個(gè)文本作為測(cè)試數(shù)據(jù).實(shí)驗(yàn)數(shù)據(jù)使用NLTK庫(kù)去除了常見(jiàn)停用詞,并去除了數(shù)字、高頻、低頻詞等.經(jīng)過(guò)預(yù)處理后20-Newgroup含有7176個(gè)單詞,Reuters21578含有7614個(gè)單詞.
實(shí)驗(yàn)主要比較了算法的主題一致性及分類效果.主題一致性是用來(lái)評(píng)估各種主題模型的一種度量方法,每個(gè)主題都由單詞組成,取每個(gè)主題中概率最高的20個(gè)單詞作為主題代表詞,并將其用于描述該主題.通過(guò)計(jì)算主題代表詞之間一致性可以得到主題模型性能,一個(gè)好的模型將產(chǎn)生連貫的主題代表詞,更高的主題一致性值.主題一致性值的計(jì)算方法有多種,實(shí)驗(yàn)效果選擇用Gensim環(huán)境下CV[16,17]方法計(jì)算得到,兩種數(shù)據(jù)集下的主題一致性結(jié)果分別如圖4、圖5所示.
圖4 20-newsgroup 主題一致性值Fig.4 20-newsgroup topic coherence values
文本分類效果計(jì)算使用文本主題分布值作為輸入?yún)?shù),本文模型和GSTC模型一樣,在模型參數(shù)優(yōu)化過(guò)程中,并沒(méi)有求得每篇文本的主題分布θ∈K×M,通過(guò)統(tǒng)計(jì)每篇文本中所有詞在不同主題下的擬合詞頻數(shù),可以計(jì)算得到文本的主題分布,文本d的第k個(gè)主題的參數(shù)值計(jì)算方法是:使用訓(xùn)練文本主題參數(shù)訓(xùn)練SVM支持向量機(jī),該支持向量機(jī)將用于獲得測(cè)試文本的分類效果,20-Newsgroup分類目標(biāo)標(biāo)簽為20個(gè)類別,Reuters21578分類目標(biāo)標(biāo)簽為46個(gè)類別,其分類效果分別如圖6、圖7所示.
圖5 Reuters21578 主題一致性值Fig.5 Reuters21578 topic coherence values
從實(shí)驗(yàn)結(jié)果可以看出考慮編碼相關(guān)性的GSTC,GHSTC和SHSTC模型的結(jié)果都比STC模型效果好,主題一致性最多提升了5%,分類效果最多提升了3%,這主要是由于GSTC、GHSTC和SHSTC模型考慮到了詞編碼之間的關(guān)聯(lián)性,而STC只是約束了單個(gè)詞編碼的稀疏性.GHSTC和SHSTC模型的結(jié)果比較GSTC一致性、分類效果最多都提升了2%,這主要是GHSTC和SHSTC不僅考慮到所有詞在不同主題組內(nèi)的編碼相關(guān)性,還仔細(xì)考慮了多個(gè)不同詞組集內(nèi)編碼的關(guān)聯(lián)性,其結(jié)果總體優(yōu)于GSTC結(jié)果.
圖6 20-newsgroup分類結(jié)果Fig.6 20-newsgroup classification results
20-newsgroup數(shù)據(jù)集模型效果在主題數(shù)是100左右達(dá)到最優(yōu),Reuters21578數(shù)據(jù)集模型效果在主題數(shù)是60左右達(dá)到最優(yōu).實(shí)驗(yàn)在選擇GHSTC和SHSTC的λ值時(shí),將GSTC模型通過(guò)交叉校驗(yàn)得到組約束參數(shù)作為其參考值,規(guī)則樹(shù)權(quán)重值可以選用每個(gè)組的大小規(guī)范化后的值.實(shí)驗(yàn)中也發(fā)現(xiàn)雖然GHSTC和SHSTC效果比較其它模型結(jié)果較好,但是STC、GSTC模型不需要前期的預(yù)處理工作,模型計(jì)算簡(jiǎn)單,GHSTC和SHSTC還會(huì)受到文本內(nèi)相似詞集情況的影響.
圖7 Reuters21578分類結(jié)果Fig.7 Reuters21578 classification results
本文描述了兩種層狀主題模型,模型通過(guò)詞分組預(yù)處理,得到關(guān)聯(lián)的詞集,通過(guò)詞集可以構(gòu)造層狀結(jié)構(gòu)化先驗(yàn)信息,而應(yīng)用于主題編碼模型.實(shí)驗(yàn)表明其可以提高主題編碼模型效果,學(xué)習(xí)到更好的文本主題信息.展望下階段的工作,將嘗試用詞之間的序列信息構(gòu)造主題模型,提高主題的效果.