程名,于紅*,馮艷紅,任媛,付博,劉巨升,楊鶴
(1.大連海洋大學(xué) 信息工程學(xué)院,遼寧 大連 116023;2.設(shè)施漁業(yè)教育部重點(diǎn)實驗室,遼寧 大連 116023;3.遼寧省海洋信息技術(shù)重點(diǎn)實驗室,遼寧 大連 116023)
命名實體識別是自然語言處理領(lǐng)域的一項基本任務(wù),是語義分析、問答系統(tǒng)、機(jī)器翻譯、知識圖譜構(gòu)建的基礎(chǔ)[1]。漁業(yè)標(biāo)準(zhǔn)文本是漁業(yè)生產(chǎn)的指導(dǎo)性文件,漁業(yè)生產(chǎn)技術(shù)人員經(jīng)常需要查閱、理解漁業(yè)標(biāo)準(zhǔn)內(nèi)容,進(jìn)而應(yīng)用漁業(yè)標(biāo)準(zhǔn)指導(dǎo)生產(chǎn),這就需要構(gòu)建漁業(yè)標(biāo)準(zhǔn)內(nèi)容服務(wù)系統(tǒng)以方便查閱漁業(yè)標(biāo)準(zhǔn)內(nèi)容。人工構(gòu)建漁業(yè)標(biāo)準(zhǔn)內(nèi)容服務(wù)系統(tǒng)耗時耗力、成本高,難以保證數(shù)據(jù)一致性,因此,需要研究漁業(yè)標(biāo)準(zhǔn)文本語義分析技術(shù)以實現(xiàn)標(biāo)準(zhǔn)文本內(nèi)容的自動理解和知識抽取,為漁業(yè)標(biāo)準(zhǔn)內(nèi)容服務(wù)系統(tǒng)[2-3]的構(gòu)建提供基礎(chǔ)服務(wù)。漁業(yè)標(biāo)準(zhǔn)命名實體識別是進(jìn)行漁業(yè)標(biāo)準(zhǔn)文本語義分析的基礎(chǔ),因此,對此進(jìn)行研究具有重要的意義。
命名實體識別概念最早在MUC-6 Message Understanding Conference會議上被正式提出,目的是識別文本中具有特定意義的實體。國內(nèi)外學(xué)者對此進(jìn)行了大量研究,早期主要采用規(guī)則和詞典方法,張躍等[4]結(jié)合了詞典和規(guī)則方法對中文姓名進(jìn)行了識別,取得了較好的效果;趙軍等[5]結(jié)合統(tǒng)計方法和句法分析方法提出了基于例子的基本名詞短語識別模型,較詞典與規(guī)則方法取得了較高的召回率和精確率;方曉珊等[6]使用了詞典與句法規(guī)則方法,通過學(xué)習(xí)新的規(guī)則來增強(qiáng)模型的泛化能力,取得了較好成績;但是通過詞典和規(guī)則的識別方法嚴(yán)重依賴詞典的覆蓋程度和領(lǐng)域知識。隨著信息量指數(shù)級的增長,新詞不斷涌現(xiàn),基于詞典和規(guī)則的術(shù)語識別方法不再適應(yīng)復(fù)雜的文本信息處理任務(wù)。為了克服基于詞典和規(guī)則識別方法的不足,夏光輝等[7]提出了基于詞典與條件隨機(jī)場的混合模型基因命名實體識別算法,保證了準(zhǔn)確率的同時優(yōu)化了時間復(fù)雜度。馮艷紅等[8]將漁業(yè)領(lǐng)域術(shù)語字符特征融合到條件隨機(jī)場模型中,不再依賴詞典與句法規(guī)則進(jìn)行漁業(yè)領(lǐng)域命名實體識別。相對于詞典和規(guī)則方法,統(tǒng)計學(xué)習(xí)方法的各項性能取得了較大提升,但是該方法較依賴領(lǐng)域?qū)<以O(shè)計的特征模板,在進(jìn)行命名實體識別任務(wù)時缺乏泛化能力。
深度學(xué)習(xí)技術(shù)避免了統(tǒng)計學(xué)習(xí)依賴人工選擇特征的問題,在自然語言處理、計算機(jī)視覺領(lǐng)域已成為研究熱點(diǎn)[9-13]。毛存禮等[14]首次將深度學(xué)習(xí)方法應(yīng)用在有色金屬領(lǐng)域處理命名實體識別任務(wù),實現(xiàn)了有色金屬領(lǐng)域產(chǎn)品名、礦產(chǎn)名、地名、組織機(jī)構(gòu)名的實體識別;Lyu等[15]采用雙向LSTM進(jìn)行生物醫(yī)學(xué)命名實體的研究,并在JNLPBA 2004數(shù)據(jù)集上取得了73.79%的F值;Xu[16]等在臨床醫(yī)學(xué)命名實體識別研究中證明了BiLSTM在沒有特征工程和更少的標(biāo)注數(shù)據(jù)情況下效果優(yōu)于CRF算法。孫娟娟等[17]利用LSTM+CRF模型實現(xiàn)了漁業(yè)領(lǐng)域命名實體識別,取得了較好效果。但是LSTM網(wǎng)絡(luò)并沒有考慮序列的前后順序因素,且存在長序列語義丟失的問題。從目前的研究工作看,基于深度學(xué)習(xí)的術(shù)語識別在各個領(lǐng)域均取得了較好的效果。由于領(lǐng)域之間存在差異,且深度學(xué)習(xí)在長序列文本上存在語義丟失的現(xiàn)象,上述模型不能直接用于漁業(yè)標(biāo)準(zhǔn)術(shù)語識別,因此,需要針對漁業(yè)標(biāo)準(zhǔn)術(shù)語識別的特點(diǎn),開展基于深度學(xué)習(xí)的漁業(yè)標(biāo)準(zhǔn)命名實體識別研究。
基于深度學(xué)習(xí)的命名實體識別算法基礎(chǔ)是構(gòu)建語料庫,傳統(tǒng)命名實體識別的語料庫標(biāo)注采用BIO標(biāo)注法[18]針對人名、地名、機(jī)構(gòu)名進(jìn)行標(biāo)注。由于漁業(yè)標(biāo)準(zhǔn)數(shù)據(jù)分析的特殊性,在命名實體識別任務(wù)中需要關(guān)注標(biāo)準(zhǔn)與標(biāo)準(zhǔn)之間的聯(lián)系及標(biāo)準(zhǔn)內(nèi)容的結(jié)構(gòu)信息,這需要漁業(yè)標(biāo)準(zhǔn)命名實體識別任務(wù)關(guān)注標(biāo)準(zhǔn)文本中“漁業(yè)標(biāo)準(zhǔn)號”和“漁業(yè)標(biāo)準(zhǔn)指標(biāo)”兩類實體,傳統(tǒng)的語料庫不能滿足漁業(yè)標(biāo)準(zhǔn)文本語料庫的要求,不適用于漁業(yè)標(biāo)準(zhǔn)命名實體識別任務(wù)。同時BiLSTM+CRF模型存在長序列語義稀釋的問題。本研究中,針對漁業(yè)標(biāo)準(zhǔn)文本的結(jié)構(gòu)特點(diǎn)對標(biāo)注方法進(jìn)行研究,構(gòu)建了融合注意力機(jī)制和BiLSTM+CRF的漁業(yè)標(biāo)準(zhǔn)命名實體識別方法,并基于BIO標(biāo)注法提出E-BIO標(biāo)注法,通過模型有效提取句子中的結(jié)構(gòu)化信息,提升模型精度,旨在提升漁業(yè)標(biāo)準(zhǔn)命名實體識別的效果。
針對漁業(yè)標(biāo)準(zhǔn)命名實體識別中上下文向量權(quán)重不均、長序列前端語義稀釋等問題,結(jié)合注意力機(jī)制提出了BiLSTM+Attention+CRF漁業(yè)標(biāo)準(zhǔn)命名實體模型,總體框架如圖1所示。模型由Char Embedding層、BiLSTM編碼器、Attention層和CRF解碼器4部分組成。Char Embedding輸入層將句子以字符為單位轉(zhuǎn)換成低維、稠密的向量[17];BiLSTM編碼器從輸入層的向量中學(xué)習(xí)漁業(yè)標(biāo)準(zhǔn)命名實體的上下文特征h;Attention層通過注意力機(jī)制根據(jù)BiLSTM上下文特征向量動態(tài)也輸出特征向量Ci;最終由CRF解碼器將Attention層輸出的特征向量轉(zhuǎn)化成序列標(biāo)簽,得到漁業(yè)標(biāo)準(zhǔn)命名實體。
通過對漁業(yè)標(biāo)準(zhǔn)命名實體分析發(fā)現(xiàn),漁業(yè)標(biāo)準(zhǔn)命名實體長度較長,構(gòu)成漁業(yè)標(biāo)準(zhǔn)命名實體的字符與上下文存在較強(qiáng)的依賴關(guān)系,而基于循環(huán)神經(jīng)網(wǎng)絡(luò)的LSTM Long Short Term Memory網(wǎng)絡(luò)可以在當(dāng)前時刻保留上一時刻的信息,所以LSTM網(wǎng)絡(luò)實現(xiàn)了漁業(yè)標(biāo)準(zhǔn)命名識別任務(wù)的長序列記憶功能,但是LSTM網(wǎng)絡(luò)存在當(dāng)前時刻后詞權(quán)重大于前詞權(quán)重的問題。
LSTM網(wǎng)絡(luò)是循環(huán)神經(jīng)網(wǎng)絡(luò)的變體。循環(huán)神經(jīng)網(wǎng)絡(luò)是基于時序展開的神經(jīng)網(wǎng)絡(luò),適用于對時序序列數(shù)據(jù)進(jìn)行特征提取,可以使神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到上下文特征信息,LSTM的計算過程是由遺忘門(ft)、記憶門(it)、輸出門(ot)和細(xì)胞狀態(tài)(Ct)控制的,其中W是權(quán)重矩陣,b是偏置項,σ是激活函數(shù)。算法流程如下:
(1)計算遺忘門(ft)。選擇遺忘的信息,輸入為前一層細(xì)胞狀態(tài)ht-1、當(dāng)前輸入向量為Xt,輸出遺忘門為ft,通過遺忘門的計算可以選擇遺忘過去沒有用的信息,即
ft=σ(Wf×[ht-1,Xt]+bf)。
(1)
it=σ(Wi×[ht-1,Xt]+bi),
(2)
(3)
(4)
(4)計算輸出門(ot)和當(dāng)前隱層狀態(tài)(ht)。輸入為前一時刻的隱層狀態(tài)ht-1、當(dāng)前輸入詞Xt、當(dāng)前時刻的細(xì)胞狀態(tài)Ct,輸出為輸出門的值ot和當(dāng)前隱層狀態(tài)ht,即
ot=σ(Wo[ht-1,Xt]+bo),
(5)
ht=ot×tanhCt。
(6)
最終本試驗中用與句子長度相同的隱層狀態(tài)序列{h0,h1,…,hn-1}來表示輸入的句子。
由于LSTM只能編碼正向時序的信息,導(dǎo)致當(dāng)前時刻的詞語在LSTM網(wǎng)絡(luò)下文權(quán)重大于上文權(quán)重的問題。BiLSTM網(wǎng)絡(luò)將句子正向輸入得到的序列和反向輸入得到的序列拼接起來。正向序列即從句子的左邊第一個詞向后遍歷,反向序列即從最后一個詞向前遍歷,并將兩個序列拼接起來,得到BiLSTM的隱層向量。通過正、反雙向的特征學(xué)習(xí),每個時刻都能學(xué)習(xí)到合理的上下文特征,解決了在LSTM網(wǎng)絡(luò)中當(dāng)前時刻后詞權(quán)重大于前詞權(quán)重的問題,但是無法解決句子序列過長時導(dǎo)致序列前端語義稀釋的問題。BiLSTM模型框架如圖2所示。
注意力機(jī)制可以在有限的資源下快速、準(zhǔn)確地處理信息。BiLSTM模型在漁業(yè)標(biāo)準(zhǔn)領(lǐng)域中應(yīng)用存在長序列前端語義稀釋、信息丟失的問題,導(dǎo)致BiLSTM網(wǎng)絡(luò)輸出的語義向量難以概括句子所有信息,得不到合理的向量表示。在深度學(xué)習(xí)中,注意力機(jī)制率先在計算機(jī)視覺領(lǐng)域中被廣泛應(yīng)用[19-20],Bahdanau等[21]使用Attention機(jī)制在機(jī)器翻譯任務(wù)上并取得較大提升。在漁業(yè)標(biāo)準(zhǔn)命名實體識別模型中引入注意力機(jī)制,通過生成不斷變化的語義向量使模型關(guān)注句子中關(guān)鍵部分,忽略對目標(biāo)詞影響力小的部分,有效地解決了BiLSTM網(wǎng)絡(luò)生成固定的語義向量導(dǎo)致的長序列前端語義稀釋的問題。
Attention層的輸入有W、U、V權(quán)重矩陣,si-1表示解碼器上一時刻隱層狀態(tài),eij表示注意力貢獻(xiàn)矩陣,αij表示歸一化的權(quán)重,cij為新的語義向量,分別由下式計算得出:
(7)
(8)
(9)
傳統(tǒng)的命名實體識別方法通過歸一化處理將BiLSTM輸出層計算得到每個時刻概率最高的序列,這種方法是將標(biāo)簽看成相互獨(dú)立的個體,導(dǎo)致最終解碼出的序列出現(xiàn)不合法標(biāo)簽的情況,如實體頭被標(biāo)注成I標(biāo)簽。為了得到全局最優(yōu)解,避免標(biāo)簽的不合法性,同時使模型學(xué)習(xí)到E-BIO標(biāo)注法引入的“漁業(yè)標(biāo)準(zhǔn)指標(biāo)”與“漁業(yè)標(biāo)準(zhǔn)指標(biāo)編號”之間的標(biāo)簽約束關(guān)系,將BiLSTM的隱層向量輸入到CRF層,引入轉(zhuǎn)移矩陣參數(shù)可以使最終的序列具有約束關(guān)系。
BiLSTM解碼器輸出的矩陣為P,設(shè)標(biāo)簽之間的轉(zhuǎn)移矩陣為A,對于輸入序列X,輸出序列y的關(guān)系如公式(10)所示,
(10)
2.1.1 漁業(yè)標(biāo)準(zhǔn)命名實體定義 漁業(yè)標(biāo)準(zhǔn)是指導(dǎo)漁業(yè)生產(chǎn)的規(guī)范性文件。漁業(yè)標(biāo)準(zhǔn)內(nèi)容的分析需要關(guān)注標(biāo)準(zhǔn)與標(biāo)準(zhǔn)之間的引用關(guān)系和漁業(yè)標(biāo)準(zhǔn)指標(biāo)的具體內(nèi)容,漁業(yè)標(biāo)準(zhǔn)之間的引用關(guān)系是通過漁業(yè)標(biāo)準(zhǔn)號體現(xiàn)的,因此,定義了漁業(yè)標(biāo)準(zhǔn)命名實體識別任務(wù)是識別標(biāo)準(zhǔn)文本中“漁業(yè)標(biāo)準(zhǔn)號”和“漁業(yè)標(biāo)準(zhǔn)指標(biāo)”兩類命名實體。
(1)漁業(yè)標(biāo)準(zhǔn)號。漁業(yè)標(biāo)準(zhǔn)號是漁業(yè)標(biāo)準(zhǔn)的唯一標(biāo)識,由“字母段”和“數(shù)字段”兩部分構(gòu)成。通常出現(xiàn)在漁業(yè)標(biāo)準(zhǔn)“規(guī)范性引用文件”和標(biāo)準(zhǔn)指標(biāo)描述部分,如“GB 11607”、“GB/T 5099.44-2003”“NY 5288-2006”、“SC 2056”、“SC/T 3210-2001”等(圖3)。
圖3 漁業(yè)標(biāo)準(zhǔn)號實例
Fig.3 Examples of fishery standard number
(2)漁業(yè)標(biāo)準(zhǔn)指標(biāo)。漁業(yè)標(biāo)準(zhǔn)定義漁業(yè)生產(chǎn)中需要規(guī)范化操作的項目名稱,如“育苗設(shè)施”、“原料處理與裝籠”、“凍品外觀檢驗”、“魚片”、“黑膜”等(圖4)。
圖4 漁業(yè)指標(biāo)實例
Fig.4 Examples of fishery indicators
2.1.2 漁業(yè)標(biāo)準(zhǔn)實體標(biāo)注方法 通過對漁業(yè)標(biāo)準(zhǔn)文本的結(jié)構(gòu)分析發(fā)現(xiàn):漁業(yè)指標(biāo)實體前通常會出現(xiàn)數(shù)字編號來對漁業(yè)指標(biāo)實體進(jìn)行分級和定義,而傳統(tǒng)的BIO標(biāo)注方法是針對需要識別的實體類別進(jìn)行標(biāo)注,如人名、地名、機(jī)構(gòu)名等通用語料庫。由于傳統(tǒng)BIO標(biāo)注方法無法引入文本結(jié)構(gòu)信息,針對漁業(yè)標(biāo)準(zhǔn)文本的上述特點(diǎn),提出E-BIO標(biāo)注法,在構(gòu)建漁業(yè)標(biāo)準(zhǔn)語料庫時新增實體類“指標(biāo)編號”,對出現(xiàn)在“漁業(yè)指標(biāo)”前的數(shù)字編號進(jìn)行標(biāo)注。標(biāo)注方式采用BIO標(biāo)注,標(biāo)簽類別定義如表1所示。通過引入漁業(yè)標(biāo)準(zhǔn)文本結(jié)構(gòu)信息,可以使?jié)O業(yè)標(biāo)準(zhǔn)命名實體識別模型的CRF解碼器階段學(xué)習(xí)到各類命名實體標(biāo)簽之間的約束關(guān)系,更充分地提取“漁業(yè)標(biāo)準(zhǔn)指標(biāo)”實體的特征。經(jīng)對比試驗證明,E-BIO標(biāo)注方法在“漁業(yè)標(biāo)準(zhǔn)指標(biāo)”實體識別的召回率上有明顯的提升。
表1 標(biāo)簽類別定義
2.1.3 漁業(yè)標(biāo)準(zhǔn)語料庫 收集和整理240篇現(xiàn)行的涵蓋國標(biāo)、省標(biāo)、地標(biāo)、行標(biāo)等有關(guān)種質(zhì)、育苗養(yǎng)殖、基礎(chǔ)設(shè)施、水產(chǎn)品加工流通等漁業(yè)標(biāo)準(zhǔn)。漁業(yè)標(biāo)準(zhǔn)語料庫總字?jǐn)?shù)20萬字符,共4607條句子,帶標(biāo)記字符占總體16.1%。漁業(yè)標(biāo)準(zhǔn)命名實體分布數(shù)據(jù)如表2所示。
本研究中的試驗環(huán)境為Intel xeon E5-2630 v32.4 GHz處理器,6 GB內(nèi)存,操作系統(tǒng)為Ubuntu 16.04 LTS 64 bit。字符向量采用300維的隨機(jī)初始化向量,優(yōu)化器選擇Adam,學(xué)習(xí)率為0.001,Dropout為0.5。
表2 實體數(shù)據(jù)分布
試驗結(jié)果的評價指標(biāo)采用準(zhǔn)確率(precision)、召回率(recall)、F1值(F-measure)[22],其中F1值為模型的綜合評價指標(biāo)。P、R、F1的計算公式為
(11)
(12)
(13)
為驗證本研究中提出的E-BIO標(biāo)注法和模型對漁業(yè)標(biāo)準(zhǔn)命名實體識別的效果,分別設(shè)置了兩組對比試驗。
(1)試驗1。BiLSTM+CRF模型使用BIO標(biāo)注方法和標(biāo)注法的比較。表3分別給出了傳統(tǒng)BIO標(biāo)注法和E-BIO標(biāo)注法對“漁業(yè)標(biāo)準(zhǔn)指標(biāo)”的識別效果。從表3可見:E-BIO標(biāo)注法較傳統(tǒng)BIO標(biāo)注法在“漁業(yè)標(biāo)準(zhǔn)指標(biāo)”的召回率方面提升5.71%,這表明本研究中E-BIO標(biāo)注法在漁業(yè)標(biāo)準(zhǔn)命名實體識別任務(wù)上有較好的效果。
表3 不同標(biāo)注方法對漁業(yè)標(biāo)準(zhǔn)指標(biāo)識別效果比較
Tab.3 Effect comparison of different marking methods on the identification of fishery standards %
(2)試驗2。使用E-BIO標(biāo)注法的語料對BiLSTM、BiLSTM+CRF、BiLSTM+Attention+CRF模型進(jìn)行比較,其中,BiLSTM+Attention+CRF是融入注意力機(jī)制的漁業(yè)標(biāo)準(zhǔn)命名實體識別模型。3種模型對“漁業(yè)標(biāo)準(zhǔn)號”與“漁業(yè)標(biāo)準(zhǔn)指標(biāo)”的識別效果見表4、表5。
從表4可見:在“漁業(yè)標(biāo)準(zhǔn)號”的識別任務(wù)上,BiLSTM模型識別效果較差,BiLSTM+Attention+CRF模型的表現(xiàn)明顯優(yōu)于BiLSTM模型與BiLSTM+CRF模型,準(zhǔn)確率、召回率、F1值相對于BiLSTM+CRF模型分別提升了3.98%、0.87%、2.49%。
從表5可見:在“漁業(yè)標(biāo)準(zhǔn)指標(biāo)”的識別任務(wù)上,BiLSTM模型識別效果較差,BiLSTM+Attention+CRF較BiLSTM+CRF模型召回率提升了4.59%,F(xiàn)1值提升了2.37%。
試驗2結(jié)果說明融入注意力機(jī)制的命名實體識別模型能有效提升漁業(yè)標(biāo)準(zhǔn)命名實體識別效果。
表4 不同模型對漁業(yè)標(biāo)準(zhǔn)號識別效果比較
Tab.4 Comparison of the recognition effects of different models on fishery standard numbers %
表5 不同模型對漁業(yè)標(biāo)準(zhǔn)指標(biāo)識別效果比較
Tab.5 Effect comparison of different models on identification of fishery standard indicators %
模型model準(zhǔn)確率precision召回率recallF1值F1-measureBiLSTM76.5078.2977.61BiLSTM+CRF89.2680.3584.57BiLSTM+Attention+CRF89.0484.9486.94
針對漁業(yè)標(biāo)準(zhǔn)命名實體識別的問題,提出了一種基于E-BIO標(biāo)注法構(gòu)建漁業(yè)標(biāo)準(zhǔn)文本語料庫,可以使BiLSTM+CRF模型學(xué)習(xí)到漁業(yè)標(biāo)準(zhǔn)命名實體標(biāo)簽位置信息,提升了漁業(yè)標(biāo)準(zhǔn)命名實體識別的召回率;針對傳統(tǒng)命名實體識別模型在漁業(yè)標(biāo)準(zhǔn)命名實體識別任務(wù)中長序列語義消失的問題,提出了融合注意力機(jī)制的BiLSTM+CRF模型,經(jīng)試驗證明了該模型的有效性。但是在漁業(yè)標(biāo)準(zhǔn)語料庫中還存在其他有識別意義且樣本數(shù)量較低的實體類別,如“漁業(yè)水產(chǎn)品”等,這類術(shù)語在語料中總字符占比約1%,屬于樣本不均衡問題。因此,下一步工作是解決語料中樣本不均衡類實體的識別問題,以進(jìn)一步提升漁業(yè)標(biāo)準(zhǔn)命名實體的識別效果。
致謝:感謝國家科技資源共享服務(wù)平臺——國家海洋科學(xué)數(shù)據(jù)中心大連分中心(http://odc.dlou.edu.cn/)提供數(shù)據(jù)支撐!