李慧林,柴玉梅,孫穆禎
1(鄭州大學(xué) 信息工程學(xué)院,鄭州 450001)2(華中科技大學(xué) 公共管理學(xué)院,武漢 430070)
命名實(shí)體識(shí)別是自然語(yǔ)言處理領(lǐng)域的一項(xiàng)基本任務(wù),是信息抽取和信息檢索的前提,自1995年第六屆信息抽取會(huì)議(The sixth Message Understanding Conference,MUC-6)將命名實(shí)體識(shí)別作為評(píng)測(cè)任務(wù)后,命名實(shí)體識(shí)別的研究發(fā)展迅速,如新聞?lì)I(lǐng)域、金融領(lǐng)域、微博媒體領(lǐng)域等.但是,由于生物醫(yī)學(xué)領(lǐng)域的復(fù)雜性及多變性,醫(yī)療文本中的命名實(shí)體通常比一般領(lǐng)域的實(shí)體長(zhǎng)度更長(zhǎng),而且更具有專業(yè)性和針對(duì)性,病歷文本中實(shí)體類型眾多且存在簡(jiǎn)單實(shí)體和復(fù)雜實(shí)體的嵌套情況,越來(lái)越受到研究人員的關(guān)注.電子病歷(Electronic Medical Records,EMRs)作為醫(yī)療文本的一種形式,是指基于一個(gè)特定系統(tǒng)的電子化病人記錄,該系統(tǒng)提供用戶訪問(wèn)完整準(zhǔn)確的數(shù)據(jù)、警示、提示和臨床決策支持系統(tǒng)的能力.病歷中包含大量的隱私信息(Protected Health Information,PHI),如患者的個(gè)人信息、地址、聯(lián)系方式、醫(yī)生的個(gè)人信息及醫(yī)院名稱地址等.隱私信息的存在使得傳統(tǒng)的各個(gè)醫(yī)療機(jī)構(gòu)間信息不共享,公共臨床信息資源庫(kù)缺乏,導(dǎo)致許多基于臨床醫(yī)學(xué)的研究無(wú)法良好地開(kāi)展,甚至造成重復(fù)的研究,浪費(fèi)大量的時(shí)間和成本.為了保護(hù)這些隱私信息,需要對(duì)電子病歷進(jìn)行匿名化處理.1996年,美國(guó)出臺(tái)HIPAA法案,詳細(xì)規(guī)定了電子病歷中需要保護(hù)的用戶隱私信息.
命名實(shí)體識(shí)別任務(wù)常用的方法有早期基于規(guī)則和詞典的方法[1],基于傳統(tǒng)機(jī)器學(xué)習(xí)的方法[2-4],以及近年來(lái)基于深度學(xué)習(xí)的方法[5-7].Sweeney[8]提出了第一個(gè)基于規(guī)則的匿名化系統(tǒng),嘗試使用“常識(shí)模板”識(shí)別隱私信息.Yang[9]基于詞典和規(guī)則從醫(yī)院出院摘要中提取藥物信息,構(gòu)建了許多詞匯資源來(lái)描述不同類別藥物或形態(tài)特征.基于規(guī)則和詞典的方法考慮了數(shù)據(jù)的結(jié)構(gòu)和特點(diǎn),具有較好的識(shí)別效果,但對(duì)數(shù)據(jù)具有依賴性,可移植性差,而且手工編寫(xiě)規(guī)則耗費(fèi)大量的時(shí)間和精力.
基于機(jī)器學(xué)習(xí)的方法具有更好的可移植性,對(duì)未登錄詞也具有較好的識(shí)別效果,常用的機(jī)器學(xué)習(xí)模型有支持向量機(jī)模型(Support Vector Machine,SVM)、隱馬爾科夫模型(Hidden Markov Model,HMM)、條件隨機(jī)場(chǎng)模型(Conditional Random Field,CRF)等.Guo[10]使用支持向量機(jī)在醫(yī)療出院摘要中識(shí)別個(gè)人健康信息,SVM模型可以很容易地適應(yīng)一個(gè)新的領(lǐng)域,并實(shí)現(xiàn)良好的性能.Szarvas[11]使用決策樹(shù)實(shí)現(xiàn)隱私信息的識(shí)別,添加了兩個(gè)新的特征并應(yīng)用迭代學(xué)習(xí)方法,利用文本結(jié)構(gòu)化中給出的信息來(lái)提高識(shí)別的準(zhǔn)確性.
還有聯(lián)合了規(guī)則、詞典和機(jī)器學(xué)習(xí)的混合方法,其中使用較多且性能較好的是聯(lián)合條件隨機(jī)場(chǎng)和規(guī)則,條件隨機(jī)場(chǎng)模型由Lafferty[12]于2001年提出,它能夠融合大量的特征,在命名實(shí)體識(shí)別和序列標(biāo)注中具有很好的性能.Wellner[13]使用CRF模型和規(guī)則對(duì)電子病歷中的隱私信息進(jìn)行匿名化處理,并引入詞典以減少錯(cuò)誤.YANG[14]等針對(duì)中文電子病歷,提出了一套適合的命名實(shí)體和實(shí)體標(biāo)注體系,為信息抽取提供了基礎(chǔ).WANG[15]等提出了一種基于實(shí)例的遷移學(xué)習(xí)方法,基于條件隨機(jī)場(chǎng)進(jìn)行實(shí)驗(yàn)分析.LI[16]等得到三種詞表示方法后,將其作為CRF和SVM的特征進(jìn)行半監(jiān)督學(xué)習(xí)從而提高了性能.
近年來(lái),基于深度學(xué)習(xí)的命名實(shí)體識(shí)別發(fā)展迅速,Chiu[17]提出了一個(gè)新的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),使用一個(gè)雙向LSTM-CNNs結(jié)構(gòu),可以自動(dòng)的探測(cè)詞級(jí)別和字符級(jí)別的特征,從而避免了大部分的特征工程.Ma[18]提出一種雙向的LSTM-CNNs-CRF端到端的實(shí)現(xiàn)模型,無(wú)需功能工程或數(shù)據(jù)預(yù)處理,從而使其適用于各種序列標(biāo)注任務(wù).Dernoncourt[19]設(shè)計(jì)了一種基于人工神經(jīng)網(wǎng)絡(luò)的命名實(shí)體識(shí)別工具,用戶可以使用圖形化的界面對(duì)實(shí)體進(jìn)行注釋,之后使用注釋好的數(shù)據(jù)來(lái)訓(xùn)練人工神經(jīng)網(wǎng)絡(luò),從而對(duì)新文本中實(shí)體的位置和類別實(shí)現(xiàn)預(yù)測(cè).Peters[20]使用大量的無(wú)標(biāo)注數(shù)據(jù)訓(xùn)練一個(gè)雙向神經(jīng)網(wǎng)絡(luò)模型,用這個(gè)訓(xùn)練好的模型來(lái)獲取當(dāng)前要標(biāo)注詞的向量,再將該向量作為特征加入到原始的雙向RNN-CRF模型中.Rei[21]使用注意力機(jī)制將原始的字符向量和詞向量拼接加入了權(quán)重求和,使用兩層傳統(tǒng)神經(jīng)網(wǎng)絡(luò)隱層來(lái)學(xué)習(xí)權(quán)值,從而動(dòng)態(tài)地利用字符向量和詞向量.
圖1 命名實(shí)體識(shí)別整體流程Fig.1 Overall process of named entity recognition
本文采用多種深層網(wǎng)絡(luò)模型實(shí)現(xiàn)命名實(shí)體識(shí)別任務(wù).深層條件隨機(jī)場(chǎng)模型融合了多種特征,條件隨機(jī)場(chǎng)模型沒(méi)有獨(dú)立性假設(shè)的約束,可以更好地利用上下文特征,深層條件隨機(jī)場(chǎng)模型將復(fù)雜的實(shí)體識(shí)別問(wèn)題分解為多個(gè)子問(wèn)題,加入邊界特征,針對(duì)每個(gè)子問(wèn)題分別在不同層進(jìn)行實(shí)現(xiàn).BR-BiRNN(Block Representation Bidirectional Recurrent Neural Network)模型基于塊表示將醫(yī)療文本轉(zhuǎn)化為詞向量,加入詞性向量后組成新的向量,以此向量作為循環(huán)神經(jīng)網(wǎng)絡(luò)的輸入,由輸出層輸出預(yù)測(cè)結(jié)果.BR-BiLSTM-CRF(Block Representation Bidirectional Long Short Term Memory and Conditional Random Field)模型同樣基于塊表示方法,結(jié)合了雙向長(zhǎng)短期記憶網(wǎng)絡(luò)和鏈?zhǔn)綏l件隨機(jī)場(chǎng),將前向LSTM和后向LSTM的輸出拼接為新的向量作為后層條件隨機(jī)場(chǎng)的輸入,識(shí)別流程如圖1所示.
條件隨機(jī)模型可以看成是一個(gè)無(wú)向圖模型或馬爾科夫隨機(jī)場(chǎng),用來(lái)標(biāo)記序列化數(shù)據(jù),對(duì)于給定的觀察序列,計(jì)算其整個(gè)標(biāo)記序列的聯(lián)合概率.將命名實(shí)體識(shí)別視為序列標(biāo)注任務(wù),使用線性鏈條件隨機(jī)場(chǎng)解決序列標(biāo)注問(wèn)題,針對(duì)電子病歷文本,隨機(jī)變量X={x1,x2,…,xn}表示觀察序列,隨機(jī)變量Y={y1,y2,…,yn}表示相應(yīng)的標(biāo)記序列,P(Y|X)表示在給定X的條件下Y的條件概率分布,則條件隨機(jī)場(chǎng)可表示為:
(1)
(2)
式中,fk(yi-1,yi,x,i)是特征函數(shù),λk是對(duì)應(yīng)的權(quán)值,Z(x)為歸一化項(xiàng),對(duì)于一個(gè)條件隨機(jī)場(chǎng)模型,已知觀察序列X時(shí),最可能的標(biāo)記序列可以表示為:
Y*=argmaxYP(y|x)
(3)
使用條件隨機(jī)場(chǎng)訓(xùn)練模型,給定一個(gè)輸入句,P(Y|X)值最大的那個(gè)就是輸出的標(biāo)記序列,即輸入句中詞序列對(duì)應(yīng)的實(shí)體類別序列.
條件隨機(jī)場(chǎng)模型更好地利用了上下文的優(yōu)勢(shì),在序列標(biāo)注任務(wù)中更有優(yōu)勢(shì),本文在傳統(tǒng)條件隨機(jī)場(chǎng)模型的基礎(chǔ)上進(jìn)行改進(jìn),提出了深層條件隨機(jī)場(chǎng)模型.深層條件隨機(jī)場(chǎng)模型對(duì)問(wèn)題進(jìn)行拆分,將復(fù)雜的實(shí)體識(shí)別問(wèn)題分解為子問(wèn)題:實(shí)體邊界檢測(cè)和確定實(shí)體類別.針對(duì)子問(wèn)題分別在模型中的不同層進(jìn)行實(shí)現(xiàn),首先是實(shí)體邊界檢測(cè),由第一層線性鏈條件隨機(jī)場(chǎng)完成,之后是確定實(shí)體類別,由第二層線性鏈條件隨機(jī)場(chǎng)完成.深層條件隨機(jī)場(chǎng)模型的第一層輸出為實(shí)體邊界特征,并不涉及具體實(shí)體類別,包括隱私實(shí)體的開(kāi)始,隱私實(shí)體的內(nèi)部、隱私實(shí)體的結(jié)束、單個(gè)詞構(gòu)成的隱私實(shí)體和非隱私實(shí)體,由于只有五種類別更利于學(xué)習(xí)有效特征且提高了訓(xùn)練效率,第二層通過(guò)第一層的學(xué)習(xí)為最終分類提供支持.本文深層條件隨機(jī)場(chǎng)模型中第二層的輸入不僅包括第一層的輸出,還包括原始詞特征、詞性特征及上下文特征,其結(jié)構(gòu)如圖2所示.
(4)
圖2 深層條件隨機(jī)場(chǎng)模型Fig.2 Deep conditional random field model
取對(duì)數(shù)并引入懲罰項(xiàng)解決過(guò)度學(xué)習(xí)問(wèn)題,則對(duì)數(shù)似然函數(shù)形式為:
(5)
對(duì)參數(shù)的估計(jì)只使用最近m次迭代的曲率信息來(lái)構(gòu)造海森矩陣的近似矩陣,根據(jù)對(duì)數(shù)似然函數(shù)對(duì)相應(yīng)的參數(shù)λk求一階偏導(dǎo)數(shù).得到參數(shù)后,對(duì)于未標(biāo)記的序列,求其最可能的標(biāo)記序列,使用動(dòng)態(tài)規(guī)劃算法,將全局最優(yōu)解的計(jì)算分解為階段最優(yōu)解的計(jì)算,得到第一層網(wǎng)絡(luò)的輸出結(jié)果,將此結(jié)果傳遞到第二層網(wǎng)絡(luò),加入了第一層的輸出結(jié)果,聯(lián)合考慮當(dāng)前詞的實(shí)體邊界特征和其他特征,最終輸出實(shí)體標(biāo)記序列.
特征模板定義了從訓(xùn)練集中提取特征的方法,本文對(duì)訓(xùn)練集進(jìn)行處理后抽取如下特征:
詞特征:詞本身特征.
詞性特征:詞的詞性.
拼寫(xiě)特征:如是否包含數(shù)字或特殊符號(hào)等.
上下文特征:當(dāng)前詞及其前后若干詞組成的觀察窗口.
聯(lián)合特征:如t0p-1,t0表示當(dāng)前詞,p-1表示前一個(gè)詞的詞性.
原子特征模板描述了當(dāng)前詞及其詞性信息等,利用多個(gè)特征進(jìn)行模型的訓(xùn)練與學(xué)習(xí),本文選用的模板見(jiàn)表1.
表1 原子特征模板
Table 1 Atomic feature template
模板形式模板說(shuō)明ti(i=-7,-6,…,6,7)詞特征pi(i=-2,-1,0,1,2)詞性特征Oi(i=-2,-1,0,1,2)詞的拼寫(xiě)特征
表2中,組合特征相對(duì)原子特征加入了多種特征的組合形式,能表達(dá)出更多的上下文信息,因此對(duì)原子特征進(jìn)行特征組合,構(gòu)成新的組合特征模板.
特征函數(shù)集由特征模板產(chǎn)生,初始特征函數(shù)集為空,依次取出特征模板中的模板與訓(xùn)練文件中的每個(gè)對(duì)應(yīng)項(xiàng)進(jìn)行匹配,若生成的特征函數(shù)不在特征函數(shù)集中,就將新產(chǎn)生的函數(shù)加入到集合中,即針對(duì)每一個(gè)模板,遍歷訓(xùn)練文件中的每個(gè)對(duì)應(yīng)項(xiàng),生成對(duì)應(yīng)的特征函數(shù).生成的特征函數(shù)是二值函數(shù),若原始序列和狀態(tài)序列滿足條件則特征函數(shù)值為1,否則為0,之后使用最大似然估計(jì)法訓(xùn)練求解特征函數(shù)的權(quán)重,訓(xùn)練得到權(quán)重后即生成了模型,輸入測(cè)試數(shù)據(jù)即可實(shí)現(xiàn)預(yù)測(cè).一個(gè)模板生成的函數(shù)的數(shù)量是L*N,其中L是訓(xùn)練集中的類別數(shù)量,N是從模板中擴(kuò)展處理的字符串種類.
表2 部分組合特征模板
Table 2 Some combination feature template
模板形式模板說(shuō)明t0 p0當(dāng)前詞和當(dāng)前詞詞性t0p-1當(dāng)前詞和前一個(gè)詞詞性t0t-1當(dāng)前詞和前一個(gè)詞p0p-1當(dāng)前詞詞性和前一個(gè)詞詞性p0t0p1當(dāng)前詞詞性、當(dāng)前詞和后一個(gè)詞詞性t0O0當(dāng)前詞和當(dāng)前詞的拼寫(xiě)特征O0O-1當(dāng)前詞拼寫(xiě)特征和前一個(gè)詞拼寫(xiě)特征p-1 p0O0前一個(gè)詞詞性、當(dāng)前詞詞性和拼寫(xiě)特征
RNN可以對(duì)時(shí)間序列上的變化進(jìn)行記錄,更適合處理變長(zhǎng)或具有時(shí)序關(guān)系的數(shù)據(jù),常用于詞性標(biāo)注或命名實(shí)體識(shí)別等序列標(biāo)注任務(wù)中.循環(huán)神經(jīng)網(wǎng)絡(luò)中,序列當(dāng)前的輸出不僅與當(dāng)前的輸入有關(guān),還與前面的輸出有關(guān).循環(huán)神經(jīng)網(wǎng)絡(luò)一般包含一個(gè)輸入層x向量、一個(gè)隱藏層s向量和一個(gè)輸出層o向量.
圖3 循環(huán)神經(jīng)網(wǎng)絡(luò)Fig.3 Recurrent neural network
圖3中,xt是網(wǎng)絡(luò)在t時(shí)刻的輸入,st是隱藏層的值,ot是輸出值,st-1是上一次隱藏層的值,U是輸入層到隱藏層的權(quán)重矩陣,V是隱藏層到輸出層的權(quán)重矩陣,W是隱藏層上一次的值作為這次輸入的權(quán)重矩陣.st的值不僅與xt有關(guān),還與st-1有關(guān),循環(huán)神經(jīng)網(wǎng)絡(luò)的隱藏層為:
st=f(Uxt+Wst-1)
(6)
輸出層為:
ot=g(Vst)
(7)
f和g是激活函數(shù),f一般是非線性的激活函數(shù),如sigmoid函數(shù),tanh函數(shù)或ReLU函數(shù),g是softmax函數(shù).
將命名實(shí)體識(shí)別視為序列標(biāo)注任務(wù),則需要對(duì)原始語(yǔ)料進(jìn)行處理,將文本表示為適合序列標(biāo)注的塊表示方法.本文采用兩種塊表示方法:BIO表示法和BIOES表示法.BIO表示法的B(Begin)表示命名實(shí)體的開(kāi)始,I(Inside)表示命名實(shí)體的中間,O(Outside)表示命名實(shí)體的外部,即該詞不是命名實(shí)體.BIOES表示法中的BIO與上述相同,此外使用E(End)表示命名實(shí)體的結(jié)束,S(Single)表示單獨(dú)的實(shí)體,即該實(shí)體僅由一個(gè)詞語(yǔ)組成.不同的塊表示方法對(duì)命名實(shí)體識(shí)別有不同的影響,圖4給出了兩種表示方法.
BIO representation:On/O 9-27/B,/O she/Oexperienced/O another/O Episode/O of/Oconstipation/O and/O impaction/O,/O came/O to/OLiccam/B Community/I Medical/I Center/I./OBIOES representation:On/O 9-27/S,/O she/Oexperienced/O another/O Episode/O of/Oconstipation/O and/O impaction/O,/O came/O to/OLiccam/B Community/I Medical/I Center/E./O
圖4 BIO和BIOES表示法
Fig.4 BIO and BIOES representation
以句子為單位表示為詞向量的集合,詞向量是將語(yǔ)言中的詞進(jìn)行數(shù)學(xué)化表達(dá)的方式,將詞映射為相應(yīng)的詞向量,所有的詞向量構(gòu)成一個(gè)詞向量空間,每個(gè)詞向量視為該空間的一個(gè)點(diǎn),引入空間距離就可以計(jì)算詞之間的相似性,通過(guò)這種數(shù)學(xué)化的表示,更利于挖掘語(yǔ)言中的相關(guān)特征,算法1以BIO表示法為例,給出了詞向量的生成過(guò)程.
算法1.詞向量生成算法
輸入:訓(xùn)練數(shù)據(jù)集lex_train,ne_train,測(cè)試數(shù)據(jù)集lex_test,ne_test,詞典dicts
輸出:訓(xùn)練好的詞向量train_set,test_set
1.words2idx=dicts[0];//將詞轉(zhuǎn)換為詞向量
2.labels2idx=dicts[1];//將標(biāo)簽轉(zhuǎn)換為詞向量
3.idx2word=dict((k,v)for v,k in words2idx.iteritems());
4.idx2label=dict((k,v)for v,k in labels2idx.iteritems());
5.O_idx=labels2idx[′O′];
6.Initialize B_idx_list 和I_idx_list 為空;//初始為空
7.For k,v in idx2label.iteritems()
8. If v.startswith(′B′)
9. B_idx_list.append(k);
10. Elif v.startswith(′I′)
11. I_idx_list.append(k);
12.End for
13.For each lex_train[i][j] in lex_train
14. lex_train[i][j]=words2idx[lex_train[i][j]];//生成詞向量
15.End for
16.For each ne_train[i][j] in ne_train
17. ne_train[i][j]=labels2idx[ne_train[i][j]];//生成詞向量
18.End for
19.For each lex_test[i][j] in lex_test
20. lex_test[i][j]=words2idx[lex_test[i][j]];//生成詞向量
21.End for
22.For each ne_test[i][j] in ne_test
23. ne_test[i][j]=labels2idx[ne_test[i][j]];//生成詞向量
24.End for
25.訓(xùn)練集詞向量集合train_set=[lex_train,ne_train];
26.測(cè)試集詞向量集合test_set=[lex_test,ne_test];
詞典由大量語(yǔ)料生成,將文本表示為詞向量形式后,將每個(gè)詞的詞性同樣的表示為向量形式,文本中第i個(gè)句子可以表示為向量si=(t0,t1,…,tm),其中tj是句子中的第j個(gè)詞的詞向量,第i個(gè)句子對(duì)應(yīng)的詞性向量ci=(p0,p1,…,pm),其中pj是第j個(gè)詞的詞性向量,把詞向量和詞性向量拼接為一個(gè)新的向量,拼接后的向量為xi=[ti,pi],以此向量xi作為BR-BiRNN模型的輸入.數(shù)據(jù)集中由于每個(gè)句子長(zhǎng)度不同,采用窗口策略對(duì)語(yǔ)料進(jìn)行處理,實(shí)驗(yàn)后設(shè)定窗口大小為5,即神經(jīng)網(wǎng)絡(luò)的輸入x(i)={xi-2,xi-1,xi,xi+1,xi+2},表示當(dāng)前詞的向量及其上下各兩個(gè)詞的向量.當(dāng)前詞為句首詞時(shí),由于其前面并沒(méi)有詞,用負(fù)1填充,當(dāng)前詞為句尾詞時(shí)類似.
引入雙向循環(huán)神經(jīng)網(wǎng)絡(luò)模型BiRNN,基于塊表示方法訓(xùn)練神經(jīng)網(wǎng)絡(luò),BR-BiRNN模型包含一個(gè)前向RNN層,一個(gè)后向RNN層,對(duì)前后兩個(gè)方向時(shí)間序列上變化進(jìn)行記錄,經(jīng)softmax層后輸出標(biāo)注結(jié)果,其結(jié)構(gòu)如圖5所示.
圖5 BR-BiRNN模型Fig.5 BR-BiRNN model
將文本預(yù)處理后轉(zhuǎn)化為塊表示方式,進(jìn)而處理每個(gè)詞生成對(duì)應(yīng)的向量,以向量作為神經(jīng)網(wǎng)絡(luò)的輸入,傳遞給前向RNN和后向RNN,把前向RNN和后向RNN的輸出拼接傳遞給softmax層,由softmax輸出序列{y1,y2,…,yn},即各個(gè)詞對(duì)應(yīng)的預(yù)測(cè)標(biāo)簽,算法2描述了訓(xùn)練過(guò)程.
算法2.BR-BiRNN模型的訓(xùn)練算法
輸入:醫(yī)療文本
輸出:訓(xùn)練后的BR-BiRNN模型
1.將文本表示為向量形式;
2.While 不滿足終止條件 對(duì)樣本 do
4.ht=σ(zt)=σ(Uxt+Wht-1+b)
5.ot=Vht+c
8. (1-y(i))log(1-h(w,b)(x(i)))]
11.End while
簡(jiǎn)單的RNN由于存在梯度消失和梯度爆炸,難以處理長(zhǎng)距離依賴的問(wèn)題,長(zhǎng)短期記憶網(wǎng)絡(luò)LSTM是RNN的一種變形,它不僅可以保存短期的輸入,還能保存長(zhǎng)期的狀態(tài),LSTM增加了一個(gè)圖6所示的單元狀態(tài)c,用來(lái)保存長(zhǎng)期狀態(tài).
LSTM單元c的內(nèi)容由3個(gè)門(mén)來(lái)控制,分別是輸入門(mén)it、遺忘門(mén)ft、輸出門(mén)ot.輸入門(mén)it控制前一時(shí)刻的單元狀態(tài)ct-1有多少保留到當(dāng)前ct,遺忘門(mén)ft控制當(dāng)前輸入xt有多少保留到當(dāng)前ct,輸出門(mén)ot控制ct有多少輸出到LSTM的當(dāng)前輸出值ht,使用如下定義實(shí)現(xiàn):
it=σ(Wiht-1+Uixt+bi)
(8)
ft=σ(Wfht-1+Ufxt+bf)
(9)
ot=σ(Woht-1+Uoxt+bo)
(10)
(11)
(12)
ht=ot·tanh(ct)
(13)
其中,W和U是權(quán)重矩陣,b是偏置向量,·是按元素乘,σ和tanh是激活函數(shù).σ函數(shù)定義為:
(14)
tanh函數(shù)定義為:
(15)
圖6 LSTM單元組成結(jié)構(gòu)Fig.6 The cell structure of LSTM
LSTM單元記錄長(zhǎng)期依賴信息,針對(duì)復(fù)雜問(wèn)題可以利用到距離當(dāng)前位置很遠(yuǎn)的上下文信息,適合處理時(shí)間序列中間隔和延遲非常長(zhǎng)的場(chǎng)景.
單向LSTM僅利用了過(guò)去的上下文信息,而雙向LSTM同時(shí)利用了過(guò)去和未來(lái)兩個(gè)時(shí)間方向上的上下文信息.BR-BiLSTM-CRF模型基于塊表示方法,使用雙向的LSTM模型檢測(cè)隱私實(shí)體邊界,可以實(shí)現(xiàn)自動(dòng)提取特征,連接到鏈?zhǔn)綏l件隨機(jī)場(chǎng)層輸出實(shí)體類別,它接收雙向LSTM的輸出作為輸入,同時(shí)僅再加入詞和詞性特征,而不需要人工總結(jié)和添加其他特征.
隱私實(shí)體邊界檢測(cè)不僅與當(dāng)前詞向量前面的詞向量有關(guān),還與當(dāng)前詞向量后面的詞向量相關(guān),因此本文采用雙向LSTM更有效地利用數(shù)據(jù)之間的整體序列信息來(lái)檢測(cè)實(shí)體邊界,采用CRF識(shí)別實(shí)體類別,如圖7所示,其基本思想是訓(xùn)練序列向前和向后形成兩個(gè)LSTM網(wǎng)絡(luò),分別利用了過(guò)去和未來(lái)的上下文信息,它們同時(shí)連接到一個(gè)輸出層,之后再連接到一層CRF上.
圖7 BR-BiLSTM-CRF模型Fig.7 BR-BiLSTM-CRF model
(16)
式中,w和b是需要訓(xùn)練的參數(shù),m是樣本的個(gè)數(shù),x(i)是第i個(gè)樣本值,y(i)是第i個(gè)樣本的標(biāo)簽,h(w,b)(x(i))是第i個(gè)樣本用參數(shù)w和b預(yù)測(cè)得到的y值.訓(xùn)練過(guò)程首先是前向計(jì)算,分別計(jì)算出LSTM前向?qū)雍秃笙驅(qū)拥闹?剛開(kāi)始訓(xùn)練時(shí),輸出值和預(yù)期值不同,接著計(jì)算每個(gè)神經(jīng)元的誤差項(xiàng)值,損失函數(shù)是交叉熵函數(shù),之后使用梯度下降法,更新網(wǎng)絡(luò)參數(shù),LSTM反向傳播誤差項(xiàng)包括兩個(gè)方向:一個(gè)是空間上,將誤差項(xiàng)向神經(jīng)網(wǎng)絡(luò)的上一層傳播,一個(gè)是時(shí)間上,從當(dāng)前t時(shí)刻開(kāi)始,計(jì)算每個(gè)時(shí)刻的誤差.重復(fù)此一系列步驟,直到誤差小于給定值,一般是一個(gè)很小的數(shù),算法3描述了訓(xùn)練過(guò)程.
算法3.實(shí)體邊界識(shí)別的訓(xùn)練算法
輸入:醫(yī)療文本
輸出:訓(xùn)練后的實(shí)體邊界識(shí)別模型
1.將文本表示為詞向量形式train_set=[lex_train,ne_train];
2.While 不滿足終止條件,對(duì)train_set do
6. 計(jì)算損失:將預(yù)測(cè)得到的結(jié)果h(w,b)(x(i))和期望值
7.h(x(i))比較,得到損失函數(shù)J(w,b);
9. 更新參數(shù):w←w+Δw,b←b+Δb;
10.End while
經(jīng)過(guò)雙向LSTM獲得隱私實(shí)體邊界結(jié)果后,連接一層條件隨機(jī)場(chǎng),將邊界特征作為條件隨機(jī)場(chǎng)的輸入,構(gòu)建BR-BiLSTM-CRF模型,由最后一層的條件隨機(jī)場(chǎng)確定實(shí)體類別.由于條件隨機(jī)場(chǎng)模型的當(dāng)前輸出考慮了上一輸出結(jié)果,因此對(duì)實(shí)體識(shí)別這樣的序列標(biāo)注問(wèn)題更具有優(yōu)勢(shì),如I后面可以有多個(gè)I,但O后面不應(yīng)出現(xiàn)I,相比于一般分類器輸出獨(dú)立的分類結(jié)果,條件隨機(jī)場(chǎng)的輸出有效利用了前后的標(biāo)簽來(lái)預(yù)測(cè)當(dāng)前標(biāo)簽.
實(shí)驗(yàn)采用Informatics for Integrating Biology and the Bedside(I2B2)2006年、2014年英文評(píng)測(cè)數(shù)據(jù)集和某醫(yī)院婦產(chǎn)科中文醫(yī)療文本.I2B2是美國(guó)國(guó)立衛(wèi)生研究院資助的國(guó)家生物醫(yī)學(xué)中心,2006年評(píng)測(cè)數(shù)據(jù)中隱私實(shí)體通過(guò)XML標(biāo)簽來(lái)標(biāo)記,共包含年齡、日期、醫(yī)生姓名、醫(yī)院名、證件號(hào)碼、地址、患者姓名、電話共8種命名實(shí)體.2014年數(shù)據(jù)集格式較2006年有較大變化,通過(guò)命名實(shí)體在整個(gè)文本中的偏移量來(lái)標(biāo)記,其中的隱私實(shí)體類別也比2006年更復(fù)雜,共有7個(gè)大類,分別是姓名、職業(yè)、地址、年齡、日期、聯(lián)系方式和證件號(hào)碼,大類下又更進(jìn)一步劃分為多個(gè)小類.婦產(chǎn)科醫(yī)療文本來(lái)自某醫(yī)院真實(shí)數(shù)據(jù),包括入院診斷、住院經(jīng)過(guò)、出院診斷等,標(biāo)注格式與2006年I2B2格式一致.中文數(shù)據(jù)首先進(jìn)行分詞處理,其他處理步驟與英文語(yǔ)料一致.實(shí)驗(yàn)語(yǔ)料中隱私實(shí)體數(shù)量見(jiàn)表3.
評(píng)價(jià)指標(biāo)采用精確率P、召回率R和F值:
(17)
(18)
(19)
精確率是評(píng)估預(yù)測(cè)結(jié)果中目標(biāo)實(shí)體所占的比例,召回率是評(píng)估召回目標(biāo)實(shí)體的比例,精確率和召回率越高,說(shuō)明實(shí)驗(yàn)結(jié)果越好,然而一般精確率高時(shí)召回率低,召回率高時(shí)精確率低,因此,加入F值評(píng)價(jià)指標(biāo),F值綜合考慮了精確率和召回率,是精確率和召回率的調(diào)和平均值.
表3 訓(xùn)練集和測(cè)試集中PHI實(shí)體分布
Table 3 Train set and test set of PHI named entity distribution
2006 I2B2評(píng)測(cè)2014 I2B2評(píng)測(cè)婦產(chǎn)科數(shù)據(jù)集訓(xùn)練集測(cè)試集訓(xùn)練集測(cè)試集訓(xùn)練集測(cè)試集樣本數(shù)66922079051477601940詞數(shù)3947451661054956593205902370432656512命名實(shí)體數(shù)14253524517389114623643711635
實(shí)驗(yàn)共使用了三個(gè)數(shù)據(jù)集,在提出的三種不同的深層網(wǎng)絡(luò)模型下進(jìn)行實(shí)驗(yàn):深層條件隨機(jī)場(chǎng)模型、BR-BiRNN模型、BR-BiLSTM-CRF模型.并與傳統(tǒng)的SVM、HMM和CRF模型進(jìn)行對(duì)比.實(shí)驗(yàn)發(fā)現(xiàn)BIOES塊表示法比BIO塊表示法結(jié)果更優(yōu),表4給出的實(shí)驗(yàn)結(jié)果均是在BIOES表示法下的結(jié)果,其中,訓(xùn)練SVM使用高斯核函數(shù),HMM-DP模型是Chen等人對(duì)HMM的改進(jìn)結(jié)果,CRF是未做改進(jìn)的基本CRF模型,分別僅使用了原子特征和原子+組合特征,Deep CRF模型是本文提出的深層條件隨機(jī)場(chǎng)模型,BR-BiRNN模型、BR-BiLSTM-CRF模型是本文提出的另兩種基于循環(huán)神經(jīng)網(wǎng)絡(luò)的深層網(wǎng)絡(luò)模型.本文提出的三種模型在I2B2中心2006年和2014年的評(píng)測(cè)數(shù)據(jù)集中F值均超過(guò)90%,在婦產(chǎn)科醫(yī)療文本中F值超過(guò)85%.針對(duì)每種具體的實(shí)體類別,表5以2014年評(píng)測(cè)數(shù)據(jù)集為例給出了每個(gè)隱私實(shí)體類別的精確率、召回率和F值.
表4 不同模型結(jié)果對(duì)比
Table 4 Comparison of the results of different experimental conditions
2006 I2B2數(shù)據(jù)集2014 I2B2數(shù)據(jù)集婦產(chǎn)科數(shù)據(jù)集PRFPRFPRFSVM83.1181.2682.1785.2382.1483.6680.0476.3378.14HMM-DP(Chen)---94.3087.9091.00---CRF(AF)86.3383.2284.7590.6082.8086.5284.1780.2682.17CRF(AF+CF)88.5187.6588.0796.2683.9989.7085.7382.1883.92Deep CRF93.8891.3192.5895.1088.0391.4388.4485.3186.85BR-BiRNN94.1091.5492.8094.8389.9692.3391.0285.1487.98BR-BiLSTM-CRF94.2191.8693.0294.6990.4292.5191.0686.3088.62
由表4可知,CRF模型在原子特征的基礎(chǔ)上加入組合特征后,性能有所提高,因?yàn)榻M合特征包含了更多的上下文信息,能為模型的正確輸出提供更多支持,因此本文深層條件隨機(jī)場(chǎng)模型在檢測(cè)隱私實(shí)體邊界時(shí),采用了原子特征和組合特征,深層條件隨機(jī)場(chǎng)模型比傳統(tǒng)的機(jī)器學(xué)習(xí)模型如SVM、HMM等的精確率和召回率都有所提高,整體F值得到提高.BR-BiRNN模型基于循環(huán)神經(jīng)網(wǎng)絡(luò),不需要額外的專業(yè)領(lǐng)域知識(shí),可以自動(dòng)提取特征.BR-BiLSTM-CRF模型結(jié)合了神經(jīng)網(wǎng)絡(luò)層和條件隨機(jī)場(chǎng)層,F值在三個(gè)語(yǔ)料上分別達(dá)到93.02%、92.51%和88.62%.婦產(chǎn)科醫(yī)療文本是中文語(yǔ)料集,由于中文預(yù)處理需要分詞,存在一定的分詞誤差,其F值低于I2B2評(píng)測(cè)任務(wù)英文語(yǔ)料集結(jié)果.I2B2評(píng)測(cè)數(shù)據(jù)集是公開(kāi)數(shù)據(jù)集,本文提出的三種深層網(wǎng)絡(luò)模型與評(píng)測(cè)任務(wù)提交結(jié)果對(duì)比如表6所示.
表5 每個(gè)實(shí)體類別的結(jié)果對(duì)比
Table 5 Comparison of the results of each named entity specics
PHI 實(shí)體類別訓(xùn)練集測(cè)試集PRFNAME------PATIENT131587994.1775.3183.69-DOCTOR2877191289.0490.4889.75-USERNAME2649296.7095.6596.17PROFESSION23417992.1158.6671.67LOCATION------HOSPITAL143787582.3875.8979.00-ORGANIZATION1248270.5914.6324.24-STREET21613697.6792.6595.09-CITY39426069.1874.2371.61-STATE31419091.5073.6881.63-COUNTRY6611785.1919.6631.94-ZIP21214099.2392.1495.56-LOCATION-OTHER4130.000.000.00AGE123376496.4194.9095.65DATE7495498096.7297.0996.90CONTACT------PHONE30921594.1797.6795.89-FAX820.000.000.00-EMAIL41100.00100.00100.00IDs------MEDICALRECORD61142297.4197.8797.64-DEVICE780.000.000.00-IDNUM26119590.0087.6988.83
表6 本文模型與I2B2評(píng)測(cè)結(jié)果F值對(duì)比
Table 6 Compare to I2B2 shared task submissions
2006 數(shù)據(jù)集2014 數(shù)據(jù)集評(píng)測(cè)結(jié)果0.76-0.960.44-0.93Deep CRF模型0.92580.9143BR-BiRNN模型0.92800.9233BR-BiLSTM-CRF模型0.93020.9251
分析對(duì)各個(gè)具體類別隱私實(shí)體的識(shí)別情況,對(duì)三個(gè)數(shù)據(jù)集中每一類實(shí)體的識(shí)別結(jié)果如圖8、圖9、圖10所示.結(jié)合表5和圖8、圖9、圖10可知,模型對(duì)于“DATE”、“ID”、“USERNAME”、“ZIP”、“EMAIL”、“MEDICALRECORD”和“PHONE”的識(shí)別率較高,因?yàn)樗鼈円话憔哂休^為固定的格式或特點(diǎn).當(dāng)數(shù)據(jù)集中個(gè)數(shù)很少時(shí),難以學(xué)到更多信息,如2006年訓(xùn)練集中“AGE”僅有13個(gè),測(cè)試集中“AGE”也僅有3個(gè),因此F值為0,類似的還有2014年的“LOCATION-OTHER”、“FAX”和“DEVICE”.但數(shù)據(jù)集中個(gè)數(shù)較多時(shí),其識(shí)別效果較好,如2014年“AGE”由于樣本的增大,其F值超過(guò)90%,婦產(chǎn)科中文語(yǔ)料中“AGE”F值也很高.“DOCTOR”和“PATIENT”都屬于人名,深層條件隨機(jī)場(chǎng)網(wǎng)絡(luò)加入了實(shí)體邊界特征,BR-BiRNN、BR-BiLSTM-CRF模型引入循環(huán)神經(jīng)網(wǎng)絡(luò),考慮了時(shí)序信息,使得更好地利用上下文信息,但是由于它們的格式和特點(diǎn)較為相似,容易互相錯(cuò)分.“LOCATION”、“ORGANIZATION”和“COUNTRY”的識(shí)別結(jié)果較低,因?yàn)樗鼈兺嵌鄠€(gè)詞語(yǔ)組成的長(zhǎng)詞組,有的其中包含有介詞或符號(hào),在進(jìn)行識(shí)別時(shí),往往是只識(shí)別出了實(shí)體中的部分詞語(yǔ)作為了隱私實(shí)體.大部分類別都是精確率較高,召回率較低,把很多隱私實(shí)體標(biāo)記為了非隱私實(shí)體或其它類別的實(shí)體,提高召回率將對(duì)F值有較大影響.
圖8 2006 I2B2命名實(shí)體識(shí)別結(jié)果Fig.8 2006 I2B2 NER results
圖9 2014 I2B2命名實(shí)體識(shí)別結(jié)果Fig.9 2014 I2B2 NER results
圖10 婦產(chǎn)科文本命名實(shí)體識(shí)別結(jié)果Fig.10 Obstetrics and gynecology department NER results
對(duì)醫(yī)療文本中隱私實(shí)體的識(shí)別視為命名實(shí)體識(shí)別任務(wù),提出了三種深層網(wǎng)絡(luò)模型:深層條件隨機(jī)場(chǎng)模型、BR-BiRNN模型、BR-BiLSTM-CRF模型.深層條件隨機(jī)場(chǎng)模型將復(fù)雜任務(wù)分為多個(gè)子任務(wù),每個(gè)子任務(wù)在不同層實(shí)現(xiàn),針對(duì)命名實(shí)體識(shí)別任務(wù),首先采用原子特征和組合特征檢測(cè)實(shí)體邊界,得到實(shí)體邊界特征后,將此特征傳入后層網(wǎng)絡(luò),識(shí)別實(shí)體類別輸出標(biāo)簽序列.BR-BiRNN模型基于塊表示方法,引入雙向循環(huán)神經(jīng)網(wǎng)絡(luò),將文本處理后表示為向量形式,自動(dòng)提取特征,訓(xùn)練后輸出預(yù)測(cè)標(biāo)簽序列.BR-BiLSTM-CRF模型結(jié)合了神經(jīng)網(wǎng)絡(luò)層和條件隨機(jī)場(chǎng)層,由雙向LSTM模型得到實(shí)體邊界特征,傳遞給最后的條件隨機(jī)場(chǎng)層輸出實(shí)體標(biāo)注結(jié)果.與傳統(tǒng)的機(jī)器學(xué)習(xí)方法相比,深層網(wǎng)絡(luò)模型在不同數(shù)據(jù)集上的F值都有所提高,提高了識(shí)別效果,說(shuō)明了實(shí)驗(yàn)的有效性.后續(xù)工作將對(duì)如何更有效地自動(dòng)提取特征,提高召回率以及提高復(fù)雜組織名和地名的識(shí)別效果進(jìn)行探索.