周浩然, 鄭建立
(上海理工大學(xué)健康科學(xué)與工程學(xué)院, 上海 200093)
疾病和相關(guān)健康問題的國際統(tǒng)計分類(International Statistical Classification of Diseases and Related Health Problems,ICD)由世界衛(wèi)生組織創(chuàng)立,用來確定全球衛(wèi)生趨勢和統(tǒng)計數(shù)據(jù)的一種醫(yī)療編碼體系國際標準。 該體系由表1 所示的醫(yī)學(xué)編碼及對應(yīng)醫(yī)學(xué)名稱組成最小描述單元,涉及到手術(shù)、疾病、診斷等醫(yī)療環(huán)節(jié),對生物醫(yī)學(xué)領(lǐng)域如醫(yī)學(xué)知識實體對齊、醫(yī)療標準化、臨床路徑等研究起著重要作用,同時也作用于醫(yī)保結(jié)算、醫(yī)療監(jiān)督等領(lǐng)域。
表1 ICD 編碼示例Tab. 1 Examples of ICD code
當前,國內(nèi)醫(yī)療體系中存在著多種本地化的ICD 編碼版本,且大部分基于ICD-9 和ICD-10。 雖然部分機構(gòu)發(fā)布了某版本與另一版本的映射,但不論是從映射版本的數(shù)量以及更新速度都不盡如人意。 除此以外,各個醫(yī)療機構(gòu)還存在各自定義的院內(nèi)碼,這更對醫(yī)療數(shù)據(jù)的一致性提出了挑戰(zhàn)。
目前,醫(yī)學(xué)編碼相關(guān)的研究大多集中在病案的命名實體識別和編碼領(lǐng)域,如夏等[1]基于深度學(xué)習(xí)技術(shù)實現(xiàn)電子病歷的實體識別;厐等[2]基于文本相似度實現(xiàn)了康復(fù)量表與 ICF ( International Classification of Functioning,Disability and Health)編碼的映射。 此外,專業(yè)醫(yī)生也就各自專業(yè)領(lǐng)域ICD編碼的合理性進行了討論,如葉[3]等對ICD-10 在眼挫傷的分類編碼討論;許等[4]對ICD-10 編碼在癲癇方面的質(zhì)量分析。
實現(xiàn)ICD 映射的方式往往需要大量的人工分級、字典映射等傳統(tǒng)方式,而基于語義相似度的方法較少。 隨著蘊含大量生物醫(yī)學(xué)領(lǐng)域先驗知識的預(yù)訓(xùn)練模型MC-Bert(Meta-Controller BERT)的出現(xiàn),中文醫(yī)學(xué)文本可以轉(zhuǎn)化為更加稠密和準確的向量表示,在此基礎(chǔ)上本文提出一種基于改進MC-Bert 的ICD 編碼映射方法,該方法通過語義相似度在現(xiàn)有的ICD 版本映射庫中進行匹配實驗,在不同匹配精度下的準確率均達到較高水平。似度,依次進行排序獲得Top5,輸出用于驗證。
改進的MC-Bert 是一種利用白化處理優(yōu)化MCBert 編碼輸出的無監(jiān)督學(xué)習(xí)模型,其結(jié)構(gòu)圖如圖1 所示。
圖1 改進的MC-Bert 模型結(jié)構(gòu)圖Fig. 1 Model structure diagram of improved MC-Bert
首先,由于ICD 中的名稱部分既有較短小的詞語如霍亂,也有較長的句子如“遺傳性腎病伴有輕微的腎小球異常,不可歸類在他處者”,本文將其統(tǒng)一填充為相同長度的句子,輸入MC-Bert 進行編碼;其次,將兩個文檔中編碼名稱的輸出矩陣拼接,作為白化處理的輸入,計算獲得消除各向異性后的句向量;最后,將兩文檔的句向量兩兩計算余弦相
MC-Bert 由Zhang 等[5]提出,訓(xùn)練過程如圖2所示。 以BERT 作為基礎(chǔ)模型,使用大量生物醫(yī)學(xué)領(lǐng)域語料進行訓(xùn)練,包含許多生物醫(yī)學(xué)領(lǐng)域先驗知識。 雖然預(yù)訓(xùn)練語言模型在各項語言任務(wù)中性能均有大幅的提升,但Gao 等[6]發(fā)現(xiàn),其在詞向量方面仍存在各向異性,導(dǎo)致模型出現(xiàn)語義表達的退化問題。
圖2 MC-Bert 的訓(xùn)練過程Fig. 2 The training process of MC-Bert
白化處理是一種預(yù)處理方法,由Su 等[7]首先引入以解決預(yù)訓(xùn)練模型語義表達的退化問題,其具體操作是將文檔中N條句子經(jīng)過預(yù)訓(xùn)練模型的編碼層輸出為向量集合{xi}N i=1,然后將此集合經(jīng)過如式(1)的線性變換,轉(zhuǎn)變?yōu)榫禐? 且協(xié)方差矩陣為單位矩陣的向量集合。
其中,μ代表平移系數(shù),ω代表縮放系數(shù)。
為了實現(xiàn)x~i的均值為0,則μ需要滿足式(2):
而{xi}Ni=1的協(xié)方差矩陣Σ滿足式(3):
轉(zhuǎn)換后的協(xié)方差矩陣與Σ的關(guān)系為式(4):
由于為單位矩陣,則式(4)等價于式(5):
由此可得到Σ滿足式(6):
由于協(xié)方差矩陣是正定對稱矩陣,因此Σ滿足式(7)所示的奇異值分解:
其中,U是ΣΣT的特征向量矩陣,Λ為對角矩陣
由式(6)、式(7)聯(lián)立,可以得到式(8):
最終可得到ω滿足式(9):
余弦相似度是一種常用的計算文本相似度的方法,計算公式(10):
其中,x,y代表兩條句向量;d代表句向量的長度;xi,yi代表x,y在下標為i處的值。
余弦相似度的值越接近1,兩個句子的相似度越高。
本文采用ICD-10 國標2020 版和醫(yī)保版2.0 對照庫以及ICD-9 團標2020 版和醫(yī)保版2.0 對照庫作為實驗數(shù)據(jù),其實例見表2。
表2 實驗數(shù)據(jù)示例Tab. 2 Examples of experimental data
改進的MC -Bert 通過python 3. 9. 7,基于PyTorch 框架實現(xiàn);硬件環(huán)境為Intel Core i7-11700,顯卡為RTX 3060,顯存12 G,操作系統(tǒng)為window 10。 運用Top-K 準確率(Accuracy)評估方法性能,計算如公式(11)所示:
其中,nk是前k個候選項中包含正確項的個數(shù),N是映射條目的總數(shù)。
本文涉及到使用不同版本的ICD 名稱進行相似度計算,但不同版本的ICD 之間可能存在大量重復(fù)的醫(yī)學(xué)名稱,會干擾不同醫(yī)學(xué)名稱間的相似度匹配結(jié)果,因此設(shè)計實驗(1);ICD 編碼數(shù)據(jù)蘊含豐富的醫(yī)學(xué)知識,注入這類數(shù)據(jù)或可提高模型匹配的準確率,因此設(shè)計實驗(2);為了驗證改進MC-Bert 與其他模型在匹配準確率上確有提升,因此設(shè)計實驗(3)。
(1)重名項對非重名項匹配的干擾評估實驗:從ICD-10 國標2020 版中篩選出與醫(yī)保2.0 版醫(yī)學(xué)名稱不重復(fù)的1 773 條數(shù)據(jù),分別與去除重名項的、包含重名項的醫(yī)保2.0 版數(shù)據(jù)進行匹配實驗。
(2)醫(yī)學(xué)編碼注入與否的對比實驗:編碼部分包含類目、亞目、細目、附加碼,分別代表不同范圍的醫(yī)學(xué)知識范疇。 ICD-9 團標版中篩選出非重名項1 289 條,醫(yī)保2.0 版中非重名項1 255 條,分為編碼不注入、整條編碼注入、拆分三類編碼分別注入3 種數(shù)據(jù)進行對比實驗,3 種實驗數(shù)據(jù)示例見表3。
表3 三組實驗數(shù)據(jù)示例Tab. 3 Three sets of experimental data examples
(3)改進MC-Bert 與其他模型的對比實驗:在數(shù)據(jù)去重和拆分三類編碼注入后,在ICD-10 國標2020 版和醫(yī)保2.0 版對照庫以及ICD-9 團標版和醫(yī)保2.0 版對照庫中,就改進MC-Bert 和TF-IDF(Term Frequency-Inverse Document Frequency)、LSI(Latent Semantic Indexing)、MC-Bert、VSM(Vector Space Model)模型的表現(xiàn)進行對比。
ICD-10 國標2020 版與醫(yī)保2.0 版重名項對非重名項匹配的干擾結(jié)果見表4。 由此實驗證明,重名項對非重名項匹配的干擾影響較大,因此需要將不同版本ICD 中的重名項和非重名分開匹配。 同時,也驗證了改進MC-Bert 在非重名項之間依舊保有較高的準確率。
表4 重名項對非重名項匹配的干擾結(jié)果Tab. 4 The experimental results of the perturbation evaluation of the duplicated items to the non-duplicated items%
CD-9 團標版中非重名項1 289 條,醫(yī)保2.0 版中非重名項1 255 條分別對文本中的英文、符號進行預(yù)處理后,分為編碼不注入、整條編碼注入、拆分三類編碼注入的性能對比實驗結(jié)果見表5。 由此實驗證明,拆分編碼為類目、亞目、細目三級注入醫(yī)學(xué)名稱中可顯著提升準確率,因而結(jié)合醫(yī)學(xué)名稱與三級編碼是最為合理的語義匹配方案。
表5 三種實驗數(shù)據(jù)的性能對比結(jié)果Tab. 5 Comparison of experimental results of three groups of experimental data%
通過將ICD-9 團標版中非重名的1 289 條向量進行t-SNE 降維,對降維后的向量進行可視化,得到如圖3 所示的向量分布對比圖,可見改進MCBert 相較MC-Bert 能夠有效的將重疊的向量分散開來,擁有更好的語義表達能力,提升語義相似度檢索的敏感度。
圖3 向量分布對比圖Fig. 3 Comparison of vector distributions
同時本文也對加進MC-Bert 與其他模型在ICD-10 國標2020 版和醫(yī)保版2.0 對照庫以及ICD-9團標2020 版和醫(yī)保版2.0 對照庫上非重名項的準確率進行比較,結(jié)果見表6、表7。
表6 ICD-9 團標2020 版和醫(yī)保版2.0 映射的對比實驗結(jié)果Tab. 6 Comparison experiments of ICD-9 group standard 2020 version and medical insurance version 2.0 mapping%
表7 ICD-10 國標2020 版和醫(yī)保版2.0 映射的對比實驗結(jié)果Tab. 7 Comparison experiments of ICD-10 national standard 2020 version and medical insurance version 2.0 mapping%
可以看到改進后的MC-Bert 模型與其他模型相比,除了在top1 匹配精度下的準確率方面低于VSM 模型外,其他匹配精度下的準確率較其他模型有較大提升。
本文提出來一種基于改進MC-Bert 的ICD 編碼映射方法,通過實驗證明了該方法相較其他模型在準確率方面有較大的提升,為醫(yī)學(xué)編碼領(lǐng)域的智能化映射提供了一種思路。