王宇晗,林 民,李艷玲,趙佳鵬
1.內(nèi)蒙古師范大學(xué) 計算機科學(xué)技術(shù)學(xué)院,呼和浩特 010022
2.中國科學(xué)院大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,北京 100089
3.中國科學(xué)院 信息工程研究所,北京 100089
LDA(latent Dirichlet allocation)主題模型[1]是一種有效的統(tǒng)計語言模型,能夠?qū)A课谋緮?shù)據(jù)進行建模并反饋規(guī)定主題數(shù)的詞語聚類,在文本分類[2]、話題演化[3]、文本自動摘要[4]等任務(wù)中有著廣泛的應(yīng)用。但LDA及其擴展模型采用詞袋文本模型抽取主題詞,無法建模詞語之間的語義和序列關(guān)系,并且忽略了停用詞與長尾詞,極大限制了生成主題詞的可解釋性[5]。為了有效解決詞袋模型存在的問題,文獻[6]通過使用詞嵌入(word embedding)模型Word2Vec構(gòu)造了一種嵌入式主題模型(embedded topic model,ETM)[7],能夠考慮到詞與詞之間的關(guān)系,并能擬合出更具可解釋性的主題。但Word2Vec只考慮單詞的固定大小的上下文窗口,在獲取文檔全局語義信息方面存在困難,并且將處于不同語境的同一詞匯綜合表示成一個向量。這種上下文不敏感的靜態(tài)表示方法不能獲取文本中多義詞在不同語境下的語義差異,難以檢測到領(lǐng)域主題之間存在的細粒度的區(qū)別。針對以上問題,本文提出將BERT(bidirectional encoder representations from transformers)模型[8]有效融入ETM。BERT模型解決了Word2Vec等模型的聚義問題,該模型能夠通過大規(guī)模語料的訓(xùn)練生成對上下文語境敏感的詞向量,多義詞在不同語境中動態(tài)地生成詞的語義表示,一詞多義問題得以有效解決。本文提出構(gòu)建一種基于BERT的嵌入式主題模型,稱為BERT-ETM模型。BERT-ETM既能獲取到充分結(jié)合上下文特征的詞嵌入,解決一詞多義問題,又能挖掘出高質(zhì)量、細粒度的文檔主題詞表示,對大規(guī)模文本十分有效。
本文首先介紹了模型的構(gòu)建方法,然后為了驗證本方法的有效性,比較了BERT-ETM和ETM的主題一致性和多樣性,發(fā)現(xiàn)BERT-ETM的主題一致性、多樣性乘積明顯提升;為驗證BERT-ETM能夠解決一詞多義問題,計算了不同語境下多義詞向量之間的夾角余弦值,發(fā)現(xiàn)多義詞能夠結(jié)合上下文信息學(xué)習(xí)到動態(tài)的詞嵌入;為驗證結(jié)合中文分詞的BERT模型能夠獲取更細粒度的主題詞,本文將以詞為單位的WoBERT-ETM與傳統(tǒng)BERT-ETM獲取到的主題詞進行對比,在實驗部分對這些方法做了詳細描述。
自文獻[9]提出神經(jīng)概率語言模型(CBOW和Skipgram)以來,詞嵌入成為詞匯的分布式表示學(xué)習(xí)中最具代表性的方法。文獻[6]提出的Word2Vec是比較常用的一種詞嵌入模型,通過將詞匯編碼為一個語言特征空間中的低維度稠密向量,將文本語料中的詞語訓(xùn)練為分布式向量表示,能夠捕獲隱藏在單詞上下文中的語法、語義信息。很多學(xué)者將Word2vec應(yīng)用于中文信息處理任務(wù),例如,文獻[10]提出使用Word2vec訓(xùn)練微博短文本詞向量,并引入TF-IDF模型對詞向量加權(quán),將加權(quán)詞向量應(yīng)用于短文本分類任務(wù);文獻[11]提出一種將Word2vec和雙向長短時記憶循環(huán)神經(jīng)網(wǎng)絡(luò)(long shortterm memory,LSTM)結(jié)合的情感分類模型,并取得了不錯的效果。但以上方法將處于不同語境的詞匯綜合表示成一個靜態(tài)的詞向量,生成的詞嵌入與詞是一一對應(yīng)的,僅學(xué)習(xí)到了詞的表層特征,不能獲取文檔全局語義信息,不能表達一詞多義。
為了有效學(xué)習(xí)詞向量的多種含義,解決一詞多義問題,文獻[8]提出了BERT模型。BERT使用能捕捉語句中的雙向關(guān)系的Transformer編碼器[12]作為算法的主要框架,利用注意力機制對句子進行建模,使用掩蔽語言模型(masked language model,MLM)和預(yù)測下一句(next sentence prediction,NSP)的多任務(wù)訓(xùn)練目標進行預(yù)訓(xùn)練,并通過細調(diào)的方法將模型應(yīng)用到其他特定任務(wù),得到語義更豐富的詞向量表示。目前很多學(xué)者也對BERT模型進行了改進,例如,文獻[13]提出的Roberta使用字節(jié)進行編碼以解決未登錄詞的問題。文獻[14]提出了BERT-wwm模型,即對整個詞都通過Mask標簽進行掩碼,而不僅僅是對子詞進行掩碼。文獻[15]提出SpanBERT模型,將預(yù)訓(xùn)練方法改進到分詞級別,不再對單個詞項進行掩碼,而是隨機對鄰接分詞添加掩碼。但以上都是基于英文詞特性進行改進的,即以英文的每一個字單元進行訓(xùn)練。而中文和英文特性不同,中文中最小的Token是字,詞由一個或多個字組成,每個詞之間沒有明顯的分隔,并且包含更多信息。為進一步改進BERT模型在中文NLP任務(wù)上的訓(xùn)練效果,文獻[16]預(yù)訓(xùn)練并開源了以詞為單位的中文BERT模型,稱為WoBERT,基于詞的WoBERT能夠明顯提升訓(xùn)練速度,在融合詞信息的同時也提升了擬合效果。因此本文構(gòu)建了BERT-ETM和WoBERT-ETM兩個模型,并對比二者獲取的詞嵌入效果以及擬合的主題詞效果。
最早研究從詞向量空間采樣的主題模型始于2015年文獻[17]提出的GLDA模型,GLDA將詞向量代替離散的詞匯作為觀測變量,使用多元高斯分布采樣主題-詞分布,相較于LDA模型提高了主題詞的語義一致性。隨后,詞向量增強的思想也被應(yīng)用于主題詞的抽取,LFTM[18]、GPU-DMM[19]、GPU-LDA[20]等模型在文本生成過程中將語義相似的詞以更大概率分配到同一主題下,大幅度提升了模型性能。但這種方法并沒有從主題層面上對模型進行優(yōu)化。許多學(xué)者因此提出了結(jié)合主題模型與語言模型的聯(lián)合訓(xùn)練模型,如文獻[21]提出的主題詞向量模型TWE,將LDA與詞向量模型相結(jié)合,從同一語料中同時訓(xùn)練出詞和主題的向量表示,并以兩者的拼接作為主題詞的向量表示,但它直接使用LDA生成主題詞,忽略了詞序列之間的依賴關(guān)系,獲得的主題詞的語義一致性效果一般。國內(nèi)也在主題詞的生成方面進行了多種探索,例如,文獻[22]提出使用Word2Vec訓(xùn)練詞向量并使用LDA訓(xùn)練短文本向量,通過向量拼接構(gòu)建詞向量與LDA相融合的短文本表示模型用于短文本分類,解決了特征稀疏問題;文獻[23]則提出先利用LDA抽取主題詞,再用Word2Vec訓(xùn)練詞向量,通過詞向量相似度傳播構(gòu)建關(guān)鍵詞網(wǎng)絡(luò),利用網(wǎng)絡(luò)結(jié)構(gòu)分析方法對主題詞進行二次提取,能夠獲取更多低詞頻高主題相關(guān)的詞。但目前這些使用詞向量建模的主題模型并沒有在擬合主題時對主題進行嵌入表示,而且不擅長捕獲稀有詞的分布和語言數(shù)據(jù)的長尾,不能對停用詞建模,在處理大型文本集合時,通常需要刪除稀有詞和停用詞,才能擬合出預(yù)測性和解釋性良好的主題模型。而稀有詞中存在某些重要詞匯,對于區(qū)分話題非常有幫助,停用詞也含有使句子具有可讀性的句法信息,這種刪減可能會刪除文本重要的詞而限制模型的應(yīng)用范圍。針對這一問題,Dieng等人[7]提出將Word2Vec和LDA相結(jié)合的嵌入式主題模型ETM,通過神經(jīng)網(wǎng)絡(luò)的訓(xùn)練可以考慮到長尾詞的含義,也可以通過加入預(yù)訓(xùn)練好的詞嵌入從而不受語料中停用詞的影響,構(gòu)建出更具有可解釋性的主題[24-25],并且也能夠在訓(xùn)練主題詞過程中擬合出主題嵌入。如圖1展示了ETM的主題-詞可視化分布圖,數(shù)字表示主題序號,語義相近的詞環(huán)繞在對應(yīng)主題的Topic四周,形成一個簇??梢钥闯?,Topic33是關(guān)于學(xué)生信息的一個主題。
圖1 ETM主題-詞可視化分布圖Fig.1 Chart of ETM topic-word visual distribution
但ETM使用Word2Vec這種上下文不敏感向量表示方法,獲取到的靜態(tài)詞向量不能表達文本中同一單詞在不同語境下的語義差異,難以檢測到主題之間存在的細粒度的區(qū)別。通過對相關(guān)工作進行分析,本文提出將BERT模型融入到ETM的訓(xùn)練過程中,獲得充分結(jié)合詞匯上下文特征的動態(tài)詞向量從而提取更全面的特征,解決一詞多義問題。
基于BERT的嵌入式主題模型流程框架圖如圖2所示。本模型關(guān)鍵步驟如下:首先,對數(shù)據(jù)集進行預(yù)處理,進行分句、分詞等操作;其次,統(tǒng)計每篇文檔中的詞頻,同時,使用BERT模型訓(xùn)練文本,獲取BERT模型結(jié)合領(lǐng)域文本生成細調(diào)后的詞嵌入表示;然后將文檔詞袋表示和詞嵌入輸入給BERT-ETM,其中文檔詞袋表示在推斷網(wǎng)絡(luò)進行訓(xùn)練,詞嵌入在生成網(wǎng)絡(luò)進行訓(xùn)練;最后,通過BERT-ETM變分自編碼器的訓(xùn)練,得到文檔的主題詞表示。
圖2 BERT-ETM流程框架圖Fig.2 Flow framework chart of BERT-ETM
得到預(yù)處理的數(shù)據(jù)后,將文本按行輸入給BERT模型進行詞向量的訓(xùn)練。BERT在訓(xùn)練時的單元為token,即為字,輸入編碼向量是字向量、句向量和位置向量三個嵌入特征的融合。以輸入文本句子“軟件還可以分為通用軟件和定制軟件”為例,BERT的輸入表示如圖3所示。其中,其中特殊符號[CLS]表示該特征用于分類模型,對于非分類模型,該符號可以省略;[SEP]表示分句符號,用于斷開輸入語料中的兩個句子。
圖3 BERT-ETM模型輸入表示Fig.3 Input representation of BERT-ETM model
傳統(tǒng)BERT以字為單位,在中文日常使用中卻習(xí)慣以包含更多語義信息的詞為基本單位。為探究以詞為單位和以字為單位訓(xùn)練BERT詞向量的差異,本文將BERT的一個變體——WoBERT模型也用于生成詞嵌入。WoBERT以中文詞為單位,將處理輸入文本時的Tokenizer進行修改,加入了一個“預(yù)分詞(Pre_tokenizer)”操作,避免Tokenizer強行把中文字符用空格隔開。輸入文本數(shù)據(jù)后,首先使用jieba進行自動分詞,然后對分詞的文本進行Pre_tokenizer,得到符合實驗需要的中文詞,將每個詞用BERT自帶的Tokenizer切分為字,然后用字向量的平均作為詞向量的初始化。以同樣的句子為例,WoBERT的輸入表示如圖4所示。
圖4 WoBERT-ETM模型輸入表示Fig.4 Input representation of WoBERT-ETM model
獲取BERT模型結(jié)合領(lǐng)域文本生成細調(diào)后的詞嵌入表示過程如算法1所示。將文本輸入給BERT預(yù)訓(xùn)練模型,獲取到文本詞向量表示后,為了使詞向量能結(jié)合領(lǐng)域文本學(xué)習(xí)到更多的語義信息,將詞向量進一步細調(diào),同時通過比較詞向量之間的相似度來進一步區(qū)分多義詞與其他詞。以多義詞“蘋果”為例,在語句“蘋果公司發(fā)布了官方的人機界面指南”中,蘋果的語義為美國的一家科技公司,而在語句“常見的水果有蘋果、香蕉等”中,蘋果的語義為水果,兩個“蘋果”在BERT模型下的詞向量相似度為0.70,在WOBERT模型下的詞向量相似度為0.69,因此將相似度閾值設(shè)置為0.75,用于判斷多義詞。比較詞wi當(dāng)前生成的詞向量wti和前一次生成的詞向量wt-1i的相似度,以0.75作為閾值,如果相似度大于0.75,將兩個詞向量取平均,用以生成結(jié)合更多語義信息的詞向量;如果相似度小于等于0.75,則說明當(dāng)前詞是一個一詞多義詞,將當(dāng)前的詞向量wti另存為wti -1#,表示為詞的另一個含義,并將對應(yīng)在語料句子中的該詞也同步添加#,方便后續(xù)主題詞的生成與區(qū)分。
獲取到文檔的詞嵌入表示后,將每個文檔的詞袋表示和詞嵌入一起作為模型的輸入,用于生成文檔的主題詞。
算法1 BERT細調(diào)詞嵌入生成算法
輸入:BERT預(yù)訓(xùn)練模型獲取到的文本詞向量表示。
輸出:結(jié)合領(lǐng)域文本細調(diào)的BERT詞嵌入表示。
Begin
for BERT文本詞向量中的每一行
得到每個詞的向量表示wi;
計算當(dāng)前詞向量wti和該詞上一次出現(xiàn)的詞向量wt-1i的相似度cosine_similarity;
if cosine_similarity>0.75
將當(dāng)前詞的詞向量賦值為的詞向量平均值avg;
else
將wti存儲為wti -1#;
整合結(jié)合領(lǐng)域文本細調(diào)的BERT詞向量
End
BERT-ETM的文檔主題結(jié)構(gòu)如圖5所示,假設(shè)語料庫D中有d個文檔,共有V個詞表示第d個文檔中的第n個詞。ρ是L×V的詞嵌入矩陣,列ρv是wv的詞向量表示,通過BERT模型獲得,ρv∈RL。K是主題個數(shù),α是L×K的主題矩陣,列αk是第k個主題的向量,αk∈RL,θ是文檔-主題分布的參數(shù),β是主題-詞分布的參數(shù),z是主題。主題詞的生成過程如下:
圖5 BERT-ETM文檔主題結(jié)構(gòu)圖Fig.5 Topic structure chart of BERT-ETM document
(1)生成文檔-主題分布θ
為了便于使用變分推斷求解文檔-主題分布,θ不再像傳統(tǒng)LDA模型一樣服從Dirichlet分布,而是服從logistic-normal分布,如式(1)和(2)所示,它是一個歸一化后的標準高斯分布。
(2)對文檔d中的每個詞
①模型為每個觀察到的單詞抽樣分配第d個文檔中第n個詞的主題zdn,得到第n個詞的主題,如式(3)所示:
②模型通過BERT獲取詞嵌入,得到詞向量矩陣ρ。
③模型在詞向量矩陣ρ的同一語義空間中得到主題向量矩陣α。得到主題zdn后,將詞向量矩陣ρ與主題向量矩陣α相乘,將矩陣乘積當(dāng)作主題-詞分布,再進行詞匯抽取,得到第n個詞,如式(4)所示:
BERT-ETM的網(wǎng)絡(luò)結(jié)構(gòu)圖如圖6所示,設(shè)計了一個基于神經(jīng)網(wǎng)絡(luò)的變分自編碼器用于獲取文檔詞分布。輸入詞袋和詞嵌入后,詞袋表示進入推斷網(wǎng)絡(luò)用于獲取文檔-主題分布θd,為了適應(yīng)不同長度的文檔,將文檔詞袋表示規(guī)范化并進行線性降維,隨機丟棄后分別經(jīng)過兩個不同的線性層,得到高斯分布的均值μd和方差Σd,歸一化的標準高斯分布得到文檔-主題分布θd。為了獲取文檔詞分布,還需要獲取主題-詞分布用于共同擬合。為了獲取主題詞分布β,將得到的詞嵌入ρ經(jīng)過一個線性層得到主題嵌入αk,對詞和主題都使用嵌入表示形式,使用神經(jīng)網(wǎng)絡(luò)對原文檔-主題矩陣和新加入的詞嵌入矩陣進行訓(xùn)練,使得模型可以處理語料庫中未出現(xiàn)過詞,通過計算未現(xiàn)詞與已知詞的距離,就可以將它歸入更可能的主題中,從而將語義相似的詞匯分配到更相似的主題中。將詞嵌入ρ和主題嵌入αk的乘積作為主題詞分布βk。文檔-主題分布θd對應(yīng)著不同的主題-分布β,最后,θd和不同β的乘積可以得到文檔詞分布。損失函數(shù)分為兩個部分:推斷網(wǎng)絡(luò)獲取的文檔-主 題 分 布 的KL散 度(Kullback-Leibler divergence)kld_θ和生成網(wǎng)絡(luò)獲取主題-詞分布的交叉熵recon_loss共同構(gòu)成整個訓(xùn)練過程的損失。
圖6 BERT-ETM網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.6 Network structure chart of BERT-ETM
在擬合BERT-ETM時,需要最大化文檔集[w1,w2,…,wD]的邊際似然,其中,wd是Nd個單詞的集合。模型的參數(shù)是詞嵌入ρ和主題嵌入α。數(shù)據(jù)集中所有文檔的邊際似然函數(shù)如式(5)所示:
由于文檔邊際似然計算困難,用公式(2)中未變換ρ的文檔主題分布參數(shù)δd的積分來表示:
生成每個單詞的條件分布使主題分配索引zdn被邊際化:
其中,θdk表示公式(2)中變換后的文檔主題分布參數(shù),βkv表示主題k對應(yīng)詞v的分布參數(shù),可由詞嵌入ρ和主題k的嵌入αk推斷得到:
由于可觀測數(shù)據(jù)的邊緣分布求解十分困難,其計算復(fù)雜度非常高,所以使用變分推斷構(gòu)造了一個后驗分布的近似分布來擬合后驗分布,用以最大化生成每個文檔的對數(shù)邊際似然邊界的總和。假設(shè)一個未變換的文檔主題比例分布簇q(δd;wd,v),該高斯分布的均值和方差來自于變分自編碼器的推斷網(wǎng)絡(luò)。使用此變分分布簇來約束對數(shù)邊際似然。對數(shù)邊際似然的證據(jù)下界(ELBO)如式(9)所示:
本文首先使用英文通用數(shù)據(jù)集20Newsgroups語料庫和中文通用數(shù)據(jù)集微博語料庫來驗證BERT-ETM的實驗效果。20Newsgroups數(shù)據(jù)集收集了約20 000個左右的新聞組文檔,均勻分為20個不同主題的新聞組集合,是自然語言處理領(lǐng)域的標準數(shù)據(jù)集之一。微博數(shù)據(jù)集則采集了2014年1月至8月用戶在新浪微博發(fā)布的具有各種主題的貼文,在主題分析等領(lǐng)域有著廣泛的應(yīng)用[26]。通過篩選停用詞、文檔分詞來預(yù)處理語料庫;另外,本文也將《軟件工程》專業(yè)領(lǐng)域教材文本作為數(shù)據(jù)集用于模型的進一步分析,版本為《軟件工程——理論與實踐》(第2版)。將《軟件工程》專業(yè)教材作為主題分析研究的對象,希望分析和展示教材中主題間的關(guān)聯(lián)關(guān)系,發(fā)現(xiàn)學(xué)科重點難點,幫助教師和學(xué)生理解課程內(nèi)容。初始數(shù)據(jù)集中包含12章內(nèi)容,共260 220個文字,通過人工方式將文字錄入電子版數(shù)據(jù)集,并手工標注領(lǐng)域詞典,詞典共計2 405個領(lǐng)域詞匯。首先對初始數(shù)據(jù)集進行預(yù)處理,將文本按句分隔開來,且保證分開后的句子長度不超過BERT的最大輸入長度512。然后通過jieba分詞工具進行句子的分詞,將分詞后的詞與領(lǐng)域詞典進行整合,整理后的數(shù)據(jù)輸入到BERT進行訓(xùn)練。模型使用85%的文檔進行訓(xùn)練,10%的文檔用于測試,5%的文檔用于驗證。
3.2.1 實驗?zāi)P偷膮?shù)設(shè)置
模型訓(xùn)練的batch_size為100,并使用Adam優(yōu)化器[27]設(shè)置學(xué)習(xí)率為2×10-3,為防止過擬合,添加了dropout層,dropout率為0.5,主題數(shù)目K為50。
其中,主題數(shù)K設(shè)為50是由困惑度(perplexity)計算出來的。主題的最優(yōu)數(shù)目可以通過選取困惑度最小的模型來確定[28]。較小的困惑度意味著模型對文本有較好的預(yù)測作用,所以困惑度一般隨著潛在主題數(shù)量的增加呈現(xiàn)遞減的規(guī)律。困惑度的計算如式(10)所示:
其中,D表示語料庫中的測試集,共M篇文檔,Nd表示每篇文檔d中的單詞數(shù),wd表示文檔d中的詞,p(wd)為文檔中詞wd產(chǎn)生的概率。
設(shè)置主題數(shù)目K的取值范圍為[5,60],取步長為5進行主題抽取,計算每個主題下困惑度的取值,主題-困惑度變化折線如圖7所示。從圖中可以觀察到當(dāng)K=50時,困惑度最小,對文本有較好的預(yù)測作用,故主題數(shù)K的取值為50。
圖7 主題-困惑度變化折線圖Fig.7 Line chart of topic-perplexity change
3.2.2 環(huán)境設(shè)置
本文的實驗環(huán)境是基于深度學(xué)習(xí)的框架pytorch,采用的編程語言為python,操作系統(tǒng)處理器為Intel?Core?i7-5500U CPU@2.40 GHz?;贐ERT的嵌入式主題模型以ETM模型為基準進行實驗對比,構(gòu)建的基于中文分詞的WoBERT-ETM模型目前開源的是Base版本。
3.2.3 評價指標
本文通過融合主題一致性和主題多樣性兩個指標來衡量主題質(zhì)量,將模型主題質(zhì)量的總體度量定義為其主題多樣性和主題一致性的乘積。在以前的研究中,主題模型的效果通常采用困惑度進行評估,但是一些研究[29-31]也發(fā)現(xiàn)困惑度與人們對主題的理解結(jié)果并不一致。為更好地對主題進行評估,文獻[32]提出了使用主題一致性評價主題可解釋性。主題一致性如公式(11)所示,使用一個主題包含的任意兩詞間的平均點互信息(average pointwise mutual information,APMI)來 度量。APMI可以量化不同詞在表示主題中共現(xiàn)的可能性,如果一個主題中詞共現(xiàn)概率越大,說明該主題的一致性更強,主題也更具可解釋性。
其中,p(wi,wj)是詞wi和wj在文檔中共現(xiàn)的概率,p(wi)是詞wi的邊際概率。
主題多樣性定義為在所有K個主題的排名前N個單詞中出現(xiàn)不同單詞的百分比,接近0的多樣性表示冗余的主題,接近1的多樣性表示多樣的主題。主題多樣性的計算如式(13)所示:
3.3.1 三種詞嵌入模型詞向量效果對比實驗
在獲取詞嵌入階段,為了驗證BERT用來訓(xùn)練詞嵌入的有效性,在《軟件工程》專業(yè)領(lǐng)域教材文本數(shù)據(jù)集中隨機抽取50個詞分別觀察BERT模型、WoBERT模型、Word2Vec模型生成詞嵌入的效果。使用PCA算法對三種模型生成的詞嵌入進行降維,得到詞嵌入的向量空間可視化圖,三種詞嵌入的對比展示結(jié)果如圖8所示。
圖8 三種模型獲取的詞向量可視化分布圖Fig.8 Visual distribution chart of word vector obtained by three models
詞的嵌入式表示將文本語義信息編碼為空間中的連續(xù)矢量,語義相似的單詞往往在向量空間中距離相近,從以上三個圖進行分析可以看出,BERT模型和WoBERT模型獲取到的詞向量的分布更能體現(xiàn)詞與詞之間的關(guān)聯(lián)關(guān)系,分布效果明顯優(yōu)于Word2Vec模型。基于Word2Vec獲取到的詞向量在空間中的分布較為均勻,沒有將語義相近的詞聚集在一簇,而BERT和WoBERT獲取到的詞向量分布有明顯的詞簇,語義相近的詞都聚集在了一起。比如BERT詞嵌入中表示性能的詞“依賴性”“抽象性”聚成了一個簇,表達計算機軟件的詞“計算機系統(tǒng)”“軟件文檔”“軟件工程”等也聚在了一起,簇與簇之間有明顯的界線。同樣地,WoBERT獲取到的詞向量在空間中也有明顯詞簇,并且與BERT詞向量得到的詞簇類似。因此,BERT模型獲取的詞向量更能學(xué)習(xí)到詞的語義,生成的詞嵌入的效果更優(yōu)。
3.3.2 主題模型評價指標對比實驗
為驗證本文提出的BERT-ETM在獲取主題-詞分布時的有效性,首先在英文通用數(shù)據(jù)集20Newsgroups上對比W2V-ETM和BERT-ETM的評價指標——主題一致性和主題多樣性的結(jié)果,并在使用中文微博通用數(shù)據(jù)集對比W2V-ETM和BERT-ETM實驗結(jié)果的同時,增加針對中文詞向量的WOBERT-ETM的評價指標結(jié)果,實驗結(jié)果如表1所示。
表1 通用數(shù)據(jù)集評價指標對比Table 1 Evaluation indicator comparison of general datasets
分析實驗結(jié)果,可以發(fā)現(xiàn)BERT-ETM在中英文通用數(shù)據(jù)集上獲取到的融合主題一致性和主題多樣性的乘積明顯高于W2V-ETM,而基于中文分詞的WOBERTETM在中文微博通用數(shù)據(jù)集上獲取主題詞的效果則相較于BERT-ETM更優(yōu)。為了進一步驗證實驗結(jié)果,將《軟件工程》專業(yè)領(lǐng)域教材文本數(shù)據(jù)集按照比例分為5%、15%、30%、50%,并分別觀察W2V-ETM、BERT-ETM、WOBERT-ETM在不同比例的數(shù)據(jù)上得到的評價指標——主題一致性和主題多樣性的結(jié)果,得到表2所示。
表2 《軟件工程》數(shù)據(jù)集評價指標對比Table 2 Evaluation indicator comparison of Software Engineering datasets
將實驗結(jié)果進行整理,將三種模型的主題一致性和主題多樣性的乘積進行對比,對比圖如圖9所示。
圖9 評價指標對比圖Fig.9 Comparison chart of evaluation indicator
從實驗結(jié)果可以看出,基于Word2Vec的ETM獲取主題詞的效果明顯劣勢于BERT的BERT-ETM和WOBERT-ETM。在同樣規(guī)模的語料下,BERT-ETM和WOBERT-ETM的主題一致性和主題多樣性都比ETM有了顯著的提高,說明基于BERT的嵌入式主題模型可以獲得更具可解釋性的主題詞。由于BERT模型能夠結(jié)合上下文信息更好地捕捉文本語義,BERT-ETM中的詞嵌入可以充分學(xué)習(xí)到詞的語義表示,特別是基于中文詞的WoBERT,由于結(jié)合了中文詞特性,在獲取詞嵌入時以詞為單位,降低了詞義的不確定性,效果更是優(yōu)于其他模型。
3.3.3 兩種主題模型生成的主題詞質(zhì)量對比實驗
由于BERT-ETM和WOBERT-ETM的性能都優(yōu)于ETM,為了進一步比較二者獲取主題詞分布的效果,選取兩種模型擬合出的十組最常用的主題-詞分布,展示結(jié)果如表3和表4所示。
表3 BERT-ETM十組主題-詞分布Table 3 Ten groups of BERT-ETM topic-word distribution
表4 WoBERT-ETM十組主題-詞分布Table 4 Ten groups of WoBERT-ETM topic-word distribution
通過主題代表詞,可以理解該主題所表示的語義信息,并將主題詞應(yīng)用于課程教學(xué)中。由于本文使用《軟件工程》專業(yè)教材作為文本語料,獲得的主題詞可以方便教師和學(xué)生在教學(xué)過程中的使用,解決教師和學(xué)生因沒有時間整理、分析大量教材文本中的重點內(nèi)容和關(guān)聯(lián)關(guān)系的問題,避免人工整理過程中因各種失誤而導(dǎo)致的錯誤。為了進一步對比BERT-ETM和WoBERT-ETM獲取主題詞的效果,在兩個模型結(jié)果中選取三組代表同一主題的分布進行對比,分別選取代表測試主題的主題詞分 布:BERT-ETM中的Topic28和WoBERT-ETM中的Topic11;代表數(shù)據(jù)主題的主題詞分布:BERT-ETM中的Topic8和WoBERT-ETM中Topic28;代表圖主題的主題詞分 布:BERT-ETM中的Topic41和WoBERT-ETM中Topic33。將這幾組主題-詞分布結(jié)果在向量空間中進行可視化,如圖10、圖11、圖12所示。
圖10 測試主題的主題詞分布Fig.10 Topic-word distribution of test topic
圖11 數(shù)據(jù)主題的主題詞分布Fig.11 Topic-word distribution of data topic
圖12 圖主題的主題詞分布Fig.12 Topic-word distribution of chart topic
根據(jù)圖10可以觀察到,WoBERT-ETM相對于BERT-ETM能夠擬合出更多有關(guān)軟件測試主題的詞,除了二者都擬合出來的“測試”“軟件測試”“單元測試”“集成測試”以外,WoBERT-ETM還能夠擬合出“測試人員”“系統(tǒng)測試”“驗收測試”;根據(jù)圖11可以觀察到,WoBERTETM相較于BERT-ETM同樣能夠擬合出更多有關(guān)數(shù)據(jù)主題的詞,除了二者都擬合出來的“數(shù)據(jù)”“數(shù)據(jù)結(jié)構(gòu)”“數(shù)據(jù)流”“數(shù)據(jù)流圖”以外,WoBERT-ETM還能夠擬合出“數(shù)據(jù)庫”“數(shù)據(jù)表”,而且在語義空間中WoBERTETM擬合出的主題更靠近有關(guān)數(shù)據(jù)的分布詞,可以看出,WoBERT-ETM擬合出的主題能夠?qū)W習(xí)出更多關(guān)于數(shù)據(jù)的語義表示;根據(jù)圖12可以觀察到,WoBERT-ETM相較于BERT-ETM仍然能夠擬合出更多有關(guān)圖主題的詞,除了二者都擬合出來的“類圖”“順序圖”“狀態(tài)圖”以外,WoBERT-ETM還能夠擬合出“協(xié)作圖”“對象圖”“用例圖”,并且主題更靠近與圖相關(guān)的詞。
綜合分析,結(jié)合中文詞特性的WoBERT-ETM能夠擬合出更細粒度的主題詞,學(xué)習(xí)到文檔隱含的主題信息和知識點,獲取到的主題更加具有可解釋性。
3.3.4 多義詞相似度對比實驗
BERT-ETM的另一個優(yōu)點是可以解決一詞多義問題。在面對不同語義下的相同詞時,Word2Vec將在兩個句子中為該詞生成相同的詞嵌入,獲取到的詞嵌入是靜態(tài)的;而在BERT下,不管該詞上下文語境如何,BERT都會從其周圍的詞動態(tài)來生成詞嵌入,獲取到的詞嵌入是動態(tài)的,所以該詞在每個句子中的詞嵌入都是不同的。利用詞向量夾角余弦值度量多義詞的語義相似度,詞向量夾角余弦計算公式如式(14)所示:
其中c,s表示要比較的兩個詞向量,計算結(jié)果表示兩者之間語義關(guān)系相似程度。由余弦定理可知,cosine值的范圍為[0,1],越趨近于1時兩個向量的夾角越小,也代表兩個文本越相似。
在此將BERT-ETM和WoBERT-ETM獲取到的不同語境下的相同詞的相似度值進行對比,使用“蘋果”一詞進行實驗測試,實驗樣例如表5所示,在兩種模型上分別計算“蘋果”的詞向量,并計算不同樣例中“蘋果”詞嵌入的相似度,得到的結(jié)果如表6所示。
表5 一詞多義實驗樣例Table 5 Example of polysemy experiment
表6 “蘋果”一詞多義結(jié)果對比Table 6 Result of polysemy of word“apple”compared單位:%
由表6分析可知,兩種BERT模型下“蘋果”的詞嵌入在每個句子中的嵌入表示并不相同,可以證明BERT在面對一詞多義問題時能夠充分結(jié)合詞的上下文信息來生成結(jié)合語義的動態(tài)詞向量,從而得以保證特征提取的全面性。
本文將BERT模型和嵌入式主題模型相結(jié)合構(gòu)建一種BERT-ETM主題模型,經(jīng)過Word2Vec和BERT的詞向量可視化對比實驗,證明了BERT作為嵌入層學(xué)習(xí)到的文本詞嵌入可以充分結(jié)合語境上下文信息,捕捉文本在不同語義下的差異;經(jīng)過ETM和BERT-ETM的主題一致性和主題多樣性的對比,證明了BERT-ETM獲取主題詞的有效性;通過計算詞向量相似度,證明BERTETM能夠解決一詞多義問題;通過對比以字為單位的BERT-ETM和以中文詞為單位的WoBERT-ETM,證明結(jié)合中文詞特性的WoBERT-ETM在處理中文文本時能夠獲得高質(zhì)量、細粒度的文檔隱含主題信息從而改善主題建模的效果。本文在將教材文本向量化表示的基礎(chǔ)上,繼續(xù)研究文本的主題提取和分析過程,對于提高課程知識的共享和傳播、發(fā)現(xiàn)學(xué)科重難點及關(guān)聯(lián)關(guān)系、推進課堂信息技術(shù)的進步和發(fā)展均有著重要的現(xiàn)實意義。在下階段的工作中將繼續(xù)研究文本的詞嵌入表示,并考慮到目前的主題模型大多將主題歸納為單層結(jié)構(gòu),無法將主題組織成層次體系的問題,著力研究基于詞嵌入的多層次主題模型,并將多層次主題模型提前到的主題詞進一步應(yīng)用于智慧教育領(lǐng)域中,以提升教師教學(xué)、學(xué)生學(xué)習(xí)的效果和性能。