許 力,李建華
(華東理工大學(xué)信息科學(xué)與工程學(xué)院,上海200237)
生物醫(yī)學(xué)命名實(shí)體識(shí)別是生物醫(yī)學(xué)領(lǐng)域自然語(yǔ)言處理應(yīng)用的核心任務(wù),對(duì)于藥物數(shù)據(jù)挖掘和藥物輔助設(shè)計(jì)具有重要意義。隨著生物醫(yī)學(xué)文獻(xiàn)的逐年增加,生物醫(yī)學(xué)命名實(shí)體識(shí)別逐漸成為研究熱點(diǎn)。
現(xiàn)有的生物醫(yī)學(xué)命名實(shí)體識(shí)別方法主要分為:基于規(guī)則和詞典的方法、基于機(jī)器學(xué)習(xí)的方法和基于深度學(xué)習(xí)的方法?;谝?guī)則和詞典的方法常見(jiàn)于早期命名實(shí)體識(shí)別研究,如Krauthammer等人[1]提出使用詞典識(shí)別基因和蛋白質(zhì)實(shí)體。這種方法雖然簡(jiǎn)單實(shí)用,但由于生物醫(yī)學(xué)文獻(xiàn)不斷增多,新的生物醫(yī)學(xué)命名實(shí)體不斷出現(xiàn),該方法逐漸受限于詞典的健全性導(dǎo)致識(shí)別效果不佳。Hanisch等人[2]提出使用基于規(guī)則的方法來(lái)識(shí)別基因和蛋白質(zhì)實(shí)體?;谝?guī)則的方法大多采用固定的規(guī)則模板,以模式和字符串匹配為主要手段,對(duì)文本進(jìn)行篩選處理,但這些規(guī)則往往依賴于具體的命名實(shí)體識(shí)別任務(wù)、語(yǔ)言和文本風(fēng)格,設(shè)計(jì)過(guò)程復(fù)雜、耗時(shí)長(zhǎng)且容易產(chǎn)生錯(cuò)誤[3]。
基于機(jī)器學(xué)習(xí)的方法主要包括隱馬爾可夫模型HMM(Hidden Markov Model)[4]、最大熵ME(Maximum Entropy)模型[5]和條件隨機(jī)場(chǎng)CRF(Conditional Random Field)[6]等。該類方法對(duì)于特征選取的要求較高,需選取例如前后綴、大小寫、特殊字符、詞元詞根等特征來(lái)訓(xùn)練模型。其中,CRF在命名實(shí)體識(shí)別任務(wù)中應(yīng)用廣泛,有良好的表現(xiàn)。Leaman等人[7]提出了tmchem模型,該模型集成了2個(gè)CRF模型,融合了多種人工特征。Li等人[8]在CRF模型中融入詞頻和共現(xiàn)信息來(lái)識(shí)別基因?qū)嶓w,進(jìn)一步提升了模型表現(xiàn)。相比于基于規(guī)則和詞典的方法,基于機(jī)器學(xué)習(xí)的方法進(jìn)一步提高了實(shí)體識(shí)別的準(zhǔn)確率,但由于過(guò)于依賴特征選取且識(shí)別策略單一,故此類方法效果有限。
隨著深度學(xué)習(xí)的發(fā)展,將神經(jīng)網(wǎng)絡(luò)應(yīng)用于命名實(shí)體識(shí)別已成為一種趨勢(shì)。Huang等人[9]提出了BiLSTM-CRF(Bidrectional Long Short-Term Memory)模型,使用BiLSTM提取上下文特征,并通過(guò)CRF學(xué)習(xí)數(shù)據(jù)集中不同標(biāo)簽之間的轉(zhuǎn)換概率來(lái)修改BiLSTM層的輸出。Ma等人[10]提出了BiLSTM-CNN-CRF模型,首先使用CNN(Convolutional Neural Network)提取字符級(jí)別特征,再使用BiLSTM-CRF模型進(jìn)一步提取上下文特征并輸出結(jié)果。相比于傳統(tǒng)機(jī)器學(xué)習(xí)方法,深度學(xué)習(xí)方法在不依賴人工特征的情況下,在命名實(shí)體識(shí)別任務(wù)中取得了更好的表現(xiàn)。
近年來(lái),詞嵌入(Word Embedding)技術(shù)被廣泛地應(yīng)用于自然語(yǔ)言處理任務(wù)中,尤其是作為基本特征應(yīng)用于深度學(xué)習(xí)方法中。詞嵌入又稱分布式單詞表示,它可以從大量未標(biāo)記的語(yǔ)料庫(kù)中獲取單詞的語(yǔ)義和句法信息,是將自然語(yǔ)言轉(zhuǎn)換為計(jì)算機(jī)能夠理解的向量或矩陣形式的技術(shù)。傳統(tǒng)的詞嵌入模型如word2vec[11]和Glove[12]都使用靜態(tài)詞向量進(jìn)行語(yǔ)義表征,但是一個(gè)詞在不同語(yǔ)境里的詞義是會(huì)變化的,這就帶來(lái)了一詞多義的問(wèn)題。例如“apple”可以指代水果,也可以指代一家公司。ELMO(Embedding from Language MOdels)模型[13]針對(duì)這一點(diǎn)進(jìn)行了優(yōu)化,它使用大型語(yǔ)料庫(kù)對(duì)雙向LSTM模型進(jìn)行預(yù)訓(xùn)練,得到上下文依賴的詞表示,解決了多義詞的問(wèn)題。相比于word2vec通過(guò)中心詞的上下窗口學(xué)習(xí)詞向量的方式,ELMO模型基于整個(gè)語(yǔ)料庫(kù)進(jìn)行學(xué)習(xí),其生成的詞向量更加精確。雖然ELMO模型稱為雙向語(yǔ)言模型,但其本質(zhì)上仍然是2個(gè)單向的LSTM模型相組合,一個(gè)LSTM只能編碼一個(gè)方向的語(yǔ)義,因此它無(wú)法同時(shí)利用前后2個(gè)方向的上下文信息,模型效果有限。
為了增強(qiáng)深度學(xué)習(xí)模型在特征提取方面的能力,Vaswani 等人[14]提出了Transformer機(jī)制。Transformer機(jī)制摒棄了循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),通過(guò)Attention機(jī)制直接對(duì)序列建模,大大加快了模型的并行計(jì)算能力。Devlin等人[15]進(jìn)一步提出了基于Transformer機(jī)制的BERT(Bidirectional Encoder Representation from Transformers)模型。相較于ELMO模型,它能夠同時(shí)利用上下文信息,是真正意義上的雙向語(yǔ)言表示模型。目前BERT在命名實(shí)體識(shí)別領(lǐng)域中得到了廣泛的應(yīng)用,如王子牛等人[16]將BERT與BiLSTM-CRF相結(jié)合應(yīng)用于中文命名實(shí)體識(shí)別中,取得了良好的效果。雖然BERT在自然語(yǔ)言處理領(lǐng)域已有應(yīng)用,但在生物醫(yī)學(xué)命名實(shí)體識(shí)別中的應(yīng)用尚缺乏研究。
針對(duì)現(xiàn)有方法的不足,本文提出一種將BERT預(yù)訓(xùn)練模型和BiLSTM-CRF模型相結(jié)合應(yīng)用于生物命名實(shí)體識(shí)別的模型。首先采用預(yù)訓(xùn)練詞向量模型BERT進(jìn)行語(yǔ)義提取,相較于傳統(tǒng)詞向量模型,它能根據(jù)上下文生成動(dòng)態(tài)詞向量,語(yǔ)義編碼更加精確;獲得BERT模型輸出后,加入詞性分析和組塊分析特征幫助模型識(shí)別實(shí)體邊界;最后將詞向量送入BiLSTM模型進(jìn)一步訓(xùn)練,并使用CRF修正BiLSTM模型的結(jié)果,輸出得分最大的標(biāo)注序列。實(shí)驗(yàn)結(jié)果表明,本文提出的模型有效地提升了生物醫(yī)學(xué)命名實(shí)體識(shí)別的準(zhǔn)確率。
圖1所示為本文提出的模型框架,模型共由3部分組成:詞性分析與組塊分析模塊、BERT模塊和BiLSTM-CRF模塊。其中,B-PER、E-PER和o表示模型預(yù)測(cè)結(jié)果的標(biāo)簽,li代表單詞i和它左側(cè)的文本表示,ri代表單詞i和它右側(cè)的文本表示,ci代表2種文本表示的結(jié)合。
Figure 1 Overall structure of model圖1 模型整體結(jié)構(gòu)圖
詞性可以解釋為一個(gè)詞在句子中的組成成分,通常相同詞性的詞語(yǔ)對(duì)應(yīng)的實(shí)體類別標(biāo)簽也是有規(guī)律的。由于生物醫(yī)學(xué)命名實(shí)體識(shí)別中的疾病名、藥物名和基因名大多都是以名詞形式出現(xiàn),所以本文引入詞性分析POS(Part Of Speech)作為特征,以增強(qiáng)模型在命名實(shí)體識(shí)別任務(wù)中的針對(duì)性。
生物醫(yī)學(xué)命名實(shí)體識(shí)別包含實(shí)體邊界檢測(cè)和實(shí)體分類2個(gè)核心步驟。實(shí)體邊界檢測(cè)作為命名實(shí)體識(shí)別中基礎(chǔ)的一步,對(duì)于提升命名實(shí)體識(shí)別準(zhǔn)確率有重要意義。大多數(shù)生物醫(yī)學(xué)文獻(xiàn)習(xí)慣采用描述性的命名,例如“Dual specificity tyrosine-phosphorylation-regulated kinase 1A DYRK1A”。在這樣的語(yǔ)句中,由于一個(gè)實(shí)體的名稱較長(zhǎng),且常包含數(shù)字和縮寫,所以較難識(shí)別出實(shí)體的邊界,導(dǎo)致識(shí)別效果較差;此外,生物醫(yī)學(xué)實(shí)體名稱通常有包含關(guān)系,即生物實(shí)體名可以是其他生物實(shí)體名的構(gòu)成部分,例如“sphingosine-1-phosphate”“sphingosine-1-phosphate receptor 4”“sphingosine-1-phosphate receptors”是3個(gè)不同的生物實(shí)體。以上這些問(wèn)題均給正確地識(shí)別出實(shí)體帶來(lái)了障礙。
為了正確地識(shí)別語(yǔ)料中的實(shí)體邊界,提升命名實(shí)體識(shí)別準(zhǔn)確率,本文使用組塊分析(Chunking)作為特征。組塊分析又被稱作淺層語(yǔ)義解析,它可以分析句子結(jié)構(gòu),把一句話中相似或內(nèi)部有關(guān)聯(lián)的部分放入一個(gè)分組,幫助模型正確地識(shí)別實(shí)體邊界。以表1為例,組塊分析使用詞性標(biāo)注的結(jié)果作為輸入,并提供分析好的組塊作為輸出。本文語(yǔ)料的詞性標(biāo)注和組塊分析特征均通過(guò)GENIA Tagger(http://www.nactem.ac.uk/GENIA/tagger/)生成,其輸出如表1所示。
Table 1 Output of GENIA Tagger
BERT在大規(guī)模書(shū)籍和維基百科語(yǔ)料中預(yù)訓(xùn)練,是一種深度雙向語(yǔ)言表征模型,其示意圖如圖2所示。其中,Ei代表模型輸入的單詞,N代表單詞的個(gè)數(shù),Trm代表Transformer的處理單元,Ti代表模型的輸出結(jié)果。
Figure 2 Structure of BERT圖2 BERT結(jié)構(gòu)示意圖
BERT模型的主要?jiǎng)?chuàng)新點(diǎn)在于預(yù)訓(xùn)練的方法上,即使用了遮蔽語(yǔ)言模型(Masked Language Model)和下一句預(yù)測(cè)(Next Sentence Prediction)來(lái)捕捉單詞和句子級(jí)別的上下文語(yǔ)義。遮蔽語(yǔ)言模型使用[MASK]標(biāo)志隨機(jī)地屏蔽輸入中的某些字符,并根據(jù)它的上下文來(lái)預(yù)測(cè)被屏蔽詞。與單方向的語(yǔ)言模型不同,遮蔽語(yǔ)言模型同時(shí)結(jié)合了左邊和右邊2個(gè)方向的文本,充分利用了上下文的語(yǔ)義。相比于傳統(tǒng)的詞向量模型,它根據(jù)上下文生成了動(dòng)態(tài)的詞向量,很好地解決了一詞多義的問(wèn)題。此外,BERT還使用下一句預(yù)測(cè)捕捉句子級(jí)別的上下文關(guān)系。模型接收成對(duì)的句子作為輸入,判斷2個(gè)句子的前后順序。這種方法廣泛地應(yīng)用于問(wèn)題回答(Question Answering)[17]和自然語(yǔ)言推理(Natural Language Inferance)[18]等自然語(yǔ)言處理任務(wù)中,并取得了良好的效果。BERT的輸入由3部分組成:Token embeddings、Segment embeddings和Position embeddings。其中,Token embeddings指的是單詞原始的詞向量,Segment embeddings指明當(dāng)前單詞位于句子對(duì)中的哪一句,Position embeddings指的是當(dāng)前單詞在句子中的序列位置。
從結(jié)構(gòu)上來(lái)說(shuō),BERT是將多個(gè)Transformer編碼器堆疊在一起進(jìn)行特征提取,每個(gè)Transformer編碼器由Self-attention層和前饋神經(jīng)網(wǎng)絡(luò)層組成。Self-attention是Transformer的核心機(jī)制,其計(jì)算如式(1)所示:
(1)
實(shí)際進(jìn)行語(yǔ)義編碼時(shí),BERT使用的是Multihead attention機(jī)制,即通過(guò)h個(gè)線性變換對(duì)Q,K,V作投影,形成多個(gè)子空間,讓模型關(guān)注更多特征。Multihead attention的本質(zhì)是進(jìn)行多次Self- attention計(jì)算,最后將不同的Self-attention計(jì)算結(jié)果進(jìn)行拼接。其計(jì)算如式(2)[15]所示:
MultiHead(Q,K,V) =Concat(head1,…,headh)WO
(2)
基于以上這些分析可以看出,BERT具有以下優(yōu)點(diǎn):
(1)BERT使用遮蔽語(yǔ)言模型和下一句預(yù)測(cè)進(jìn)行預(yù)訓(xùn)練,可以充分利用上下文信息,產(chǎn)生語(yǔ)義更豐富的動(dòng)態(tài)詞向量。
(2)BERT使用Transformer作為特征提取器,底層應(yīng)用Attention機(jī)制編碼了單詞和上下文的相關(guān)性,增強(qiáng)了模型的并行計(jì)算能力。
綜上,本文決定將BERT作為詞向量模型。
2.3.1 BiLSTM層
該層由前向LSTM層和后向LSTM層組成,分別獲取2個(gè)方向的上下文特征。獲取BERT層的輸出后,將其與POS embedding,Chunking 進(jìn)行拼接,加入到前向和后向LSTM中進(jìn)行編碼,并根據(jù)上下文,使用softmax函數(shù)給出當(dāng)前單詞對(duì)應(yīng)標(biāo)簽的概率。LSTM層的主要結(jié)構(gòu)可以表示如式(3)~式(8)所示:
it=σ(xt·wi+ht-1·wi′+bi)
(3)
ft=σ(xt·wf+ht-1·wf′+bf)
(4)
ot=σ(xt·wo+ht-1·wo′+bo)
(5)
(6)
(7)
ht=ot?tanh(ct)
(8)
其中,σ是 sigmoid 函數(shù),i、f、o 和 c 分別表示輸入門、遺忘門、輸出門和記憶單元; ?是點(diǎn)積運(yùn)算,w和b代表輸入門、遺忘門和輸出門的權(quán)重矩陣和偏置向量;xt指的是t時(shí)刻的網(wǎng)絡(luò)輸入,同時(shí)對(duì)應(yīng)于詞表示層的輸出。
2.3.2 CRF層
softmax函數(shù)雖然輸出了單詞對(duì)應(yīng)最大概率的標(biāo)簽,但其輸出的標(biāo)簽互相獨(dú)立,也就意味著容易出現(xiàn)不合理序列的情況,導(dǎo)致準(zhǔn)確率下降。CRF層的作用是對(duì)BiLSTM網(wǎng)絡(luò)層的輸出進(jìn)行修正,得到具有最大概率的合理序列。BiLSTM網(wǎng)絡(luò)層的輸出作為CRF層的輸入[19]。給定輸入X,輸出預(yù)測(cè)結(jié)果y的得分計(jì)算公式如式(9)所示:
(9)
其中,轉(zhuǎn)移矩陣元素Ayi,yi+1表示標(biāo)簽從yi轉(zhuǎn)移到y(tǒng)i+1的概率,yi為y中元素。Pi,yi表示第i個(gè)詞語(yǔ)標(biāo)記為yi的概率。在給定輸入X情況下,輸出預(yù)測(cè)結(jié)果y的概率如式(10)所示:
(10)
(11)
最終預(yù)測(cè)時(shí),根據(jù)式(12)輸出得分最高的結(jié)果。
(12)
本文在以下3個(gè)數(shù)據(jù)集上訓(xùn)練模型:BC4CHEMD[20]、BC5CDR-chem[21]和NCBI- disease[22]。數(shù)據(jù)集使用BIO[23]標(biāo)注方案,B 代表Beginning,標(biāo)注一個(gè)實(shí)體的開(kāi)始部分;I 代表 Inside,標(biāo)注組成實(shí)體的中間部分;O 代表Outside,標(biāo)注與實(shí)體無(wú)關(guān)的信息。數(shù)據(jù)集分布如表2所示。
Table 2 Details of datasets used in the experiment
本文采用3種評(píng)測(cè)指標(biāo),包括準(zhǔn)確率P(Precision)、召回率R(Recall)和F1值,具體公式如式(13)~式(15)所示:
(13)
(14)
(15)
其中,Tp為正確識(shí)別的實(shí)體個(gè)數(shù),F(xiàn)p代表識(shí)別錯(cuò)誤的實(shí)體個(gè)數(shù),F(xiàn)n代表未識(shí)別出的實(shí)體個(gè)數(shù)。
本文使用谷歌官方提供的BERT-base版本模型,句子序列長(zhǎng)度設(shè)為256,隱藏層維度設(shè)為768。BERT 學(xué)習(xí)率為2e-5,batch-size 設(shè)為128。獲得BERT輸出后,將其與30維詞性向量和20維Chunking向量進(jìn)行拼接,送入BiLSTM層訓(xùn)練。雙向LSTM 隱藏層維度設(shè)為200,Dropout率設(shè)為 0.3。優(yōu)化器采用Adam算法,實(shí)驗(yàn)結(jié)果在100輪訓(xùn)練之后收斂。
3.4.1 對(duì)比實(shí)驗(yàn)分析
實(shí)驗(yàn)結(jié)果如表3所示。為了驗(yàn)證本文所提出模型的實(shí)用性,選擇BERT模型和BiLSTM-CRF模型作為基準(zhǔn)模型進(jìn)行對(duì)比實(shí)驗(yàn)。
(1)為了驗(yàn)證詞性分析和組塊分析特征對(duì)于生物醫(yī)學(xué)命名實(shí)體識(shí)別任務(wù)的意義,本文對(duì)BiLSTM-CRF模型和BERT模型分別進(jìn)行了一組對(duì)比實(shí)驗(yàn)。從BiLSTM-CRF模型和POS+Chunking+BiLSTM-CRF模型的對(duì)比實(shí)驗(yàn)結(jié)果可以看出,BiLSTM-CRF模型加入詞性和組塊分析特征后,在3個(gè)數(shù)據(jù)集上的F1值均平均提升了0.45%,準(zhǔn)確率平均提升了0.47%。對(duì)比BERT
Table 3 Comparison of model performances on datasets
模型和本文模型的實(shí)驗(yàn)結(jié)果可以看出,BERT模型加入詞性和組塊分析特征后,在3個(gè)數(shù)據(jù)集上的F1值均平均提升了0.51%,準(zhǔn)確率平均提升了1.01%。實(shí)驗(yàn)結(jié)果表明,詞性分析和組塊分析特征對(duì)提升命名實(shí)體識(shí)別模型的準(zhǔn)確率有所幫助。
(2)為了說(shuō)明BERT在語(yǔ)義提取和詞向量表征方面的優(yōu)勢(shì),本文選擇BiLSTM-CRF進(jìn)行對(duì)比實(shí)驗(yàn)。作為命名實(shí)體識(shí)別領(lǐng)域應(yīng)用較為廣泛的模型,BiLSTM-CRF模型相比于之前基于規(guī)則和詞典的方法,性能獲得了較大提升。模型使用PubMed和PMC上預(yù)先訓(xùn)練好的詞向量(http://evexdb.org/pmresour ces/vec-space-models/)作為輸入,在3個(gè)數(shù)據(jù)集上獲得了平均86.74%的準(zhǔn)確率和86.37%的F1值。
BERT作為預(yù)訓(xùn)練詞向量模型,其內(nèi)部由Transformer編碼器堆疊而成,微調(diào)后可直接應(yīng)用于生物醫(yī)學(xué)命名實(shí)體識(shí)別任務(wù)中。分析表3中數(shù)據(jù)可以發(fā)現(xiàn),BERT模型在3個(gè)數(shù)據(jù)集上獲得了平均88.75%的準(zhǔn)確率和88.94%的F1值,相比于BiLSTM-CRF模型,其準(zhǔn)確率提升了2.01%,F(xiàn)1值提升了2.57%。結(jié)果表明,本文選擇的BERT模型相比于傳統(tǒng)的word2vec模型,能充分利用上下文信息,語(yǔ)義編碼更加精確,提升了模型的準(zhǔn)確率。對(duì)比BiLSTM-CRF模型和本文提出的POS+Chunking+BERT+BiLSTM-CRF模型的實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),相比于前者,本文模型的F1值平均提升了3.08%,準(zhǔn)確率平均提升了3.02%。實(shí)驗(yàn)結(jié)果表明,本文模型可以有效提升生物醫(yī)學(xué)命名實(shí)體識(shí)別的性能。
3.4.2 與現(xiàn)有其他方法對(duì)比
Leaman等人[24]提出了TaggerOne模型,該模型通過(guò)命名實(shí)體正則化減少了模型預(yù)測(cè)的錯(cuò)誤。Wang等人[25]提出在BiLSTM-CRF模型中融入多任務(wù)學(xué)習(xí)思想,同時(shí)學(xué)習(xí)多種生物醫(yī)學(xué)實(shí)體類型,取得了良好的實(shí)驗(yàn)效果。如表3所示,相比于TaggerOne模型,本文模型的準(zhǔn)確率平均提升了1.81%,F(xiàn)1值平均提升了4.50%。相比于Wang等人[25]提出的模型,本文模型的準(zhǔn)確率平均提升了1.01%,F(xiàn)1值平均提升了1.35%。綜上,實(shí)驗(yàn)結(jié)果表明,本文提出的模型相較于已有方法,在生物醫(yī)學(xué)命名實(shí)體識(shí)別任務(wù)中表現(xiàn)更好。
本文提出一種將預(yù)訓(xùn)練語(yǔ)言模型BERT和BiLSTM-CRF模型相結(jié)合應(yīng)用于生物命名實(shí)體識(shí)別的模型。BERT在大規(guī)模語(yǔ)料中進(jìn)行預(yù)訓(xùn)練,相較于傳統(tǒng)靜態(tài)的詞向量模型,它能根據(jù)上下文生成動(dòng)態(tài)詞向量,語(yǔ)義編碼更加精確,大大提升了生物醫(yī)學(xué)命名實(shí)體識(shí)別任務(wù)的準(zhǔn)確率。獲得BERT模型輸出后,加入詞性分析和組塊分析特征幫助模型識(shí)別實(shí)體邊界,進(jìn)一步提升了模型性能。最后將詞向量送入BiLSTM模型進(jìn)一步訓(xùn)練,并使用CRF修正BiLSTM模型的結(jié)果,輸出得分最大的標(biāo)注序列。實(shí)驗(yàn)結(jié)果表明,本文模型相比于已有的方法,在生物醫(yī)學(xué)命名實(shí)體識(shí)別任務(wù)中的表現(xiàn)更好。
由于本文使用的是在維基百科和書(shū)籍語(yǔ)料庫(kù)中進(jìn)行預(yù)訓(xùn)練的BERT,所以其適用于一般領(lǐng)域的命名實(shí)體識(shí)別任務(wù)。未來(lái),會(huì)考慮使用在生物醫(yī)學(xué)領(lǐng)域語(yǔ)料預(yù)訓(xùn)練的BERT模型,進(jìn)一步優(yōu)化任務(wù)表現(xiàn)。