曾 琪,買日旦·吾守爾,古蘭拜爾·吐爾洪,雷恒林,王 松
(新疆大學信息科學與工程學院,新疆 烏魯木齊 830046)
社會經濟及互聯網技術的快速發展使得購物網站、社交平臺、短視頻及各大論壇上的用戶評論、分享等數據量迅速增長,信息量多且分布不均.傳統的機器學習主題模型可以從廣泛的文本信息中獲取到有效信息,但通常情況下信息量獲取有限,因此通過積累知識幫助樣本數量少的領域進行學習(Few-shot Learning)有重要研究價值.[1-4]
受到人類學習過程的啟發,終身機器學習LML(Lifelong MachineLearning,LML)是一種能夠在順序學習一系列任務時,將過去學到的知識積累下來指導下一個新任務的機器學習范式[5].LML之所以適用于少樣本主題建模,原因有以下3點:(1)在自然語言處理任務中,不同的任務之間會存在不少重疊的主題或知識;(2)過去學到的知識或主題可以在下個新任務到來時指導新任務的模型推理;(3)通過不斷學習積累,可在樣本量不足時結合過去學習到的知識提升少樣本主題模型的建模性能.
過去學習到的先驗知識的正確性及適用性能夠對終身主題模型的建模效果產生較大的影響.Chen等[6]認為文檔中兩個單詞的共現次數越高,其權重越大,但并未考慮共現詞語之間的語義關系,因此主題一致性和可解釋性欠佳[7].Dat等[8]提出的LF-LDA(Latent Feature-LDA)在大規模語料庫上訓練獲得的詞向量與LDA[9](Latent Dirichlet Allocation)模型結合改進主題-詞映射,在主題一致性評估標準中取得了顯著的性能提升.Liu等[10]提出的評分預測聯合模型,引入終身主題模型的思想提升了模型性能.Chen等[11]首先提出終身主題模型LTM(Lifelong Topic Model),可以自動挖掘領域知識形成must-links(必須鏈接),must-links指經常同時出現在同一個主題下的兩個單詞,一般情況下這兩個詞語語義相關,將其作為先驗知識.模型中must-links的正確性問題的解決方法是評估一個任務的must-links中的單詞是否存在語義相關性,如果存在較強的相關性,則認為其對當前領域來說是正確的,可以用來提升模型,但根據詞頻確定的詞義相關性在一定程度上不夠準確.因此,針對少樣本終身主題模型AMC[1](topic modeling with Automatically generated Must-links and Cannot-links)中以詞頻確定語義相關性存在詞語出現次數影響實驗結果的問題,本文提出了基于語義相似度改進的終身主題模型SS-AMC(Semantic Similarity-topic modeling with Automatically generated Must-links and Cannot-links,SS-AMC),在原來AMC模型的基礎上,引入BERT詞向量,獲取must-links詞對在空間上的語義特征向量,通過詞對的余弦相似度來表示其語義相似度,進而設置相似度閾值來優化同一領域下的must-links,達到優化知識庫以最終提升生成主題質量的目的.實驗表明,基于語義相似度優化的終身主題模型在中英文數據集上都能夠獲得更加連貫的主題.
終身主題模型LTM是一種終身無監督學習,最早由Chen等[11]提出,AMC是對LTM的一個優化模型,更適用于少量數據的主題挖掘[1].
AMC模型包含基于知識的挖掘器、知識庫以及采樣器3個主要模塊.其中基于知識的挖掘器主要挖掘模型中的必須鏈接must-links和不能鏈接cannot-links(指通常不同時出現在同一個主題下的兩個詞語)知識,用來指導未來任務的建模;知識庫用來存儲模型過去學到的知識;采樣器用來挖掘和優化最終主題.當一個由文檔集合表示的新任務(當前任務)到達時,終身主題模型將從知識庫中挖掘先驗知識,以幫助當前任務進行模型推理.必須鏈接和不能鏈接作為其一種先驗知識用來優化最終的主題結果,完成當前任務上的主題建模后,將得到的主題添加到知識庫,為未來的任務使用.
終身主題模型的先驗知識包括must-links、cannot-links及先前任務挖掘到的過去主題p-topic.mustLink挖掘器和cannotLink挖掘器分別用來挖掘must-linkwml和cannot-linkwcl.p-topic則在采樣環節通過采樣器產生,將產生的p-topic存儲在知識庫S中.wml通過Liu等[12]提出的MS-FIM(Multiple minimum Supports Frequent ItemsetMinging)頻繁項集挖掘算法得到.頻繁項集指的是多次在知識庫S的p-topic中出現的一組單詞,將長度為2(兩個單詞)的頻繁項集作為must-links先驗知識.其基本思想是從全局項集Q中挖掘出滿足條件的一組詞項.全局項集Q是知識庫S中所有p-topic的集合.MS-FIM滿足兩個條件:一是每個單詞都被賦予一個不固定的最小支持度(MIS);二是項集中的詞項的MIS差值不能過大.另外,must-link知識有兩個必須考慮的問題:(1)一詞多義導致的傳遞性問題;(2)must-links知識的正確性及適用性問題.針對第一個問題,在AMC模型中通過構建must-link圖來解決,以每個must-links為頂點,在包含兩個相同單詞的must-links之間形成一條邊,對于每條邊都有p-topic,其主題的重疊程度決定其是否具有相同的詞義.當滿足

(1)
時,兩個must-links具有相同的語義.其中πp指的是不同語義的閾值.由于p-topic也可能存在錯誤,因此小于閾值的邊并不考慮.針對第二個問題,本文提出比AMC模型能得到更正確的must-link知識的SS-AMC模型.在AMC模型中,為了計算must-link之間的語義相關性,利用單詞相關性度量方法PMI[13](Pointwise Mutual Information,PMI),定義為
(2)
式中:P(wx,wy)表示一個文檔中兩個詞同時出現的概率.上述概率計算也可以用在本文模型的評論文檔數據中,P(w)表示一個文檔中單詞w出現的概率,P(w)和P(wx,wy)的公式為:
(3)
(4)
式中:DN+1為當前任務的評論文檔,#DN+1(w)為DN+1中包含單詞w的文檔數量,#DN+1(wx,wy)為同時包含單詞wx和wy的文檔數量,#DN+1為DN+1中所有的文檔數量.
通常情況下,一個單詞w的cannot-linkwcl比must-linkwml要少,對于這兩種先驗知識的挖掘方式也不同.兩個詞之間形成cannot-links,如果這兩個單詞wx和wy很少同時出現在S中的過去主題中,那么在很大程度上其語義不同,它們滿足以下2個條件:

(5)
ND>πD.
(6)
其中:知識庫S中的單詞wx和wy出現在不同p-topic的次數表示為ND,出現在同一個p-topic的次數表示為NS,且ND應該大于NS.對cannot-links中存在的語義相關及適用性問題在采樣過程中做了檢測和平衡.
AMC模型中的Gibbs采樣器在主題生成環節主要有兩個任務:一是計算每個單詞w所屬主題k的概率;二是形成cannot-links.
將先驗知識挖掘出來的must-links提取一個與主題k語義最相近的單詞w的must-linkmm,創建一組must-links集,這組must-links集和單詞w具有相同的語義.單詞w在主題k下出現的次數記為nk(n-k表示除了當前分配k之外的次數),將主題k分配給單詞wm的概率為


(7)
其中:主題k分配給文檔d的次數記為nd;K和V分別代表主題數和詞匯數;α和β是Dirichlet超參數.對于單詞w的每一個cannot-linkwcl,對其根據以下條件分布進行采樣,形成cannot-link集
(8)
詞嵌入(word embedding)作為一種語言模型和特征學習技術[14],利用神經網絡把文本映射到向量空間,能夠提取詞向量并獲取文本潛在的特征信息,進而用到主題模型等自然語言處理任務來提升建模性能.BERT是基于雙向Transformer結構的語言預訓練模型[15],可以在外部海量語料庫的基礎上為單詞學習一個好的特征表示,在后續特定的自然語言處理任務中直接用來作為某個任務的詞嵌入特征.鑒于BERT優秀的模型性能且已被廣泛應用,本文選擇其進行提取特征輸出向量,通過詞向量計算語義相似度來準確評估must-links之間的語義關系,實驗證明優選語義相似度更高的must-links集合能夠有效提升AMC模型.
對于終身主題模型來說,假設must-links兩個詞語共現頻率較高表示兩個詞語具有一定的相關性,則認為其對當前任務來說是正確的,但只是計算must-links一起出現的頻率,并沒有考慮其本身存在的語義關系.針對上述問題,本文提出的SS-AMC引入BERT預訓練模型輸出的詞向量計算must-links的語義相似度,從而選擇語義關系更為相似的must-links來作為先驗知識,增強主題詞之間的內部關聯,更好地對主題進行采樣.詞向量之間的語義相似度采用余弦相似度方法計算,一對must-links的兩個詞的詞向量分別用cx和cy表示,則cx和cy之間的語義距離為
(9)
設置相似度閾值ω,取γ大于ω的must-links集合作為最終保留的先驗知識.
SS-AMC主要框架如圖1所示,主要包括先驗知識挖掘、相似度計算及主題采樣3個部分.對每個產品評論數據進行數據預處理之后進入任務管理器,每個評論文檔被視為一個任務,依次輸入基于知識的挖掘器挖掘must-links和cannot-links知識.對must-links詞對的語義關系用詞向量表示的語義相似度來度量,獲得具有較大語義關系的詞對輸入采樣過程和cannot-links輔助主題生成.

圖1 SS-AMC模型框架
SS-AMC整體算法如算法1描述.首先,從知識庫S的過去主題中挖掘出一組must-linksM;其次,優化M,用BERT預訓練語言模型產生每對must-links詞語的向量c,計算每對向量cx和cy的語義相似度,設置相似度閾值ω對must-links進行篩選;然后,運行Gibbs采樣器,只用must-links產生一組當前任務主題AN+1,nl是采樣器的迭代次數;再根據S中的過去主題P和當前主題AN+1挖掘cannot-links集合C,第8行用M和C優化主題集合;最后更新主題庫.
SS-AMC整體算法:
算法1:SS-AMC;
輸入:新任務文檔DN+1,知識庫S;
輸出:新任務的主題AN+1,(1)M←MustLinkMiner(S),
(2)c←BERT(wml),
(3)M←Simlarity(cx,cy,ω),
(4)C=φ,
(5)AN+1←GibbsSample(DN+1,M,C,nl),
(6)Forr=1 toR,
(7)C←C∪CannotLinkMiner(S,AN+1),
(8)AN+1←GibbsSample(DN+1,R,C,n),
(9)End for
(10)S←UpdateKB(AN+1,S).
本文在公開英文數據集和自建中文數據集上分別評估SS-AMC模型.英文數據集來自亞馬遜評論數據,共有50種產品的評論各1 000條.在中文方面由于沒有可參考的實驗設置,本文在中文數據集上與英文設置保持一致,自建一個京東產品評論數據集.通過在中文和英文兩個數據集上分別進行實驗驗證,證明了SS-AMC模型具有較好的建模效果.
對以上數據集按照文獻[16]中的步驟進行數據預處理操作.對中文數據集中的每個文檔用jieba工具進行分詞,去除停用詞、標點符號,刪除出現小于5次的單詞,以及只保留名詞和形容詞.由于商品名稱在數據集中出現非常頻繁,會對模型結果造成干擾,因此也會被剔除.從每個產品的1 000條評論數據中隨機抽取100條用作少量數據的評估數據集,以驗證模型在少量樣本數據上的優異表現.
本文采用主題一致性(Topic Coherence)評分作為評估指標[17],其不依賴于外部語義信息,能減少外部信息對主題質量評價的干擾,是一種方便有效的主題模型評估方法.主題一致性評分結果為負數,值越大代表生成的主題質量更好.其基本原理是詞語在同一個文檔下出現次數越多,則理論上二者語義相似度越大.設Dw為單詞w出現的文檔數,D是單詞w和單詞w′共現的文檔數,則主題k的一致性評分公式定義為
(10)

LDA[9]模型中的狄利克雷分布超參數α設置為1,β分別設置為0.1.LTM及AMC模型均按照原模型的參數進行設置.對于SS-AMC模型最主要的參數是相似度閾值ω,由于ω過大會使生成的must-links太少,主題詞之間有較大的重復,過小會對must-links約束不夠,兩種設置均會對實驗造成一定的影響.因此,實驗中分別采用ω為0.5,0.6,0.7的不同閾值進行對比.
由于本文主要是對少樣本數據集上的終身主題模型進行改進,每個測試集由從1 000條產品評論中隨機抽取的100條評論組成,從其余的49個產品的完整數據(1 000條評論)中生成的主題中提取知識.對比實驗主要選取有AMC、LDA.由于AMC模型已經優于許多相關模型,如MC-LDA[7]、GK-LDA[16]、DF-LDA[18]、LTM[11],因此在實驗中主要比較了SS-AMC與AMC,不同模型的主題一致性評分對比見圖2.AMC模型主要在少樣本上具有一定的優勢,因此不與其他需要依賴大量數據的主題模型比較.

圖2 主題一致性評分
由圖2可以看出,在兩個數據集上,SS-AMC的平均主題一致性評分均較AMC有不同程度的提升.同時,京東評論數據集上主題一致性評分的提高也說明了終身主題模型同樣適用于中文數據.由此可見,SS-AMC模型在中英文數據集上都具有適用性,說明利用詞向量計算語義相似度,優化先驗知識能夠對終身主題模型產生積極影響,能夠生成更連貫的主題.
SS-AMC模型的關鍵參數相似度閾值ω不同會對實驗結果造成一定的影響,本文評估模型的主題一致性評分見表1.

表1 不同閾值的主題一致性對比
SS-AMC模型通過設置must-links的相似度閾值來優化初始的must-links,在閾值等于0.5,0.6,0.7時的結果最好.由于must-links集合本身存在較大的語義相關性,如果閾值設置過小,會對must-links包容性過強,無法起到約束作用,閾值設置過大,會使得must-links過少,主題詞重復性過高.
本文模型利用在外部的大規模語料庫上已訓練好的詞向量特征對must-links先驗知識的生成過程加以改進.在真實的數據集上進行實驗驗證,與AMC、LDA模型的對比實驗結果表明,該模型能利用BERT詞向量信息進一步提高先驗知識的正確性,挖掘出的主題語義相關性更大、主題質量更高,并且在中文和英文數據集上都有提升,在英文數據集上提升較大.對于把詞向量引入到終身主題建模過程中,本文的工作仍較為初步,未來的研究工作將詞向量融入整個建模過程中,探索如何從初始的數據集上挖掘更深層次的語義信息,提升建模效果.