• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      融合字形信息的頭尾指針網(wǎng)絡(luò)術(shù)語抽取模型

      2022-07-06 07:14:34李育賢呂學(xué)強游新冬
      關(guān)鍵詞:頭尾解碼器字符

      李育賢,呂學(xué)強,游新冬

      (北京信息科技大學(xué) 網(wǎng)絡(luò)文化與數(shù)字傳播北京市重點實驗室,北京 100101)

      0 引言

      不同領(lǐng)域的術(shù)語可以很好地表現(xiàn)不同領(lǐng)域的特點,領(lǐng)域術(shù)語的發(fā)展變化也在一定程度上反映了領(lǐng)域的發(fā)展變化。構(gòu)建領(lǐng)域術(shù)語庫,極大便利了領(lǐng)域內(nèi)、領(lǐng)域間的溝通交流,也給領(lǐng)域內(nèi)的多項任務(wù)展開帶來幫助。

      武器裝備領(lǐng)域的術(shù)語庫構(gòu)建可以為國防科技發(fā)展提供服務(wù)和保障,但目前我國這方面的研究還不足。在相關(guān)的軍事領(lǐng)域,我國關(guān)于軍事術(shù)語的唯一權(quán)威詞典《中國人民解放軍軍語》,自建軍以來僅僅發(fā)行過6個版本[1]。人工編撰軍語詞典的高成本,導(dǎo)致了軍語詞典更新速度較為緩慢,單純依賴人工構(gòu)建術(shù)語庫的方式費時費力,已經(jīng)不能匹配新術(shù)語的增長速度。隨著計算機技術(shù)和自然語言處理技術(shù)的發(fā)展,我們可以構(gòu)建一套自動領(lǐng)域術(shù)語抽取模型完成術(shù)語抽取任務(wù),從而降低時間和人工成本,提升術(shù)語抽取效率。

      早在1996年,Bourigault等[2]使用詞性標(biāo)注大量的文本數(shù)據(jù),使用有限自動機學(xué)習(xí)文本詞性的各種規(guī)則,利用規(guī)則抽取術(shù)語。此后,Kaushik等[3]對農(nóng)業(yè)領(lǐng)域大量文本進行分析,找出了針對該領(lǐng)域的術(shù)語抽取規(guī)則,利用正則表達式編寫規(guī)則提取術(shù)語,并利用整個術(shù)語詞的詞性組合來過濾不合理的術(shù)語。孫水華等[4]通過詞典匹配,先識別出可能的組成術(shù)語的詞根詞綴等字詞信息,之后再組合判斷整體是否為術(shù)語,該方法在中醫(yī)針灸領(lǐng)域取得了較好的抽取效果。

      基于規(guī)則的方法雖然簡單有效,但只適用于特定場景,規(guī)則無法覆蓋更多的情形。于是研究者嘗試?yán)媒y(tǒng)計學(xué)信息或使用機器學(xué)習(xí)模型進行術(shù)語抽取。Justeson等[5]運用詞頻統(tǒng)計量進行術(shù)語抽取,做出在特定領(lǐng)域中術(shù)語的詞頻一定較大的假設(shè)。Frantzi等[6]針對僅僅依靠詞頻無法識別嵌套術(shù)語和無法區(qū)分長短術(shù)語的問題,提出使用C-value指標(biāo)對候選術(shù)語進行排序,最終按排序結(jié)果得到術(shù)語。熊李艷等[7]針對現(xiàn)有術(shù)語抽取方法對低頻術(shù)語不友好的問題,使用背景語料庫作為反例計算領(lǐng)域分布度,并結(jié)合有效詞頻改進了C-value,在計算機領(lǐng)域獲得了較好的術(shù)語抽取效果。

      使用機器學(xué)習(xí)模型方面,趙欣等[8]設(shè)計了一套中文術(shù)語抽取系統(tǒng),通過大量的標(biāo)注數(shù)據(jù)訓(xùn)練最大熵模型,之后使用此模型對候選術(shù)語進行分類,判斷該詞語是否為術(shù)語。Judea等[9]也通過數(shù)據(jù)訓(xùn)練了邏輯回歸(logistic regression,LR)和條件隨機場(conditional random field,CRF)兩種分類器,之后對候選詞進行分類判斷。何宇等[10]在許多特征的基礎(chǔ)上,加入了依存句法分析關(guān)系,并訓(xùn)練了條件隨機場模型,證實了依存句法分析關(guān)系是術(shù)語抽取任務(wù)的一個非常有效的特征。王昊等[11]在鋼鐵冶金領(lǐng)域,訓(xùn)練了一套CRF術(shù)語抽取模型,給序列中的每個字符打上一個標(biāo)簽,最后解碼出術(shù)語,使用迭代自訓(xùn)練的方式,將每一輪識別出的新術(shù)語加入下一輪訓(xùn)練集繼續(xù)訓(xùn)練。

      由于深度學(xué)習(xí)模型可以節(jié)省人工構(gòu)建特征的成本,且有著強大的特征提取能力,使用深度學(xué)習(xí)模型進行序列標(biāo)注已經(jīng)成為術(shù)語抽取任務(wù)新的范式。Zhao等[12]使用雙向長短時記憶網(wǎng)絡(luò)(bidirectional long short-term memory,BiLSTM)提取語義特征,并結(jié)合多個語言學(xué)特征,使用CRF解碼完成術(shù)語抽取。Kucza等[13]使用遞歸神經(jīng)網(wǎng)絡(luò)抽取術(shù)語,并結(jié)合字嵌入信息,增強術(shù)語抽取效果。Wu等[14]借助基于轉(zhuǎn)換器(Transformer)的雙向編碼器表示(bidirectional encoder representation from transformers,BERT)[15]預(yù)訓(xùn)練模型獲得語義信息更加豐富的文本字符表示,之后使用BiLSTM進一步對字符表示進行強化,最終使用CRF解碼得到實體。

      由于武器裝備領(lǐng)域的特殊性,其術(shù)語抽取工作研究較少。2020年,Zhang等[16]從軍事語料中提取多個特征,利用這些特征訓(xùn)練CRF模型抽取術(shù)語。但是此方法沒有利用到深度學(xué)習(xí)模型強大的學(xué)習(xí)能力,存在進一步提升的空間。本文使用深度學(xué)習(xí)模型進行武器裝備領(lǐng)域術(shù)語的抽取,以獲得更好的抽取效果。

      1 模型構(gòu)建

      本文的最終目的就是構(gòu)建一個效果良好的術(shù)語自動抽取模型。通常情況下,術(shù)語抽取任務(wù)和實體識別任務(wù)相似,以序列標(biāo)注的方式完成。通用領(lǐng)域中,主流模型選用BERT+CRF完成術(shù)語抽取任務(wù),本文針對武器裝備領(lǐng)域術(shù)語的特點,構(gòu)建了BERT+頭尾指針網(wǎng)絡(luò)+Focal Loss的術(shù)語抽取模型。首先用BERT預(yù)訓(xùn)練模型將句子編碼,得到句子中每個字符的向量表示,之后將每個字符拼接上其對應(yīng)的五筆向量表示,旨在融入更多字形信息來增強表示層所包含的信息。接著使用頭尾指針網(wǎng)絡(luò)對序列中的字符逐個進行標(biāo)注,最終得到兩個序列:術(shù)語開頭的標(biāo)注序列和術(shù)語結(jié)尾的標(biāo)注序列,分別表征每個字符是否為術(shù)語的開頭或結(jié)尾。由于使用頭尾指針網(wǎng)絡(luò)解碼,將術(shù)語抽取任務(wù)轉(zhuǎn)換成了對每個字符的分類任務(wù),考慮到由此帶來的標(biāo)簽不平衡問題,本文選擇Focal Loss進行損失計算,以減輕標(biāo)簽不平衡帶來的不良影響。模型的整體框架如圖1所示。

      圖1 模型框架

      如圖所示,輸入的句子經(jīng)過模型的表示層得到文本上下文向量,然后拼接五筆特征,最后由頭尾指針網(wǎng)絡(luò)解碼器輸出“福特號航空母艦”、“杰拉德R福特號”和“美國海軍核動力航空母艦”3個武器裝備術(shù)語。

      1.1 表示層

      以往研究表明,序列標(biāo)注任務(wù)中底層嵌入的效果對最終抽取效果會產(chǎn)生很大的影響。表示層表示越強,帶有信息越多,模型的最終效果越好,抽取效率更高。本文模型的表示層分為兩個部分,一是通過BERT預(yù)訓(xùn)練模型獲取字符的向量表示,更好地表達語義信息,二是通過詞向量工具訓(xùn)練出每個字符對應(yīng)的五筆編碼,融入字形信息,以便模型更好地實現(xiàn)術(shù)語的抽取。

      1.1.1 BERT編碼

      BERT是一種預(yù)訓(xùn)練語言模型,在自然語言處理的各項任務(wù)中都表現(xiàn)出優(yōu)異的性能。BERT以Transformer的編碼器為基礎(chǔ),由12個或者24個采用自注意力機制的Transformer編碼器堆疊組成。BERT模型主要由嵌入層、編碼器、下游任務(wù)適配的解碼器組成。

      嵌入層設(shè)置3個向量:字嵌入(Token embedding)、段嵌入(Segment embedding)和位置嵌入(Position embedding)。字嵌入負責(zé)將輸入BERT模型的字符轉(zhuǎn)換成字向量;段嵌入負責(zé)區(qū)分輸入到BERT模型中的是哪一條句子;位置嵌入用來區(qū)分句子中字符的不同位置。之后,將這3個嵌入向量相加送入到Transformer的編碼器中。

      經(jīng)過Transformer的編碼器進一步編碼后,使用得到的向量作為字符表示,銜接各種各樣的下游任務(wù)。為了使字符表示帶有更加豐富的語義信息,更好地生成表示向量,在編碼器后接兩個預(yù)訓(xùn)練任務(wù),通過海量數(shù)據(jù)預(yù)訓(xùn)練模型,更新參數(shù)。兩個預(yù)訓(xùn)練任務(wù)分別是掩碼語言模型(masked language model,MLM)任務(wù)和下一句預(yù)測(next sentence prediction,NSP)任務(wù)。其中MLM通過隨機將句子中的字符進行遮掩并預(yù)測恢復(fù)被遮掩字符的方式,學(xué)到帶有上下文語義信息的字符表示;NSP任務(wù)判斷輸入的一對句子是否為上下句關(guān)系,來學(xué)習(xí)句子之間的語義關(guān)系。

      至此,BERT完成了整個的預(yù)訓(xùn)練任務(wù),得到了較好的字符表示。

      本文方法使用BERT作為字符表示進行術(shù)語抽取任務(wù),從表示層的角度提高武器裝備領(lǐng)域術(shù)語抽取模型的性能。在BERT嵌入層模塊,將包含武器裝備領(lǐng)域術(shù)語的非結(jié)構(gòu)化文本進行數(shù)據(jù)預(yù)處理,按字符將句子分割得到句子中單字符的列表,在列表的首尾添加“[CLS]”和“[SEP]”標(biāo)簽,不足最大長度的列表填充“[PAD]”標(biāo)簽。之后將這些字符標(biāo)簽轉(zhuǎn)換成BERT詞表對應(yīng)的ID,得到輸入序列:X=(x0,x1,…,xn-1),對這個序列進行編碼獲取字符表示向量。輸入序列的向量化過程如式(1)所示。

      VBERT=BERT(X)

      (1)

      式中:VBERT為輸入序列X通過BERT模型編碼得到的文本向量。BERT表示BERT預(yù)訓(xùn)練模型。

      1.1.2 五筆編碼

      使用BERT對字符進行編碼表示時,模型對句子處理的最小單元是字。而漢字中不僅包含語義信息,還包含了許多字形信息。字形上相似的漢字一般在語義上也有相似性,這一特點對術(shù)語的判斷有著很大的幫助。

      漢字中,字形信息有不同的表達形式,如偏旁部首、筆畫等,其中偏旁部首只表達了一個字中的部分信息,橫、豎、撇、點等筆畫所表達出的信息過于簡單,而五筆編碼通過拆字的形式,將漢字的各個部分分別用一個編碼表示,最后組合形成整個字的編碼。五筆表示的字形較為完整,而且其拆出的一些字形部分本身就具有一定含義,相較于偏旁部首和筆畫,可以更好地表示字形信息。

      在武器裝備領(lǐng)域,許多術(shù)語中的字符有著相似的五筆編碼,證明這些字符在字形、語義上有一定的相似性,這些相似性可以輔助我們判斷一個詞是否為術(shù)語。例如,“艦”字和“航”字,“艦”的五筆編碼為“temq”,“航”的五筆編碼為“tey”??梢钥吹絻蓚€字的五筆編碼中都含有“te”編碼,說明其字形存在部分相似。如果“艦”字是術(shù)語中的一個字符,那么“航”字也很可能是術(shù)語中的一個字符。因此,本文將五筆字形信息引入字符的向量表示中,用來提升武器裝備領(lǐng)域術(shù)語識別的效果。

      本文使用word2vec對五筆編碼進行轉(zhuǎn)換。首先將網(wǎng)絡(luò)上收集的語料按照字符進行分句,根據(jù)漢字五筆對應(yīng)表,將每個字符轉(zhuǎn)換成對應(yīng)的五筆編碼,在漢字五筆對應(yīng)表中查不到相應(yīng)五筆編碼的字符,以及其他語種字符,使用符號“[UNK]”代替。把這些編碼去重,構(gòu)建五筆編碼詞表,準(zhǔn)備好訓(xùn)練數(shù)據(jù)。之后使用word2vec方法生成五筆編碼對應(yīng)的向量,并保存待用。

      得到各個五筆編碼的向量后,下一步就是獲得句子中每個字符的五筆向量,和BERT獲得的字向量拼接在一起。首先對句子以字為單位進行分詞,得到句子單字符組成的列表,將列表里的字符轉(zhuǎn)為五筆編碼。為了保證字符的五筆向量和BERT向量是一一對應(yīng)的,向五筆編碼列表首尾各添加一個“[UNK]”,對應(yīng)BERT中的“[CLS]”和“[SEP]”標(biāo)簽,對句子長度填充相應(yīng)數(shù)量的“[UNK]”標(biāo)簽,對應(yīng)BERT中的“[PAD]”標(biāo)簽。之后將五筆編碼和“[UNK]”標(biāo)簽轉(zhuǎn)換成五筆編碼詞表對應(yīng)的索引,得到輸入序列

      Xwubi=(xwubi0,xwubi1,…,xwubin-1)

      (2)

      用上一步保存的詞向量表初始化神經(jīng)網(wǎng)絡(luò)的嵌入層,通過嵌入層得到每個字符對應(yīng)的五筆向量表示。輸入的五筆序列的向量化過程為

      Vwubi=embedding(Xwubi)

      (3)

      式中:Vwubi為輸入的五筆序列Xwubi通過嵌入層得到的文本向量;embedding表示抽取模型中的嵌入層。

      最后拼接五筆向量和BERT向量作為最后的向量表示Vinput:

      Vinput=concat(Vwubi,VBERT)

      (4)

      式中concat函數(shù)表示拼接操作。

      在BERT向量表示豐富的語義基礎(chǔ)上,拼接上五筆向量,可以融入更多字形特征,幫助模型更好地識別句中的術(shù)語。

      1.2 頭尾指針網(wǎng)絡(luò)解碼器

      有了向量表示之后,便可以通過解碼器解碼完成序列標(biāo)注。主流的方法大多選用Softmax或者CRF作為解碼器。CRF相較于Softmax,學(xué)習(xí)到了序列中標(biāo)簽之間的聯(lián)系,使得識別結(jié)果更加準(zhǔn)確。但在武器裝備領(lǐng)域中,存在一定數(shù)量的長術(shù)語,CRF可能會出現(xiàn)長實體識別不準(zhǔn)的問題。例如,“F/A-18E/F超級大黃蜂艦載戰(zhàn)斗攻擊機是美國波音公司所生產(chǎn)的一種艦載戰(zhàn)斗攻擊機”一句中,“F/A-18E/F超級大黃蜂艦載戰(zhàn)斗攻擊機”這條術(shù)語有21個字符。為了避免抽取模型使用CRF解碼造成長術(shù)語識別斷裂或缺失的問題,本方法采用頭尾指針網(wǎng)絡(luò)作為術(shù)語識別模型。使用頭尾指針網(wǎng)絡(luò)可以更好地識別術(shù)語邊界,改善模型對長術(shù)語的識別效果。

      頭尾指針網(wǎng)絡(luò)由兩個線性層組成,使用這兩個線性層對序列中的字符逐個進行標(biāo)注,最終得到兩個序列:術(shù)語開頭的標(biāo)注序列和術(shù)語結(jié)尾的標(biāo)注序列。本文模型使用兩個分類器:術(shù)語開頭分類器和術(shù)語結(jié)尾分類器,用這兩個分類器對字符進行分類。取出分類為實體頭尾的字符,根據(jù)在句子中的位置索引截取字段確定最后的術(shù)語。

      1.2.1 術(shù)語開頭分類器

      將BERT輸出的字符表示通過第一個線性層分類器得到術(shù)語開頭的標(biāo)注序列,即對序列的每一個字符進行一個二分類,分類器預(yù)測的分值代表了該字符是術(shù)語開頭的可能性大小。將術(shù)語預(yù)測的分值通過Softmax激活函數(shù)轉(zhuǎn)換成0~1的概率,取概率較大的索引作為單個字符的分類結(jié)果,若是預(yù)測結(jié)果中索引1的概率較大,那么當(dāng)前字符就是術(shù)語的開頭字符,否則不是術(shù)語開頭字符。術(shù)語開頭分類器模塊的原理如式(5)所示。

      yi=argmax(Softmax(linear(Vinput,2)))

      (5)

      式中:yi代表第個i字符是否為術(shù)語開頭的結(jié)果,是則為1,不是為0;linear代表將表示層得到的向量表示Vinput轉(zhuǎn)換維度,得到分類數(shù)值;argmax代表取預(yù)測概率較大值索引的操作。

      1.2.2 術(shù)語結(jié)尾分類器

      術(shù)語結(jié)尾分類器依然是一個線性層,負責(zé)識別字符是否為術(shù)語的結(jié)尾字符。術(shù)語的頭尾字符應(yīng)該是成對出現(xiàn)的,為了保證模型能夠感知術(shù)語頭尾之間的對應(yīng)關(guān)系,在得到術(shù)語開頭的標(biāo)注序列結(jié)果之后,將術(shù)語開頭的標(biāo)注序列結(jié)果拼接到表示層得到的向量表示上,之后送入線性層分類器得到術(shù)語結(jié)尾的標(biāo)注序列(訓(xùn)練模型階段,因為存在標(biāo)準(zhǔn)的正確的術(shù)語開頭序列,所以直接將真實的標(biāo)注術(shù)語開頭的序列和表示層得到的向量拼接)。拼接術(shù)語開頭的識別結(jié)果,能夠讓模型在預(yù)測術(shù)語結(jié)尾時考慮到術(shù)語開頭的信息,使術(shù)語頭尾對應(yīng)關(guān)系更加完善。拼接后的向量在進入術(shù)語尾線性層分類器之前,先經(jīng)過Tanh激活函數(shù),為整體模型帶來更多的非線性元素,使得模型性能更強。之后結(jié)果進入LayerNorm層進行歸一化處理,使數(shù)值降到可以落在梯度下降的敏感區(qū)間,加快網(wǎng)絡(luò)收斂速度。LayerNorm層完成層歸一化(layer normalization)的操作,對整個序列整體進行歸一化,相較于批歸一化(batch normalization)在每個batch的維度上進行歸一化的操作,整體歸一化考慮了序列的完整性,更加適合自然語言處理任務(wù)。術(shù)語結(jié)尾分類器模塊的原理如式(6)~(8)所示。

      Vinput-tail=concat(Vinput,Vhead)

      (6)

      Vinput-tail-new=layerNorm(Tanh(Vinput-tail))

      (7)

      yi=argmax(Softmax(linear(Vinput-tail-new,2)))

      (8)

      式中:Vinput-tail代表字符表示與術(shù)語開頭結(jié)果拼接后的向量;Vinput-tail-new表示經(jīng)過激活函數(shù)和層歸一化計算后的向量;yi代表第i個字符是否為術(shù)語結(jié)尾的結(jié)果,是則為1,不是為0;linear代表將經(jīng)過操作后的向量表示Vinput-tail-new轉(zhuǎn)換維度,形成分類數(shù)值;argmax代表取預(yù)測概率較大值索引的操作。

      得到兩個標(biāo)注好的序列后,通過術(shù)語頭尾的位置索引最終將術(shù)語截取出來。針對模型預(yù)測結(jié)果可能出現(xiàn)的術(shù)語開頭和術(shù)語結(jié)尾數(shù)目不相等,如某一個術(shù)語開頭對應(yīng)兩個術(shù)語結(jié)尾等情況,采用嚴(yán)格解碼的方式確定結(jié)果,即句子在兩個術(shù)語開頭字符形成區(qū)間內(nèi),若存在多個術(shù)語結(jié)尾字符,則枚舉出所有的術(shù)語頭尾字符對,一一進行術(shù)語結(jié)尾概率的比較,選出概率更高的術(shù)語頭尾字符對作為最后的結(jié)果。將最后處理好的術(shù)語結(jié)果進行指標(biāo)的計算。

      可以看出,頭尾指針網(wǎng)絡(luò)是直接對字符進行二分類,將關(guān)注點放到字符上,不是特別關(guān)注整體概率和標(biāo)簽間的關(guān)系,并且直接對術(shù)語的邊界進行預(yù)測,避免了識別長術(shù)語出現(xiàn)斷裂、缺失等現(xiàn)象。使用線性層解碼,結(jié)構(gòu)簡單,計算復(fù)雜度和參數(shù)量都較小,相較于CRF減少了訓(xùn)練時間和計算量。

      1.3 Focal Loss函數(shù)優(yōu)化

      在待抽取的每一條語句中,術(shù)語所占比例本身較小,再加上使用頭尾指針網(wǎng)絡(luò)解碼器只對字符預(yù)測術(shù)語開頭或結(jié)尾部分,導(dǎo)致正類即被預(yù)測為術(shù)語開頭或術(shù)語結(jié)尾的類別較少,標(biāo)簽為1的數(shù)據(jù)所占比例過小,出現(xiàn)了標(biāo)簽不平衡的問題。常用的交叉熵損失函數(shù)同等地學(xué)習(xí)兩類標(biāo)簽,導(dǎo)致占比更少的標(biāo)簽沒有得到充分學(xué)習(xí)。改進損失函數(shù),可以讓抽取效果得到進一步提升。交叉熵損失函數(shù)如式(9)所示。

      (9)

      式中:L為交叉熵損失函數(shù);yi為樣本i的標(biāo)簽,正類為1,負類為0;pi為樣本i預(yù)測為正類的概率;N為總體的樣本數(shù)量。

      由式(9)可知,交叉熵損失函數(shù)對所有類別的損失進行求和,對所有類別一視同仁,可能導(dǎo)致占比小的標(biāo)簽對損失貢獻不大。要提升占比小的標(biāo)簽的貢獻,可以對標(biāo)簽賦予不同的權(quán)重,以優(yōu)化模型的效果。具體如式(10)所示。

      (1-α)·(1-y)log (1-pi)]

      (10)

      式中:L1為考慮標(biāo)簽權(quán)重的交叉熵損失函數(shù);α為每個標(biāo)簽類別的權(quán)重,對于數(shù)量占比大的標(biāo)簽,設(shè)置一個較小的α,反之設(shè)置一個較大的α。

      除了數(shù)量上的不平衡,數(shù)據(jù)之間還存在難易程度的不平衡。數(shù)據(jù)中必然會存在一些難學(xué)習(xí)的樣本和一些容易學(xué)習(xí)的樣本,如果簡單樣本占多數(shù),易學(xué)習(xí)樣本產(chǎn)生的損失將會主導(dǎo)整體損失,但是易學(xué)習(xí)樣本本身就能被模型很好地識別,這樣難學(xué)習(xí)的樣本對參數(shù)的更新不會改善模型效果。為了將一些關(guān)注點放到難分的樣本上,交叉熵損失函數(shù)可以優(yōu)化為式(11)所示。

      piγ·(1-y)log (1-pi)]

      (11)

      式中:L2為考慮樣本難易的交叉熵損失函數(shù);γ為超參數(shù),假設(shè)γ的值設(shè)置為2,預(yù)測的置信度為0.95,則(1-pi)γ的值為0.002 5,相當(dāng)于縮小了該類別樣本的損失,達到預(yù)設(shè)的目標(biāo)。

      綜合上述函數(shù)的優(yōu)化,得到Focal Loss的最終形式,如式(12)所示。

      LF=

      (12)

      式中:LF為綜合優(yōu)化后的交叉熵損失函數(shù)。

      Focal Loss緩解了兩種情況的標(biāo)簽不平衡問題,相比交叉熵損失函數(shù)更適用于頭尾指針網(wǎng)絡(luò)架構(gòu),有助于提升抽取效果。

      在本文所提模型中,使用了兩個線性層做解碼,將其各自的損失相加取平均作為模型總體的損失,如式(13)所示。

      (13)

      式中:LF_entire代表最終整體的損失;LF_head代表術(shù)語開頭分類器的損失;LF_tail代表術(shù)語結(jié)尾分類器的損失。

      2 實驗及結(jié)果分析

      2.1 實驗數(shù)據(jù)

      本實驗的數(shù)據(jù)來自于武器裝備領(lǐng)域相關(guān)網(wǎng)站,包括百度百科、軍事環(huán)球網(wǎng)等,通過數(shù)據(jù)自動采集技術(shù)獲取。對獲取的非結(jié)構(gòu)數(shù)據(jù)進行標(biāo)注,最終人工標(biāo)注數(shù)據(jù)3 000條,包含術(shù)語6 425條,并由核對人員對標(biāo)注數(shù)據(jù)進行核對,以確保數(shù)據(jù)質(zhì)量。數(shù)據(jù)按照9∶1的比例劃分為訓(xùn)練數(shù)據(jù)、測試數(shù)據(jù)。對數(shù)據(jù)進行長度補齊,之后劃分batch輸入到模型進行訓(xùn)練,根據(jù)每輪模型表現(xiàn)對參數(shù)進行調(diào)整,并在測試集上測試效果。

      2.2 實驗配置

      2.2.1 環(huán)境配置

      實驗在戴爾服務(wù)器上運行,系統(tǒng)為Linux,提供了可使用的GPU加速模型訓(xùn)練。具體實驗環(huán)境配置如表1所示。

      表1 實驗環(huán)境

      2.2.2 參數(shù)配置

      實驗的預(yù)訓(xùn)練語言模型使用在中文語料上預(yù)訓(xùn)練好的bert-base-chinese模型,通過調(diào)用HuggingFace庫實現(xiàn),其由12個Transformer編碼器堆疊而成,bert_embedding維度為768,多頭個數(shù)為12個,詞表大小31 116。批尺寸設(shè)置為32。使用Adam優(yōu)化器優(yōu)化,學(xué)習(xí)率設(shè)置為0.000 1,dropout概率設(shè)置為0.5。實驗參數(shù)的設(shè)置如表2所示。

      表2 參數(shù)設(shè)置

      2.3 實驗指標(biāo)

      不同于標(biāo)簽級別的F1值計算,評估術(shù)語抽取模型時以術(shù)語級別的F1值作為指標(biāo)。如果采用標(biāo)簽級別的F1值,由于被判別為不是術(shù)語頭尾的標(biāo)簽“0”占比過多,導(dǎo)致即使在沒能識別出術(shù)語頭尾即沒有得到標(biāo)簽“1”的情況下,仍然能得到很高的F1值,這樣會誤導(dǎo)對模型效果的判斷。所以本實驗使用術(shù)語級別的F1值進行評估,即以整個術(shù)語為單位計算F1值。

      F1值由精確率P和召回率R綜合計算得出。P為模型識別對的術(shù)語數(shù)目和模型識別出的術(shù)語總數(shù)的比值;R為模型識別對的術(shù)語數(shù)目和標(biāo)注術(shù)語數(shù)目的比值。術(shù)語級別的F1值的計算如式(14)所示。

      (14)

      2.4 實驗結(jié)果

      2.4.1 抽取模型解碼器對比

      首先設(shè)置3個對比實驗驗證不同解碼器的抽取效果。3個實驗都使用BERT作為字符表示,分別使用Softmax、CRF、頭尾指針網(wǎng)絡(luò)作為解碼器。實驗結(jié)果如表3所示。

      表3 不同解碼器抽取模型對比 %

      由對比實驗可知,得益于BERT強大的語義表示,使用3種解碼器都取得了不錯的整體效果。其中Softmax作為解碼器,由于未能考慮標(biāo)簽間的邏輯合理性,相對表現(xiàn)最差。CRF解碼器對整個序列解碼,考慮了標(biāo)簽間的邏輯關(guān)系,使得抽取結(jié)果更加準(zhǔn)確。頭尾指針網(wǎng)絡(luò)對長術(shù)語的識別更加準(zhǔn)確,獲得了最好的抽取效果。

      目前主流的方法大多采用CRF作為解碼器,但是CRF存在長術(shù)語識別的斷裂、缺失等問題。本文選取了一些長術(shù)語樣例進行分析,來說明頭尾指針網(wǎng)絡(luò)直接對邊界進行解碼的方式在長術(shù)語識別中的優(yōu)勢,如表4所示。

      表4 長術(shù)語樣例抽取對比

      由表4可知,樣例1和樣例2中,CRF對長術(shù)語的抽取不全;樣例3中,CRF將長實體識別成兩個短實體,中間的“導(dǎo)彈”未能識別出,造成抽取出的術(shù)語發(fā)生斷裂;樣例4中,CRF多抽取了4個字符,造成了術(shù)語識別不準(zhǔn)確。而頭尾指針網(wǎng)絡(luò)在這幾個樣例上均識別正確,獲得了較好的長術(shù)語識別效果。

      通過對實驗結(jié)果和抽取樣例進行分析,證明了直接對術(shù)語邊界進行解碼的有效性,說明頭尾指針網(wǎng)絡(luò)在識別長術(shù)語上表現(xiàn)較好。

      2.4.2 融合信息及損失對比

      在同樣使用頭尾指針網(wǎng)絡(luò)的情況下,比較了不同表示層和不同損失函數(shù)的效果。設(shè)置4組模型進行對比,如表5所示。各模型具體如下:

      1)模型1:使用BERT作為字符表示,使用頭尾指針網(wǎng)絡(luò)作為解碼器,使用交叉熵作為損失函數(shù)。

      2)模型2:在模型1的基礎(chǔ)上融合五筆特征。

      3)模型3:在模型1的基礎(chǔ)上將交叉熵損失函數(shù)更換成Focal Loss損失函數(shù)。

      4)模型4:在模型1的基礎(chǔ)上融入五筆特征并使用Focal Loss作為損失函數(shù)。

      不同模型的F1值如表5所示。

      表5 抽取模型對比 %

      由表可知,模型2、3的抽取效果分別較模型1有所提升,模型4綜合使用了五筆向量和Focal Loss損失函數(shù),獲得了最好的抽取結(jié)果。

      3 結(jié)束語

      本文通過對武器裝備領(lǐng)域語料數(shù)據(jù)的分析,在BERT得到的字向量基礎(chǔ)上,融合字符的五筆表示,從字形信息的角度增強模型的抽取能力。同時,使用頭尾指針網(wǎng)絡(luò)作為解碼器抽取術(shù)語,避免了使用CRF解碼帶來的長術(shù)語識別斷裂、缺失的問題。針對標(biāo)簽不平衡問題,采用Focal Loss作為損失函數(shù),使得占比小的標(biāo)簽得到充分學(xué)習(xí),抽取效果進一步提升。實驗證明,本文所提模型在武器裝備領(lǐng)域術(shù)語抽取中得到了較好的抽取效果。

      猜你喜歡
      頭尾解碼器字符
      尋找更強的字符映射管理器
      科學(xué)解碼器(一)
      科學(xué)解碼器(二)
      科學(xué)解碼器(三)
      線圣AudioQuest 發(fā)布第三代Dragonfly Cobalt藍蜻蜓解碼器
      字符代表幾
      一種USB接口字符液晶控制器設(shè)計
      電子制作(2019年19期)2019-11-23 08:41:50
      消失的殖民村莊和神秘字符
      磨床頭尾架承載變形分析及改進設(shè)計
      猜謎語
      石台县| 侯马市| 南乐县| 福清市| 永州市| 洞头县| 武冈市| 建德市| 炎陵县| 九龙城区| 灵丘县| 长子县| 德惠市| 太仓市| 吉水县| 乐亭县| 黄龙县| 贵定县| 无为县| 武定县| 双江| 南昌县| 瑞昌市| 沭阳县| 财经| 陕西省| 武城县| 申扎县| 静海县| 丹凤县| 兴义市| 邳州市| 兴和县| 汝州市| 平果县| 横峰县| 余庆县| 嘉定区| 宣化县| 漠河县| 蓬安县|