?

基于知識嵌入式預訓練語言模型的文本分類方法研究

2024-01-04 02:36淵,姚
武漢工程大學學報 2023年6期
關鍵詞:令牌編碼器實體

張 淵,姚 峰

武漢工程大學計算機科學與工程學院,湖北 武漢 430205

在文本分類任務上,預訓練的語言表示模型已經取得了很好的成績,例如,基于變換器的雙向編碼器表征(bidirectional encoder representations from transformers,BERT)模型通過簡單的微調就能在文本分類任務上取得很好的結果[1]。但是這些預訓練模型并不能很好地將知識信息納入到語言理解當中。為了解決這一問題,Zhang 等[2]提出了一種信息實體增強語言表示(enhanced language representation with informative entities,ERNIE)模型,該模型使用由TransE 算法[3]預訓練得到的實體嵌入作為其輸入,并利用知識圖譜中豐富的語義信息來增強文本表示。

然而,TransE 算法存在多個實體會在嵌入空間中競爭一個點的缺點,因此在處理一對多或者多對多的情況時效果并不理想。針對這個缺點,可以使用Wang 等[4]提出的知識嵌入和預訓練語言表示(knowledge embedding and pre-trained language representation,KEPLER)模型作為知識嵌入模型來獲取實體嵌入,該模型通過對知識圖譜中的知識信息進行提取和編碼,將每個實體與對應的語料庫中的描述相對應,為每個實體獲得其對應的文本描述信息,可以生成有效的包含豐富文本信息的知識嵌入,能夠更好地將事實知識整合到預訓練語言模型中。

為了提高自然語言處理中各任務的效果,研究人員開始關注文本中的語義信息,文字和圖像最大的不同之處在于,文字中包含了詞與詞之間的邏輯,包含了人的思想等重要信息,而圖像并沒有這些復雜的語境信息[5]。舉例來講,“2009 年,胡歌演唱了電視劇《仙劍奇俠傳3》的主題曲《忘記時間》”這句簡單的文本就可以提煉成如圖1 所示的包含語義信息的示例圖。如果想要提取圖中實體包含的知識信息,就要知道不同實體代表的意義,如果不知道《忘記時間》和《仙劍奇俠傳3》分別是歌曲和電視劇,很難識別胡歌在實體任務中的兩種職業,即歌手和演員。由此可見,豐富的語義信息能夠讓模型更好地理解文本,從而有利于文本分類任務。

圖1 包含語義信息的示例圖Fig.1 Example of containing semantic information

早期獲取文中的語義信息主要有2 種方法:基于特征和微調的方法。王珊珊等[6]提出一種基于特征的方法,通過訓練神經網絡從而得到詞語的嵌入,將文本表示為低維的向量。但是基于特征的方法使用的是經過訓練得到的詞語嵌入,在具體的任務中使用已訓練好的詞向量作為詞語的嵌入,不具普適性,只針對于具體任務才有好的效果,同時這種方法,在訓練過程中捕獲的句法和語義信息有限并且還會受到一詞多義的影響。為了克服這一缺陷,葉水歡等[7]提出了一種序列級模型來捕獲復雜單詞特征即根據上下文來推斷每個詞對應的向量,但是其只能解決一部分的歧義性,同一個詞有不同的上下文時,就會過度考慮上下文信息。與這種只使用經過訓練后的語言表示作為特征嵌入的方式不同,基于微調的方法,會根據下游特定任務,在原來的模型上做出一些修改,使得最終的輸出是當前任務需要的。例如,張民等[8]提出一種生成性預訓練轉換器來學習語言表征。楊興銳等[9]提出了一種基于殘差注意力BERT 詞向量的文本分類模型,該模型在文本分類任務中取得了很大成功。雖然這些方法都取得了不錯的成績,但都沒有考慮到利用知識信息。

所以,考慮到豐富的知識信息可以獲得更好的語言理解,從而有益于文本分類任務,可以將外部知識納入語言表示模型,同時為了順利完成2 部分信息的融合,提出一種通過知識嵌入式預訓練語言模型改進信息實體增強語言表示(ERNIEKEPLER)模型。而且為了更好的結合文本和知識特征,隨機屏蔽輸入文本中的一些命名實體,并從知識圖譜中選擇適當的實體來完成對齊是一種比較合適的解決辦法。

1 模型結構

1.1 總體結構

綜合考慮ERNIE 模型和KEPLER 模型的優點,構建了一種用于中文文本分類的ERNIEKEPLER 模 型,如 圖2 所 示。ERNIE-KEPLER 模型的整體結構由3 個部分組成:①底層文本編碼器,負責從輸入令牌中捕獲基本詞匯和語法信息;②KEPLER 模型,負責提取知識圖譜中包含的豐富的語義信息的實體;③上層知識編碼器,負責將面向令牌的額外知識信息和文本信息進行結合。

圖2 ERNIE-KEPLER 模型結構圖Fig.2 ERNIE-KEPLER model structure diagram

1.2 文本編碼器

文本編碼器對于給定的令牌序列,首先對每個令牌的令牌嵌入、分段嵌入、位置嵌入求和,用于計算其輸入嵌入,然后計算詞匯和句法特征{t1,…,tn},其中n為令牌序列的長度,tn表示第n個令牌。該部分的實現與BERT 模型相同,因此在后文不做過多介紹。

1.3 知識嵌入模型

通過KEPLER 模型獲得的實體序列{e1,…,em}作為實體輸入,其中m為實體序列的長度,em表示第m個實體。在KEPLER 模型中,使用實體對應的文本將實體編碼為向量,而不是像傳統知識嵌入模型那樣為每一個實體、關系都分配一個d維向量。與此同時,使用實體描述作為嵌入的方法,并經過Transformer 架構[10]的編碼器得到了序列每個位置的上下文表示,在保證簡單有效的同時獲得包含x個有效的頭實體列表{H}和y個有效的尾實體列表{T},這些實體將組成實體列表{e1,…,em}以用作知識編碼器中的實體嵌入。KEPLER 知識嵌入模型框架如圖3 所示。

圖3 KEPLER 模型框架Fig.3 KEPLER model framework

對于關系三元組(頭實體,關系,尾實體),KEPLER模型通過公式(1)將實體描述作為嵌入,公式(1)表示如下:

其中th、tt是頭實體h和尾實體t的描述,并使用字節對編碼的標記方式[11]將其轉化為標記序列,開頭有一個特殊標記<s>,通過該標記,可以知曉標記后的句子就是對該實體的表示,同時將表示函數表示為E<s>(·)。Tr是關系嵌入,r表示頭實體和尾實體之間的關系類型,H、T、R分別是h、t、r的嵌入。同時使用范文韜[12]提出的損失作為知識嵌入目標,采用負采樣進行有效優化。

1.4 知識編碼器

知識編碼器的輸入包括文本的特征向量和信息實體兩部分。在文本編碼器計算完特征向量后,ERNIE-KEPLER 模型采用知識編碼器將知識信息注入語言表示。通過KEPLER 模型獲得的實體序列{e1,…,em}表示實體嵌入,然后將令牌序列{t1, …,tn}和實體序列輸送到知識編碼器,用于合并異構信息并計算最終輸出嵌入,該過程可以表示為:

其中K代表知識編碼器,K(·)表示異構信息融合函數,令牌序列{t1,…,tn}和實體序列{e1,…,em}作為該函數的兩個輸入。{t0,1,…,t0,n},{e0,1,…,e0,m}是經訓練后最終的輸出,將用于文本分類任務中,{t0,n}和{e0,m}表示最后一層的第n個令牌輸出和第m個實體輸出,知識編碼器第i層的信息融合過程如圖4 所示。

圖4 第i層信息融合流程圖Fig.4 Flowchart for the i-th level information fusion

知識編碼器由堆疊的聚合器組成,這些聚合器用于編碼令牌和實體并融合它們的異構特征。從圖4 可知,在第i個聚合器中,輸入令牌嵌入和實體嵌入,分別輸送到2 個多頭自注意網絡[13]中,最后得到第i層的令牌輸出和實體輸出,編碼過程如式(3)所示。

其中M(·)表示多頭自注意網絡函數,{t(i -1),1,…,t(i -1),n}和{e(i -1),1,…,e(i -1),m}分別表示第i-1 層的輸入令牌嵌入和實體嵌入,{Ti,1,…,Ti,n} 和{Ei,1,…,Ei,m}表示第i層的令牌和實體輸出。然后,第i個聚合器對令牌和實體進行相互集成,并計算每個令牌和實體的輸出嵌入。對于令牌和其對應的實體,信息合并過程如下:

其中hj是融合令牌和實體的內部隱藏狀態。σ(·)是非線性激活函數,一般是高斯誤差線性單元函數[14]。Ti,j和Ei,k分別表示第i層信息融合后的令牌和實體的輸出嵌入,j和k分別表示兩者的長度,Wi,t和Wi,e分別為對應于2 個輸入項Ti,j和Ei,k的權重參數,用來調節輸入對節點的貢獻程度。bi為常數,表示偏置項,不依賴于輸入。偏置項用于調整節點的激活閾值,從而影響節點的激活程度。

對于沒有對應實體的令牌,信息融合層只計算輸出不進行集成,如式(5)所示。

簡單來說,第i層的聚合器操作如下,

其中A(·)表示聚合器函數,{t(i -1),1,…,t(i -1),n}和{e(i -1),1,…,e(i -1),m}分別表示第i-1 層的輸入令牌嵌入和實體嵌入,把這2個嵌入作為聚合器函數的輸入,在經過最后一層的聚合器計算以后,得到令牌輸出嵌入{ti,1,…,ti,n}和實體輸出嵌入{ei,1,…,ei,m},這2個輸出嵌入將用作知識編碼器的最終輸出嵌入。

2 實驗部分

2.1 數 據

本實驗的文本分類任務屬于主題分類,所選數據集為清華大學自然語言處理組開源的THUCNews 新聞文本分類數據集(2.04 G),同時為體現各個模型的分類效果,選用SogouNews 新聞數據集進行對比試驗。首先在THUCNews 數據集中篩選10 個分類的數據,每個分類6 000 條數據,總共63 500 條新聞數據,其中訓練集每個分類5 120 條數據,測試集每個分類1 230 條數據,SogouNews 數據集也是選取相同的10 個分類,但是由于該數據集文本較短,收錄的新聞數據在時間范圍上也比THUCNews 數據集偏短,覆蓋面比較狹小,所以選取的數據量相對較少一些。

2.2 設 置

在進行實驗過程中,參考了亢文倩[15]用到的方法,設置以下參數對模型進行預訓練,文本編碼器層的數量N=6,知識編碼器層的數量M=6,令牌嵌入和實體嵌入的隱藏維度分別為768 和100,聚合器中的自注意頭的數量分別為12 和4,注意力層丟失概率設置為0.1,學習率為5×10-5,學習周期數為2 或者3。

2.3 結果分析

2.3.1 不同模型的分類效果對比 在THUCNews數據集和SogouNews 數據集上對不同模型的準確率、召回率進行對比,驗證不同模型的分類效果,結果如表1 所示,P、R、F1分別代表精確率、召回率、精確率和召回率的調和平均數。

表1 不同數據集上各模型的結果Tab.1 Results of each model on different datasets %

從 表1 可 以 看 出,BERT、ERNIE 和ERNIEKEPLER 模型的召回率在2 種數據集上都要遠高于文本循環神經網絡(text recurrent neural network,TextRNN)模型,說明預訓練的語言模型更適合對較長的文本進行處理。前者充分發揮了預訓練的優勢并利用了預處理的數據,以更好地完成信息提取和信息融合。從表1 也可以看出ERNIE-KEPLER 模型的召回率在2 種數據集上分別達到89.18%和90.36%,接近90%,與召回率為85.65%、87.35% 的BERT 和87.45%、88.61% 的ERNIE模型相比,提高了近2%,說明ERNIE-KEPLER模型的適用性較強,在不同的數據集上都有較好表現,由此可見ERNIE-KEPLER 模型的分類效果優于文中應用于分類任務中的其他模型。

2.3.2 不同數據集上模型分類效果的對比 為了驗證不同數據集對實驗結果也有一定影響,實驗人員同時記錄了4 種模型在THUCNews 和SogouNews 數據集上的實驗結果并統計了模型在文本分類任務的準確率指標。實驗結果表明,不同的數據集也會造成實驗結果的差異。對比實驗結果如圖5 所示,且4 種模型在數據質量比較高的THUCNews 數據集上表現出來的準確率比SogouNews 數據集都要高,這表明包含的語義信息越豐富,覆蓋面越廣泛的數據集,模型在該數據集上表現出的效果越突出。

2.3.3 不同模型損失函數對比 在實驗的過程中對比發現,在THUCNews 數據集上訓練的過程中,ERNIE-KEPLER 模型的收斂速度比TextRNN 和ERNIE 模型都要快,穩定后的損失值也比其他2種模型更低。3 種模型的損失曲線如圖6 所示。

圖6 損失值收斂示意圖Fig.6 Convergence diagram of loss values

當迭代次數為0 時,即模型剛開始訓練時,實驗結果如圖6 所示,TexRNN 模型的損失值明顯低于其他2 種模型的損失值,這是因為訓練過程中,TextRNN 模型一次性輸入給模型進行更新的樣本數目為16,使得在模型開始訓練時,會有16 個訓練樣本同時使用神經網絡,而其他2 種模型樣本數目為32,使得模型對數據的訓練結果存在較大誤差,造成較大的損失,也導致TextRNN 模型剛開始的損失值明顯低于其他2 種模型。

同時,在ERNIE 模型的訓練過程中,出現了損失值先增大后減小的問題,而在ERNIE-KEPLER模型中并未出現。這是由于數據處理方式的不同,導致部分數據保留的有用的信息較少,使得ERNIE 模型獲得的知識信息與實際信息存在誤差;另一方面雖然有的數據包含的有效信息較少,但是ERNIE-KEPLER 模型使用了知識嵌入模型對知識信息進行提取,能夠為實體進行信息擴展,使實體包含更豐富的語義信息,ERNIE 模型雖然也使用了知識嵌入,但是相對本次實驗中提出的方法,其獲得的實體嵌入沒有包含更多的語義信息。所以也說明ERNIE-KEPLER 預訓練語言模型憑借其優秀的學習能力更容易通過調整參數來使模型有更優秀的表現,即ERNIE-KEPLER 模型比其他模型具有更高的訓練效率。

綜合試驗結果表明,經KEPLER 模型優化后的ERNIE 模型,更好地融合了知識圖譜中的實體信息,從而使預訓練語言模型比普通的網絡模型在文本分類任務中有更好的結果,證明了本次研究的方法的可行性,能夠有效提高文本分類的準確率。

3 結 論

為了利用知識嵌入模型將知識圖譜中的知識信息融合到語言模型中,通過將實體和實體描述相對應,使實體包含更多的文本信息,從而使訓練好的模型能更好地理解文本,增強語言表示。同時,為了更好地融合文本和知識圖譜中的信息,使用了知識編碼器和去噪實體自動編碼器。實驗結果表明,本次研究的方法具有良好的性能,ERNIEKEPLER 模型比BERT 和ERNIE 模型具有更好的數據學習能力。未來的研究方向,可以按照本文的思路,引入知識庫等其他結構化的外部知識,優化預訓練語言模型,而且本文提出的模型在實驗過程中參數過多,訓練時間較慢,如何提高模型的效率,加快模型的訓練速度也是可以研究的方向;還可以考慮基于特征的預訓練模型與知識信息的融合,從而探索在文本分類任務中更加有效的方法。

猜你喜歡
令牌編碼器實體
稱金塊
基于路由和QoS令牌桶的集中式限速網關
前海自貿區:金融服務實體
基于FPGA的同步機軸角編碼器
動態令牌分配的TCSN多級令牌桶流量監管算法
實體的可感部分與實體——兼論亞里士多德分析實體的兩種模式
兩會進行時:緊扣實體經濟“釘釘子”
振興實體經濟地方如何“釘釘子”
基于PRBS檢測的8B/IOB編碼器設計
JESD204B接口協議中的8B10B編碼器設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合