秦健 侯建新 謝怡寧 何勇軍
摘 要:針對(duì)醫(yī)療文本命名實(shí)體識(shí)別缺乏足夠標(biāo)記數(shù)據(jù)的問(wèn)題,提出了一種新的命名實(shí)體識(shí)別神經(jīng)網(wǎng)絡(luò)和數(shù)據(jù)增強(qiáng)方法。該方法首先利用漢字的拼音和筆畫來(lái)擴(kuò)展Bert詞向量,使Bert詞向量能夠包含更多先驗(yàn)知識(shí);接著將命名實(shí)體識(shí)別模型與分詞模型進(jìn)行聯(lián)合訓(xùn)練,以增強(qiáng)模型對(duì)于實(shí)體邊界的判別能力;最后采用改進(jìn)的數(shù)據(jù)增強(qiáng)方法處理訓(xùn)練數(shù)據(jù),能夠在避免模型過(guò)擬合的同時(shí)增加模型對(duì)于命名實(shí)體的識(shí)別效果。在CCKS-2019提供的電子病歷文本上的實(shí)驗(yàn)結(jié)果表明,所提出的方法在小樣本情況下能有效提高命名實(shí)體識(shí)別的準(zhǔn)確率,在訓(xùn)練數(shù)據(jù)減少一半的情況下,識(shí)別率仍能保持沒有明顯下降。
關(guān)鍵詞:命名實(shí)體識(shí)別;小樣本;數(shù)據(jù)增強(qiáng);聯(lián)合訓(xùn)練;特征融合
DOI:10.15938/j.jhust.2021.04.013
中圖分類號(hào):TP391.1
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1007-2683(2021)04-0094-08
Abstract:Aiming at the problem that medical text named entity recognition lacks sufficient labeled data, a newly named entity recognition deep neural network and data enhancement method is proposed. First of all, the Bert word vector is extended with pinyin and strokes of Chinese characters to make it contain more useful information. Then the named entity recognition model and the word segmentation model are jointly trained to enhance the model′s ability to recognize entity boundaries. Finally, an improved data enhancement method is used to process the training data, which can increase the recognition effect of the model on named entities while avoiding overfitting of the model. The experimental results on the electronic medical record text provided by CCKS-2019 show that the proposed method can effectively improve the accuracy of named entity recognition in the case of small samples and the recognition rate can still be maintained without a significant decrease when the training data is reduced by half.
Keywords:named entity recognition; few-shot; data augmentation; joint training; feature fusion
0 引 言
隨著互聯(lián)網(wǎng)、5G技術(shù)和人工智能的不斷深入發(fā)展,文本信息化處理已成為當(dāng)今時(shí)代的必然要求。作為文本處理的關(guān)鍵技術(shù)之一,命名實(shí)體識(shí)別的目的在于提取和識(shí)別文本中的特定詞匯。目前基于深度學(xué)習(xí)的命名實(shí)體識(shí)別方法已成為主流,雖然提高了識(shí)別性能,但模型訓(xùn)練需要大量的標(biāo)注數(shù)據(jù)。由于缺少足夠的訓(xùn)練數(shù)據(jù)導(dǎo)致一些新興領(lǐng)域很難得到快速發(fā)展。因此研究小樣本的命名實(shí)體識(shí)別具有重要的現(xiàn)實(shí)意義。
早期命名實(shí)體識(shí)別大多使用基于字典和規(guī)則的方法[1],其構(gòu)建需要專家的專業(yè)知識(shí),識(shí)別的效果和可移植性較差。后來(lái),機(jī)器學(xué)習(xí)逐漸成為命名實(shí)體識(shí)別的主流方法,主要有隱馬爾可夫模型[2]、最大熵[3]與條件隨機(jī)場(chǎng)[4-5]模型等。這些方法與傳統(tǒng)的規(guī)則和字典相結(jié)合取得了很好的效果。隨著技術(shù)的不斷深入發(fā)展,深度學(xué)習(xí)技術(shù)在命名實(shí)體識(shí)別中也取得了巨大的成功[6],其中代表模型為BiLSTM+CRF[7](bi-directional long short-term memory, BiLSTM)模型。研究人員在深度學(xué)習(xí)網(wǎng)絡(luò)的基礎(chǔ)上引入漢字的字形特征[8]或者與其他模型聯(lián)合訓(xùn)練[9]來(lái)改良網(wǎng)絡(luò)也取得了很好的效果。與此同時(shí),語(yǔ)言模型也取得了長(zhǎng)足發(fā)展,能夠更好的將文本材料中的蘊(yùn)含信息融入到詞向量中[10-11],出現(xiàn)了Word2vec[12],ELMo詞向量[13],通用語(yǔ)言模型GPT[14]以及Bert[15]等模型,有力地促進(jìn)了自然語(yǔ)言的發(fā)展。
深度學(xué)習(xí)和機(jī)器學(xué)習(xí)方法依賴于大量的標(biāo)注語(yǔ)料,因此針對(duì)小樣本的無(wú)監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)和數(shù)據(jù)增強(qiáng)越來(lái)越受到關(guān)注。無(wú)監(jiān)督學(xué)習(xí)大多使用聚類算法將同類實(shí)體進(jìn)行聚類,之后再對(duì)其類別進(jìn)行判斷。無(wú)監(jiān)督學(xué)習(xí)在缺少標(biāo)注數(shù)據(jù)的垂直領(lǐng)域具有一定的實(shí)用性,但在特定領(lǐng)域內(nèi)存在領(lǐng)域擴(kuò)展性差和實(shí)體歧義的問(wèn)題[16]。半監(jiān)督學(xué)習(xí)借助于少量標(biāo)注語(yǔ)料和大量未標(biāo)注語(yǔ)料來(lái)訓(xùn)練模型,首先借助于標(biāo)記語(yǔ)料對(duì)于模型進(jìn)行訓(xùn)練,并用此模型去預(yù)測(cè)未標(biāo)注語(yǔ)料。若預(yù)測(cè)結(jié)果概率大于設(shè)定閾值,則更新這個(gè)語(yǔ)料的標(biāo)簽并加入到標(biāo)記語(yǔ)料中。之后重復(fù)這個(gè)過(guò)程用于擴(kuò)大訓(xùn)練語(yǔ)料,從而獲得一個(gè)效果較好的模型[17]。但隨著半監(jiān)督學(xué)習(xí)訓(xùn)練的不斷進(jìn)行,自動(dòng)標(biāo)記的數(shù)據(jù)中噪聲容易不斷積累導(dǎo)致模型效果的下降。因此研究小樣本的監(jiān)督學(xué)習(xí)顯得尤為重要。
醫(yī)療文本中實(shí)體相較于其他領(lǐng)域有其自身的特點(diǎn)。首先醫(yī)療實(shí)體有比較明顯的形態(tài)特征,疾病名和身體部位等實(shí)體常與人的身體器官相關(guān),如“胸痛”、“腹積水”、“腦”等實(shí)體,這些實(shí)體都表現(xiàn)出比較明顯的偏旁特征;醫(yī)療實(shí)體的很多名稱來(lái)源于英文的音譯,如“奧沙利柏”和“奧沙利鉑”。由于翻譯和書寫習(xí)慣的不同,有時(shí)會(huì)選擇同音字來(lái)表示相同的實(shí)體,這樣情況下拼音對(duì)于命名實(shí)體識(shí)別起到重要的幫助。醫(yī)療文本中實(shí)體的多樣性復(fù)雜性也增加了對(duì)于實(shí)體邊界的判別能力,因此可以借助于分詞模型來(lái)增加命名實(shí)體識(shí)別模型對(duì)于實(shí)體邊界的判別能力。
為了能夠在較小訓(xùn)練數(shù)據(jù)的情況下進(jìn)行命名實(shí)體識(shí)別,本文提出了基于特征融合的聯(lián)合訓(xùn)練模型。網(wǎng)絡(luò)共包含4層,第一層為字特征卷積層char_CNN,使用CNN(convolutional neural networks, CNN)網(wǎng)絡(luò)提取漢字的筆畫和拼音特征;第二層為Bert詞向量層,并且使用char_CNN的輸出來(lái)擴(kuò)展Bert詞向量;之后使用雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)BiLSTM層從長(zhǎng)距離上下文中學(xué)習(xí)特征表示,最后采用CRF層對(duì)于標(biāo)簽進(jìn)行解碼。此外,我們提出一個(gè)統(tǒng)一的框架來(lái)聯(lián)合訓(xùn)練命名實(shí)體識(shí)別和中文分詞模型。在此框架中,命名實(shí)體識(shí)別模型和中文分詞模型共享char_CNN+Bert層作為網(wǎng)絡(luò)的詞向量,但分詞模型擁有一個(gè)獨(dú)立的CRF用于分詞標(biāo)簽解碼。最后還對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行了合理的增強(qiáng),首先把每一個(gè)訓(xùn)練語(yǔ)句的實(shí)體部分隨機(jī)替換為同類實(shí)體,非實(shí)體的部分進(jìn)行隨機(jī)刪除和插入[18]。這樣可以在保持句子結(jié)構(gòu)性的前提下擴(kuò)展出更多有效的句子,并通過(guò)隨機(jī)刪除和插入來(lái)減少句子之間的相似性。實(shí)驗(yàn)結(jié)果表明,我們提出的模型效果優(yōu)于如今主流的模型,而且通過(guò)我們的數(shù)據(jù)增強(qiáng),模型在小樣本的情況下依然可以取得較好的識(shí)別效果。
1 網(wǎng)絡(luò)模型和數(shù)據(jù)增強(qiáng)
1.1 模型框架
本文設(shè)計(jì)的特征融合的聯(lián)合訓(xùn)練模型如圖1所示。網(wǎng)絡(luò)主要由命名實(shí)體識(shí)別模型和分詞模型兩個(gè)部分構(gòu)成,它們共享char_CNN+Bert層作為詞向量特征提取層,但各自擁有不同的獨(dú)立CRF解碼層。在實(shí)體識(shí)別模型中,輸入的語(yǔ)句首先進(jìn)入到char_CNN層和Bert層,char_CNN層對(duì)于漢字的拼音筆畫特征進(jìn)行特征提取,并且與Bert層輸出的字特征向量進(jìn)行拼接;拼接后的字特征向量輸入到Bi-LSTM進(jìn)行進(jìn)一步的特征提取,并學(xué)習(xí)語(yǔ)句包含的上下文信息,最后將Bi-LSTM輸出結(jié)果輸入到CRF中進(jìn)行最終的實(shí)體預(yù)測(cè)。而分詞模型使用的詞向量同樣是由經(jīng)過(guò)char_CNN擴(kuò)展后的Bert提供,并將擴(kuò)展后的詞向量直接輸入到CRF模塊中進(jìn)行分詞的預(yù)測(cè)。下面將對(duì)網(wǎng)絡(luò)的各層信息進(jìn)行詳細(xì)介紹。
1)字特征卷積層char_CNN
字特征卷積層主要包括拼音筆畫編碼層和CNN卷積神經(jīng)網(wǎng)絡(luò)兩個(gè)部分,我們分別對(duì)這兩個(gè)部分進(jìn)行介紹。
拼音筆畫編碼層需要對(duì)漢字進(jìn)行拆分編碼,為網(wǎng)絡(luò)引入漢字的拼音筆畫特征。英文中可以根據(jù)單詞的詞根詞綴來(lái)猜測(cè)其意義和性質(zhì),漢字的筆畫以及偏旁部首中也蘊(yùn)含著大量的信息。而且在醫(yī)療領(lǐng)域內(nèi)的實(shí)體往往較為明顯的形態(tài)特征,比如在檢查部位和手術(shù)等試題中經(jīng)常出現(xiàn) “腰”、“肝”、“腦”等身體部位,他們都使用“月”作為偏旁。因此引入漢字的筆畫可以使網(wǎng)絡(luò)更好的識(shí)別醫(yī)療實(shí)體。許多醫(yī)療領(lǐng)域的藥名都來(lái)自英語(yǔ),雖然它們的書寫不同,但讀音卻很相似,所以在命名實(shí)體識(shí)別中引入拼音特征具有積極意義。使用一個(gè)“明”為例進(jìn)行拆分,其結(jié)果見圖2。每個(gè)字拆分后依次按照聲母、韻母、聲調(diào)、筆畫進(jìn)行排列,其中漢字的筆畫我們選用四角碼來(lái)表示。四角碼一共有5位數(shù),前四位用0-9分別表示漢字四個(gè)角的單筆或復(fù)筆的筆形;第五位由漢字右下角上方的一個(gè)筆形決定,用來(lái)區(qū)分前四位同碼的漢字。
目前,CNN已廣泛應(yīng)用于圖像局部信息的提取。因?yàn)闈h字拆分后長(zhǎng)度較短且固定,信息比較集中,因此通過(guò)CNN網(wǎng)絡(luò)來(lái)提取漢字的拼音和筆畫特征。這里的CNN網(wǎng)絡(luò)由一個(gè)一維卷積網(wǎng)絡(luò)和一個(gè)一維最大池化層構(gòu)成,卷積核大小設(shè)置為3,激活函數(shù)選擇ReLU(Rectified Linear Unit, ReLU)激活函數(shù),最后將最大池化層的輸出展開,方便對(duì)Bert進(jìn)行擴(kuò)展。
普通CNN由卷積層和池化層組成。對(duì)于特征的處理,CNN是通過(guò)卷積核來(lái)完成的。卷積核是一個(gè)由用戶定義大小的權(quán)重矩陣,其權(quán)值由后續(xù)的學(xué)習(xí)得到。卷積核將每一個(gè)局部的特征提取出來(lái)作為輸出。池化層則是通過(guò)特定的池化操作對(duì)特征進(jìn)行處理。對(duì)特征的卷積操作可以用式(1)來(lái)表示,而池化操作可由式(2)表示。
其中Hi表示第i層特征,f(x)是一個(gè)非線性激活函數(shù),表示卷積核與特征的卷積操作。pooling(x)為池化操作,bi表示第i層的偏置。
2)Bert字編碼層
谷歌團(tuán)隊(duì)在2018年發(fā)布了Bert模型,作為一種預(yù)訓(xùn)練模型。Bert在自然語(yǔ)言處理的11項(xiàng)測(cè)試任務(wù)中取得了最好的成績(jī),極大地推動(dòng)了自然語(yǔ)言處理的發(fā)展[15]。Bert模型是由無(wú)監(jiān)督學(xué)習(xí)方法在通用數(shù)據(jù)文本中訓(xùn)練得到,它的訓(xùn)練不需要標(biāo)記數(shù)據(jù),所以可以在大規(guī)模文本上訓(xùn)練以取得更好的先驗(yàn)知識(shí)。Bert主要使用Transformer作為核心結(jié)構(gòu),其具體框架如圖3所示。Transformer完全基于自注意力機(jī)制來(lái)訓(xùn)練詞向量,通過(guò)自注意力計(jì)算出每一個(gè)詞和所有詞之間的關(guān)系,根據(jù)詞與詞之間的相互關(guān)系得出詞之間的聯(lián)系和該詞在句子中的權(quán)重。通過(guò)這種方式得到的詞向量能夠有效利用上下文的信息,因此Bert在不同任務(wù)中都能取得很好的效果。
3)BiLSTM層
作為循環(huán)神經(jīng)網(wǎng)絡(luò)的改進(jìn)模型,LSTM能很好地抑制梯度下降和梯度爆炸,并且能捕獲長(zhǎng)距離序列信息,具有很強(qiáng)的序列建模能力。在命名實(shí)體識(shí)別中,LSTM可以感知到距離實(shí)體較遠(yuǎn)的信息,可以提高命名實(shí)體的識(shí)別率。例如:“小明患有青光眼,疾病讓他看不清周圍的物體”,盡管“青光眼”和“看不清”有較長(zhǎng)的距離,但是可以從“看不清”推斷出“青光眼”是一種眼類疾病。實(shí)體的上下文一般都有較為重要的信息,因此使用雙向LSTM從全局上學(xué)習(xí)上下文信息。每一個(gè)LSTM單元主要包含:輸入門、輸出門、忘記門和細(xì)胞狀態(tài)。具體如圖4所示。
它們的更新方式如公式(3)到公式(8)所示:
其中:ft、it、Ct、ot分別代表忘記門、輸入門、細(xì)胞狀態(tài)和輸出門;Wf、Wi、Wc、Wo為不同狀態(tài)的權(quán)值;bf、bi、bc、bo是不同狀態(tài)的偏置;ht和Wt分別為輸入和輸出;C~t是計(jì)算過(guò)程中的臨時(shí)細(xì)胞狀態(tài);σ為sigmoid激活函數(shù)。
4)CRF輸出層
在命名實(shí)體識(shí)別任務(wù)中,相鄰的標(biāo)簽通常有較強(qiáng)的相關(guān)性[19] ,因此我們?cè)诿麑?shí)體識(shí)別任務(wù)中使用CRF,而非Softmax這樣的獨(dú)立解碼層。
假設(shè)給定輸入序列X=(x1,x2,x3,…,xn),其對(duì)應(yīng)的標(biāo)簽序列為Y=(y1,y2,y3,…,yn)。使用式(9)可以機(jī)算出標(biāo)簽序列的得分。
其中:A表示轉(zhuǎn)移得分矩陣,矩陣元素Ai,j表示標(biāo)簽i轉(zhuǎn)移到標(biāo)簽j的轉(zhuǎn)移得分。設(shè)y0和yn+1為句子的起始標(biāo)簽和終止標(biāo)簽,標(biāo)簽種類為k,則A∈R(k+2)*(k+2)。P∈Rn*k是輸出層的得分矩陣,矩陣元素pi,j表示第i個(gè)詞在第j個(gè)標(biāo)簽下輸出的得分。
5)聯(lián)合分詞模型
命名實(shí)體識(shí)別可以看作是兩個(gè)子任務(wù)的組合:從文本中識(shí)別出實(shí)體名稱的邊界并對(duì)其進(jìn)行分類。識(shí)別實(shí)體的邊界是一項(xiàng)困難的任務(wù),很多時(shí)候?qū)嶓w的邊界存在歧義性。比如“長(zhǎng)江大橋”,可以被看作是“長(zhǎng)江”和“大橋”兩個(gè)實(shí)體也可以被看成一個(gè)實(shí)體。而中文分詞模型的任務(wù)便是將中文文本分成單個(gè)詞,也就是對(duì)于文本中詞的邊界進(jìn)行判斷。因此分詞模型和實(shí)體識(shí)別模型高度相關(guān),聯(lián)合分詞模型的訓(xùn)練能夠有效的提高實(shí)體識(shí)別的準(zhǔn)確性[9]。引入分詞模型后,網(wǎng)絡(luò)擁有兩個(gè)CRF輸出,模型的總體損失可以使用式(10)進(jìn)行表示。
其中:LNER和LCWS分別表示命名實(shí)體識(shí)別和分詞任務(wù)的損失;λ∈[0,1)是控制分詞任務(wù)損失在總損失中相對(duì)重要性的系數(shù),在本文中λ的值為0.3。模型優(yōu)化的目標(biāo)是損失函數(shù)最小化,損失函數(shù)包括分詞和命名實(shí)體識(shí)別兩個(gè)部分,在模型優(yōu)化的過(guò)程中,分詞和命名實(shí)體識(shí)別兩個(gè)任務(wù)可以相互促進(jìn),從而獲取更好的表現(xiàn)效果。
1.2 數(shù)據(jù)增強(qiáng)
合理的數(shù)據(jù)增強(qiáng)能夠在保存原始數(shù)據(jù)分布和標(biāo)簽的情況下,使模型在小樣本情況下也能夠取得較好的訓(xùn)練效果[18]。因此需要對(duì)訓(xùn)練集數(shù)據(jù)進(jìn)行合理的擴(kuò)充,具體實(shí)現(xiàn)步驟如下:
Step1:提取訓(xùn)練數(shù)據(jù)中所有的實(shí)體,并且按照類別進(jìn)行保存;
Step2:通過(guò)網(wǎng)絡(luò)收集相關(guān)實(shí)體,對(duì)現(xiàn)有實(shí)體集進(jìn)行適當(dāng)擴(kuò)充;
Step3:對(duì)句子進(jìn)行擴(kuò)充,其具體步驟是將一個(gè)句值中的每個(gè)實(shí)體隨機(jī)替換為同類實(shí)體,并以該句的派生句數(shù)作為增益系數(shù);
Step4:對(duì)于句中實(shí)體外的字詞,進(jìn)行隨機(jī)的刪除,刪除的概率為p1,此處選擇10%的概率;
Step5:對(duì)于句中非實(shí)體的每個(gè)位置進(jìn)行隨機(jī)插入,插入的詞語(yǔ)選用哈工大停用詞表,插入的概率為p2,這里選擇10%的概率。
首先通過(guò)分析標(biāo)記文本來(lái)建立實(shí)體集合。接著替換訓(xùn)練數(shù)據(jù)集中的實(shí)體為實(shí)體集中同類實(shí)體,可以有效增加標(biāo)記數(shù)據(jù)的數(shù)量。但這樣的操作會(huì)讓語(yǔ)句有明顯的人工特點(diǎn),同時(shí)句子的重復(fù)性也比較高,這會(huì)造成模型過(guò)擬合和魯棒性差。于是我們學(xué)習(xí)Xie等[20]的操作,在句子中引入噪聲,為了不破壞原本實(shí)體,在非實(shí)體的每個(gè)位置進(jìn)行隨機(jī)插入哈工大停止用詞。
2 實(shí)驗(yàn)效果及分析
2.1 數(shù)據(jù)準(zhǔn)備
實(shí)驗(yàn)數(shù)據(jù)來(lái)源于中國(guó)知識(shí)圖譜與語(yǔ)義計(jì)算大會(huì)CCKS2019(China conference on knowledge graph and semantic computing)的電子病歷命名實(shí)體識(shí)別任務(wù),共1000份真實(shí)的臨床語(yǔ)料,訓(xùn)練集數(shù)據(jù)包含600條語(yǔ)料,而驗(yàn)證集和測(cè)試集分別有200條語(yǔ)料。數(shù)據(jù)集共有6類實(shí)體,分別為疾病與診斷、解剖部位、影像檢查、實(shí)驗(yàn)室檢驗(yàn)、藥物、手術(shù)。
2.2 數(shù)據(jù)格式化
這里使用BIO(B-begin,I-inside,O-outside)標(biāo)注法,將每個(gè)元素標(biāo)注為“B-X”、“I-X”或“O”。其中,B和I分別表示實(shí)體的開頭和中間,X表示這個(gè)實(shí)體所屬的類別,“O”表示不屬于任何類型。同時(shí)我們通過(guò)北大分詞工具pkuseg[21]來(lái)引入分詞信息,其中“B”、“M”、“E”、“W”分別表示一個(gè)詞語(yǔ)的開始、中間、結(jié)尾和單個(gè)字。標(biāo)注效果如表1所示。
2.3 評(píng)價(jià)指標(biāo)
為了衡量網(wǎng)絡(luò)模型對(duì)實(shí)體的發(fā)現(xiàn)能力,以及命名實(shí)體識(shí)別的準(zhǔn)確性兩項(xiàng)指標(biāo)。選擇了嚴(yán)格評(píng)價(jià)指標(biāo)和松弛評(píng)價(jià)指標(biāo)兩種評(píng)價(jià)方式。對(duì)同一文本而言,嚴(yán)格的評(píng)價(jià)指標(biāo)是指當(dāng)且僅當(dāng)滿足公式(11)、(12)、(13)的情況下,才判定識(shí)別正確。
松弛標(biāo)準(zhǔn)需要同一條語(yǔ)句滿足公式(14)和(15)才認(rèn)定為識(shí)別正確。
其中:Pi和Yi分別表示預(yù)測(cè)和實(shí)際的實(shí)體,符號(hào)用于連接屬性和實(shí)體,posb和pose表示標(biāo)簽的開始和結(jié)束位置,而category表示實(shí)體的類別,Piposb表示預(yù)測(cè)的第i個(gè)實(shí)體的開始位置。
本文通過(guò)F1值來(lái)評(píng)價(jià)模型的表現(xiàn),F(xiàn)1值的計(jì)算如公式(16)所示:
其中:precision和recall分別表示模型的準(zhǔn)確率和召回率。
2.4 數(shù)據(jù)增益系數(shù)
隨著數(shù)據(jù)數(shù)量的增長(zhǎng),模型的訓(xùn)練時(shí)間將變得越來(lái)越長(zhǎng),但對(duì)數(shù)據(jù)進(jìn)行擴(kuò)充而獲得的效果提升不會(huì)隨著數(shù)據(jù)量的增長(zhǎng)一直提高,所以我們要選擇一個(gè)合適的擴(kuò)充數(shù)量。訓(xùn)練數(shù)據(jù)集中有600份標(biāo)記文本。隨機(jī)選擇其中20%數(shù)據(jù),即120份數(shù)據(jù)進(jìn)行擴(kuò)充,根據(jù)前人的推薦參數(shù)[18],擴(kuò)大系數(shù)應(yīng)在8~16之間。本文在經(jīng)典的命名實(shí)體識(shí)別網(wǎng)絡(luò)Word2Vec+BiLSTM+CRF網(wǎng)絡(luò)中進(jìn)行了相應(yīng)的實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如圖5所示。
實(shí)驗(yàn)選取20%數(shù)據(jù)進(jìn)行數(shù)據(jù)增強(qiáng)操作,并設(shè)置不同的增益系數(shù)作為對(duì)比。隨著增益系數(shù)的不斷增加,模型的表現(xiàn)也越來(lái)越好。增益系數(shù)從4增長(zhǎng)到8時(shí)模型效果提升明顯,但是增益系數(shù)在12以上時(shí)模型的提升明顯減小,增益系數(shù)達(dá)到16以上時(shí)模型基本沒有任何提升。所以合理的增益系數(shù)應(yīng)在10~12之間,本文選擇10為增益系數(shù)。
2.5 數(shù)據(jù)增強(qiáng)實(shí)驗(yàn)
在Word2Vec+BiLSTM+CRF模型中分別對(duì)20%、40%、50%、60%、80%和100%數(shù)據(jù)進(jìn)行增強(qiáng),增益系數(shù)選擇10。具體效果如圖6和表2所示。從實(shí)驗(yàn)結(jié)果可以看出,訓(xùn)練數(shù)據(jù)在50%及以下時(shí)模型訓(xùn)練的效果下降明顯,在20%的數(shù)據(jù)時(shí)候松弛評(píng)價(jià)標(biāo)準(zhǔn)下F1值僅有0.203,準(zhǔn)確性僅為原始數(shù)據(jù)的14。
本文提出的數(shù)據(jù)增強(qiáng)方案能有效提高小樣本下模型的訓(xùn)練效果,在不同數(shù)量的訓(xùn)練數(shù)據(jù)下,都取得了較為明顯的提升。20%的原始數(shù)據(jù)在增強(qiáng)之后,嚴(yán)格和松弛評(píng)價(jià)標(biāo)準(zhǔn)較沒有經(jīng)過(guò)數(shù)據(jù)增強(qiáng)的模型分別提升了252%和261%。60%的訓(xùn)練數(shù)據(jù)經(jīng)過(guò)數(shù)據(jù)增強(qiáng)后效果超過(guò)同一模型在原數(shù)據(jù)上的訓(xùn)練效果。利用本文提出的數(shù)據(jù)增強(qiáng)方法能夠有效提高模型在小樣本下的表現(xiàn)。
2.6 模型評(píng)價(jià)
對(duì)于本文提出的神經(jīng)網(wǎng)絡(luò),分別選取在命名實(shí)體識(shí)別領(lǐng)域常見的神經(jīng)網(wǎng)絡(luò)模型作為對(duì)比。這里選擇Word2Vec+BiLSTM+CRF模型、Word2Vec+ BiLSTM+Sotfmax模型、Bert+CRF模型、Bert+Softmax模型、Bert+BiLSTM+CRF模型、特征融合模型和聯(lián)合訓(xùn)練模型作為對(duì)比模型。其中特征融合模型采用char_CNN+BERT+CRF結(jié)構(gòu)。聯(lián)合訓(xùn)練模型則是Bert+BiLSTM+CRF命名實(shí)體識(shí)別模型和BERT+CRF分詞模型進(jìn)行聯(lián)合訓(xùn)練,他們共享同一個(gè)Bert的輸出。具體結(jié)果如表3和表4所示。
通過(guò)對(duì)比試驗(yàn)可以發(fā)現(xiàn),隨著詞向量中包含的先驗(yàn)知識(shí)數(shù)量的提升,命名實(shí)體識(shí)別網(wǎng)絡(luò)的總體效果也在不斷提升。以BiLSTM+CRF為例,采用Bert詞向量比word2Vec詞向量的松弛評(píng)價(jià)標(biāo)準(zhǔn)F1值提高了0.028,當(dāng)使用漢字的拼音筆畫特征擴(kuò)展后的Bert作為詞向量,比Bert詞向量本身松弛評(píng)價(jià)標(biāo)準(zhǔn)提高了0.07。這說(shuō)明我們引入漢字的拼音筆畫到詞向量中能夠有效的優(yōu)化命名實(shí)體識(shí)別的效果。CRF層對(duì)于命名實(shí)體識(shí)別的效果也遠(yuǎn)好于使于Softmax,因?yàn)镃RF能有效利用上下文信息提高命名實(shí)體識(shí)別的效果。通過(guò)與分詞模型聯(lián)合訓(xùn)練,命名實(shí)體識(shí)別在松弛評(píng)價(jià)標(biāo)準(zhǔn)下并沒有多少提升,但是在嚴(yán)格評(píng)價(jià)標(biāo)準(zhǔn)下F1值卻有0.06的提升,說(shuō)明我們使用分詞模型的聯(lián)合訓(xùn)練能幫助我們提高實(shí)體邊界的識(shí)別能力。本文提出的融合模型在松弛評(píng)價(jià)標(biāo)準(zhǔn)和嚴(yán)格評(píng)價(jià)標(biāo)注下都取得了最好的成績(jī),充分的體現(xiàn)了改進(jìn)后神經(jīng)網(wǎng)絡(luò)效果的優(yōu)越性。
2.7 不同模型下的數(shù)據(jù)增強(qiáng)
將文中提出的數(shù)據(jù)增強(qiáng)技術(shù)應(yīng)用到主流框架之中,也取得很好的表現(xiàn),這里使用50%的數(shù)據(jù)進(jìn)行增強(qiáng)。具體結(jié)果如圖7所示,圖中的W為Word2Vec的縮寫。
經(jīng)過(guò)數(shù)據(jù)增強(qiáng)操作后,模型性能都有很大的提升,與此同時(shí)文本中提出的融合模型在不同大小的數(shù)據(jù)集下都顯示出了最好識(shí)別的效果。Word2Vec+BiLSTM+Sotfmax和Bert+Softmax模型采用本文提出的數(shù)據(jù)增強(qiáng)操作,僅憑借一半的訓(xùn)練數(shù)據(jù)集就取得遠(yuǎn)超完整數(shù)據(jù)集訓(xùn)練的效果。使用50%訓(xùn)練數(shù)據(jù)獲得的模型效果更是優(yōu)于Word2Vec+BiLSTM+CRF模型在原數(shù)據(jù)集上的表現(xiàn),與Bert+BiLSTM+CRF模型的效果也相差較小,經(jīng)過(guò)數(shù)據(jù)增強(qiáng)后效果又有了新的提升。這說(shuō)明本文提出方法能夠有效提高在小樣本情況下的實(shí)體識(shí)別效果。
3 結(jié) 語(yǔ)
本文針對(duì)小樣本下的醫(yī)療命名實(shí)體識(shí)別提出了一種新的解決方法,包括新的神經(jīng)網(wǎng)絡(luò)和改進(jìn)后的數(shù)據(jù)增強(qiáng)操作。新的神經(jīng)模型采用拼音筆畫特征擴(kuò)展后的Bert作為詞向量,聯(lián)合分詞模型進(jìn)行訓(xùn)練,模型在不同大小的數(shù)據(jù)集下都取得了性能提升。改進(jìn)后的數(shù)據(jù)增強(qiáng)操作能夠在保持原有句式不變的情況下擴(kuò)展出大量數(shù)據(jù),提高了模型在小樣本情況下的性能。實(shí)驗(yàn)表明通過(guò)我們的方法能夠有效提高小樣本下的命名實(shí)體識(shí)別效果。
參 考 文 獻(xiàn):
[1] SHAALAN K, RAZA H. NERA:Named Entity Recognition for Arabic[J]. Journal of the Association for Information Science and Technology, 2009, 60(8):1652.
[2] 俞鴻魁,張華平,劉群,等.基于層疊隱馬爾可夫模型的中文命名實(shí)體識(shí)別[J].通信學(xué)報(bào),2006,4(2):87.
YU Hongkui, ZHANG Huaping, LIU Qun, et al. Chinese Named Entity Identification Using Cascaded Hidden Markov model[J]. Journal on Communications, 2006, 4(2):87.
[3] BO C, YI-DAN S, QI D. Automatic Recognition of Chinese Name Based on Maximum Entropy[J]. Computer Engineering and Applications, 2009, 45(4):227.
[4] LI L, ZHOU R, HUANG D, et al. Brief Communication:Two-phase Biomedical Named Entity Recognition Using CRFs[J]. Computational Biology and Chemistry, 2009, 33(4):334.
[5] DANG T H, LE H Q, NGUYEN T M, et al. D3NER:Biomedical Named Entity Recognition Using CRF-biLSTM Improved with Fine-tuned Embeddings of Various Linguistic Information[J]. Bioinformatics, 2018, 34(20):3539.
[6] LECUN Y, BENGIO Y, HINTON G. Deep Learning[J]. Nature, 2015, 521(7553):436.
[7] LUO L, YANG Z, YANG P, et al. An Attention-based BiLSTM-CRF Approach to Document-level Chemical Named Entity Recognition[J]. Bioinformatics, 2018, 34(8):1381.
[8] LIU Z, YANG M, WANG X, et al. Entity Recognition from Clinical Texts Via Recurrent Neural Network[J]. BMC Medical Informatics and Decision Making, 2017, 17(2):67.
[9] WU F, LIU J, WU C, et al. Neural Chinese Named Entity Recognition Via CNN-LSTM-CRF and Joint Training with Word Segmentation[C]//The World Wide Web Conference. 2019:3342.
[10]BOJANOWSKI P, GRAVE E, JOULIN A, et al. Enriching Word Vectors with Subword Information[J]. Transactions of the Association for Computational Linguistics, 2017, 5:135.
[11]YU J, JIAN X, XIN H, et al. Joint Embeddings of Chinese Words, Characters, and Fine-grained Subcharacter Components[C]//Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing. 2017:286.
[12]MIKOLOV T, SUTSKEVER I, CHEN K, et al. Distributed Representations of Words and Phrases and Their Compositionality[C]//Advances in Neural Information Processing Systems. 2013:3111.
[13]PETERS M E, NEUMANN M, IYYER M, et al. Deep Contextualized Word Representations[C]//Proceedings of NAACL-HLT. 2018:2227.
[14]RADFORD A, WU J, CHILD R, et al. Language Models are Unsupervised Multitask Learners[J]. OpenAI Blog, 2019, 1(8):9.
[15]DEVLIN J, CHANG M W, LEE K, et al. Bert:Pre-training of Deep Bidirectional Transformers for Language Understanding[J]. ArXiv Preprint ArXiv:1810.04805, 2018.
[16]REN X, EL-KISHKY A, WANG C, et al. Clustype:Effective Entity Recognition and Typing by Relation Phrase-based Clustering[C]//Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 2015:995.
[17]PREZ, ALICIA, WEEGAR R, et al. Semi-supervised Medical Entity Recognition:A Study on Spanish and Swedish Clinical Corpora[J]. Journal of Biomedical Informatics, 2017, 71:16.
[18]WEI J, ZOU K. EDA:Easy Data Augmentation Techniques for Boosting Performance on Text Classification Tasks[C]//Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing(EMNLP-IJCNLP), 2019:6382.
[19]MA X, HOVY E. End-to-end Sequence Labeling Via Bi-directional Lstm-cnns-crf[J]. ArXiv Preprint ArXiv:1603.01354, 2016.
[20]XIE Z, WANG S I, LI J, et al. Data Noising as Smoothing in Neural Network Language Models[J]. ArXiv Preprint ArXiv:1703.02573, 2017.
[21]LUO R, XU J, ZHANG Y, et al. PKUSEG:A Toolkit for Multi-domain Chinese Word Segmentation[J]. ArXiv Preprint ArXiv:1906.11455, 2019.
(編輯:溫澤宇)