高 茂,張麗萍,侯 敏,閆 盛,趙宇博
(內蒙古師范大學 計算機科學技術學院,內蒙古 呼和浩特 010022)
知識圖譜(knowledge graph,KG)是使用圖(graph)形式實現知識建模與管理的有效手段[1],在教育領域,知識圖譜由于其出色的知識建模能力備受研究者的關注[2]。Yang 等[3]針對高中階段課堂的答疑效果較差問題,構建了基于高中數學課程知識圖譜的問答系統(tǒng),為學習者提供知識反饋。金天成等[4]構建了面向程序設計課程的知識圖譜,為學習者推薦習題資源,提升學生的程序設計實踐能力。視覺、聽覺是人類孩子認知世界的重要方式,對于人類理解客觀事物有很大的價值[5]。數據來源包括課程教材、百度百科以及國家教育公共服務平臺等知識社區(qū)[6]。李振等[7]提出在構建教育知識圖譜的過程中要匯聚多模態(tài)資源,為學習者提供個性化的知識服務。李艷燕等[8]則從學習需求的角度探討學科知識圖譜中多模態(tài)學習資源的重要意義。
實體對齊是判斷不同來源的實體是否對應同一個現實對象的任務,通常被用于多個知識庫的合并過程中[9]。已有研究為了擴充知識圖譜中實體的多源描述信息,將百度百科、互動百科社區(qū)[10]作為知識來源對齊詞條信息,采用的方法多為基于相似度計算的方法,但該種方法需要人工參與閾值的設定且語言模型本身沒有經過領域樣本的訓練微調,不能很好地應用至下游的實體對齊任務。
針對上述問題,本文探索高效的將不同來源的多模態(tài)資源映射到同一實體的技術方法,提出微調BERT 詞嵌入的實體對齊模型,利用領域樣本微調BERT 詞嵌入的分類模型,并針對樣本不均衡問題提出負采樣策略,優(yōu)化模型性能,將測試的簡介文本對輸入微調后的BERT 模型計算相似概率,選取相似概率排名最高的簡介文本對應的詞條資源進行對齊。
相關學者考慮到現有知識圖譜中文本信息對于課程知識表達的局限,利用實體對齊技術擴充知識圖譜中實體的多源描述信息。將百度百科、互動百科社區(qū)作為知識來源對齊詞條信息,第一種方式是基于相似度計算的方法,利用余弦距離、歐式距離求出實體間的實體名、屬性、簡介文本的相似度并設定相應的閾值,如果相似度大于閾值則對齊,否則不對齊。另一種方法,將實體對齊建模成具有約束條件的分類問題[11],使用實體名、屬性、簡介文本或者其他信息對特征送入二分類模型,獲得相似與不相似概率,以此判斷實體是否對齊。
第一種方式是基于相似度計算進行實體對齊。劉振鵬等[12]將潛在狄利克雷分布(latent Dirichlet allocation,LDA)主題模型結合余弦相似度的計算方式應用于百度百科和維基百科的簡介文本對齊研究中,與TF-IDF 等方法相比表現更好。周炫余等[13]在初中數學知識圖譜構建的研究中,考慮到從百度百科和互動百科網站爬取的半結構化數據和教材中的非結構化數據之間沒有建立聯系,導致實體的數據來源零散和權威性不夠等問題,提出基于層次過濾思想的知識融合模型,很大程度上豐富了課程實體的多種描述信息。其中,對百度資源和教材資源均經過預處理層、字符串匹配層等五個環(huán)節(jié)進行實體對齊。在該過程中,除了使用傳統(tǒng)的字符串匹配操作,還在實體融合層中,賦予屬性和簡介文本不同的權重,綜合計算詞條的相似度。文獻[14]提出一種對齊百度百科和互動百科詞條的方法。首先,使用基于編輯距離的算法計算詞條之間的屬性相似度,選取最大值與設定好的閾值作比較,若大于則繼續(xù)計算簡介文本的相似度,否則利用BERT 模型計算相似度找到最大值繼續(xù)比較;其次,使用BERT+余弦距離的方式計算簡介文本對的相似度;最后,通過加權融合的方式計算屬性和簡介文本整體的相似度,選取相似度最高的實體對作為最終輸出。王雪鵬等[15]分別計算實體屬性名稱、類別標簽和簡介文本的相似度,然后賦予不同的權重,計算百度百科和互動百科中的實體是否對齊。喬晶晶等[16]同樣面向百度百科和互動百科知識庫,提出融合實體名稱、實體簡介文本等多種特征的百科實體對齊方法,獲得了較好的效果。
第二種方式是將實體對齊任務看作二分類問題。張佳影等[17]針對不同醫(yī)院對同一項檢查中的指標稱謂不同,導致區(qū)域間醫(yī)療共享受到影響的問題,將實體名稱、縮寫以及參考值的相似度特征作為輸入,輸入二分類模型進行實體對齊,較好地完成了指標項對齊的任務。文獻[18]將實體對齊視作NLP 中的句子對分類任務。首先,構建候選實體對,將其標注為匹配或者不匹配;其次,將實體對的屬性值連接,輸入基于BERT 的二分類模型中進行微調;最后,將候選實體對輸入微調后的BERT 模型,輸出預測標簽,獲取最終匹配的實體對。
在實體對齊任務中,計算相似度的方式是比較常見的方法。然而,這種方法需要依賴于閾值,即對齊的閾值。研究者通常依靠人工分析實體之間的相似度來選擇閾值,這種方法不僅缺乏說服力,而且需要投入相當的人工成本,遷移能力也不強。相比基于相似度計算的方式,基于二分類的實體對齊方法不需要人工制定閾值。但是,如果簡單地使用相似概率大于50% 來判斷相似與否,那么效果通常不太好,因為二分類任務得到的相似概率通常很大。如果將其用于排序,即如果A、B的相似概率大于A、C的相似概率,證明B相較于C與A更相似,則可以獲得更好的效果。
BERT 模型的實質是一個語言模型。語言模型經歷了Word2vec、ELMO(embeddings from language models,ELMO)、GPT(generative pre-training,GPT)、BERT 等幾個階段,前幾個語言模型均存在一些不足,如Word2vec 模型訓練出來的詞向量屬于靜態(tài)詞嵌入,無法表示一詞多義。GPT 則是單向語言模型,無法獲取一個字詞的上下文信息。而對于BERT 模型而言,它是綜合ELMO 和GPT 這兩者的優(yōu)勢而構造出來的模型,能夠很好地兼顧多義詞處理和上下文的語義表示信息。BERT、ELMO 以及GPT 的模型結構如圖1 所示。
BERT 模型可以根據下游的工作對各個參數進行調整,這就使向量表示不再是固定的,它是一個很好的解決單字多義方法。利用BERT 模型進行詞嵌入是當前命名實體識別、語義相似度計算等自然語言處理任務研究的一個熱點方向。首先,將訓練文本轉換成原始詞向量E1,E2,…,EN作為輸入;其次,對輸入的語料數據進行訓練并調整訓練參數,目的是在具體的下游任務中得到更精確的貼合領域的表示信息。BERT 模型通過無監(jiān)督的方式訓練,采用基于“Masked”的遮蔽語言模型和下一句預測的方法,能夠有效提取詞級別和句子級別的特征。遮蔽語言模型通過隨機遮蓋少部分的詞,訓練模型預測遮蔽部分原始詞匯的能力,以得到更豐富的上下文特征。下一句預測的方法通過訓練模型判斷句子之間是否具有上下文關系,進而對其進行標注,能夠獲取更多的句子級特征。
BERT 模型的關鍵在于Transformer 編碼結構,其由自注意力機制(self attention)與前饋全連接神經網絡組成。相比于傳統(tǒng)的RNN 神經網絡及其改進形式LSTM,Transformer 具備更遠距離序列特征的捕捉能力,Transformer 的編碼結構,如圖2 所示。
自注意力機制的原理是計算文本序列中詞與詞之間的相互關系,依據這些相互關系所體現出來的不同詞之間的關聯程度以及重要程度調整每個詞的權重,進而獲得每個詞新的特征表示,該種特征表示在表征詞本身的同時也蘊含了其他詞與這個詞的關聯,可以有效地獲取文本中全局的語義特征表示,計算公式為
圖2 Transformer 編碼結構Fig.2 Transformer encoding structure
其中,Q,K,V分別表示查詢向量,鍵向量和值向量,dk則表示輸入向量的維度。
Transformer 編碼結構為多頭注意力機制的形式,也可以理解為將自注意力機制的模式多復制了幾次,目的是為了使模型能夠在多個表示子空間下學習相關信息。與單頭注意力機制相比,可以獲取多維度信息,使得詞向量的表征更為準確。具體實現過程是對Q、K、V進行多次的線性映射,并將得到的結果進行拼接,如式(2)—(3),
將Transformer 結構中注意力機制的輸出表示為Z,則前饋全連接神經網絡可以表示為式(4),其中b1和b2表示偏置向量。
考慮到自注意力機制不能有效提取詞的位置信息,Transformer 架構引入位置向量,將詞向量和位置向量融合作為模型的輸入。此外,為解決模型訓練過程中出現的梯度消失問題,下一層輸入包含了上一層的輸入與輸出信息,圖2 中的殘差連接與歸一化層就包含了上一層的輸入與輸出信息,歸一化是從加快神經網絡訓練速度的角度出發(fā)進行設置的。
基于神經網絡的分類任務,分類器性能對分類效果的影響非常關鍵。通常模型最后一層全連接層的特征是文本信息在特征空間的映射,對全連接層的輸出使用jaccard、余弦距離等度量方式比較特征之間的相似度,進而完成特征分類。分類模型中常采用softmax 損失函數解決多分類任務,訓練過程中通常在最后的全連接層加入softmax,之后計算交叉熵損失函數,如式(5)。
其中,n和N分別代表訓練樣本數量和訓練類別的數量,y代表訓練樣本所對應的標簽,Wj表示第j個類別的權重表示,fi是第i個樣本在全連接層輸出的向量表示,θ是向量之間的角度,bj是第j個類別的偏置。
以百度百科知識庫作為已知知識庫,互動百科作為待融合知識庫,對于百度百科知識庫的每一個詞條對應的簡介文本,利用微調BERT 的分類模型,遍歷互動百科中的實體簡介文本并篩選相似概率最高的簡介文本對。同時,針對數據集中的樣本比例不平衡的問題,利用負采樣的策略填充負樣本,進一步提升模型的AUC 值。
應用BERT-softmax 分類模型進行實體對齊,模型結構如圖3所示,其輸入為兩個簡介文本句子,首先對其進行token 切分,然后拼接:句子的開頭設置一個[CLS]符號,句子的結束設置[SEP],形如“[CLS]邊沒有方向的圖稱為無向圖。[SEP]無向圖是指一個二元組
將token 序列轉換為BERT 可以接受的輸入形式。首先,將token 映射到預訓練的詞向量中,獲取token embeddings,用來捕捉token 之間的語義和上下文信息;其次,每個token 分配segment embeddings,代表每一個token 其所在的句子標記,將百度百科簡介文本中的segment embeddings 都設置為0,代表第一個句子,互動百科簡介文本中的segment embeddings 都設置為1,代表第二個句子;最后,每個token 分配position embeddings,表示token 在句子的 位 置 信 息。將token embeddings、segment embeddings、position embeddings 拼接并輸入至BERT 模型中,BERT 輸入的形式化表示如圖4 所示。接著通過BERT 模型中的12 層Transformer 學習數據結構文本的語義表示,編碼上下文語義信息,獲得輸出hb。這里的hb是特殊標記[CLS]的輸出向量,其他字符向量的輸出可以代表字符的語義信息,而特殊標記[CLS]可以很好地代表整個序列,作為分類器的輸入更有用。
圖4 BERT 輸入的形式化表示Fig.4 Formal representation of BERT input
考慮到深度學習模型具備大量的超參數,且本文用到的模型數據樣本較少,因此將BERT 模型的輸出連接隨機失活層(dropout)解決模型可能出現的過擬合問題。作為一種可選擇的神經網絡訓練策略,dropout 能夠隨機地讓神經元的激活值不進行工作,使不同隱層節(jié)點之間的相互作用減少,增強模型的泛化性能,有效預防模型過于依賴局部特征的不利情況。具體流程如下:(1)將網絡中的隱藏層神經元暫時地從特定概率中剔除;(2)在該網絡中向前傳播該輸入,然后在該網絡上逆向傳播該輸入,并在每個batch_size 完成后,根據隨機梯度降低算法更新相應的權重W和偏置b;(3)重新生成被丟棄的神經元,在這個時候,被拋棄的神經元參數不會被拋棄,同時更新未被丟棄的神經元參數;(4)迭代步驟(1)—(3)。經上述步驟獲得hd。
使用Dense+softmax 處理BERT 模型的輸出,Dense 是全連接層。將BERT 模型的輸出向量連接dropout 層獲得hd,如公式(6)。在全連接層進行線性映射,利用softmax 函數進行歸一化,輸出對應類別的概率,以預測兩個文本對之間的語義關系,如公式(7)。
其中,Wp和bp分別代表權重和偏置向量,hd表示dropout 層的輸出。運用交叉熵損失函數來度量預測標簽與實際標簽的差值,依據交叉熵損失函數得到的梯度優(yōu)化BERT 內部結構參數和softmax 參數,對模型進行迭代微調,直到有效地提取抽象的語義特征。
負采樣策略的實現過程如下。將簡介文本對輸入微調后的BERT 分類模型,會輸出相似和不相似的概率,將每一個百度百科簡介文本對應的簡介文本匹配概率進行排序并存儲,排序依據概率越大排名就越高的原則,在每個候選實體被排序和存儲后,將得分最高的句子作為最終預測的結果。通過分析發(fā)現,利用爬蟲獲得的簡介文本對構成的數據集多數為正樣本,這會導致模型學習不到更多的負樣本特征,對負樣本識別困難。針對上述問題提出負采樣策略:首先,對于每一個百度百科簡介文本,遍歷經過分類器篩選后的互動百科簡介文本集合,并根據概率對其進行排序,將排序結果存儲;其次,根據需要填充的負樣本數量,遍歷每一個百度百科簡介文本對應的排序列表,選取相似概率最低的M個簡介文本對(M依據所需的負樣本數量制定)進行存儲,從存儲結果中選取一定數目的簡介文本對進行標記并作為負樣本擴充數據集;最后,將擴充后的數據集輸入至微調后的BERT+softmax 模型中繼續(xù)訓練,不斷地調節(jié)神經元的權重,使其能夠持續(xù)地改善模型的預測性能。
為匯聚不同來源知識社區(qū)的多模態(tài)資源,搭建實體對齊訓練模型,構建相應的數據集。由于目前還沒有公開的用于課程資源實體對齊的數據集,所以通過領域專家定義數據結構課程文本中的實體,在百度百科和互動百科知識社區(qū)進行爬蟲,獲取包含屬性、簡介文本、圖片和視頻的詞條資源。選取其中的簡介文本對構建數據集,去除描述完全相同的簡介文本,得到百度百科、互動百科的簡介文本對200 對,中間用空格隔開,如果兩個實體的簡介文本不完全相同、但表達的是同一個實體的語義,則將其標記為1,反之標記為0,標記同樣與文本用空格隔開。將數據集劃分為train.csv 和test.csv,比例為8∶2,train.csv 包含160 對,test.csv 包含40 對。
實體對齊實驗的配置信息和參數設置如表1—2 所示。
表1 配置信息Tab.1 Configuration information
表2 實驗參數設置Tab.2 Experimental parameter settings
微調BERT 詞嵌入的分類模型,將其應用到簡介文本對齊的任務中,優(yōu)化模型參數和權重,利用微調后的BERT 模型遍歷文本對,獲取相似概率并進行排名,選取相似概率最高的作為最終對齊的簡介文本對。主要針對BERT 模型的微調過程以及依據BERT+softmax 模型輸出的相似概率進而排序的預測結果進行評估。
本文微調BERT 模型的下游任務是分類任務。傳統(tǒng)分類器大都是根據正確率進行評價,如公式(8),即正確識別出的樣本量占全部樣本量的比例。但這樣的評價方法也有其局限性,在一些分類任務的具體應用中,數據往往存在類別不均衡的情況,某一類樣本數目遠超其他類型。在此條件下,分類器的效果將會受到影響,預測結果往往會傾向于樣本數量較多的類別,導致模型性能下降。相關研究者針對樣本不均衡問題,提出使用AUC 值進行評估,如公式(9)。
AUC 常被用于二分類任務的評估,它代表了ROC(receiver operating characteristics)曲線下的面積大小,AUC 的范圍介于0.5~1,其值越大,則代表模型的分類性能越好,即對于數據集中隨機給定的一對正負樣本,正樣本的預測值大于負樣本的概率越大。在二分類的預測任務中,AUC 不受正、負樣本之間比例變化的影響,所以常被用于數據不均衡的分類任務評估中。本文選取AUC作為BERT 模型微調過程的評估指標。
在微調BERT 模型的基礎上,將簡介文本對輸入微調后的BERT 模型獲得相似概率,并依據相似概率排名獲取最終的預測結果,使用P值、R值和F1 值進行評估,如公式(10)—(12)。
將實體對齊評估中的數據分為測試集數據和預測結果數據,數據類型分為正類與負類。在此之上,其結果分為TP(true positive)、FP(false positive)、TN(true negative)和FN(false negative)四種評估結果類型,代表的含義見表3。
數據集中的數據分布極不平衡,正樣本一共有187 條,訓練集中有150 條,而負樣本僅為13 條,訓練集中有10 條。本節(jié)設置負采樣模型優(yōu)化策略填充訓練集中的負樣本,提升模型的準確程度與魯棒性。首先,對于百度百科中的每一個實體的簡介文本,遍歷互動百科中的簡介文本,依據相似概率對其進行排序;其次,將擴充訓練集中負樣本的數量分別設置為正樣本的1/2 倍、1 倍、3/2 倍以及2 倍進行對比,采用二分類任務中的AUC 指標進行實驗結果分析,實驗結果見表4;最后,根據不同數量負樣本的實驗結果保存模型性能最優(yōu)時的訓練參數,將測試集輸入微調后的BERT 模型進行排名預測,使用P值、R值和F1 值進行評估。
觀察實驗結果發(fā)現,模型在輸入負樣本的數量為75 時AUC 值得到提升,說明模型推遠了百度百科簡介文本與之相對應的互動百科簡介負樣本之間的語義聯系,即給定一對正樣本與負樣本,預測正樣本大于負樣本的概率也在提升。在取得N=150,即正樣本與負樣本數量相當時實驗效果最好,但隨后N取225、300,負樣本多于正樣本時模型的性能會下降,可能是負樣本太多導致模型學習到了無用的信息。通過分析本文認為添加負樣本能夠幫助模型有效地學習到百度百科與互動百科簡介文本之間的語義關系,提升負樣本的預測準確程度,但是過多地添加負樣本可能會導致模型學習到無用的信息導致模型性能下降。另一方面,添加負樣本可以從數據集的角度均衡正樣本與負樣本的數量,最大程度地提升模型性能。
AUC 值代表分類任務的性能,其能夠有效評估分類任務中正樣本、負樣本的排序能力。因此選取擴充后負樣本數目為150,AUC 值為0.95 時保存模型的訓練參數,將測試集中的簡介文本對輸入模型中,與未采用負采樣策略的模型進行對比,并利用P值、R值、F1 值評估實驗結果(表5)。觀察模型結果發(fā)現,采用負采樣策略優(yōu)化后的模型能夠使得實驗結果的F1 值提升,證明了負采樣策略的有效性。
表3 實體對齊評估相關數據含義Tab.3 Meaning of data related to entity alignment evaluation
表4 負采樣策略實驗結果對比Tab.4 Comparison of experimental results of negative sampling strategy
將本文提出的模型與其他模型比較,對比的模型是當前文本相似度計算較為流行的Word2vec+余弦相似度和BERT+余弦相似度的方法。
Word2vec+余弦相似度:在大量的數據結構文本語料庫上通過無監(jiān)督的方式訓練Word2vec 模型,在Word2vec 模型上輸入簡介文本對,得到詞向量表示,然后利用余弦相似度計算句對之間的相似度,選擇相似度最大值與人工分析設定的閾值0.76 進行比較,若大于閾值則將詞條資源對作為最終對齊的結果。
BERT+余弦相似度:將簡介文本對輸入至BERT 模型中進行向量表示,計算文本對之間的余弦相似度,同樣將文本對對應的相似度最高值與人工分析設定的閾值0.73 比較,若大于閾值則判斷兩個簡介文本對應的詞條資源對齊。
選定樣本數目為150 時保存本文模型的訓練參數,然后將測試集中的簡介文本對輸入模型中,與上述模型進行對比,利用P值、R值、F1 值評估實驗結果(表6)。
表5 采用負采樣策略后的模型預測結果Tab.5 The model predictive results by using negative sampling strategy
表6 不同模型對比結果分析Tab.6 Analysis of comparison results of different models
由表6 可知,本文采用的微調BERT 詞嵌入的模型取得了最佳的實驗效果,同時通過對比Word2vec+余弦相似度和BERT+余弦相似度的實驗效果可知,Word2vec 模型表現更好,通過將電子課程教材輸入Word2vec 模型訓練,并經過結合課程詞典生成的詞向量表示要優(yōu)于直接使用BERT 以無監(jiān)督方式生成的詞向量表示,進而帶來下游任務準確率的提升?;诙诸惖姆椒▽嶒灲Y果好于基于相似度計算的Word2vec+余弦距離、BERT+余弦距離方法,原因是通過標記正負樣本為分類器提供訓練數據并微調分類器,分類器通過學習已標記樣本的特征,可以更好地區(qū)分兩個類別的樣本。同時利用負采樣策略平衡正負樣本的比例,不斷優(yōu)化和調整模型參數,使得對齊模型的性能表現更優(yōu)。
本文提出微調BERT 詞嵌入的實體對齊方法,通過負采樣策略設置不同的負樣本數量優(yōu)化模型性能,然后與基于相似度計算的Word2vec+余弦相似度、BERT+余弦相似度方法進行對比。實驗結果證明負采樣策略能夠有效提升該模型的AUC 值,與其他模型對比也證明本文基于相似概率排名的方式相較于基于相似度計算的方式表現更好,在F1 值上有明顯的提升。