吳智妍,金 衛(wèi),岳 路,生 慧
山東中醫(yī)藥大學(xué) 智能與信息工程學(xué)院,濟(jì)南 250355
電子病歷(electronic medical records,EMR)[1]由于快捷、易于統(tǒng)計(jì)和處理的特點(diǎn)在大數(shù)據(jù)分析在醫(yī)學(xué)中的應(yīng)用中取代了傳統(tǒng)的紙質(zhì)病歷。目前大部分的電子產(chǎn)品醫(yī)學(xué)病歷都采用非結(jié)構(gòu)化的文本保存,其中非結(jié)構(gòu)化文本蘊(yùn)含著大量未被發(fā)現(xiàn)的病例記錄以及豐富醫(yī)療工作中專業(yè)知識的內(nèi)容。運(yùn)用自然語言處理技術(shù)(natural language processing,NLP)對電子病歷所蘊(yùn)藏知識挖掘是實(shí)現(xiàn)電子病歷結(jié)構(gòu)化和信息提取主要關(guān)鍵技術(shù)。其中命名實(shí)體識別[2](name entity recognition,NER)是NLP 技術(shù)對電子病歷的最基礎(chǔ)任務(wù),電子病歷通常包括“癥狀”和“體征檢查和檢驗(yàn)”“藥物”“疾病和診斷”以及“身體部位”五大類實(shí)體。對EMR 的命名實(shí)體識別可以挖掘出大量的醫(yī)學(xué)知識,分析其中的病情、體征以及與診斷之間的關(guān)聯(lián),節(jié)省了大量人工成本,幫助醫(yī)學(xué)決策,醫(yī)療科學(xué)研究,提升醫(yī)學(xué)信息系統(tǒng)服務(wù)質(zhì)量都具有非常重要的意義[3-5]。
許多學(xué)者對有關(guān)電子病歷命名實(shí)體的研究成果進(jìn)行總結(jié)歸納,并對其研究現(xiàn)狀進(jìn)行分析,推動電子病歷數(shù)據(jù)挖掘領(lǐng)域的發(fā)展。楊錦鋒等人[6]介紹了電子病歷文本特點(diǎn),總結(jié)了基于詞典和規(guī)則的方法和機(jī)器學(xué)習(xí)兩種方法對電子病歷命名實(shí)體識別任務(wù)的研究。崔博文等人[7]對包括命名實(shí)體識別在內(nèi)的電子病歷信息抽取研究進(jìn)展工作進(jìn)行了論述。吳宗友等人[8]基于詞典和規(guī)則、基于統(tǒng)計(jì)學(xué)習(xí)以及基于深度學(xué)習(xí)三類方法對電子病歷命名實(shí)體識別給予論述,并探討其對糖尿病、心腦血管疾病中的運(yùn)用。
從電子病歷的自由文本中提取所蘊(yùn)含豐富的表達(dá)性數(shù)據(jù)將有助于臨床研究。命名實(shí)體識別任務(wù)是電子病歷信息抽取的第一步,準(zhǔn)確地識別各類實(shí)體類別有助于后續(xù)信息提取工作。因此,提高EMR 醫(yī)學(xué)命名實(shí)體的識別精確度和準(zhǔn)確度仍有發(fā)展的空間。區(qū)別以上綜述,本文深究深度學(xué)習(xí)方法常用網(wǎng)絡(luò)模型與預(yù)訓(xùn)練模型應(yīng)用于電子病歷命名實(shí)體識別任務(wù)。本文歸納梳理了常用電子病歷文本研究的數(shù)據(jù)集、語料標(biāo)注標(biāo)準(zhǔn)和評價指標(biāo),簡要地羅列基于字典和規(guī)則、傳統(tǒng)機(jī)器學(xué)習(xí)的命名實(shí)體識別方法在電子病歷中的應(yīng)用,詳細(xì)介紹NLP領(lǐng)域中深度學(xué)習(xí)方法對醫(yī)學(xué)命名實(shí)體識別特征提取常見的網(wǎng)絡(luò)結(jié)構(gòu),以及介紹了融合傳統(tǒng)機(jī)器學(xué)習(xí)與深度學(xué)習(xí)相結(jié)合的混合模型用于電子病歷實(shí)體識別,由于深度學(xué)習(xí)方法中預(yù)訓(xùn)練模型在命名實(shí)體識別任務(wù)中產(chǎn)生優(yōu)異的結(jié)果,闡述了深度學(xué)習(xí)方法的通用領(lǐng)域預(yù)訓(xùn)練模型,并且概述針對醫(yī)學(xué)領(lǐng)域的預(yù)訓(xùn)練模型進(jìn)一步提升醫(yī)學(xué)文本識別的準(zhǔn)確度。針對訓(xùn)練數(shù)據(jù)短缺導(dǎo)致模型泛化能力弱提出解決方法,最后分析目前電子病歷命名實(shí)體識別面臨的挑戰(zhàn)和未來的發(fā)展趨勢。
數(shù)據(jù)集是研究的基礎(chǔ),電子病歷實(shí)體命名識別研究數(shù)據(jù)大多來自各種醫(yī)療機(jī)構(gòu),或是醫(yī)療信息資源平臺,再通過人為的標(biāo)注進(jìn)行研究,此外還有一些常用權(quán)威的數(shù)據(jù)。
(1)I2B2 2010數(shù)據(jù)集
I2B2系列評測數(shù)據(jù)在國外的有關(guān)研究成果中取得了至關(guān)重要的地位。其中應(yīng)用最為普遍的是在2010年的評測數(shù)據(jù)集。I2B2 系列評測數(shù)據(jù)美國國家集成生物學(xué)和醫(yī)院信息系統(tǒng)學(xué)研究服務(wù)中心(informatics for integrating biology and the bedside)提供,I2B2 進(jìn)行的一系列開放評測工作,大大地推動了基于英文電子病歷的抽取研發(fā)。I2B2 2010 數(shù)據(jù)集涵蓋包含871 份出院小結(jié),3大類具體形式分為醫(yī)學(xué)現(xiàn)象(medical problem)、檢測(test)和診斷(treatment)并且提供了標(biāo)注語料庫標(biāo)準(zhǔn),為后期研究者建立語料庫奠定了基礎(chǔ)。
(2)CCKS 2017數(shù)據(jù)集
全國知識圖譜與語義計(jì)算大會(China conference on knowledge graph and semantic computing,CCKS)由中國中文信息學(xué)會語言與知識計(jì)算專家委員會組織和舉辦。CCKS 2017數(shù)據(jù)集是在中文電子病歷實(shí)體識別研究中最常見的數(shù)據(jù)集,同時是中文電子病歷的國內(nèi)醫(yī)療實(shí)體識別測評挑戰(zhàn)賽所采用的公共數(shù)據(jù)集。CCKS2017的數(shù)據(jù)集人為地標(biāo)注了表1五類實(shí)體數(shù)據(jù)。
表1 CCKS 2017語料統(tǒng)計(jì)數(shù)據(jù)Table 1 CCKS 2017 corpus statistics
(3)CHIP 2020數(shù)據(jù)集
CHIP 2020 數(shù)據(jù)集測評任務(wù)一——中文醫(yī)學(xué)文本命名實(shí)體識別,由北京大學(xué)計(jì)算語言學(xué)教育部重點(diǎn)實(shí)驗(yàn)室、鄭州大學(xué)信息工程學(xué)院自然語言處理實(shí)驗(yàn)室、哈爾濱工業(yè)大學(xué)(深圳),以及鵬城實(shí)驗(yàn)室人工智能研究中心智慧醫(yī)療課題組聯(lián)合構(gòu)建??傋?jǐn)?shù)達(dá)到220 萬,包含47 194 個句子,938 個文件,平均每個文件的字?jǐn)?shù)為2 355。數(shù)據(jù)集中涵蓋了504 種最常用的兒科病癥、7 085種人體部位、12 907種臨床表現(xiàn)、4 354種醫(yī)學(xué)程序等九大類別的醫(yī)療實(shí)體。數(shù)據(jù)集中的語料來自臨床兒科學(xué),訓(xùn)練集包含1 500條醫(yī)療記錄,驗(yàn)證集為5 000條,測試集Test1、Test2分別包含3 000、3 618條醫(yī)療記錄。
(4)瑞金醫(yī)院糖尿病數(shù)據(jù)集
數(shù)據(jù)集將是2019 年阿里云天池實(shí)驗(yàn)室所推出,內(nèi)容來自中文糖尿病研究領(lǐng)域的權(quán)威雜志,時間跨度超過將七年。內(nèi)容涵蓋了中國目前許多糖尿病的科學(xué)研究和熱點(diǎn),數(shù)據(jù)集的標(biāo)注者都具有醫(yī)學(xué)背景。盡管因?yàn)榘l(fā)布日期較短等因素,目前暫未獲得普遍應(yīng)用,但依然是一個具有權(quán)威性的中文開源大數(shù)據(jù)集。依托于該數(shù)據(jù)集,包括醫(yī)生、科研人員、企業(yè)開發(fā)者就能開展用于臨床診斷的知識庫,知識圖譜,輔助診斷等產(chǎn)品開發(fā),進(jìn)一步探索研究糖尿病的奧秘。
(5)其他數(shù)據(jù)集
除這些公共數(shù)據(jù)收集外,有部分學(xué)者還利用了一些內(nèi)部數(shù)據(jù)或臨床數(shù)據(jù)收集,進(jìn)行了電子產(chǎn)品病史的實(shí)體鑒別研究工作,例如,曲春燕等人[9]通過與哈爾濱醫(yī)科大學(xué)第二附屬醫(yī)院建立的合作關(guān)系,收集了來自醫(yī)院35個主要科室和87個細(xì)分科室的992份電子醫(yī)療記錄,各科醫(yī)療人員參與數(shù)據(jù)標(biāo)注工作,為數(shù)據(jù)集的質(zhì)量提供保障。楊曉輝醫(yī)生[10]曾對新疆某三甲醫(yī)院提出的500余名冠心病患者的出院小結(jié)經(jīng)行預(yù)處理,包括了300個診療記錄作為訓(xùn)練集,測試集中包括了200 篇的診療記錄。參照2014年美國臨床信息學(xué)研究中心I2B2發(fā)布的冠心病危險(xiǎn)因素標(biāo)注語料庫,制定了標(biāo)注指南并開發(fā)了危險(xiǎn)因素語料庫標(biāo)注工具,由兩名臨床醫(yī)生完成了預(yù)標(biāo)注和正式標(biāo)注工作。最后在XML 文件中存入入院記錄、治療方案、檢驗(yàn)結(jié)論、出院小結(jié)、出院醫(yī)囑內(nèi)容。表2總結(jié)了用于命名實(shí)體識別的數(shù)據(jù)集。
表2 電子病歷實(shí)體命名識別常用數(shù)據(jù)集Table 2 Common datasets for naming and identifying entities in electronic medical records
語料庫的建立是命名實(shí)體研究的基石。美國國家集成生物技術(shù)和臨床信息系統(tǒng)研發(fā)中心已于2006年根據(jù)對不同病例及風(fēng)險(xiǎn)因素識別特征等情況建立了相應(yīng)的語料庫,而中國的知識圖譜與語義計(jì)算大會(CCKS)也針對中文電子病歷系統(tǒng)建立了文本語料庫資源。哈爾濱工業(yè)大學(xué)的研發(fā)隊(duì)伍在借鑒了國外電子病歷標(biāo)注規(guī)范的基礎(chǔ)上,也提供了一個較為完善的中文電子病歷系統(tǒng)命名與實(shí)體標(biāo)注方法[9-12]。目前,對命名實(shí)體的標(biāo)簽標(biāo)注主要使用BIO 表達(dá)方式[13-14],中文文本命名實(shí)體識別相較于英文命名實(shí)體識別來說更加困難,因?yàn)橛⑽闹忻總€詞由空格區(qū)分,而中文中詞與詞之間是沒有明顯的邊界的。后來Uchimoto 等人[15]將獨(dú)立元素加入之中成為BIESO 表達(dá)方式有利于中文實(shí)體語料標(biāo)注。B(Begin):指示命名實(shí)體組成的起始詞匯;I(Intermediate):指示由命名實(shí)體中間組成部分的詞;E(End):指示命名實(shí)體構(gòu)成的結(jié)尾詞匯;S(Single):指示單個詞匯組成的命名實(shí)體;O(Other):指示與命名實(shí)體所構(gòu)成不相干的詞匯。BIESO語料標(biāo)注方式如表3所示。
表3 BIESO數(shù)據(jù)標(biāo)注示例Table 3 BIESO data annotation example
電子病歷的命名實(shí)體識別必須同時判斷實(shí)體界限以及實(shí)體類型,所以,只有在對實(shí)體界限和實(shí)體類別的辨認(rèn)結(jié)果都無誤后,才能夠認(rèn)為命名實(shí)體鑒別的結(jié)論是準(zhǔn)確的。電子病歷命名實(shí)體識別使用的評估指數(shù)為精確度(Precision)、召回率(Recall)及其F1值。F1值是綜合精確度與召回率指數(shù)的綜合評估指數(shù),用于綜合反映整體的指標(biāo),是目前使用最為廣泛的評測標(biāo)準(zhǔn)。其中,TP(true positive)為識別完全正確、FP(false positive)為不為該實(shí)體但模型判定為實(shí)體、FN(false negative)為應(yīng)該被識別但模型實(shí)際沒有識別。
本章介紹了常用的電子病歷文本數(shù)據(jù)集:I2B2 2010 數(shù)據(jù)集、中文電子病歷CCKS 2017 數(shù)據(jù)集、CHIP 2020數(shù)據(jù)集、瑞金醫(yī)院糖尿病數(shù)據(jù)集,還有兩個他人研究未公開的數(shù)據(jù)集。以及簡述語料庫建立的標(biāo)注標(biāo)準(zhǔn)和命名實(shí)體識別是否準(zhǔn)確的評價指標(biāo)。
最早命名實(shí)體識別技術(shù)采取了基于字典匹配和規(guī)則的方法,基于字典方法先是構(gòu)建醫(yī)學(xué)術(shù)語字典,之后再利用匹配算法進(jìn)行名稱實(shí)體識別[16]。針對電子醫(yī)學(xué)病歷等專業(yè)性較強(qiáng)文獻(xiàn),該方法對標(biāo)識作語料即領(lǐng)域字典的規(guī)模與質(zhì)量發(fā)揮著非常重要的功能,為了提高領(lǐng)域醫(yī)療詞典的個性化信息內(nèi)容,可對電子醫(yī)學(xué)病歷文獻(xiàn)、領(lǐng)域醫(yī)療文獻(xiàn)等先采用分詞管理,然后透過抽取帶有較大詞頻——逆向文件頻率的幾個詞,加入到領(lǐng)域字典中。2013 年Xu 等人[17]創(chuàng)建了336 個出院小結(jié),并分詞和標(biāo)注同類實(shí)體語料,參考2010 年I2B2 數(shù)據(jù)集進(jìn)行實(shí)體類別識別,把診斷劃分為藥物(medication)和過程(procedure),標(biāo)注工作由2 名醫(yī)師負(fù)責(zé),而且增加了人體部位(anatomy)這個類型。為了展開中醫(yī)病歷名稱實(shí)物研究,針對腫瘤相關(guān)的生物信息系統(tǒng),Wang等人[18]在腫瘤病案命名系統(tǒng)中進(jìn)行了一系列的研究,該論文共包含復(fù)旦大學(xué)中山醫(yī)院惡性腫瘤患者的115份手術(shù)記錄,并根據(jù)臨床醫(yī)學(xué)需求定義了12 個實(shí)體類別,其中兩個醫(yī)生分別標(biāo)記,最后將961個實(shí)體標(biāo)記出來。詞典匹配法雖然有很高的識別率,但該方法需要人員具有專業(yè)醫(yī)學(xué)知識,以及構(gòu)建語料庫需投入大量的人力。
與詞典方式不同,基于規(guī)則的方法是一般是在分析實(shí)物的特征后,然后構(gòu)造人工規(guī)律,利用實(shí)物的上/下文信息進(jìn)行匹配。Kraus等人[19]建立大量臨床記錄中的藥物、劑量等醫(yī)學(xué)實(shí)體。使用基于規(guī)范的方式來完成命名實(shí)體識別工作,在較小型的語料測試中具有較好的有效性且迅速。
根據(jù)上述問題,研究者們給出了統(tǒng)計(jì)機(jī)器學(xué)習(xí)的方法,并逐步形成了對命名實(shí)體識別的主要方式?;跀?shù)據(jù)訓(xùn)練的方法主要是通過在給定的數(shù)據(jù)中抽取出相應(yīng)的詞特征,并利用機(jī)器學(xué)習(xí)的算法迭代更新參數(shù),由此來構(gòu)建模型,然后再把測試數(shù)據(jù)集注入到已經(jīng)訓(xùn)練好的詞模型,由模型算出下一個詞中所命名實(shí)體的概率,若概率超過模型中某值時,則判斷該詞為命名實(shí)體,否則不是命名實(shí)體。傳統(tǒng)的機(jī)器學(xué)習(xí)模型,如隱馬爾可夫(hidden Markov model,HMM)[20]、最大熵模型(maximum entropy,ME)[21]、支持向量機(jī)(support vector machine,SVM)[22]和條件隨機(jī)場(CRF)[23]。
De Brujin 等人[24]使用HMM 模型在I2B22010 數(shù)據(jù)集上取得0.85的F1值。張坤麗等人[25]采用最大熵(ME)模型以及基于規(guī)則的方法按照順產(chǎn)、剖宮產(chǎn)、引產(chǎn)、墮胎、保胎治療,以及其他6 類對中文產(chǎn)科電子病歷系統(tǒng)進(jìn)行了分級,分類的F1 值達(dá)到88.16%。Doan 等人[26]特別突出了語義特征在NER的重要性,實(shí)驗(yàn)結(jié)果表明,基于SVM 的NER 系統(tǒng)在考慮語義特征的情況下能夠獲得最佳F1值達(dá)到90.05%。Ju[27]利用SVM從生物醫(yī)療文本中標(biāo)識特定種類的名稱。Tang[28]提出基于SVM 的NER系統(tǒng),來標(biāo)識在醫(yī)療服務(wù)收費(fèi)摘要中的臨床實(shí)體。另外,他還獲得了2 種不同類別的詞表特性(基于聚類的表達(dá)特征和分布表達(dá)特性),并將它們與SVM的臨床NER 系統(tǒng)集成在一塊。支持向量機(jī)的多種分類模型能夠有效地利用醫(yī)療問題的上下文、句子、標(biāo)題等多種特征。王世昆在文獻(xiàn)[29]給出了一個基于CRF 的中藥實(shí)體命名識別模型,表明了該模型對于明清時代提出的中國古代醫(yī)藥癥狀與疾病機(jī)理的認(rèn)識有著突出的優(yōu)越性。Ye 等人[30]利用詞性、字符、詞匯特征和詞的邊界等特點(diǎn),運(yùn)用CRF技術(shù)用到了中文電子病歷進(jìn)行分析,取得了較好的結(jié)果。Liu 等人[31]首先構(gòu)建了一個醫(yī)學(xué)詞典,并且采用條件型隨機(jī)場CRF算法,并深入地探究了各種分類特點(diǎn)在中文臨床文本NER任務(wù)中的意義。
基于詞典和規(guī)則的命名實(shí)體識別方式不論是通過人工方法整理規(guī)范,或是對語料庫和命名實(shí)體庫的整合,均需耗費(fèi)巨大的財(cái)力與時間;且泛化能力極差,使用到其他的應(yīng)用領(lǐng)域則必須重新制定詞典,制定過多的規(guī)則會導(dǎo)致規(guī)則之間互相沖突。
相對于之前的方法,基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法識別能力有了很大的提升。在開放性數(shù)據(jù)集中,由于新詞和語言表達(dá)的多樣性,采用統(tǒng)計(jì)機(jī)器學(xué)習(xí)雖然可以從小型標(biāo)注數(shù)據(jù)集獲得較好的結(jié)果,但在大量的語料庫中,遇到更加復(fù)雜的語義,特別是在處理特定的詞語組合和同義詞等問題,其效果仍具有明顯的劣勢。
近年來,深度學(xué)習(xí)的方法越來越成熟,通過構(gòu)建深層結(jié)構(gòu),可以自動提取文本中的局部和全局特征。常見的深度學(xué)習(xí)中模型一般有卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)[32]、循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[33]、長短期記憶網(wǎng)絡(luò)系統(tǒng)(long short term memory network,LSTM)[34]、雙向長短期記憶網(wǎng)絡(luò)系統(tǒng)(bi-directional long-short term memory,Bi-LSTM)[35]和自注意力機(jī)制(self-attention mechanism)[36],其本質(zhì)是通過使用大量無監(jiān)督數(shù)據(jù)構(gòu)建多層神經(jīng)網(wǎng)絡(luò)模型。
卷積計(jì)算神經(jīng)網(wǎng)絡(luò)(CNN)是Lecun 在1989 年提出[32],由輸入層、卷積層、池化層、全鏈接層四部分組成。CNN在NLP中對詞向量輸入進(jìn)行的特征提取是一重要方法。在詞嵌入層,CNN 將EMR 中的所有單詞轉(zhuǎn)換為詞矢量,并把生成的單詞矢量矩陣作為CNN 的層。在卷積層,利用不同的過濾器對向量陣的卷積操作,可以得到不同的局部表示。最大池化完成后,將提取到的多個局部表示進(jìn)行了首尾連接。最后,通過全連接層,得到了EMR與疾病的關(guān)系。圖1為CNN對文本特征提取示意圖。
因?yàn)镃NN 共用卷積核,對更高維數(shù)據(jù)處理并無壓迫,并且運(yùn)行速度極快。然而CNN在提取特征時,受限于卷積核的大小,只能集中于提取部分單詞的信息,提取到的是EMR的局部特征。但是,EMR中的每個單詞都包含了它的上下文的語義信息,CNN 并不能夠提取整個EMR的序列信息。CNN的另一個問題是模型參數(shù)多,需要大量數(shù)據(jù)訓(xùn)練,當(dāng)數(shù)據(jù)不足時就有問題。Wu等人[37]先對中文臨床文本詞向量預(yù)訓(xùn)練,再通過CNN 命名實(shí)體識別,提高了標(biāo)準(zhǔn)模型的準(zhǔn)確性。Yang等人[38]使用帶有單層卷積層的CNN 方法對中文EMR 進(jìn)行疾病診斷;Li等人[39]提出了基于微調(diào)的CNN對中文兒科EMR進(jìn)行疾病診斷。Yin 等人[40]利用CNN 獲得字符的特征數(shù)據(jù),并通過自注意力機(jī)制的文字間的依賴關(guān)聯(lián)等特性,來確定了醫(yī)學(xué)電子病歷的相關(guān)實(shí)體。
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),由輸入層、循環(huán)層和輸出層構(gòu)成,是一種淺層、不斷重復(fù)的結(jié)構(gòu),是應(yīng)用于自然語言處理(NLP)深度學(xué)習(xí)中最常使用的算法。經(jīng)網(wǎng)絡(luò)的模塊A,開始讀出某個輸入Xi,并產(chǎn)生某個值hi,如圖2所示。循環(huán)可以讓訊息能夠在當(dāng)前步中傳送到下步,而RNN 也可被認(rèn)為是一種神經(jīng)網(wǎng)絡(luò)的多次重復(fù),因?yàn)槊總€神經(jīng)網(wǎng)絡(luò)組都會將消息傳遞給下一次。
ArunKumar 等人[33]提出了最先進(jìn)的深度學(xué)習(xí)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)模型來預(yù)測國家累計(jì)確診病例、累計(jì)治愈病例和累計(jì)死亡人數(shù)?;诩傻腃NN-RNN 框架Zhou 等人[41]分析患者-醫(yī)生生成的數(shù)據(jù),便于患者在線查詢。Al-Rakhami 等人[42]提出了卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的組合架構(gòu),用于通過胸部X光片診斷COVID-19。RNN 通過線形順序結(jié)構(gòu)形式不斷地從前往后收集輸入數(shù)據(jù),但是這個線形順序結(jié)構(gòu)形式在相反傳遞的時刻面臨著優(yōu)化困難等問題,而且由于相反傳遞路線很長,極易造成嚴(yán)重的階梯消失或階梯爆炸現(xiàn)象。
長短期記憶網(wǎng)絡(luò)(LSTM)提出有效克服了長距離依賴問題,并對模型梯度消失問題有一定程度上緩解。LSTM 作為RNN 的變體現(xiàn)廣泛應(yīng)用于自然語言處理(NLP)領(lǐng)域[34]。LSTM也在RNN的基礎(chǔ)上引進(jìn)了“門控”的選擇性機(jī)制,分別為遺忘門、輸入門和輸出門,從而有選擇性地保留或刪除信息,以能夠較好地學(xué)習(xí)長期依賴關(guān)系。在LSTM 里將原來記憶里的值乘上某個值后再加上輸入的值再放到單元里,它的記憶與輸入都是相加的,所以不像RNN在每個時間點(diǎn)都會被覆蓋掉,只要前一時刻的信息一旦被格式化掉,影響就消失了,但是在LSTM里的影響一直會存在,除非遺忘門把記憶里的信息清洗掉。LSTM網(wǎng)絡(luò)基本結(jié)構(gòu)圖如圖3所示。
Liu等人[43]使用LSTM實(shí)體識別取得F1值為87.66%。LSTM能夠解決一百個量級的排序,但是對于一千個量級,甚至更長的排序則依然會變得非常棘手,因?yàn)橛?jì)算量過于費(fèi)時。而且每一個LSTM的工作單元里都有4個全連通層(MLP),所以一旦LSTM 的工作時段跨越較大,而且網(wǎng)絡(luò)范圍又非常深,這個運(yùn)算量就會巨大而且費(fèi)時。LSTM模式中只存在于單向傳輸,模式中實(shí)際只應(yīng)用到了“上文”的信息內(nèi)容,而并未顧及到“下文”的信息內(nèi)容。在現(xiàn)實(shí)情景中,實(shí)體命名識別可以要應(yīng)用到所有輸入順序的所有信息內(nèi)容。
所以,目前電子病歷實(shí)體名稱識別一般采用的是雙向長短時記憶網(wǎng)絡(luò)技術(shù)(Bi-LSTM)。單向的LSTM 模型能夠捕捉到從前向后傳輸?shù)男盘?,而正向和反向LSTM信息可以同時被Bi-LSTM捕捉,使得對文本信息的利用更全面,效果也更好。
由圖4中可以看出BiLSTM模型中能夠讓LSTM同時處理前向和后向兩個方向序列,并具有各自的隱藏層,在特定的時間步長下,每一個隱藏層都能同時捕捉到過去(向前)和將來(向后)的信息[35]。這樣,才能提取出比較全面的實(shí)體特征,提高網(wǎng)絡(luò)的預(yù)測性能。Huang等人[44]采用BiLSTM 進(jìn)行通用領(lǐng)域的命名實(shí)體識別任務(wù),取得了優(yōu)秀的效果。李綱等人[45]使用BiLSTM模型的融合Word2Vec 和外部詞典信息,有效地識別中文電子病歷中的疾病實(shí)體,實(shí)體識別F1 值高90.14%。屈倩倩等人[46]將《傷寒論》分為五類實(shí)體,即“癥狀、病名、方劑、中藥名稱、時間”,融合自注意力機(jī)制采用BERT 模型詞嵌入,再通過BiLSTM 方法提取實(shí)體特征,將特征輸入CRF模型,以達(dá)到95%的F1值。Zhu等人[47]混合了臨床報(bào)告和相關(guān)維基百科頁面的語料庫上運(yùn)用BiLSTMCRF 模型測試2010 年I2B2/VA 挑戰(zhàn)賽數(shù)據(jù)集,模型實(shí)體識別獲得F1 值達(dá)到88.60%。Yan 等人[48]提出基于ALBERT-BiLSTM-CRF 的半監(jiān)督的中文電子病歷NER模型,與其他模型相比,使用半監(jiān)督方法可以提高識別的準(zhǔn)確性,該模型精確度、召回率和F1值分別為85.45%、87.81%和86.61%,醫(yī)療命名實(shí)體識別更加準(zhǔn)確和全面。然而BiLSTM 模型如果不計(jì)算出前一個時刻的結(jié)果,就沒法計(jì)算下一個時刻的結(jié)果,因此會造成無法并行計(jì)算。
2017 年文章Attention is all you need[36]提出的自注意力機(jī)制(self-attention mechanism)降低了對外部信號的依賴性,更善于抓住與數(shù)據(jù)或特征之間的內(nèi)在關(guān)聯(lián)。Self-attention 并非基于Transformer 的傳統(tǒng)注意力機(jī)制的改變,而是一個全新的注意力機(jī)制,其設(shè)計(jì)思想來自RNN和CNN。自注意力機(jī)制應(yīng)用在NLP領(lǐng)域,在文本中的運(yùn)用主要是利用計(jì)算單詞中間的交互影響,來克服長距離依賴問題。Self-attention 機(jī)理,相對于傳統(tǒng)Attention 機(jī)制原理而言是將輸入映射在三種不同的空間上,在文本中自己生成如圖5所示key、value、query并且key=value=query,由文本和文本的自己求相似率再與文本自己相乘運(yùn)算而得到。通過Self-attention 機(jī)理不但能夠獲取傳統(tǒng)Attention 機(jī)理中不存在的源頭端與目標(biāo)端詞與詞相互之間的依賴關(guān)系,而且同樣還能夠有效地獲得源頭端或目標(biāo)端自身詞與詞相互之間的依賴關(guān)系。
吳倩倩等人[49]利用自注意力機(jī)制提高CT圖像中腎臟小腫瘤自動分割準(zhǔn)確率。鞏敦衛(wèi)等人[50]在BiLSTM的隱藏層引入自注意力機(jī)制對CCKS 2017開源數(shù)據(jù)集與自建的糖尿病中文電子病歷中疾病、身體部位、癥狀、藥物、操作五類實(shí)體識別率均取得最好性能,其中身體部位相關(guān)的F1值高達(dá)97.54%。羅熹等人[51]結(jié)合多頭自注意力機(jī)制準(zhǔn)確地捕獲電子病歷字符間潛在的依賴權(quán)重、語境和語義關(guān)聯(lián)等多方面的特征,將Embedding 層的輸出獨(dú)立并聯(lián)地依次注入在BiLSTM 層和多頭自注意力模式中,再將這兩種模式的輸入輸出經(jīng)過相互融合后注入CRF 層得出的最終結(jié)果,從而有效地提升了中文電子病歷命名實(shí)體的識別能力。張世豪等人[52]對CHIP2020數(shù)據(jù)集中文醫(yī)學(xué)病歷運(yùn)用多通道自注意力機(jī)制深入發(fā)掘句子的全局語義特性,F(xiàn)1值可達(dá)到85.23%。Yin等人[40]利用CNN獲得的文本字符間特征信息,并使用自注意力機(jī)制捕獲文字間的依賴關(guān)聯(lián)特征,來確定在電子病歷中的相關(guān)實(shí)體。自注意力機(jī)制能夠從始而終地獲取全局與局部聯(lián)系。Self-attention機(jī)制模型復(fù)雜度遠(yuǎn)低于CNN 與RNN 網(wǎng)絡(luò),參數(shù)少運(yùn)行時間更為快速,最突出的特點(diǎn)是可以并行運(yùn)算大大提高了計(jì)算效率。然而,自注意力機(jī)制無法學(xué)習(xí)序列中的順序關(guān)系,目前可以通過與預(yù)訓(xùn)練模型相結(jié)合來改善該不足。
近年來,研究者利用合理地集成詞典、規(guī)則、統(tǒng)計(jì)機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等新技術(shù),以提高NER模型穩(wěn)定性與實(shí)體識別能力。
Wei等人[53]單一疾病名實(shí)體識別引入條件隨機(jī)場和雙向遞歸神經(jīng)網(wǎng)絡(luò),其最終F1 值達(dá)到了84.28%。龔樂君和張知菲[54]給出了一個詞典和CRF 雙層標(biāo)準(zhǔn)的電子病歷實(shí)體識別方式,F(xiàn)1值達(dá)97.2%。陳德鑫等人[55]使用CNN-BiLSTM 模型識別醫(yī)學(xué)相關(guān)實(shí)體。李麗雙等人[56]提出CNN-BLSTM-CRF模型識別生物醫(yī)學(xué)實(shí)體。Li等人[57]從中國電子病歷數(shù)據(jù)庫中提取語料庫,去除“急性上呼吸道感染”以外的7 大類疾病測試模型的有效性,再進(jìn)行八大類以及數(shù)據(jù)集中63種疾病來測試模型的泛化能力,根據(jù)原始語料庫構(gòu)建醫(yī)學(xué)詞典,作為分詞的外部專家知識,再使用單層CNN嵌套的5倍交叉驗(yàn)證方法進(jìn)行訓(xùn)練,提高了文本分類的準(zhǔn)確度。Tang等人[58]提出基于注意力機(jī)制的CNN-LSTM-CRF模型對CCKS2017_CNER數(shù)據(jù)集臨床文本分為疾病、癥狀、檢查、治療、身體五大類實(shí)體識別,經(jīng)過測試識別癥狀、檢查F1值分別達(dá)到95.60%、93.57%。目前,大多數(shù)的基于實(shí)體識別的任務(wù)處理方法都是利用BiLSTM對字或詞向量特征提取,然后將其輸入到CRF 模型中來進(jìn)行序列參數(shù)的優(yōu)化。與以前只采用CRF 模式模型相比,BiLSTM-CRF 無需人為進(jìn)行特征處理,利用LSTM 網(wǎng)絡(luò)抽取文本特征,實(shí)現(xiàn)了對句子層次的理解。近幾年,在電子病歷中應(yīng)用BiLSTM-CRF模型的研究日益受到研究者重視[59-60]。
Zhu等人[61]在包括臨床治療報(bào)告及與臨床治療范圍有關(guān)的Wikipedia網(wǎng)頁的語料庫上先練習(xí)以上文有關(guān)單詞嵌入模式,之后訓(xùn)練BiLSTM-CRF 模式。沈宙鋒等人[62]對中文電子病歷通過XLNet 預(yù)訓(xùn)練模型進(jìn)行詞向量表示,解決了同一詞語在不同語境下的含義,利用BiLSTM-MAH 模型對臨床文本的特征提取,最后輸入條件隨機(jī)場CRF 識別全局最優(yōu)序列,在CCKS-2017 命名實(shí)體識別數(shù)據(jù)集數(shù)上取得了精確度92.07%、召回率91.21%、F1 值91.64%的優(yōu)異結(jié)果。Yang 等人[63]共收錄了240 例肝細(xì)胞癌患兒的病歷記載,內(nèi)容主要涉及了入院記錄與出院小結(jié),以及基于BiLSTM-CRF 訓(xùn)練實(shí)體識別的模型醫(yī)學(xué)與實(shí)體識別,取得了85.35%的F1值。Jagannatha等人[64]將BiLSTM網(wǎng)絡(luò)和CRF技術(shù)相結(jié)合,應(yīng)用在了1 154份腫瘤患者的病歷中,結(jié)果達(dá)到了整體82.10%的F1值。
由上述可知,深度學(xué)習(xí)方法因不需要太多的人工設(shè)定,已被廣泛地用于醫(yī)學(xué)命名實(shí)體識別并且取得了很好的效果。對于高維數(shù)據(jù)CNN 處理起來毫無壓力;RNN可以有效提取EMR前后信息;LSTM和BiLSTM網(wǎng)絡(luò)能夠較好地學(xué)習(xí)長期依賴關(guān)系,提取出比較全面的實(shí)體特征,提高網(wǎng)絡(luò)的預(yù)測性能;引入自注意力機(jī)制(selfattention)使得識別過程中可以并行運(yùn)算且大大提高了計(jì)算效率。傳統(tǒng)方法與深度學(xué)習(xí)方法各模型相結(jié)合提高命名實(shí)體識別能力,BiLSTM-CRF是目前主流的特征提取模型。表4 對比分析各模型自身的特點(diǎn)與優(yōu)勢及局限性,表5總結(jié)各混合模型在電子病歷命名實(shí)體識別的結(jié)果。
表4 基于深度學(xué)習(xí)的命名實(shí)體識別方法對比Table 4 Comparison of named entity recognition methods based on deep learning
表5 混合方法命名實(shí)體識別的評價指標(biāo)結(jié)果Table 5 Results of evaluation metrics for hybrid approach to named entity identification
在NLP模型的深度學(xué)習(xí)中,詞嵌入通常被用作第一個數(shù)據(jù)預(yù)處理層,即每個詞都需要嵌入到一個數(shù)學(xué)空間中,才能得到向量詞的表達(dá)式。因?yàn)槟P蛯W(xué)習(xí)到的單詞向量可以捕獲一般的語義和句法信息,單詞嵌入可以在各種NLP任務(wù)中產(chǎn)生優(yōu)異的結(jié)果[65-66]。
通用領(lǐng)域中常用的詞向量表示有兩種:一種為非語境的詞嵌入One-hot、Word2vec、Glove模型,另一種為結(jié)合上下文詞嵌入ELMo、BERT、XLNet模型。
4.1.1 One-Hot編碼
One-Hot 編碼又名“獨(dú)熱編碼”,One-Hot 編碼使每個詞都對應(yīng)唯一的單詞向量,且任意兩個詞之間是獨(dú)立的。盡管One-Hot 編碼能夠很好地解決離散數(shù)據(jù)的難題,而且能夠?qū)μ卣鬟M(jìn)行一定的擴(kuò)展。但語料庫的大小決定了向量維度,隨著詞庫的規(guī)模越來越大,向量維數(shù)也會隨之暴漲,從而引發(fā)維度災(zāi)難。由于One-Hot編碼是一個詞袋模型,每個詞向量之間相互獨(dú)立,具有高稀疏性、離散型性的特征,因此詞之間的關(guān)聯(lián)性會被忽略,帶來“語義鴻溝”問題。
4.1.2 Word2Vce模型
2013 年由Mikolov 等人[67]提出了Word2Vce 詞向量表示模型,Word2Vce是一種淺層神經(jīng)網(wǎng)絡(luò)預(yù)處理模型,將大規(guī)模未標(biāo)注的語料庫轉(zhuǎn)換為低維、稠密詞向量。Word2Vce 模型充分利用語境信息,通過聯(lián)系需要理解詞語的上下文即可理解該詞語在文本中的意思。
楊紅梅等人[63]基于Skip-gram 方法的Word2Vce模型將500 份電子病歷訓(xùn)練出128 維詞向量,再使用Bi-LSTM+CRF模型對其命名實(shí)體識別達(dá)到總體0.805 2的F1 值。黃艷群等人[68]研究以Word2Vce 模型訓(xùn)練北京市某三甲醫(yī)院144 375萬條住院患者EMR,以低維的詞向量表達(dá)病人特征(疾病、藥物、實(shí)驗(yàn)室指標(biāo)),從某種意義上解決了病人初始結(jié)構(gòu)特征的高維特征,同時有效地利用特征低維向量來顯示特征之間的關(guān)系。Word2Vce模型克服了“維度災(zāi)難”現(xiàn)象,但Word2Vec 窗口是以局部語料庫為基礎(chǔ)的,所以當(dāng)在文本中使用Word2Vec 詞矢量表示時,則會失去上下文中各實(shí)體之間的關(guān)聯(lián),僅提取語句層次的信息,造成同一實(shí)體在上下文中的標(biāo)注不一致。
4.1.3 Glove模型
隨后,Pennington[69]又提出窗口基于文字全局語料Glove 模型,其收集詞語在文本共現(xiàn)的全文信息并對詞語進(jìn)行單詞矢量表達(dá),同時考慮了局部信息和整體的信息,以此增加了對文字中同一實(shí)體標(biāo)注的準(zhǔn)確性。
吳迪和趙玉鳳[70]提出融合LDA 和Glove 模型的病癥文本聚類算法,將電子病歷命名實(shí)體分為“呼吸科”“消化科”“神經(jīng)科”“骨科”“皮膚科”和“其他”6 大類。馬滿福等人[71]采用Glove 模型與LCN 神經(jīng)網(wǎng)絡(luò)相結(jié)合用于醫(yī)療問題的特征提取,對某三甲醫(yī)院的15 000份住院病歷進(jìn)行詞向量訓(xùn)練,采用Glove詞向量對詞匯的共現(xiàn)率進(jìn)行統(tǒng)計(jì),得到的詞特征信息更加完整,效果比其他的方法更好,準(zhǔn)確率穩(wěn)定在89%左右。鞏敦衛(wèi)等人[50]通過維基百科、醫(yī)療論壇、相關(guān)醫(yī)學(xué)書籍獲取大量醫(yī)學(xué)文本,分詞訓(xùn)練后使用Glove 模型得到100 維的字詞向量,作為下游任務(wù)的輸入層。Glove模型則和Word2Vce模型很相似,將同一文字中不同語義的詞匯表達(dá)為一個向量表示,而不會考慮同一詞語在不同的語境下產(chǎn)生的不同意義。
4.1.4 ELMo模型
前面介紹模型雖可以捕捉每個詞的表征,但它們無法捕捉上下文中的高層次概念,如句子結(jié)構(gòu)、語義和詞語歧義等。為了解決這個問題。Peter等人[72]在2018年提出了ELMo 模型,將一個句子或段落輸入模型,它可以通過上下文語境動態(tài)地改變詞向量編碼,表達(dá)多義詞的多種語義。
在某些特定的領(lǐng)域中,專有的詞典的詞向量ELMo模型比通用的ELMo[73]具有更好的性能。在臨床NER任務(wù)中,Johnson 等人[74]使用ELMo-LSTM-CRF 模型在醫(yī)學(xué)語料庫重癥監(jiān)護(hù)數(shù)據(jù)集III(MIMIC III)上進(jìn)行了預(yù)訓(xùn)練,結(jié)果顯著優(yōu)于具有通用ELMo 的相同模型。Yang 等人[75]對2010 年I2B2/VA 挑戰(zhàn)賽數(shù)據(jù)集命名實(shí)體識別提出了一種基于注意力的ELMo-BiLSTM-CRF 模型,取得88.78%的F1值。實(shí)驗(yàn)證明,ELMO模型在醫(yī)療領(lǐng)域數(shù)據(jù)上的表現(xiàn)也超過之前傳統(tǒng)語言模型。ELMO模型采用LSTM 的特征提取方法,具有較大的學(xué)習(xí)周期?;谏舷挛睦孟蛄科唇臃椒ㄟM(jìn)行特征的融合效果較差,且有偽雙向特性。
4.1.5 BERT模型
Devlin 在2018 年 提 出BERT 模 型[76],在 醫(yī) 學(xué) 領(lǐng) 域BERT 模型對電子病歷命名實(shí)體識別表現(xiàn)非常出色,如今大部分電子病歷命名實(shí)體識別研究在詞向量表達(dá)時都會使用BERT模型。BERT模型能夠在大量的無標(biāo)記非結(jié)構(gòu)化文本中獲取大量的語義信息,同時還利用了多層的Transformer為輸入序列的各個詞匯建模上下文語義信息,使同一詞匯在不同的上下文中根據(jù)含義不同而有不同的詞向量表達(dá)。圖6所示對某電子病歷“慢性胃炎,飲食不節(jié)”通過BERT模型詞向量表達(dá)。
李正民等人[77]提出了基于BERT 技術(shù)的BERTBiLSTM-IDCNN-CRF 多特征融合技術(shù),對CCKS 2020中文電子病歷的6類命名實(shí)體進(jìn)行了研究,該模型獲得最佳F1值達(dá)到89.68%。該模型在嵌入層使用BERT生成詞向量并且自動學(xué)習(xí)豐富的語義信息,使得命名實(shí)體識別能力有明顯的提高。Vunikili等人[78]對2020年ber-LEF的癌癥文本進(jìn)行命名實(shí)體識別(NER),在不使用任何特征工程或基于規(guī)則的方法的情況下,通過BERT模型對西班牙語臨床報(bào)告中提取腫瘤形態(tài),取得了73.4%的F1分?jǐn)?shù)。為了確保訓(xùn)練效率,BERT模型對輸入的句子最大長度限制為512個字。相對于傳統(tǒng)的語言模式,BERT 的每次訓(xùn)練只能得到15%的標(biāo)記被預(yù)測,從而使模型的學(xué)習(xí)過程變得更為復(fù)雜。
4.1.6 XLNet模型
XLNet[79]是CMU 與谷歌Brain 于2019 年推出的一種新的NLP預(yù)訓(xùn)練模式,在模型中輸入句子[患,有,冠,心,病],隨機(jī)生成一種排列[冠,病,患,心,有] 。根據(jù)新的排列方式得到圖7所示的XLNet的掩碼機(jī)制圖,第一行為“患”,因?yàn)樵谛碌呐帕蟹绞街小盎肌痹诘谌齻€,根據(jù)從左到右方式,“患”字可以獲得信息“冠”“病”字(在圖3中“冠”“病”位置用藍(lán)色實(shí)心表示),其他字則被遮掉(圖3中其他字位置用空心表示)。以此類推。第二行字為“有”,因?yàn)椤坝小痹谛屡帕惺亲詈?,就能看到“冠”“病”“患”“心”字,于是“冠”“病”“患”“心”字所在位置是藍(lán)色實(shí)心。第三行字為“有”,因?yàn)椤坝小痹谛屡帕兄械谝粋€,看不到其他信息位置,所有字全部遮蓋掉。
Yan 等人[80]證明在NER 任務(wù)中預(yù)訓(xùn)練模型XLNet優(yōu)于BERT 模型,比較在CoNLL-2003 數(shù)據(jù)集XLNet-BiLSTM-CRF、BERT-CRF 和BERT-BGRU-CRF 模型命名實(shí)體識別任務(wù),Yan提出的XLNet-BiLSTM-CRF模型取得97.64%的F1 值。Wen 等人[81]收集了1 000 條中醫(yī)醫(yī)囑,證實(shí)了XLNet預(yù)訓(xùn)練模型在醫(yī)學(xué)領(lǐng)域的命名實(shí)體識別任務(wù)中的優(yōu)異性,與單一或聯(lián)合模型在同一數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果相比,XLNet 預(yù)訓(xùn)練模型的F1 值分別提高了9.65%和8.71%。XLNet 模型可以提取豐富的語境信息,從而在長文本輸入類型的NLP 中表現(xiàn)出多種優(yōu)勢,可以根據(jù)句子的語義來充分表示每個標(biāo)記。但XLNet預(yù)訓(xùn)練模型相對于BERT需要更大的計(jì)算能力以及高質(zhì)量的語料。
前文介紹的預(yù)訓(xùn)練模型通用于一般領(lǐng)域的語料庫。然而,由于生物醫(yī)藥領(lǐng)域的文字中含有大量的專業(yè)術(shù)語和專有名詞,因此基于一般語料庫的預(yù)訓(xùn)練模型在醫(yī)療文本的挖掘過程中常常表現(xiàn)不佳。近來研究者們提出了針對醫(yī)學(xué)命名實(shí)體識別任務(wù)預(yù)訓(xùn)練模型可分為以BioBERT為代表的基于醫(yī)療領(lǐng)域數(shù)據(jù)進(jìn)行繼續(xù)預(yù)訓(xùn)練;基于醫(yī)療領(lǐng)域數(shù)據(jù)從頭進(jìn)行預(yù)訓(xùn)練Med-BERT 模型;以及MC-BERT 為代表的基于醫(yī)療領(lǐng)域數(shù)據(jù)的自監(jiān)督訓(xùn)練三類。
4.2.1 BioBERT
Lee 等人[82]在2020 年提 出的BioBERT 預(yù)訓(xùn)練模型是為了更有效地進(jìn)行醫(yī)學(xué)文本挖掘任務(wù),該模型與BERT模型結(jié)構(gòu)幾乎相似。BioBERT預(yù)訓(xùn)練模型如圖8所示,首先運(yùn)用BERT 的加權(quán)對BioBERT 進(jìn)行初始化,在模型訓(xùn)練階段采用已經(jīng)通過英語維基百科和Books-Corpus 語料庫訓(xùn)練完成的BERT 模型,進(jìn)一步運(yùn)用PubMed摘要和PMC全文文章對BERT模型訓(xùn)練。
BioBERT 預(yù)訓(xùn)練模型對于命名實(shí)體識別任務(wù)采用精確率、召回率、F1值作為評價指標(biāo)。Lee等人[82]采用了多種組合和不同數(shù)量的通用領(lǐng)域語料庫和生物醫(yī)學(xué)語料庫對BERT、BioBERTv1.0、微調(diào)BioBERTv1.1 進(jìn)行對比,結(jié)果表明在NCBI disease、2010 i2b2/VA、JNLPBA等8 個數(shù)據(jù)集中BioBERT 的得分均高于BERT,微調(diào)BioBERTv1.1 比BioBERT 平均F1 值提高0.62%。Yu 等人[83]實(shí)現(xiàn)EMR 中的臨床問題、治療和檢查進(jìn)行自動標(biāo)注,使用BioBERT模型對I2B2 2010挑戰(zhàn)數(shù)據(jù)集詞向量表示,再通過BiLSTM-CRF模型完成電子病歷命名實(shí)體識別任務(wù),達(dá)到87.10%的F1 值。Symeonidou 等人[84]提出基于BioBERT-BiLSTM-CRF 的遷移學(xué)習(xí)的NER 模型,實(shí)驗(yàn)數(shù)據(jù)表明增加BioBERT 預(yù)訓(xùn)練模型相比于前人的NER模型在三個不同的醫(yī)學(xué)數(shù)據(jù)集上F1值分別提高了6.93%、10.46%、13.31%。并且由于引進(jìn)遷移學(xué)習(xí),Elsevier’s gold set 數(shù)據(jù)集只需要大約7 000 個標(biāo)記的語句就可以達(dá)到80%以上的F1 分?jǐn)?shù)的結(jié)果,這意味著遷移學(xué)習(xí)和BioBERT預(yù)訓(xùn)練模型提高了實(shí)體命名識別的準(zhǔn)確性。Naseem等人[85]提出了一種新的醫(yī)學(xué)命名實(shí)體識別(BioNER)方法,通過分層融合的BioBERT 模型對醫(yī)學(xué)文本進(jìn)行詞向量表示,在BC5DR 數(shù)據(jù)集上識別藥物實(shí)體F1值達(dá)到94.24%。實(shí)驗(yàn)對比表明分層融合的BioBERT詞向量模型能夠更有效的捕捉上下文,處理語義、新詞等問題。
BioBERT 是第一個基于生物醫(yī)學(xué)語料庫的預(yù)訓(xùn)練模型,同時是將BERT 技術(shù)運(yùn)用到臨床醫(yī)學(xué)中的關(guān)鍵。BioBERT能夠識別出BERT無法識別的醫(yī)學(xué)命名實(shí)體,并能準(zhǔn)確地確定實(shí)體的邊界,使得可以識別更長的命名實(shí)體,僅僅只對結(jié)構(gòu)進(jìn)行小型的改動,BioBERT 就可以比先前的模型更好地識別醫(yī)學(xué)實(shí)體。
4.2.2 Med-BERT
針對生物醫(yī)學(xué)領(lǐng)域的Med-BERT 預(yù)訓(xùn)練模型由Rasmy等人[86]于2021年提出,不同于之前先采用通用域語言模型再結(jié)合混合域方法的預(yù)訓(xùn)練模型,如圖9所示Med-BERT 則是從一開始就使用PubMed 的摘要與PubMed Central(PMC)全文文章作為預(yù)訓(xùn)練語料庫,并且對于一些醫(yī)學(xué)領(lǐng)域的專業(yè)術(shù)語或通用域中所認(rèn)為的新詞該模型也能完整表示,在大部分的任務(wù)中能取得與BioBERT相同的效果。
Rasmy等人[86]評估了Med-BERT對糖尿病心力衰竭和胰腺癌的預(yù)測。實(shí)驗(yàn)結(jié)果表明Med-BERT對疾病預(yù)測任務(wù)中的有效性,有助于減少數(shù)據(jù)標(biāo)簽的負(fù)擔(dān),大幅提高基礎(chǔ)模型在小樣本上的性能。楊飛洪[87]采用Med-BERT模型對中文電子病歷命名實(shí)體識別(CEMRNER)數(shù)據(jù)集“身體”“疾病和診斷”“藥物”“檢驗(yàn)”“影像檢查”“手術(shù)”6種類型實(shí)體識別。Med-BERT在CEMRNER數(shù)據(jù)集總體F1值達(dá)到82.29%,其中對“藥物”實(shí)體的識別率最高,取得了90.48%的F1 值。Gan 等人[88]融合無監(jiān)督增強(qiáng)文本和標(biāo)簽策略Med-BERT 模型對CCKS2021 數(shù)據(jù)集中文電子病歷詞嵌入表示,提高了實(shí)體識別命名的準(zhǔn)確性。
相比于只采用摘要的Med-BERT模型,由于全文文章的篇幅較大所含的噪聲更多,語料庫包含摘要與全文文章的Med-BERT 詞向量表示效果往往會有所降低。盡管訓(xùn)練全文文章對模型有所幫助,但想要運(yùn)用更多的信息,還需花費(fèi)更多的訓(xùn)練時間。研究者通過多次實(shí)驗(yàn)得出,通過將訓(xùn)練時間延長60%,選用摘要與全文文章的Med-BERT 比僅僅使用摘要結(jié)果更好。Med-BERT是一種全新的在特定的生物醫(yī)學(xué)領(lǐng)域從頭學(xué)習(xí)的神經(jīng)語言模型,比以往的各種預(yù)訓(xùn)練語言模型效果更好,是目前生物醫(yī)學(xué)領(lǐng)域預(yù)訓(xùn)練的前沿技術(shù)。
4.2.3 MC-BERT
MC-BERT模型由阿里巴巴Zhang等人[89]在2020年提出針對中文醫(yī)學(xué)文本的預(yù)訓(xùn)練模型。MC-BERT 將BERT模型作為基礎(chǔ)模型,用醫(yī)學(xué)數(shù)據(jù)對模型進(jìn)行訓(xùn)練,同時利用生物醫(yī)學(xué)語料與生物醫(yī)學(xué)實(shí)體知識同時注入到表示模型中進(jìn)行訓(xùn)練,進(jìn)一步引入了領(lǐng)域知識。生物醫(yī)療領(lǐng)域的短語通過自動詞條和阿里巴巴知識圖譜獲取,此外使用一個二分類的模型(fasttext)用來識別是否真的是生物醫(yī)療領(lǐng)域的短語。
MC-BERT 生成器僅分成k條路徑,降低了系統(tǒng)的復(fù)雜性。在一個句子中,元控制器首先將抽樣的詞語替代一小節(jié)標(biāo)簽來打破該語句。然后,在每個位置創(chuàng)建k個候選選項(xiàng)。生成器將受損的語句用作輸入,代入k個候選詞進(jìn)行預(yù)測來糾正每個詞。MC-BERT測試類似于實(shí)際應(yīng)用中的多項(xiàng)選擇型完型填空題如表6所示,基于上下文的深度語義信息做出相應(yīng)的預(yù)測。
表6 MC-BERT測試示意表Table 6 MC-BERT test schematic table
總之,MC-BERT 能夠很好地兼顧了模型學(xué)習(xí)中的語義信息和訓(xùn)練效率。對于命名實(shí)體識別任務(wù),在cEHRNER 和cMedQANER 數(shù)據(jù)集測試下,與其他經(jīng)典的預(yù)訓(xùn)練模型相比,MC-BERT 平均F1 值達(dá)到90%。MC-BERT是一個預(yù)先訓(xùn)練好的具有生物醫(yī)學(xué)領(lǐng)域知識的語言詞向量模型,與此同時也是對中文醫(yī)學(xué)文本處理方向的一個開端。
本章從通用領(lǐng)域與生物醫(yī)學(xué)領(lǐng)域兩個角度介紹詞向量模型,通用詞向量模型的發(fā)展不斷提高醫(yī)學(xué)命名識別能力,表7 對通用領(lǐng)域詞向量模型進(jìn)行綜合分析,從特點(diǎn)和優(yōu)缺點(diǎn)方面進(jìn)行對比總結(jié)。隨著醫(yī)學(xué)文本的數(shù)量急劇增長,通用領(lǐng)域的預(yù)訓(xùn)練模型無法更好地表示生物醫(yī)學(xué)領(lǐng)域中的專業(yè)術(shù)語,醫(yī)療詞匯的長尾分布也很難從普通語料中學(xué)習(xí),4.2 節(jié)介紹的在生物醫(yī)學(xué)領(lǐng)域中BioBERT、Med-BERT、MC-BERT三種主要預(yù)訓(xùn)練模型能夠有效表達(dá)生物醫(yī)學(xué)詞匯,進(jìn)一步提高命名實(shí)體識別準(zhǔn)確度,三種醫(yī)學(xué)領(lǐng)域預(yù)訓(xùn)練模型性能分析如表8所示。
表7 通用領(lǐng)域預(yù)訓(xùn)練模型總結(jié)Table 7 Summary of general domain pre-trained models
表8 醫(yī)學(xué)領(lǐng)域預(yù)訓(xùn)練模型性能分析Table 8 Performance analysis of pre-trained models in medical field
傳統(tǒng)的深度命名實(shí)體識別方法,依賴于大規(guī)模且具備已標(biāo)注的訓(xùn)練數(shù)據(jù)。電子病歷系統(tǒng)由于牽涉患者隱私的特點(diǎn),使得生物醫(yī)學(xué)命名實(shí)體識別數(shù)據(jù)集相對匱乏,大部分的生物醫(yī)學(xué)挖掘模型都不能完全發(fā)揮深度學(xué)習(xí)的能力。如今,引入遷移學(xué)習(xí)、小樣本學(xué)習(xí)和多任務(wù)學(xué)習(xí)有效解決了標(biāo)注數(shù)據(jù)稀疏以及模型泛化能力差的問題。
遷移學(xué)習(xí)是將一個任務(wù)或領(lǐng)域?qū)W到的知識轉(zhuǎn)移到另一個任務(wù)或領(lǐng)域應(yīng)用。唐觀根[90]提出弱遷移方法,將新聞領(lǐng)域數(shù)據(jù)特征遷移到醫(yī)療領(lǐng)域,實(shí)現(xiàn)總體88.76%F1值,緩解了中文電子病歷語料庫缺乏的問題。Giorgi[91]將訓(xùn)練源數(shù)據(jù)集SSC所有參數(shù)運(yùn)用基于深度神經(jīng)網(wǎng)絡(luò)的遷移學(xué)習(xí)提高了目標(biāo)領(lǐng)域GSC“藥物”“疾病”“物種”“基因/蛋白質(zhì)”四種生物醫(yī)學(xué)實(shí)體類別,利用遷移學(xué)習(xí)減少醫(yī)學(xué)命名實(shí)體識別所需的手工標(biāo)記語料的數(shù)量。Lee 等人[92]使用MIMIC 作為源數(shù)據(jù)集訓(xùn)練ANN模型,對于i2b2 2014目標(biāo)數(shù)據(jù)集,應(yīng)用遷移學(xué)習(xí)后僅使用5%數(shù)據(jù)的作為訓(xùn)練集,命名實(shí)體識別F1 值達(dá)到了93.21%。將遷移學(xué)習(xí)引入到命名實(shí)體的識別中,通過使用源領(lǐng)域資源數(shù)據(jù)進(jìn)行目標(biāo)領(lǐng)域任務(wù)模型創(chuàng)建,以增加對目標(biāo)領(lǐng)域的標(biāo)注信息量和減少目標(biāo)領(lǐng)域建模中對標(biāo)注數(shù)據(jù)量的要求等,很好地解決了命名實(shí)體識別任務(wù)存在數(shù)據(jù)匱乏的問題。
小樣本學(xué)習(xí)旨在使用少量標(biāo)記的數(shù)據(jù)(即先驗(yàn)知識)完成新的任務(wù)。Hofer團(tuán)隊(duì)[93]從MIMIC III和i2b2 2010數(shù)據(jù)集中隨機(jī)抽取10 個樣本作為訓(xùn)練集,識別i2b2b 2009命名實(shí)體,獲得平均F1值78.07%。Lara-Clares[94]采用小樣本學(xué)習(xí)對數(shù)據(jù)集MEDDOCAN shared task 500例樣本進(jìn)行29類命名實(shí)體識別達(dá)到90%F1值。由于深度學(xué)習(xí)模型含有許多隱藏層和神經(jīng)網(wǎng)絡(luò),需要海量數(shù)據(jù)訓(xùn)練提高模型的準(zhǔn)確性,在醫(yī)學(xué)領(lǐng)域標(biāo)注數(shù)據(jù)較少并且需要專家花費(fèi)大量精力,因此通過小樣本學(xué)習(xí)緩解數(shù)據(jù)稀疏問題。在識別電子病歷中各類實(shí)體任務(wù)中引進(jìn)小樣本學(xué)習(xí),通過少量的標(biāo)記數(shù)據(jù)對該任務(wù)建立模型,對不同的類別的實(shí)體進(jìn)行區(qū)分,同時能在不改變模型參數(shù)的前提下對新的類別進(jìn)行識別,大大減少了人工標(biāo)記所帶來的成本。
通常用一個復(fù)雜模型解決單個任務(wù),多任務(wù)學(xué)習(xí)目的是通過多個相關(guān)的任務(wù)包含的知識同時并行學(xué)習(xí)提升模型泛化效果。在多任務(wù)學(xué)習(xí)中,多任務(wù)間的參數(shù)共享會減弱網(wǎng)絡(luò)對單個任務(wù)的學(xué)習(xí)性能,減少過擬合,提高泛化效果。另外,當(dāng)學(xué)習(xí)某項(xiàng)任務(wù)時,與此項(xiàng)任務(wù)無關(guān)的部分將會被視為噪聲,噪聲的加入則能改善其泛化能力。Yang 等人[75]對電子病歷中疾病實(shí)體識別和癥狀的嚴(yán)重程度抽取雙任務(wù)采用多任務(wù)學(xué)習(xí),運(yùn)用疾病實(shí)體以提高患者癥狀嚴(yán)重程度的性能。Xue等人[95]把BERT模式結(jié)合在多任務(wù)學(xué)習(xí)中,增加了共享參數(shù)層的特征表達(dá)能力,實(shí)驗(yàn)結(jié)果表明,實(shí)體識別的F1值達(dá)到了96.89%,與之前的模型相比,F(xiàn)1值提高了1.65%。電子病歷命名實(shí)體識別與修飾識別和關(guān)系抽取具有較強(qiáng)的關(guān)聯(lián)性,結(jié)合這三個任務(wù)采用多任務(wù)模型,利用實(shí)體和關(guān)系之間緊密的交互信息,提升命名實(shí)體識別的準(zhǔn)確率。
綜上所述,遷移學(xué)習(xí)與小樣本學(xué)習(xí)能夠在有限的數(shù)據(jù)中完成命名實(shí)體識別任務(wù),有效處理深度學(xué)習(xí)所需標(biāo)注語料不足的難題。多任務(wù)學(xué)習(xí)通過參數(shù)共享并行學(xué)習(xí)相關(guān)任務(wù)的知識以提高準(zhǔn)確預(yù)測命名實(shí)體識別和處理其余任務(wù)的能力,有效解決因數(shù)據(jù)稀缺導(dǎo)致模型泛化能力較弱的問題。在未來的研究中,遷移學(xué)習(xí)、小樣本學(xué)習(xí)和多任務(wù)學(xué)習(xí)如何應(yīng)用在醫(yī)療領(lǐng)域具有重要意義。
將自然書面語言的非結(jié)構(gòu)電子病歷轉(zhuǎn)換成結(jié)構(gòu)化數(shù)據(jù)是醫(yī)學(xué)信息研究當(dāng)下一大熱點(diǎn),在醫(yī)學(xué)領(lǐng)域,命名實(shí)體識別的首要目標(biāo)是確定電子醫(yī)療記錄中的治療方法、疾病類型、檢查方法、癥狀等實(shí)體。隨著深度學(xué)習(xí)技術(shù)的迅速發(fā)展,使用詞向量融合傳統(tǒng)機(jī)器學(xué)習(xí)與深度學(xué)習(xí)相結(jié)合尤其是BERT-BiLSTM-CRF 的混合模型用于電子病歷實(shí)體識別已成為主流方法并取得了較好的效果,研究人員提出了針對生物醫(yī)學(xué)領(lǐng)域BioBERT、Med-BERT、MC-BERT 預(yù)訓(xùn)練模型進(jìn)一步提高識別準(zhǔn)確率,引入遷移學(xué)習(xí)、小樣本學(xué)習(xí)和多任務(wù)學(xué)習(xí)有效解決了標(biāo)注數(shù)據(jù)稀疏以及模型泛化能力差的問題。當(dāng)前,電子病歷命名實(shí)體識別仍面臨諸多挑戰(zhàn):
(1)公開數(shù)據(jù)集匱乏。到目前為止,雖然國外電子病歷命名實(shí)體識別已經(jīng)取得很大的進(jìn)展。但國內(nèi)使用最普遍的是全國知識圖譜與語義計(jì)算大會(CCKS)公開數(shù)據(jù)集,關(guān)于中文電子病歷的開源數(shù)據(jù)集稀缺,同時沒有公開的關(guān)于中文生物醫(yī)學(xué)技術(shù)語言資料的支持,這就給進(jìn)行中文電子病歷研究工作造成了一定的障礙。
(2)標(biāo)注成本高。在生物醫(yī)學(xué)文獻(xiàn)挖掘任務(wù)中,由于生物醫(yī)學(xué)文獻(xiàn)語料庫和一般領(lǐng)域文獻(xiàn)語料庫在用詞和表述方面都有著很大不同。并且新的醫(yī)學(xué)實(shí)體數(shù)量迅速增加,需要識別大量未注冊的詞匯,醫(yī)療領(lǐng)域?qū)?biāo)注人員的專業(yè)性要求較高,使得醫(yī)學(xué)標(biāo)注大規(guī)模的語料成本非常高。
(3)醫(yī)學(xué)實(shí)體多義性。目前電子病歷實(shí)體識別中存在著醫(yī)療實(shí)體邊界模糊,具有多義性,存在口語化、醫(yī)療實(shí)體詞縮寫等問題,這也是生物醫(yī)學(xué)命名實(shí)體識別的主要障礙之一。
為解決目前存在的問題,未來研究可著重于以下幾個方面:
(1)小樣本數(shù)據(jù)識別。在訓(xùn)練數(shù)據(jù)不足或標(biāo)注語料短缺的情況下,構(gòu)建小樣本數(shù)據(jù)的網(wǎng)絡(luò)至關(guān)重要,引入遷移學(xué)習(xí)、小樣本學(xué)習(xí)、多任務(wù)學(xué)習(xí)、圖卷積網(wǎng)絡(luò)、對抗生成網(wǎng)絡(luò)、數(shù)據(jù)增強(qiáng)等方法,這有利于完成命名實(shí)體識別任務(wù)并提高識別準(zhǔn)確率。
(2)加強(qiáng)小樣本方法運(yùn)用。雖然小樣本學(xué)習(xí)在醫(yī)學(xué)領(lǐng)域中得到了普遍的認(rèn)可,但在標(biāo)注數(shù)據(jù)較少的情況下這一方法尚未得到充分利用。在未來,創(chuàng)建基于小樣本方法的生物醫(yī)學(xué)NLP 的標(biāo)準(zhǔn)化的公共數(shù)據(jù)集為生物可以引領(lǐng)該領(lǐng)域的研究,除此之外,多次重復(fù)實(shí)驗(yàn)與比較研究在多個數(shù)據(jù)集性能設(shè)置也有助于命名實(shí)體識別評估。
(3)應(yīng)用XLNet 預(yù)訓(xùn)練模型。目前XLNet 預(yù)訓(xùn)練模型還未廣泛應(yīng)用于電子病歷命名實(shí)體識別任務(wù)中,XLNet預(yù)訓(xùn)練模型利用隨機(jī)排列、雙流自注意力機(jī)制以及循環(huán)機(jī)制方法產(chǎn)生包含語境信息的動態(tài)詞向量,充分利用上下文信息有效解決醫(yī)學(xué)實(shí)體一詞多義的問題,提升命名實(shí)體識別的效果。
通過本文綜述,基于深度學(xué)習(xí)的命名實(shí)體識別技術(shù)有效地從非結(jié)構(gòu)文本中提取醫(yī)療實(shí)體,并從中挖掘出醫(yī)療知識,從而有效地推動醫(yī)學(xué)學(xué)科的發(fā)展。