易曉宇,易綿竹
(信息工程大學(xué)洛陽(yáng)校區(qū)基礎(chǔ)系,河南 洛陽(yáng) 471000)
醫(yī)學(xué)概念識(shí)別和規(guī)范化是生物醫(yī)學(xué)應(yīng)用自然語(yǔ)言處理(NLP)的一項(xiàng)經(jīng)典且必不可少的任務(wù)[1].醫(yī)學(xué)領(lǐng)域的參考術(shù)語(yǔ)可能包含數(shù)百萬(wàn)個(gè)概念,因此實(shí)體鏈接也可以看作是大規(guī)模的多分類任務(wù).多分類問(wèn)題任務(wù)難度大,另外標(biāo)注所有概念的所有語(yǔ)料成本太高,因此不可能采用完全監(jiān)督算法.臨床信息學(xué)文獻(xiàn)已對(duì)臨床歸一化問(wèn)題進(jìn)行了廣泛研究從基于規(guī)則和基于術(shù)語(yǔ)索引的方法轉(zhuǎn)變?yōu)榛跈C(jī)器學(xué)習(xí)的方法[2].規(guī)范化問(wèn)題在通用領(lǐng)域中也稱為實(shí)體鏈接[3],不同之處在于,通用領(lǐng)域可以利用大規(guī)模的標(biāo)注語(yǔ)料庫(kù),如Wikipedia.實(shí)體鏈接算法都依賴于與維基百科相關(guān)的特征,如維基百科文章中的上下文文本信息、基于維基百科的相關(guān)度度量以及維基百科的一些特殊結(jié)構(gòu)(如排歧頁(yè)面、跳轉(zhuǎn)頁(yè)面等).但醫(yī)學(xué)領(lǐng)域知識(shí)庫(kù)并不具備這些特征,因此通用領(lǐng)域的實(shí)體鏈接算法不適用于醫(yī)學(xué)領(lǐng)域文本的實(shí)體鏈接任務(wù).
本文利用預(yù)訓(xùn)練模型可以保留單詞之間的相似性和語(yǔ)義關(guān)系,可以在向量空間(嵌入)中表示單詞或短語(yǔ)的多語(yǔ)言傳輸任務(wù)的模型優(yōu)勢(shì).通過(guò)UMLS概念唯一標(biāo)識(shí)符對(duì)實(shí)體指稱進(jìn)行分類,進(jìn)一步改進(jìn)對(duì)中文概念的規(guī)范化.通過(guò)基于醫(yī)渡云結(jié)構(gòu)化4K數(shù)據(jù)集的實(shí)驗(yàn)數(shù)據(jù)分析,使用多語(yǔ)言術(shù)語(yǔ)和嵌入模型建立模型,即使在無(wú)監(jiān)督的情況下,中文醫(yī)學(xué)概念規(guī)范化建設(shè)也取得了較好的結(jié)果.
醫(yī)學(xué)概念識(shí)別和規(guī)范化有必要使用術(shù)語(yǔ)及與概念相關(guān)的術(shù)語(yǔ)列表來(lái)指導(dǎo)系統(tǒng)進(jìn)行實(shí)體鏈接[4].使用術(shù)語(yǔ)列表指導(dǎo)系統(tǒng)進(jìn)行實(shí)體鏈接時(shí),首先需要解決的是在目標(biāo)語(yǔ)言中該術(shù)語(yǔ)資源可用性的問(wèn)題.通常采用生物醫(yī)學(xué)參考術(shù)語(yǔ)的一體化醫(yī)學(xué)語(yǔ)言系統(tǒng)的超級(jí)敘詞表(UMLSmetathesaurus).
醫(yī)學(xué)領(lǐng)域?qū)嶓w鏈接的任務(wù)難度大,一種解決方法是深度同義詞相似度方法[5],將規(guī)范化任務(wù)表述為最近鄰或排序問(wèn)題.但是,此方法必須在推理期間存儲(chǔ)或重新計(jì)算所有同義詞表示形式.另一種方法是使用高效的搜索引擎對(duì)概念列表進(jìn)行子集化,并應(yīng)用神經(jīng)相似性模型在候選對(duì)象之間實(shí)現(xiàn)更精細(xì)的分類[6].但是,當(dāng)使用英語(yǔ)以外的其他語(yǔ)言進(jìn)行規(guī)范化時(shí),可能檢索不出與其概念同義詞不共享詞法模式的實(shí)體.
為了解決這些問(wèn)題,選擇將該任務(wù)視為概念之間的標(biāo)準(zhǔn)分類任務(wù),這意味著將目標(biāo)術(shù)語(yǔ)的概念而不是其同義詞編碼為固定長(zhǎng)度的表示,固定長(zhǎng)度的表示可以用于存儲(chǔ)甚至索引以縮短推理時(shí)的查找時(shí)間.可以通過(guò)利用神經(jīng)網(wǎng)絡(luò)優(yōu)化解決這一難題,如Adam[7],BatchNorm[8]以及人臉識(shí)別領(lǐng)域的最新進(jìn)展.人臉識(shí)別與醫(yī)學(xué)規(guī)范化存在類似的問(wèn)題:目標(biāo)類的數(shù)量相似,每個(gè)類別的示例數(shù)量都較少.借鑒通用領(lǐng)域的NLP研究,醫(yī)學(xué)命名實(shí)體表示學(xué)習(xí)使用Word2Vec、Elmo[9]、BERT及其多語(yǔ)言變體[10]等預(yù)訓(xùn)練模型.處理輸入文本時(shí),不需要考慮語(yǔ)言問(wèn)題,僅需計(jì)算上下文有關(guān)的標(biāo)簽表示.
用英語(yǔ)以外的其他語(yǔ)言對(duì)醫(yī)療實(shí)體進(jìn)行規(guī)范化主要依賴于將英語(yǔ)同義詞翻譯成目標(biāo)語(yǔ)言,或者將實(shí)體翻譯成英語(yǔ)[11].預(yù)通過(guò)處理管道(processing pipeline)將術(shù)語(yǔ)搜索與MetaMap[12]或Apache Solr等軟件以及Web服務(wù)或本地翻譯混合在一起.設(shè)計(jì)和訓(xùn)練一個(gè)對(duì)輸入命名實(shí)體幾乎沒(méi)有預(yù)處理的深度神經(jīng)網(wǎng)絡(luò)分類器.
2.1.1 統(tǒng)一醫(yī)學(xué)語(yǔ)言系統(tǒng)(UMLS)統(tǒng)一醫(yī)學(xué)語(yǔ)言系統(tǒng)(UMLS)是一個(gè)元敘詞表,它統(tǒng)一了生物醫(yī)學(xué)領(lǐng)域中數(shù)十個(gè)術(shù)語(yǔ)的概念[13].UMLS中的每個(gè)概念都分配一個(gè)唯一標(biāo)識(shí)符(CUI),一組可能以多語(yǔ)言顯示的術(shù)語(yǔ)(或同義詞)和一種語(yǔ)義類型.UMLS語(yǔ)義類型分為15個(gè)語(yǔ)義組,每個(gè)概念與一個(gè)語(yǔ)義組相關(guān)聯(lián).例如,“二十碳五烯酸”(概念C0000545)屬于化學(xué)(CHEM)組.實(shí)驗(yàn)將英語(yǔ)的同義詞稱為“英語(yǔ)鏡像”,英文鏡像是在英語(yǔ)和中文中都具有同義詞的概念集,也將相同的中文概念稱為同義詞;將UMLS概念稱為“EN5”,這些概念具有英語(yǔ)同義詞,并且在CHV,SNOMEDCT_US,MTH,NCI或MSH五類術(shù)語(yǔ)中[14].
2.1.2 Yidu-S4K:醫(yī)渡云結(jié)構(gòu)化4K數(shù)據(jù)集Yidu-S4K數(shù)據(jù)集,即“面向中文電子病歷的命名實(shí)體識(shí)別”的數(shù)據(jù)集,是CCKS2019評(píng)測(cè)任務(wù)之一.包括兩個(gè)子任務(wù):①醫(yī)療命名實(shí)體識(shí)別:由于國(guó)內(nèi)沒(méi)有公開(kāi)可獲得的面向中文電子病歷醫(yī)療實(shí)體識(shí)別數(shù)據(jù)集,本年度保留了醫(yī)療命名實(shí)體識(shí)別任務(wù),對(duì)2017年度數(shù)據(jù)集做了修訂,并隨任務(wù)一同發(fā)布.本子任務(wù)的數(shù)據(jù)集包括訓(xùn)練集和測(cè)試集.②醫(yī)療實(shí)體及屬性抽取(跨院遷移):在醫(yī)療實(shí)體識(shí)別的基礎(chǔ)上,對(duì)預(yù)定義實(shí)體屬性進(jìn)行抽取.本任務(wù)為遷移學(xué)習(xí)任務(wù),即在只提供目標(biāo)場(chǎng)景少量標(biāo)注數(shù)據(jù)的情況下,通過(guò)其他場(chǎng)景的標(biāo)注數(shù)據(jù)及非標(biāo)注數(shù)據(jù)進(jìn)行目標(biāo)場(chǎng)景的識(shí)別任務(wù).本子任務(wù)的數(shù)據(jù)集包括訓(xùn)練集(非目標(biāo)場(chǎng)景和目標(biāo)場(chǎng)景的標(biāo)注數(shù)據(jù)、各個(gè)場(chǎng)景的非標(biāo)注數(shù)據(jù))和測(cè)試集(目標(biāo)場(chǎng)景的標(biāo)注數(shù)據(jù))[15].
實(shí)驗(yàn)將歸一化問(wèn)題作為分類任務(wù).C={c}是由其CUI標(biāo)識(shí)的所有概念c(即要預(yù)測(cè)的類)的集合.每個(gè)概念都與一個(gè)語(yǔ)義組gc相關(guān)聯(lián).將語(yǔ)義組g中所有概念的集合表示為Cg.實(shí)體指稱m是文本文檔中涉及概念的短語(yǔ).實(shí)驗(yàn)認(rèn)為實(shí)體指稱m可用并以語(yǔ)義組gm標(biāo)記.共享相同概念c的同義詞集稱為同義詞集.如概念C0678222包含“breast cancer”(乳腺癌),“breast carcinoma”(乳腺癌,carcinoma只限于上皮組織來(lái)源的惡性腫瘤,是癌癥的一種),“乳腺癌”與語(yǔ)義組“DISO”(Disorders-紊亂)相關(guān)聯(lián).從給定文檔中提取術(shù)語(yǔ)“乳腺癌”,并用“DISO”語(yǔ)義組預(yù)先標(biāo)記,實(shí)驗(yàn)的目標(biāo)是將其正確映射到C0678222概念.
給定一個(gè)數(shù)據(jù)集D=[m1,m2,...,mn],實(shí)驗(yàn)?zāi)繕?biāo)是構(gòu)建一個(gè)CUI分類器,即學(xué)習(xí)概率分布P以預(yù)測(cè)每個(gè)實(shí)體指稱的概念m∈D
式(1)中:θ表示編碼器的參數(shù),目標(biāo)是將實(shí)體指稱m映射到密集的向量空間,Hg表示此概念的嵌入空間,與gm的語(yǔ)義組相同.
實(shí)驗(yàn)?zāi)P褪腔谛蛄?序列編碼器的分類模型,實(shí)驗(yàn)選擇了預(yù)訓(xùn)練Transformer模型.并將此模型稱為MLNorm(用于多語(yǔ)言規(guī)范化).圖1對(duì)該模型進(jìn)行了說(shuō)明.
圖1模型概述Fig.1 Model overview
圖2 的步驟1和2均使用此模型.在步驟1中,候選概念是UMLS FR+EN鏡像;在步驟2中,候選概念為最佳候選.
圖2 MLNorm實(shí)驗(yàn)Fig.2 MLNormexperiment
將實(shí)體指稱標(biāo)記為詞條并輸入到預(yù)訓(xùn)練模型BERT的編碼器中,獲取每個(gè)標(biāo)簽包含的上下文信息的向量化ti
將ti表示為沒(méi)有第一個(gè)[CLS]和最后一個(gè)[SEP]的特殊標(biāo)簽tm-
將結(jié)果投影到較低維度的向量中以減小模型尺寸,使用校正后的線性激活函數(shù)并通過(guò)批量歸一化對(duì)結(jié)果進(jìn)行歸一化.從而獲取響應(yīng)實(shí)體指稱的向量化表示結(jié)果hm
式(4)中:BNμ,σ是具有均值μ和方差σ的批量歸一化層,W和b分別表示權(quán)重和偏差.最后,通過(guò)計(jì)算實(shí)體指稱與其語(yǔ)義組中概念的嵌入之間的余弦相似度對(duì)每個(gè)實(shí)體指稱進(jìn)行分類.通過(guò)對(duì)分?jǐn)?shù)應(yīng)用softmax函數(shù)獲得概念概率
2.4.1 初始全模型訓(xùn)練 通過(guò)微調(diào)預(yù)訓(xùn)練Transformer模型來(lái)表示醫(yī)療實(shí)體,并訓(xùn)練概念嵌入的子集以便對(duì)UMLS子集中的同義詞進(jìn)行分類.
這部分既耗時(shí)、計(jì)算成本又高,因此實(shí)驗(yàn)將UMLS子集化,且保留至少一個(gè)中文同義詞的概念(UMLS FR+EN鏡像),實(shí)驗(yàn)中將訓(xùn)練重點(diǎn)放在模型的多語(yǔ)言建模能力上.生成了一個(gè)系統(tǒng),實(shí)驗(yàn)稱其為S1,該系統(tǒng)僅限于預(yù)測(cè)具有中文同義詞的概念.
2.4.2 大規(guī)模局部概念嵌入學(xué)習(xí) 通過(guò)局部學(xué)習(xí)方法固定Transformer的參數(shù),并訓(xùn)練所有概念的表示.對(duì)于每一個(gè)實(shí)體指稱,大多數(shù)概念具有近零概率,并且在優(yōu)化過(guò)程中不會(huì)更新.
對(duì)于每個(gè)新添加的概念,都將其嵌入初始化為其同義詞集表示的歸一化總和
通過(guò)S1,預(yù)測(cè)每個(gè)同義詞的k個(gè)最高得分概念,稱之為最佳候選
在初始全模型訓(xùn)練中訓(xùn)練概念嵌入,但僅考慮批量真實(shí)概念和最佳候選來(lái)計(jì)算損失(Loss).這涉及同義詞依賴的正、負(fù)訓(xùn)練集(Hard Negative Selection)[18]的softmax采樣方法[19].固定編碼器參數(shù),同義詞的嵌入在S2期間保持不變,在大規(guī)模局部概念嵌入學(xué)習(xí)的梯度下降開(kāi)始之前有效地計(jì)算最佳候選的參數(shù).使用此方法,只需要計(jì)算概念嵌入的相關(guān)子集的梯度即可,從而訓(xùn)練過(guò)程更快,更節(jié)約內(nèi)存.
實(shí)驗(yàn)使用了兩種不同的學(xué)習(xí)率,lBERT用于預(yù)訓(xùn)練Transformer,ltask用于概念嵌入和投影層訓(xùn)練.訓(xùn)練期間,實(shí)驗(yàn)使用兩種方案改變學(xué)習(xí)率.對(duì)BERT使用傾斜三角形學(xué)習(xí)率lBERT,其預(yù)熱階段占訓(xùn)練步驟總數(shù)的10%.在預(yù)熱階段,學(xué)習(xí)率ltask保持恒定,預(yù)熱訓(xùn)練結(jié)束后,ltask線性衰減.
推理時(shí),將分詞傳遞到編碼器和分類器中.實(shí)驗(yàn)通過(guò)調(diào)整閾值,刪除概率低的預(yù)測(cè)結(jié)果.
使用模型MLNorm進(jìn)行了兩組實(shí)驗(yàn),并將其稱為“遠(yuǎn)程監(jiān)督”和“完全監(jiān)督”.在第一組實(shí)驗(yàn)中(圖2中的系統(tǒng)S1和S2),沒(méi)有使用Medline和EMEA的標(biāo)簽數(shù)據(jù)集對(duì)其進(jìn)行直接概念監(jiān)督,僅使用來(lái)自UMLS的遠(yuǎn)程監(jiān)督.這樣,這些系統(tǒng)對(duì)語(yǔ)料庫(kù)特異性不敏感,也不會(huì)從標(biāo)記數(shù)據(jù)集中分詞的冗余中獲益.在第二組實(shí)驗(yàn)中(S1sup和S2sup),實(shí)驗(yàn)在Medline和EMEA訓(xùn)練集中添加實(shí)體指稱和標(biāo)簽,與使用同樣數(shù)據(jù)的最先進(jìn)的全監(jiān)督方法進(jìn)行比較.
實(shí)驗(yàn)步驟2使用“EN5”的英語(yǔ)概念.
將MLNorm與以下基線(Baseline)進(jìn)行比較:
(1)2015年CLEF獲獎(jiǎng)團(tuán)隊(duì)首先使用Google翻譯工具對(duì)在Medline摘要中遇到的英語(yǔ)UMLS概念的子集進(jìn)行翻譯,從而擴(kuò)充中文UMLS,然后由基于規(guī)則的文本索引器查詢?cè)撔g(shù)語(yǔ).該索引器在句子級(jí)別執(zhí)行詞袋概念匹配,并集成了多達(dá)13個(gè)部分或完全翻譯成中文的術(shù)語(yǔ).
(2)與基于機(jī)器翻譯+僅英語(yǔ)的規(guī)范化的系統(tǒng)相比,采用了不同模型的機(jī)器翻譯方法.在多語(yǔ)言空間學(xué)習(xí)方法和基于翻譯的方法之間進(jìn)行比較.為此,系統(tǒng)使用由MarianMT構(gòu)建并經(jīng)過(guò)OPUSbitext存儲(chǔ)庫(kù)語(yǔ)料庫(kù)培訓(xùn)的最新的預(yù)訓(xùn)練(opus-mt-fr-en)翻譯系統(tǒng)翻譯了所有UMLS中文術(shù)語(yǔ).然后,使用所有原始英語(yǔ)和英語(yǔ)翻譯術(shù)語(yǔ)訓(xùn)練系統(tǒng)采用的模型.即,BERT-MT(使用僅英語(yǔ)的BERT)和mBERT-MT(使用多語(yǔ)言BERT).系統(tǒng)對(duì)遠(yuǎn)距離監(jiān)控的裝置進(jìn)行了一系列的消融研究和其他實(shí)驗(yàn),以評(píng)估選擇不同參數(shù)的影響.
數(shù)據(jù)語(yǔ)言的影響:
–中文/英語(yǔ):沒(méi)有步驟2的同一系統(tǒng)(即,S1),帶有中文同義詞和它們的英語(yǔ)鏡像;
–僅中文:僅具有中文術(shù)語(yǔ)的S1
–僅英語(yǔ):僅具有英文鏡像術(shù)語(yǔ)的S1
預(yù)訓(xùn)練嵌入的影響:
與camemBERT和BERT對(duì)比:將系統(tǒng)與僅使用中文數(shù)據(jù)訓(xùn)練的BERT嵌入、僅使用英語(yǔ)的BERT對(duì)比,評(píng)估多語(yǔ)言嵌入模型.
更多中文術(shù)語(yǔ)的影響(與UMLS2019比較):使用2019AB版本的UMLS進(jìn)行一項(xiàng)實(shí)驗(yàn),其中包含154 K帶有中文同義詞的概念,而不是2014AB版本中的89 K.通過(guò)此系統(tǒng)(UMLS2019),實(shí)驗(yàn)旨在展示將新概念添加到用于遠(yuǎn)程監(jiān)督的術(shù)語(yǔ)中的影響.
兩步架構(gòu)的影響(與1步架構(gòu)系統(tǒng)比較):使用所有同義詞(EN5中的中文和英語(yǔ))訓(xùn)練S1,并且沒(méi)有使用凍結(jié)嵌入執(zhí)行大規(guī)模局部概念嵌入學(xué)習(xí).這是一個(gè)更加耗時(shí)和消耗內(nèi)存的實(shí)驗(yàn),它將使實(shí)驗(yàn)?zāi)軌蚬烙?jì)模型預(yù)訓(xùn)練的質(zhì)量以及成本與質(zhì)量之間可能的權(quán)衡.
實(shí)驗(yàn)均使用Yidu-S4K數(shù)據(jù)集的訓(xùn)練集進(jìn)行訓(xùn)練,在其測(cè)試集上進(jìn)行評(píng)估.并通過(guò)遠(yuǎn)程監(jiān)督設(shè)置選擇訓(xùn)練集上的最佳性能值來(lái)確定超參數(shù).
將超參數(shù)檢索的結(jié)果(大小為759的標(biāo)簽)嵌入空間投影到大小為350的空間中,余弦相似度縮放參數(shù)s為20,同時(shí)設(shè)置轉(zhuǎn)換器和投影層的丟包率為0.2.批處理大小設(shè)置為128,最大同義詞詞條數(shù)設(shè)置為100,最大學(xué)習(xí)率設(shè)置為lBERT=2e-5和lconcept=lproj=8e-3.在Adam中設(shè)置參數(shù)為β1=0.9和β2=0.999.在大規(guī)模局部概念嵌入學(xué)習(xí)中,實(shí)驗(yàn)為每個(gè)同義詞預(yù)選了k=100個(gè)最高評(píng)分概念.實(shí)驗(yàn)對(duì)除S1FR和S1EN之外的模型進(jìn)行15個(gè)周期(單次訓(xùn)練迭代)步驟1的訓(xùn)練以及5個(gè)周期的步驟2訓(xùn)練.因?yàn)閷?duì)于相同數(shù)量的概念,S1FR和S1EN包含的同義詞較少,需要分別訓(xùn)練30個(gè)和20個(gè)周期.使用相同的閾值0.5過(guò)濾所有S1系統(tǒng)預(yù)測(cè),使用閾值0.1過(guò)濾S2系統(tǒng)預(yù)測(cè).在所有實(shí)驗(yàn)中都對(duì)多語(yǔ)言預(yù)訓(xùn)練BERT模型進(jìn)行了微調(diào).
遠(yuǎn)程監(jiān)控系統(tǒng)MLNorm S2在沒(méi)有概念標(biāo)簽的訓(xùn)練數(shù)據(jù)的情況下獲得了較好的結(jié)果(表1).它甚至達(dá)到了迄今為止在MEDLINE 2015語(yǔ)料庫(kù)上發(fā)布的最佳的全監(jiān)督系統(tǒng)相同的結(jié)果(F1=0.735 VS.F1=0.736),并且勝過(guò)了2016年版的所有參與者.監(jiān)督系統(tǒng)S2sup在MEDLINE和EMEA語(yǔ)料庫(kù),準(zhǔn)確率和查全率均較高.在MEDLINE上的性能大大優(yōu)于其他系統(tǒng).在EMEA 2015和2016上的表現(xiàn)也優(yōu)于其他監(jiān)督系統(tǒng).
表1 2015年、2016年語(yǔ)料庫(kù)上的主要結(jié)果以及與實(shí)驗(yàn)結(jié)果的比較Tab.1 Comparison between theresults on the corpus in 2015 and 2016 and theexperimental results
使用多語(yǔ)言術(shù)語(yǔ)和嵌入模型建立模型,規(guī)范非英語(yǔ)資源的醫(yī)學(xué)概念.即使在無(wú)監(jiān)督的情況下,中文醫(yī)學(xué)概念規(guī)范化建設(shè)也取得了較好的結(jié)果;當(dāng)創(chuàng)建新的類(概念)時(shí),無(wú)需從頭開(kāi)始重新訓(xùn)練模型,解決了用于動(dòng)態(tài)類集的傳統(tǒng)分類方法的常見(jiàn)問(wèn)題,確保了系統(tǒng)的魯棒性.