曾 琪,買日旦·吾守爾,古蘭拜爾·吐爾洪,雷恒林,王 松
(新疆大學(xué)信息科學(xué)與工程學(xué)院,新疆 烏魯木齊 830046)
社會經(jīng)濟(jì)及互聯(lián)網(wǎng)技術(shù)的快速發(fā)展使得購物網(wǎng)站、社交平臺、短視頻及各大論壇上的用戶評論、分享等數(shù)據(jù)量迅速增長,信息量多且分布不均.傳統(tǒng)的機(jī)器學(xué)習(xí)主題模型可以從廣泛的文本信息中獲取到有效信息,但通常情況下信息量獲取有限,因此通過積累知識幫助樣本數(shù)量少的領(lǐng)域進(jìn)行學(xué)習(xí)(Few-shot Learning)有重要研究價值.[1-4]
受到人類學(xué)習(xí)過程的啟發(fā),終身機(jī)器學(xué)習(xí)LML(Lifelong MachineLearning,LML)是一種能夠在順序?qū)W習(xí)一系列任務(wù)時,將過去學(xué)到的知識積累下來指導(dǎo)下一個新任務(wù)的機(jī)器學(xué)習(xí)范式[5].LML之所以適用于少樣本主題建模,原因有以下3點:(1)在自然語言處理任務(wù)中,不同的任務(wù)之間會存在不少重疊的主題或知識;(2)過去學(xué)到的知識或主題可以在下個新任務(wù)到來時指導(dǎo)新任務(wù)的模型推理;(3)通過不斷學(xué)習(xí)積累,可在樣本量不足時結(jié)合過去學(xué)習(xí)到的知識提升少樣本主題模型的建模性能.
過去學(xué)習(xí)到的先驗知識的正確性及適用性能夠?qū)K身主題模型的建模效果產(chǎn)生較大的影響.Chen等[6]認(rèn)為文檔中兩個單詞的共現(xiàn)次數(shù)越高,其權(quán)重越大,但并未考慮共現(xiàn)詞語之間的語義關(guān)系,因此主題一致性和可解釋性欠佳[7].Dat等[8]提出的LF-LDA(Latent Feature-LDA)在大規(guī)模語料庫上訓(xùn)練獲得的詞向量與LDA[9](Latent Dirichlet Allocation)模型結(jié)合改進(jìn)主題-詞映射,在主題一致性評估標(biāo)準(zhǔn)中取得了顯著的性能提升.Liu等[10]提出的評分預(yù)測聯(lián)合模型,引入終身主題模型的思想提升了模型性能.Chen等[11]首先提出終身主題模型LTM(Lifelong Topic Model),可以自動挖掘領(lǐng)域知識形成must-links(必須鏈接),must-links指經(jīng)常同時出現(xiàn)在同一個主題下的兩個單詞,一般情況下這兩個詞語語義相關(guān),將其作為先驗知識.模型中must-links的正確性問題的解決方法是評估一個任務(wù)的must-links中的單詞是否存在語義相關(guān)性,如果存在較強(qiáng)的相關(guān)性,則認(rèn)為其對當(dāng)前領(lǐng)域來說是正確的,可以用來提升模型,但根據(jù)詞頻確定的詞義相關(guān)性在一定程度上不夠準(zhǔn)確.因此,針對少樣本終身主題模型AMC[1](topic modeling with Automatically generated Must-links and Cannot-links)中以詞頻確定語義相關(guān)性存在詞語出現(xiàn)次數(shù)影響實驗結(jié)果的問題,本文提出了基于語義相似度改進(jìn)的終身主題模型SS-AMC(Semantic Similarity-topic modeling with Automatically generated Must-links and Cannot-links,SS-AMC),在原來AMC模型的基礎(chǔ)上,引入BERT詞向量,獲取must-links詞對在空間上的語義特征向量,通過詞對的余弦相似度來表示其語義相似度,進(jìn)而設(shè)置相似度閾值來優(yōu)化同一領(lǐng)域下的must-links,達(dá)到優(yōu)化知識庫以最終提升生成主題質(zhì)量的目的.實驗表明,基于語義相似度優(yōu)化的終身主題模型在中英文數(shù)據(jù)集上都能夠獲得更加連貫的主題.
終身主題模型LTM是一種終身無監(jiān)督學(xué)習(xí),最早由Chen等[11]提出,AMC是對LTM的一個優(yōu)化模型,更適用于少量數(shù)據(jù)的主題挖掘[1].
AMC模型包含基于知識的挖掘器、知識庫以及采樣器3個主要模塊.其中基于知識的挖掘器主要挖掘模型中的必須鏈接must-links和不能鏈接cannot-links(指通常不同時出現(xiàn)在同一個主題下的兩個詞語)知識,用來指導(dǎo)未來任務(wù)的建模;知識庫用來存儲模型過去學(xué)到的知識;采樣器用來挖掘和優(yōu)化最終主題.當(dāng)一個由文檔集合表示的新任務(wù)(當(dāng)前任務(wù))到達(dá)時,終身主題模型將從知識庫中挖掘先驗知識,以幫助當(dāng)前任務(wù)進(jìn)行模型推理.必須鏈接和不能鏈接作為其一種先驗知識用來優(yōu)化最終的主題結(jié)果,完成當(dāng)前任務(wù)上的主題建模后,將得到的主題添加到知識庫,為未來的任務(wù)使用.
終身主題模型的先驗知識包括must-links、cannot-links及先前任務(wù)挖掘到的過去主題p-topic.mustLink挖掘器和cannotLink挖掘器分別用來挖掘must-linkwml和cannot-linkwcl.p-topic則在采樣環(huán)節(jié)通過采樣器產(chǎn)生,將產(chǎn)生的p-topic存儲在知識庫S中.wml通過Liu等[12]提出的MS-FIM(Multiple minimum Supports Frequent ItemsetMinging)頻繁項集挖掘算法得到.頻繁項集指的是多次在知識庫S的p-topic中出現(xiàn)的一組單詞,將長度為2(兩個單詞)的頻繁項集作為must-links先驗知識.其基本思想是從全局項集Q中挖掘出滿足條件的一組詞項.全局項集Q是知識庫S中所有p-topic的集合.MS-FIM滿足兩個條件:一是每個單詞都被賦予一個不固定的最小支持度(MIS);二是項集中的詞項的MIS差值不能過大.另外,must-link知識有兩個必須考慮的問題:(1)一詞多義導(dǎo)致的傳遞性問題;(2)must-links知識的正確性及適用性問題.針對第一個問題,在AMC模型中通過構(gòu)建must-link圖來解決,以每個must-links為頂點,在包含兩個相同單詞的must-links之間形成一條邊,對于每條邊都有p-topic,其主題的重疊程度決定其是否具有相同的詞義.當(dāng)滿足
(1)
時,兩個must-links具有相同的語義.其中πp指的是不同語義的閾值.由于p-topic也可能存在錯誤,因此小于閾值的邊并不考慮.針對第二個問題,本文提出比AMC模型能得到更正確的must-link知識的SS-AMC模型.在AMC模型中,為了計算must-link之間的語義相關(guān)性,利用單詞相關(guān)性度量方法PMI[13](Pointwise Mutual Information,PMI),定義為
(2)
式中:P(wx,wy)表示一個文檔中兩個詞同時出現(xiàn)的概率.上述概率計算也可以用在本文模型的評論文檔數(shù)據(jù)中,P(w)表示一個文檔中單詞w出現(xiàn)的概率,P(w)和P(wx,wy)的公式為:
(3)
(4)
式中:DN+1為當(dāng)前任務(wù)的評論文檔,#DN+1(w)為DN+1中包含單詞w的文檔數(shù)量,#DN+1(wx,wy)為同時包含單詞wx和wy的文檔數(shù)量,#DN+1為DN+1中所有的文檔數(shù)量.
通常情況下,一個單詞w的cannot-linkwcl比must-linkwml要少,對于這兩種先驗知識的挖掘方式也不同.兩個詞之間形成cannot-links,如果這兩個單詞wx和wy很少同時出現(xiàn)在S中的過去主題中,那么在很大程度上其語義不同,它們滿足以下2個條件:
(5)
ND>πD.
(6)
其中:知識庫S中的單詞wx和wy出現(xiàn)在不同p-topic的次數(shù)表示為ND,出現(xiàn)在同一個p-topic的次數(shù)表示為NS,且ND應(yīng)該大于NS.對cannot-links中存在的語義相關(guān)及適用性問題在采樣過程中做了檢測和平衡.
AMC模型中的Gibbs采樣器在主題生成環(huán)節(jié)主要有兩個任務(wù):一是計算每個單詞w所屬主題k的概率;二是形成cannot-links.
將先驗知識挖掘出來的must-links提取一個與主題k語義最相近的單詞w的must-linkmm,創(chuàng)建一組must-links集,這組must-links集和單詞w具有相同的語義.單詞w在主題k下出現(xiàn)的次數(shù)記為nk(n-k表示除了當(dāng)前分配k之外的次數(shù)),將主題k分配給單詞wm的概率為
(7)
其中:主題k分配給文檔d的次數(shù)記為nd;K和V分別代表主題數(shù)和詞匯數(shù);α和β是Dirichlet超參數(shù).對于單詞w的每一個cannot-linkwcl,對其根據(jù)以下條件分布進(jìn)行采樣,形成cannot-link集
(8)
詞嵌入(word embedding)作為一種語言模型和特征學(xué)習(xí)技術(shù)[14],利用神經(jīng)網(wǎng)絡(luò)把文本映射到向量空間,能夠提取詞向量并獲取文本潛在的特征信息,進(jìn)而用到主題模型等自然語言處理任務(wù)來提升建模性能.BERT是基于雙向Transformer結(jié)構(gòu)的語言預(yù)訓(xùn)練模型[15],可以在外部海量語料庫的基礎(chǔ)上為單詞學(xué)習(xí)一個好的特征表示,在后續(xù)特定的自然語言處理任務(wù)中直接用來作為某個任務(wù)的詞嵌入特征.鑒于BERT優(yōu)秀的模型性能且已被廣泛應(yīng)用,本文選擇其進(jìn)行提取特征輸出向量,通過詞向量計算語義相似度來準(zhǔn)確評估m(xù)ust-links之間的語義關(guān)系,實驗證明優(yōu)選語義相似度更高的must-links集合能夠有效提升AMC模型.
對于終身主題模型來說,假設(shè)must-links兩個詞語共現(xiàn)頻率較高表示兩個詞語具有一定的相關(guān)性,則認(rèn)為其對當(dāng)前任務(wù)來說是正確的,但只是計算must-links一起出現(xiàn)的頻率,并沒有考慮其本身存在的語義關(guān)系.針對上述問題,本文提出的SS-AMC引入BERT預(yù)訓(xùn)練模型輸出的詞向量計算must-links的語義相似度,從而選擇語義關(guān)系更為相似的must-links來作為先驗知識,增強(qiáng)主題詞之間的內(nèi)部關(guān)聯(lián),更好地對主題進(jìn)行采樣.詞向量之間的語義相似度采用余弦相似度方法計算,一對must-links的兩個詞的詞向量分別用cx和cy表示,則cx和cy之間的語義距離為
(9)
設(shè)置相似度閾值ω,取γ大于ω的must-links集合作為最終保留的先驗知識.
SS-AMC主要框架如圖1所示,主要包括先驗知識挖掘、相似度計算及主題采樣3個部分.對每個產(chǎn)品評論數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理之后進(jìn)入任務(wù)管理器,每個評論文檔被視為一個任務(wù),依次輸入基于知識的挖掘器挖掘must-links和cannot-links知識.對must-links詞對的語義關(guān)系用詞向量表示的語義相似度來度量,獲得具有較大語義關(guān)系的詞對輸入采樣過程和cannot-links輔助主題生成.
圖1 SS-AMC模型框架
SS-AMC整體算法如算法1描述.首先,從知識庫S的過去主題中挖掘出一組must-linksM;其次,優(yōu)化M,用BERT預(yù)訓(xùn)練語言模型產(chǎn)生每對must-links詞語的向量c,計算每對向量cx和cy的語義相似度,設(shè)置相似度閾值ω對must-links進(jìn)行篩選;然后,運行Gibbs采樣器,只用must-links產(chǎn)生一組當(dāng)前任務(wù)主題AN+1,nl是采樣器的迭代次數(shù);再根據(jù)S中的過去主題P和當(dāng)前主題AN+1挖掘cannot-links集合C,第8行用M和C優(yōu)化主題集合;最后更新主題庫.
SS-AMC整體算法:
算法1:SS-AMC;
輸入:新任務(wù)文檔DN+1,知識庫S;
輸出:新任務(wù)的主題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).
本文在公開英文數(shù)據(jù)集和自建中文數(shù)據(jù)集上分別評估SS-AMC模型.英文數(shù)據(jù)集來自亞馬遜評論數(shù)據(jù),共有50種產(chǎn)品的評論各1 000條.在中文方面由于沒有可參考的實驗設(shè)置,本文在中文數(shù)據(jù)集上與英文設(shè)置保持一致,自建一個京東產(chǎn)品評論數(shù)據(jù)集.通過在中文和英文兩個數(shù)據(jù)集上分別進(jìn)行實驗驗證,證明了SS-AMC模型具有較好的建模效果.
對以上數(shù)據(jù)集按照文獻(xiàn)[16]中的步驟進(jìn)行數(shù)據(jù)預(yù)處理操作.對中文數(shù)據(jù)集中的每個文檔用jieba工具進(jìn)行分詞,去除停用詞、標(biāo)點符號,刪除出現(xiàn)小于5次的單詞,以及只保留名詞和形容詞.由于商品名稱在數(shù)據(jù)集中出現(xiàn)非常頻繁,會對模型結(jié)果造成干擾,因此也會被剔除.從每個產(chǎn)品的1 000條評論數(shù)據(jù)中隨機(jī)抽取100條用作少量數(shù)據(jù)的評估數(shù)據(jù)集,以驗證模型在少量樣本數(shù)據(jù)上的優(yōu)異表現(xiàn).
本文采用主題一致性(Topic Coherence)評分作為評估指標(biāo)[17],其不依賴于外部語義信息,能減少外部信息對主題質(zhì)量評價的干擾,是一種方便有效的主題模型評估方法.主題一致性評分結(jié)果為負(fù)數(shù),值越大代表生成的主題質(zhì)量更好.其基本原理是詞語在同一個文檔下出現(xiàn)次數(shù)越多,則理論上二者語義相似度越大.設(shè)Dw為單詞w出現(xiàn)的文檔數(shù),D是單詞w和單詞w′共現(xiàn)的文檔數(shù),則主題k的一致性評分公式定義為
(10)
LDA[9]模型中的狄利克雷分布超參數(shù)α設(shè)置為1,β分別設(shè)置為0.1.LTM及AMC模型均按照原模型的參數(shù)進(jìn)行設(shè)置.對于SS-AMC模型最主要的參數(shù)是相似度閾值ω,由于ω過大會使生成的must-links太少,主題詞之間有較大的重復(fù),過小會對must-links約束不夠,兩種設(shè)置均會對實驗造成一定的影響.因此,實驗中分別采用ω為0.5,0.6,0.7的不同閾值進(jìn)行對比.
由于本文主要是對少樣本數(shù)據(jù)集上的終身主題模型進(jìn)行改進(jìn),每個測試集由從1 000條產(chǎn)品評論中隨機(jī)抽取的100條評論組成,從其余的49個產(chǎn)品的完整數(shù)據(jù)(1 000條評論)中生成的主題中提取知識.對比實驗主要選取有AMC、LDA.由于AMC模型已經(jīng)優(yōu)于許多相關(guān)模型,如MC-LDA[7]、GK-LDA[16]、DF-LDA[18]、LTM[11],因此在實驗中主要比較了SS-AMC與AMC,不同模型的主題一致性評分對比見圖2.AMC模型主要在少樣本上具有一定的優(yōu)勢,因此不與其他需要依賴大量數(shù)據(jù)的主題模型比較.
圖2 主題一致性評分
由圖2可以看出,在兩個數(shù)據(jù)集上,SS-AMC的平均主題一致性評分均較AMC有不同程度的提升.同時,京東評論數(shù)據(jù)集上主題一致性評分的提高也說明了終身主題模型同樣適用于中文數(shù)據(jù).由此可見,SS-AMC模型在中英文數(shù)據(jù)集上都具有適用性,說明利用詞向量計算語義相似度,優(yōu)化先驗知識能夠?qū)K身主題模型產(chǎn)生積極影響,能夠生成更連貫的主題.
SS-AMC模型的關(guān)鍵參數(shù)相似度閾值ω不同會對實驗結(jié)果造成一定的影響,本文評估模型的主題一致性評分見表1.
表1 不同閾值的主題一致性對比
SS-AMC模型通過設(shè)置must-links的相似度閾值來優(yōu)化初始的must-links,在閾值等于0.5,0.6,0.7時的結(jié)果最好.由于must-links集合本身存在較大的語義相關(guān)性,如果閾值設(shè)置過小,會對must-links包容性過強(qiáng),無法起到約束作用,閾值設(shè)置過大,會使得must-links過少,主題詞重復(fù)性過高.
本文模型利用在外部的大規(guī)模語料庫上已訓(xùn)練好的詞向量特征對must-links先驗知識的生成過程加以改進(jìn).在真實的數(shù)據(jù)集上進(jìn)行實驗驗證,與AMC、LDA模型的對比實驗結(jié)果表明,該模型能利用BERT詞向量信息進(jìn)一步提高先驗知識的正確性,挖掘出的主題語義相關(guān)性更大、主題質(zhì)量更高,并且在中文和英文數(shù)據(jù)集上都有提升,在英文數(shù)據(jù)集上提升較大.對于把詞向量引入到終身主題建模過程中,本文的工作仍較為初步,未來的研究工作將詞向量融入整個建模過程中,探索如何從初始的數(shù)據(jù)集上挖掘更深層次的語義信息,提升建模效果.
東北師大學(xué)報(自然科學(xué)版)2022年4期