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