浙江萬里學(xué)院 竺佳琦 謝宇濤 林施婷 鐘逸倫 陳 浩 董 晨 金 冉
近幾年來,醫(yī)療健康大數(shù)據(jù)呈現(xiàn)蓬勃發(fā)展的態(tài)勢。在醫(yī)療領(lǐng)域已經(jīng)積累了足夠規(guī)模的臨床數(shù)據(jù)的基礎(chǔ)上,同時擁有規(guī)范的數(shù)據(jù)采集流程,保障了持續(xù)的數(shù)據(jù)更新和足夠的可靠性。然而數(shù)據(jù)的利用率依然問題涌現(xiàn),既包括數(shù)據(jù)本身的問題,也有數(shù)據(jù)管理問題和數(shù)據(jù)使用權(quán)限問題。針對醫(yī)療藥品數(shù)據(jù)中的自然語言的關(guān)系抽取和信息檢索任務(wù),命名實體識別(Named Entity Recognition,NER)是一個高效且強(qiáng)有力的重要工具。
命名實體識別是自然語言處理辦法中的一項基礎(chǔ)任務(wù),也是NLP領(lǐng)域中進(jìn)行例如關(guān)系抽取、信息檢索等復(fù)雜任務(wù)的基礎(chǔ)任務(wù)。其主要作用就是從輸入的自然語言文本中抽取相關(guān)實體,標(biāo)注出其位置以及類型,并可以按照項目需求識別其他相關(guān)實體。
NER作為NLP領(lǐng)域中的研究熱點,正在不斷的實踐中逐步成長起來,從早期基于詞典和規(guī)則的方法、無監(jiān)督學(xué)習(xí)方法,到傳統(tǒng)機(jī)器學(xué)習(xí)的方法,再到近年來基于深度學(xué)習(xí)的方法,命名實體識別技術(shù)也在逐步精進(jìn),在計算機(jī)視覺、語音識別、自然語言處理等領(lǐng)域都發(fā)揮了極為重要的作用。
但仍有部分問題還沒有得到很好地解決,例如:能夠使命名實體識別充分發(fā)揮效果的文本類型和實體類別是有限的;信息檢索領(lǐng)域更注重高準(zhǔn)確率,命名實體識別則更側(cè)重高召回率;與其他信息檢索領(lǐng)域相比,實體命名評測預(yù)料較小,容易產(chǎn)生過擬合;面對識別多種類型時命名實體的系統(tǒng)性能較差等。對此,本項目開始了進(jìn)一步的探索。
在實現(xiàn)算法標(biāo)注之前,搭建切實符合項目需求及源數(shù)據(jù)特征的標(biāo)注框架尤為重要,知識圖譜(Knowledge Graph)主要由實體、關(guān)系和屬性構(gòu)成,信息抽?。↖nformation Extraction)是構(gòu)建知識圖譜的重要環(huán)節(jié),用于實現(xiàn)從文本中抽取出三元組信息,然后將抽取后的多個三元組信息儲存到關(guān)系型數(shù)據(jù)庫中,便可得到一個簡單的知識圖譜,為接下來的算法標(biāo)注明確了實體結(jié)構(gòu)。
自然語言普遍利用連貫的詞匯來描述事物、表達(dá)情感、闡述觀點等,同時不同語種詞匯的組合方式也不同,例如在詞法結(jié)構(gòu)上中文與英文就存在較大的差異,其中最為明顯的差別是英文將詞組以空格的形式區(qū)分開來,所以自動化抽取的過程也相對簡便,而中文的詞組彼此相連,且一個詞組往往由兩個及以上的字來組成,則需要通過分詞工具來將語句拆分,正確實現(xiàn)拆分,才能進(jìn)一步理解自然語言的內(nèi)容和意圖。
關(guān)系抽取的常用算法一般有三種:基于規(guī)則的方法、監(jiān)督學(xué)習(xí)的方法、半監(jiān)督學(xué)習(xí)的方法。本項目結(jié)合了前面兩種方法,即保證了標(biāo)注的召回率,同時也大大提高了效率和準(zhǔn)確度,下面是方法介紹。
基于規(guī)則的方法。例如找出盡可能多的擁有”is-a”關(guān)系的實體對(entity,is-a,entity),提取出前后兩個實體。這個方法在工業(yè)實踐中被普遍利用,其優(yōu)點是不需要訓(xùn)練數(shù)據(jù)且結(jié)果比較準(zhǔn)確,但召回率較低,且規(guī)則難以設(shè)計。
監(jiān)督學(xué)習(xí)的方法。該方法需要定義實體類型以及關(guān)系類型,同時準(zhǔn)備足夠比例的訓(xùn)練數(shù)據(jù)以確保實體標(biāo)注和關(guān)系標(biāo)注的準(zhǔn)確率,利用NER實體識別工具定義出實體類型,再提取其特征放入分類算法。還可以通過抽取位置特征:如單詞是否在第一位,兩個實體單詞之間還有多少單詞。最后將訓(xùn)練數(shù)據(jù)放入LR,SVM或者神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行訓(xùn)練。
如圖1所示,應(yīng)用于NER中的biLSTM-CRF模型主要由Embedding層,雙向LSTM層,以及CRF層構(gòu)成。NER方法中的主流模型biLSTM-CRF,可利用窗口方法與句子方法兩種網(wǎng)絡(luò)結(jié)構(gòu)來進(jìn)行NER。
圖1 NER網(wǎng)絡(luò)架構(gòu)
窗口方法是指僅使用當(dāng)前預(yù)測詞的上下文窗口進(jìn)行輸入,然后使用傳統(tǒng)的NN結(jié)構(gòu);句子方法則是以整個句子作為當(dāng)前預(yù)測詞的輸入,以便加入句子中相對位置特征來實現(xiàn)詞組區(qū)分,然后使用了一層循環(huán)神經(jīng)網(wǎng)絡(luò)CNN結(jié)構(gòu)。從而摒棄了原始的特征工程,使用詞向量和字符向量完成了較為精確的詞組區(qū)分,如果詞典特征可以有更高的質(zhì)量,還能實現(xiàn)更好的效果。
Embedding:我們選擇Medscape語料來訓(xùn)練字向量和詞向量。
基礎(chǔ)語料1:采用Medscape2011語料作為訓(xùn)練語料。
基礎(chǔ)語料2:Medscape語料作為官方語料,其權(quán)威性與標(biāo)注正確率是有保障的。但由于時間相隔較久,且實體類型種類較少。為了提升對新類型實體的識別能力,我們收集了Medscape2013語料。主要包括Drug,Brand,Group,Drug_n,包含了人類藥品、品牌名、藥物組乃至人類無法使用的物質(zhì),例如農(nóng)藥或毒素。
本項目選用BIO標(biāo)注法,實體起始位置以“B”標(biāo)注,實體內(nèi)容位置以“I”標(biāo)注,非實體則以“O標(biāo)注”。在本項目利用的語料庫中包含“DDI2011數(shù)據(jù)集”以及“DDI2013數(shù)據(jù)集”。
其中“DDI2011數(shù)據(jù)集”中只含有一種實體名稱:藥物。于是我們將句子中的每個單詞都標(biāo)記為“B/I-DRUG”或“O”訓(xùn)練和測試的數(shù)據(jù)集分別包含435和144個文檔,4267和1539個句子,11,260和3689種藥物。
而“DDI2013數(shù)據(jù)集”中含有四種實體名稱:Drug,Brand,Group,Drug_n。包含了人類藥品、品牌名、藥物組乃至人類無法使用的物質(zhì)。訓(xùn)練和測試的數(shù)據(jù)集分別包含507和163個文檔,5239和2095個句子,13,875和4972種藥物。
實際應(yīng)用中,NER模型通常只要識別出人名、地名、組織機(jī)構(gòu)名、日期時間即可,一些系統(tǒng)還會給出專有名詞結(jié)果(比如縮寫、藥物組、產(chǎn)品名等)。貨幣、百分比等數(shù)字類實體可通過正則搞定。
訓(xùn)練集、驗證集、測試集以“7:1:2”的比例劃分。其中訓(xùn)練集達(dá)到49600條的樣本數(shù),標(biāo)注實體共88192個。
命名實體識別結(jié)果案例:
結(jié)合Bert-NER和特定的分詞、詞性標(biāo)注等中文語言處理方式,獲得更高的準(zhǔn)確率和更好的效果,能在特定領(lǐng)域的信息抽取任務(wù)中取得優(yōu)異的效果。
對于深度學(xué)習(xí)方法,一般需要大量標(biāo)注語料,否則極易出現(xiàn)過擬合,無法達(dá)到預(yù)期的泛化能力。我們在實驗中發(fā)現(xiàn),通過數(shù)據(jù)增強(qiáng)可以明顯提升模型性能。具體地,我們對原語料進(jìn)行分句,然后隨機(jī)地對各個句子進(jìn)行bigram、trigram拼接,最后與原始句子一起作為訓(xùn)練語料。
本項目結(jié)合了基于規(guī)則的方法和監(jiān)督學(xué)習(xí)的方法,即保證了標(biāo)注的召回率,同時也大大提高了效率和準(zhǔn)確度。順利的在醫(yī)療藥物領(lǐng)域的信息抽取任務(wù)中取得優(yōu)異的效果,組準(zhǔn)確率為0.94。
總結(jié):基于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的NER方法,繼承了深度學(xué)習(xí)方法的優(yōu)點,無需大量人工特征,只需詞向量和字符向量就能達(dá)到主流水平,加入高質(zhì)量的詞典特征能夠進(jìn)一步提升效果。本項目結(jié)合了基于規(guī)則的方法和監(jiān)督學(xué)習(xí)的方法,即保證了標(biāo)注的召回率,同時也大大提高了效率和準(zhǔn)確度。針對醫(yī)療藥品數(shù)據(jù)中的自然語言的關(guān)系抽取和信息檢索任務(wù),命名實體識別是一個高效且強(qiáng)有力的重要工具,推動了本項目的順利進(jìn)行。