楊鶴,于紅,2*,劉巨升,楊惠寧,孫哲濤,程名,任媛,張思佳,2
(1.大連海洋大學 信息工程學院,遼寧省海洋信息技術重點試驗室,遼寧 大連 116023;2.設施漁業教育部重點試驗室,遼寧 大連 116023)
漁業標準化是提高漁業生產效益、提升水產品質量和保障漁業生產安全的重要手段之一,漁業標準文本是漁業標準化的載體,也是漁業生產人員獲取漁業標準知識的主要途徑[1]。為高效地獲取漁業標準知識,需對漁業標準文本中命名實體進行識別。漁業標準命名實體識別是從漁業標準文本中識別“漁業標準號”、“漁業標準指標”[2]及“水產品名稱”等命名實體。早期的命名實體識別任務主要采用基于規則和詞典的方法[3],這類方法需要由有經驗的專家總結規則,識別效果依賴于專家的經驗,在數據量較少且不同專家總結的規則一致性較高的情況下效果較好。隨著數據量的不斷增加,規則提取工作量增大,保持規則一致性難度加大,基于規則和詞典方法的識別效果無法滿足人們的進一步需求,學者們提出了基于詞典與條件隨機場的命名實體識別方法[4],該類方法采用統計學習的方法統計語料庫中文本信息的分布情況并進行命名實體識別。與基于規則方法相比,統計學習方法的性能取得了較大提升,但是由于此類方法需要手工選擇特征,算法性能依賴于特征模板的結構,缺乏泛化能力。隨著深度學習的發展,深度學習被應用于命名實體識別領域[5]。孫娟娟等[6]提出了基于深度學習的漁業領域命名實體識別,取得了較好的效果,但由于對漁業領域命名實體對象類別定義較為寬泛,識別的實體類別較少,該算法不適用于具有較多類別、實體結構較為復雜的漁業標準命名實體識別。為解決上述問題,程名等[7]在分析漁業標準文本特點的基礎上,提出了融合注意力機制的BiLSTM+CRF(BiLSTM+Attention+CRF)漁業標準命名實體識別方法,在漁業標準命名實體識別任務中取得了較好效果。然而,由于漁業標準文本中“水產品名稱”等類別實體數量少、樣本分布不均勻,導致識別效果不夠好,人工擴充語料庫存在效率低、成本高,以及易造成錯誤傳播等問題,因此,需要研究語料庫自動擴充方法。目前,少樣本命名實體識別主要包括數據增廣[8-12]、模型遷移[13]、特征變換[14]和知識鏈接等方法,分別從準確性、易用性和優缺點等方面對這些方法進行比較,4種方法各有優劣,其中,數據增廣方法是最有效的小樣本數據擴充方法,該方法通過優先挑選高質量樣本參與訓練,達到擴充語料庫的目的,此方法在特定領域命名實體識別任務中能獲得較高的準確率[15]。程名[16]提出了基于改進EDA(easy data augmentation)的數據增廣方法用于解決樣本數量較少等問題,取得了較好的效果,但進行數據增廣后實體上下文特征并未得到保護,造成實體特征缺失,影響了命名實體識別任務的識別效果。為了解決上述問題,需要研究有效的數據增廣方法,確保在不丟失語義信息的基礎上,進一步擴充語料數量,提升語料質量,增加樣本多樣性,提高命名實體識別的準確性和魯棒性[17]。
為此,本研究中針對漁業標準命名實體識別任務的特點,以及部分目標實體樣本數量較少、效果不好等問題,提出了多元組合數據增廣的漁業標準命名實體識別方法,即在傳統的同義詞替換算法(synonym substitution)、隨機刪除算法(randomly delete)和隨機插入算法(randomly insert)基礎上進行改進,提出了基于領域詞典的聯合替換算法(joint replacement algorithm based on domain dictionary,DDR)、基于槽點保護的隨機刪除算法(random deletion algorithm based on slot protection,SPD)和基于槽點保護的隨機插入算法(random insertion algorithm based on slot protection,SPI),將這3種算法進行多元組合,并使用基于融合注意力機制的BERT-BiLSTM-CRF網絡模型對漁業標準文本進行命名實體識別,以提高識別的準確率。
在對漁業標準文本處理過程中,通過采樣統計了漁業標準文本中各類實體的數量分布(表1),結果表明,“水產品名稱”樣本較少且特征不明顯,模型無法學習較多特征,識別效果較差,僅有71%。

表1 實體數量情況
為了增加“水產品名稱”實體的數量,采用數據增廣的方法對“水產品名稱”進行擴充。EDA方法是目前廣泛使用的一類數據增廣方法,主要包括4種方法,即對文本進行同義詞替換、隨機插入、隨機交換、隨機刪除操作。使用基于同義詞替換算法對漁業標準文本中的“水產品名稱”進行數據增廣,雖然提高了樣本的多樣性,但同義詞替換未增加目標實體的數量,不能從根本上解決實體樣本稀疏的問題。使用隨機刪除、隨機插入方法雖然改變了句子結構、提升了模型泛化能力,但隨機刪除和插入會破壞句子中的目標實體和上下文特征,影響命名實體識別效果,因此,直接采用EDA方法進行漁業標準命名實體識別雖然可在一定程度上增加樣本數量,但存在破壞語義信息等問題,導致識別效果不夠好。針對以上問題,本研究中提出了基于多元組合數據的增廣算法,同時采用基于領域詞典的聯合替換算法、基于槽點保護的隨機刪除算法和基于槽點保護的隨機插入算法進行數據增廣。
傳統的同義詞替換算法是在句子中隨機抽取n個詞,然后從同義詞詞典中隨機抽取同義詞進行替換。但使用傳統的同義詞替換方法會存在以下問題:
1)目前的分詞方法存在一定的錯誤率,句子中的實體可能被錯誤切割,再經過同義詞替換會造成錯誤傳播,影響同義詞替換的效果甚至消除語料庫中原本的目標實體。
2)同義詞替換后雖然能改變一定的句式結構,但未增加目標實體的數量,不能從根本上解決實體不足、語料稀疏的問題。
針對上述問題,提出了基于領域詞典聯合替換的數據增廣方法。首先,根據領域詞典構建“水產品名稱”同類詞詞典和同義詞詞典;參照同類詞詞典和增廣系數(N)對“水產品名稱”類實體進行同類詞替換;同時根據同義詞詞典對除目標實體外的隨機詞進行同義詞替換,其中同類詞替換只對目標實體進行替換,有效增加了目標實體的數量。對句子中的隨機詞進行同義詞替換增加了句子的多樣性,但未改變漁業標準的句子結構,符合漁業標準文本的行文規范。在不改變目標實體上下文特征和語義信息的情況下,使用基于領域詞典的聯合替換算法,增加了目標實體的數量和句子的多樣性,有效解決了漁業標準命名實體識別樣本稀疏問題。
同類詞詞典和同義詞詞典的結構如表2所示?;陬I域詞典的聯合替換算法流程如圖1所示?;陬I域詞典的聯合替換算法示例如圖2所示(設增廣系數N=3)。

圖2 基于領域詞典的聯合替換算法實例

表2 兩個領域詞典實例

圖1 基于領域詞典的聯合替換算法(DDR)
1.2.1 基于槽點保護的隨機刪除算法 EDA數據增廣方法中的隨機刪除算法是對句子中的每個詞,以概率P隨機刪除,刪除句子中字符可以提升樣本的多樣性,提升模型的泛化能力。但隨機刪除方法用到漁業標準命名實體識別任務中效果不夠理想,因為它會隨機刪除標準文本中的一些實體,使模型無法學習到實體特征,影響了命名實體識別效果。使用傳統的隨機刪除算法會造成如下問題:
1)漁業標準命名實體識別的目標是識別有意義的專有名詞,但是隨機刪除方法會大量刪除需要識別的目標實體,嚴重影響語料的質量。
2)由于傳統的隨機刪除方法中,每個字符有固定的刪除概率,這會造成語義缺失或無效刪除,當概率P較大時會對短序列產生較大影響,甚至影響句子原本語義,當概率P較小時則無法對長序列產生影響,使隨機刪除變得毫無意義。
本研究中,結合漁業標準文本的特點和命名實體識別任務的目標,對隨機刪除方法進行了兩點改進并提出了基于槽點保護的隨機刪除算法:
1)提出“槽點”保護機制,槽點包含實體本身及上下文特征詞語,在保護槽點后再進行隨機刪除,可改變句子結構以增加多樣性。
2)將固定概率改成動態概率,針對不同長度的語句進行動態調整,避免隨機刪除概率過大或過小產生的不適配問題。
假定隨機刪除概率為P,句子長度為S,動態概率倍率T,則動態隨機刪除概率P1=P×T,圖3為動態概率倍率T隨句子長度S的變化程度,其中,當句子長度小于10時動態概率倍率取0.2,句子長度大于100時動態概率倍率恒定為2。

圖3 動態刪除概率
1.2.2 槽點的保護機制 在自然語言中,判斷一個實體是否為目標實體,除了要看實體本身以外,還要參考上下文語義環境。語義特征一般存在于目標實體上下文一定范圍內。在漁業標準命名實體識別任務中,將句子序列轉化成向量輸入到長短時記憶(LSTM)網絡模型[18]中,LSTM網絡模型會對實體及其上下文特征進行特征提取,得到漁業標準命名實體識別模型。傳統的隨機刪除算法會對句子中的實體及其上下文信息進行隨機刪除,為了避免實體及其上下文特征被刪除,提出了基于槽點保護的概念,槽點包含目標實體及其上下文語義信息,槽點保護包含實體本身保護和實體上下文的語義特征保護,實體上下文特征保護機制是設定一個上下文范圍槽點[19],即以目標實體的首字符和末字符為兩個點,首字符向前ɑ個字符與末字符向后ɑ個字符區間內的所有字符設為上下文特征槽點,與實體槽點一樣,不參與隨機刪除。通過對實體槽點和上下文特征槽點的保護,使得句子在進行隨機刪除時目標實體不會被刪除,并且保護了目標實體的上下文語義信息,讓模型在進行隨機刪除生成的新句子中,最大化地學習到完整的實體特征。
1.2.3 上下文特征槽點保護長度 對漁業標準語料庫中所有包含“水產品名稱”目標實體句子進行統計分析,如“本標準適用于我省凡納濱對蝦的苗種培育和養殖”、“要使烏鱧通過馴食后能攝食偏植物性為主的餌料”、“根據中國凍海水魚片加工的實際情況編制的”。通過部分例句可以看出,句子中目標實體上下文2~3個詞語可以涵蓋句子大部分的語義特征,由此可以得出結論:對目標實體上下文語義信息影響最大的是前后4~6個字符(2~3個詞語)。為了讓模型更好地學習到“水產品名稱”的上下文特征,最大化保留句子的語義結構,上下文槽點的長度設置非常重要,槽點長度過大會導致隨機刪除沒有意義,本研究中上下文槽點長度若設置為6,雖然保留了較多的目標實體上下文特征,但是句子結構和實體上下文特征基本未發生改變,違背了隨機刪除的目的。而若將上下文槽點長度設置為4,則既可以適當改變實體的上下文特征,又保留了目標詞最主要的上下文特征,可以更好地完成隨機刪除任務,實現語料的有效擴充,因此,本研究中上下文槽點長度α=4,算法流程如圖4所示,算法實例如圖5所示。

圖4 基于槽點保護的隨機刪除算法(SPD)

圖5 基于槽點保護的隨機刪除算法實例
EDA數據增廣方法中的隨機插入算法是在句子中隨機抽取一個詞,然后在該詞的同義詞集合中隨機選擇一個同義詞,插入原句子中的隨機位置。將該方法用于漁業標準文本數據增廣時,同隨機刪除一樣,會隨機將同義詞插入到實體間或者實體上下文間,進而造成模型無法學習到完整的實體特征,影響命名實體識別任務的效果。在使用隨機插入算法進行數據增廣時,隨機插入次數應與句子長度線性相關,避免長句子只進行一次隨機插入后句子結構幾乎無改變,無法達到語料多樣性的目的。
本研究中結合漁業標準文本的特點和命名實體識別的任務目標,對傳統的隨機插入方法進行了兩方面改進,并提出了基于槽點保護的隨機插入算法:
1)沿用上文中的槽點保護機制,即實體槽點和上下文槽點間不進行插入操作,在基于槽點保護的情況下進行隨機插入,既能保護實體特征,又能改變句子結構,增加樣本多樣性,提高模型泛化能力。
2)漁業標準文本中句子長度范圍大致為20~200個字符,以最短句子長度為單位,每20個字符進行一次隨機插入,這使在長句子中的隨機插入變得有意義,可在更大程度上改變句子結構。
基于槽點保護的隨機插入算法流程如圖6所示。

圖6 基于槽點保護的隨機插入算法(SPI)
基于領域詞典的聯合替換算法、基于槽點保護的隨機刪除算法和基于槽點保護的隨機插入算法等3種方法同樣也存在各自的優點和不足(表3)。從表3可見,3種算法中任何一種都會有一定的局限性,為了進一步提高數據增廣算法的效果,將這3種算法融合在一起可以彌補各種算法的缺點,因此,本研究中提出了基于多元組合的數據增廣方法。

表3 3種增廣方法的優缺點對比
試驗的硬件環境為intel xeon E5-2630 v3 2.4 GHZ 處理器,6 GB 內存,操作系統為 Ubuntu 16.04 LTS 64 bit,GPU為GTX2080Ti,試驗平臺是PyCharm(2018版)。所用的深度學習框架為Pytorch。
漁業標準命名實體識別網絡模型由BERT層[20]、BiLSTM層、Attention層[21]、CRF層4部分組成。BERT是預訓練模型,可以更好地訓練出位置向量和字向量;BiLSTM層學習到BERT層預訓練輸出的向量信息,更好地捕捉到較長距離的依賴關系和上下文語義特征;Attention層可以在有限的資源下快速、準確地處理信息,分配權重;CRF層將Attention層的輸出添加約束計算得到最優結果,轉化成序列標簽輸出最后的預測結果。
BERT+BiLSTM+Attention+CRF網絡模型結構如圖7所示。

圖7 BERT+BiLSTM+Attention+CRF網絡模型結構
為驗證基于領域詞典的聯合替換算法的有效性,對“水產品名稱”進行單目標訓練,使用不同數據增廣方法進行了對比試驗。
試驗1:BERT+BiLSTM+Attention+CRF網絡模型訓練“水產品名稱”類別的目標實體。經過多次對不同增廣系數N進行對比測試,結果顯示,當增廣系數N=16時的數據增廣效果最佳,表4給出了N=16時,原語料庫、經過同義詞替換后和基于領域詞典聯合替換后的語料庫對“水產品名稱”識別效果的比較。
使用同義詞進行數據增廣后能改變一定的句式結構,提高命名實體識別結果,但是沒有增加目標實體的數量,不能從根本上解決目標實體不足的問題?;陬I域詞典的聯合替換算法對漁業標準中的“水產品名稱”進行數據增廣,有效增加了目標實體的數量,使模型更容易學習到目標實體特征,提高了泛化能力。比傳統的同義詞替換算法準確率提升了5.37%,召回率提升了8.77%,F1值提升了7.09%(表4)。

表4 基于領域詞典的聯合替換對比試驗
為驗證基于槽點保護的隨機刪除算法的有效性,本試驗中對“水產品名稱”進行單目標訓練,使用不同數據增廣方法進行了對比試驗,上下文槽點長度為4個字符。
試驗2:BERT+BiLSTM+Attention+CRF網絡模型訓練“水產品名稱”類別的目標實體。經過多次對選用不同的刪除系數進行對比測試,當刪除系數為0.02時,數據增廣效果最好。表5給出了當刪除系數為0.02時,原語料庫、經過隨機刪除后和基于槽點保護的隨機刪除后的語料庫對“水產品名稱”識別效果的比較。
使用隨機刪除算法進行數據增廣后能改變句子的句式結構,但沒有對目標實體及其上下文信息進行保護,這會造成語義缺失的情況,而本研究中提出基于槽點保護的隨機刪除算法取得了較好的效果,在保護目標實體和上下文信息后進行隨機刪除,相比于隨機刪除算法準確率提升了6.1%,召回率提升了4.19%,F1值提升了4.97%(表5)。這表明,使用上下文槽點的保護機制后有效地提升了樣本的多樣性,提高了模型的泛化能力,驗證了本研究中提出的基于槽點保護的隨機刪除方法的有效性。

表5 基于槽點保護的隨機刪除對比試驗
試驗3:使用槽點保護的隨機刪除算法對語料進行相同隨機刪除概率下選取不同長度的上下文槽點對比試驗。選取刪除系數為0.02條件下進行試驗,上下文槽點保護長度分別為2、4、6、8個字符單位,結果如表6所示。在相同的隨機刪除概率下進行不同長度的上下文槽點保護試驗,根據試驗結果可知,當上下文槽點長度為4個字符單位時效果最佳,準確率最高為82.94%,完全可以概括實體的大部分特征。這表明,基于上下文槽點保護的隨機刪除算法,當槽點長度選擇4個字符時模型效果達到最好。

表6 上下文槽點保護長度
為驗證本研究中提出的基于槽點保護的隨機插入算法對“水產品名稱”進行單目標訓練的效果,使用不同數據增廣方法進行了對比試驗,本試驗中上下文槽點長度為4個字符。
試驗4:BERT+BiLSTM+Attention+CRF網絡模型訓練“水產品名稱”類別的目標實體。上下文槽點長度為4個字符,表7給出了原語料庫、經過隨機插入后的語料庫和基于槽點保護的隨機插入后的語料庫對“水產品名稱”識別效果的比較。由表7可知,與隨機插入算法相比,基于槽點保護的隨機插入算法的識別效果更加優異,其準確率達到了82.34%,能夠更好地保留目標實體的特征,提高識別準確率。

表7 基于槽點保護的隨機插入對比試驗
為驗證本研究中提出的多元組合的數據增廣方法,對“水產品名稱”進行單目標實體訓練。
試驗5:使用基于領域詞典的聯合替換算法(方法A)、基于槽點保護的隨機刪除算法(方法B)、基于槽點保護的隨機插入算法(方法C)、基于多元組合數據增廣算法(方法A+B+C),以及程名[16]基于BiLSTM+CRF的漁業標準術語識別研究中的數據增廣方法(方法D)進行對比試驗。其中,基于領域詞典的聯合替換算法增廣系數N=16,基于槽點保護的隨機刪除算法隨機刪除概率為0.02,且所有試驗中上下文槽點長度為4個字符。試驗結果如表8所示,將3種算法融合的多元組合數據增廣算法的識別效果要優于單獨使用1種算法的識別效果,且較程名[16]提出的數據增廣算法識別效果有較大提升,準確率達到了91.73%。

表8 3種方法結合使用對比試驗
在命名實體識別任務中,存在部分目標實體樣本稀疏問題,此問題常導致該類實體識別效果較差,影響命名實體識別任務的整體結果。目前,解決樣本稀疏的方法[13-14]較多,通過對漁業標準文本特性分析,本研究中選取數據增廣的方法來解決漁業標準文本中“水產品名稱”類實體樣本稀疏問題。由試驗1、試驗2、試驗4可知,本研究中提出的3種數據增廣方法均優于傳統方法,識別精度均有較大提升,其中,基于領域詞典的聯合替換算法較同義詞替換算法有效地增加了“水產品名稱”類實體的數量,準確率提升了5.37%,基于槽點保護的隨機刪除算法和基于槽點保護的隨機插入算法有效提高了樣本的多樣性,提升了模型的泛化能力,準確率分別較傳統的隨機刪除和隨機插入算法提升了6.10%和6.55%。為了更好地融合3種算法的優勢,提高識別效果,本研究中將3種數據增廣算法進行了多元組合,由試驗5可知,本研究中提出的多元組合數據增廣的命名實體識別方法在漁業標準文本命名實體識別任務中效果提升更加明顯,準確率、召回率、F1值分別達到了91.73%、88.64%、90.16%。該方法較程名[16]提出的漁業標準術語識別方法具有更高的識別精度。這種多元組合的數據增廣方法也為其他領域的命名實體識別任務提供了新的思路。
本研究中針對漁業標準命名實體識別任務中“水產品名稱”等實體類別樣本分布稀疏,使模型無法準確學習到目標實體的特征,導致這類實體識別效果較差的問題,在傳統的同義詞替換、隨機刪除算法和隨機插入算法的基礎上進行改進,并使用融合注意力機制的BERT-BiLSTM-CRF網絡模型進行多組對比試驗,得出以下結論:
1)通過改進3種傳統的數據增廣算法,提出了基于領域詞典的聯合替換算法、基于槽點保護的隨機刪除算法和基于槽點保護的隨機插入算法,使用這3種數據增廣算法后的語料庫進行命名實體識別任務的準確率、召回率、F1值均有較大提高,有效提升了漁業標準命名實體識別的整體效果。
2)本研究中將所提出的3種數據增廣算法進行多元組合,在命名實體識別任務上取得了較好的效果,在保護實體和上下文特征的情況下,既可有效增加目標實體數量又可豐富樣本多樣性,從而提高了模型的泛化能力和識別精度。
3)使用本研究中提出的融合注意力機制的BERT-BiLSTM-CRF網絡模型進行漁業標準命名實體識別任務,相較BiLSTM-CRF網絡模型取得了更好的效果,準確率、召回率、F1值分別提升了2.27%、1.43%、1.84%,證明了該模型的有效性,下一步可通過改進該模型完成漁業標準實體關系抽取工作,為構建漁業標準知識圖譜奠定基礎。