摘 要:
針對國際疾病分類(ICD)自動編碼方法的長文本處理、編碼的層次結構以及長尾分布等導致的模型泛化能力弱的問題,提出一種充分利用醫(yī)學預訓練語言模型的基于提示學習和超球原型的小樣本ICD自動編碼方法(hypersphere prototypical with prompt learning,PromptHP)。首先,將編碼描述與臨床文本融合進提示學習模型中的提示模板,使得模型能夠更加深入地理解臨床文本;然后,充分利用預訓練語言模型的先驗知識進行初始預測。接著,在預訓練語言模型輸出表示的基礎上引入超球原型進行類別建模和度量分類,并在醫(yī)學數(shù)據(jù)集上微調(diào)網(wǎng)絡,充分納入數(shù)據(jù)知識,提高模型在小樣本ICD編碼分配任務上的性能;最后,對以上兩部分預測結果集成加權獲得最終編碼預測結果。公開醫(yī)學數(shù)據(jù)集MIMIC-Ⅲ的實驗結果表明,該模型優(yōu)于最先進的基線方法,PromptHP將小樣本編碼的Macro-AUC、Micro-AUC、Macro-F1和Micro-F1分別提高了1.77%、1.54%、14.22%、15.01%。實驗結果驗證了該模型在小樣本編碼分類任務中的有效性。
關鍵詞:自動ICD編碼;小樣本學習;提示學習;超球原型;預訓練語言模型
中圖分類號:TP391.1 文獻標志碼:A 文章編號:1001-3695(2024)09-015-2670-08
doi:10.19734/j.issn.1001-3695.2024.01.0031
Few-shot ICD automatic coding method based on prompt learning and hypersphere prototypes
Xu Chun, Ji Shuangyan, Ma Zhilong
(School of Information Management, Xinjiang University of Finance & Economics, rümqi 830012, China)
Abstract:
To address the issue of weak model generalization caused by processing long texts, hierarchical coding structures, and long-tailed distributions in international classification of diseases (ICD) automatic coding methods, this paper proposed the PromptHP method for few-shot ICD automatic coding, leveraging medical pre-trained language models. Firstly, the PromptHP method combined coding descriptions and clinical texts into the prompt template to improve the model’s comprehension of clinical texts. Then, it utilized the pre-trained language model’s prior knowledge for initial prediction. Next, it introduced the hypersphere prototypical onto the output representation of the pre-trained language model for category modeling and metric classification, while fine-tuning the network on the medical dataset to incorporate the data knowledge and improve the model’s performance on few-shot ICD coding classification tasks. Finally, it obtained the coding prediction results by integrating and weighting the two parts of the prediction results. Experimental results on the publicly available medical dataset MIMIC-Ⅲ demonstrate that PromptHP outperforms state-of-the-art baseline methods, increasing the Macro-AUC, Micro-AUC, Macro-F1, and Micro-F1 of few-shot coding by 1.77%, 1.54%, 14.22%, and 15.01%, respectively. The experimental results validate the effectiveness of the PromptHP method in few-shot coding classification tasks.
Key words:ICD automatic coding; few-shot learning; prompt learning; hypersphere prototypical; pre-trained language models
0 引言
國際疾病分類(international classification of diseases,ICD)是世界衛(wèi)生組織制定的一種國際統(tǒng)一的疾病分類方法。它根據(jù)病因、病理、臨床表現(xiàn)和解剖部位對疾病進行系統(tǒng)分類,以編碼形式表示不同疾病。ICD編碼任務是將一個或多個疾病編碼分配給電子病歷的過程,在提高病案管理效率、降低疾病診斷相關分組(DRGs)成本以及減少醫(yī)療費用損失等方面具有重要意義,已被廣泛用于臨床數(shù)據(jù)分析和健康問題監(jiān)測等方面。然而,傳統(tǒng)的人工分配編碼方式對編碼員的專業(yè)知識和經(jīng)驗積累要求很高,不僅費時費力,且容易出現(xiàn)差錯。因此,為了提高ICD編碼分配任務的效率和準確率,進行自動ICD編碼研究十分有必要。
ICD自動編碼是智能醫(yī)學領域的重要基礎任務,它被視為一項多標簽文本分類任務。盡管許多研究嘗試采用不同的方法來解決這一任務,從基于規(guī)則的方法到基于神經(jīng)網(wǎng)絡的方法,并在多個評估指標上取得了顯著的改進,但仍有許多挑戰(zhàn)需要解決。首先,ICD編碼的長尾分布給研究帶來了巨大挑戰(zhàn)。在臨床中,一些編碼出現(xiàn)的頻率很高(本文稱為頻繁編碼——many-shot),如呼吸道感染和咳嗽,而大多數(shù)編碼出現(xiàn)頻率非常低(本文稱為小樣本編碼——few-shot)。這種長尾分布使得模型在處理罕見疾病編碼時面臨著極度不平衡的訓練數(shù)據(jù),而傳統(tǒng)的機器學習模型可能在這些罕見類別上表現(xiàn)不佳。其次,醫(yī)生在撰寫臨床診斷時,往往會使用縮寫和同義詞,且ICD編碼的層次結構會導致相同層次的疾病難以區(qū)分,這容易導致模型在分類時忽略重要信息。第三,臨床記錄往往擁有較長的字符序列。MIMIC-Ⅲ的出院摘要平均長度約為1 900個標記,而大多現(xiàn)有模型允許的最大輸入長度為896個標記,如BERT和RoBERTa。醫(yī)學長文本處理為ICD自動編碼模型提出了更高要求。
小樣本ICD自動編碼是醫(yī)學領域的一個重要研究課題。據(jù)統(tǒng)計,在醫(yī)學數(shù)據(jù)集MIMIC-Ⅲ總共18 000多種ICD-9編碼中,出現(xiàn)頻率最高的前50種編碼占總數(shù)據(jù)的93.1%[1],有限的訓練樣本是小樣本ICD自動編碼任務的瓶頸所在。對小樣本編碼的錯誤分配不僅會對患者帶來不合理的經(jīng)濟負擔,也會增加醫(yī)療機構的額外醫(yī)療資源開銷。因此,本文認為研究小樣本編碼的準確預測具有重要意義。
隨著預訓練語言模型(pre-trained language models,PLMs)的發(fā)展,如何更有效地挖掘模型內(nèi)部已學習到的知識成為當前研究的熱點之一。提示學習(prompt learning)通過設計適當?shù)奶崾臼鼓P瓦m配下游任務,被認為是一種能夠充分利用模型內(nèi)部知識的方法,已被證明在多種自然語言處理任務中具有顯著效果[2]。
針對上述問題,提出基于醫(yī)學PLM的融合提示學習和超球原型的ICD自動編碼方法PromptHP(hypersphere prototypical with prompt learning)。首先,通過構建融合編碼描述與臨床文本的提示模板作為模型輸入,能夠有效挖掘醫(yī)學PLM中豐富的醫(yī)學知識,提高模型對上下文的理解能力。其次,加載醫(yī)學預訓練語言模型KEPTlongformer(knowledge enhanced promp tuning)[3]進行編碼和初始預測,充分利用其蘊涵的醫(yī)學常識、同義詞、縮寫以及編碼的層次結構等內(nèi)部知識,訓練過程中凍結預訓練模型參數(shù)。接著,在KEPTlongformer預訓練語言模型輸出表示的基礎上引入超球原型建模類別表示并進行度量分類,采用交叉熵損失函數(shù)進行監(jiān)督并優(yōu)化。最后,將度量得分與校準后的PLM預測得分進行集成加權獲得最終編碼預測結果。其不僅有效利用了模型內(nèi)部知識,也充分利用了下游小樣本數(shù)據(jù)知識,使得PromptHP在ICD編碼分類任務上獲得更好的性能。
1 相關工作
1.1 ICD編碼
ICD自動編碼是醫(yī)學NLP領域的一項重要任務。自20世紀90年代初以來,基于規(guī)則的方法被提出,以幫助專業(yè)編碼員提高編碼分配效率。這些規(guī)則大多由領域?qū)<腋鶕?jù)醫(yī)學指南制定,通過字符串匹配或常規(guī)匹配查詢關鍵字或短語來分配ICD編碼,包括正則表達式[4]、邏輯表達式[5]、字典[6]?;谝?guī)則的方法簡單而有效,但在實際使用時嚴重依賴于人為參與,且準確率不高,因此不能擴展到更一般的情況。
傳統(tǒng)機器學習興起后,許多研究人員將ICD編碼問題重新定義為一個文本分類問題。通過單詞袋(BoW)計數(shù)或TF-IDF(term frequency-inverse document frequency)方法提取特征,并建立分類模型實現(xiàn)了用于ICD自動編碼的傳統(tǒng)機器學習方法,如K-最近鄰(KNN)[7]、隨機森林[8]和支持向量機(SVM)[9]。傳統(tǒng)基于機器學習方法的關鍵是特征的構建和選擇。Perotte等人[10]以TF-IDF得到的關鍵詞為特征,提出了FlatSVM和基于層次的SVM兩種模型。傳統(tǒng)機器學習方法都是獨立地預測每個編碼,忽略了編碼之間的相關性,沒有考慮詞語的上下文關系,不能很好地對內(nèi)容豐富的臨床文本進行表示。
近年來,隨著深度學習的不斷發(fā)展,將遞歸神經(jīng)網(wǎng)絡(RNN)[11]、卷積神經(jīng)網(wǎng)絡(CNN)[12]、圖神經(jīng)網(wǎng)絡(GNN)[13]等深度神經(jīng)網(wǎng)絡應用于ICD自動編碼越來越受到關注。Mullenbach等人[12]利用注意力機制將卷積神經(jīng)網(wǎng)絡(CNN)與每個編碼相結合。Xu等人[8]構建了一個包含CNN、LSTM和決策樹的混合系統(tǒng),從非結構化、半結構化和結構化的表格數(shù)據(jù)中預測ICD編碼。此外,Lipton等人[14]利用LSTM從臨床測量的時間序列中預測疾病編碼,而本文側(cè)重于文本數(shù)據(jù)。
1.2 小樣本學習
以往研究大多側(cè)重于提高頻繁編碼的分類性能,而忽略了小樣本編碼。Rios等人[15]最先關注到小樣本ICD自動編碼,提出利用ICD層次結構信息來提高小樣本和零樣本編碼的性能。Yang等人[16]利用交叉注意力機制和提示學習實現(xiàn)小樣本ICD編碼的多標簽分類。文獻[17]提出多任務原型網(wǎng)絡,通過改進度量網(wǎng)絡提高模型小樣本分類性能。同時,各種元學習算法[18]也被提出以解決小樣本學習問題,包括基于度量學習的方法[19]、基于優(yōu)化的方法[20]和基于增強學習的方法[21]。經(jīng)典的原型網(wǎng)絡方法[19]將原型建模為嵌入空間中的點,可能導致模型無法有效區(qū)分不同類別的微妙差異,尤其是在類別內(nèi)部變異較大的情況下。受Ding等人[22]的啟發(fā),本文將原型建模為具有額外半徑參數(shù)的超球體,通過引入額外的半徑參數(shù),每個類別的原型以超球體的形式存在于嵌入空間中,從而更好地捕捉和表示類別內(nèi)部的特征分布。由于醫(yī)療數(shù)據(jù)常常具有高度異質(zhì)性和復雜性,采用超球原型可以在提高模型精度的同時保持模型的泛化能力和可解釋性。
提示學習被證明在小樣本任務中是有效的[23,24],即使在語言模型相對較小的情況下[25]。因為其在小樣本學習中沒有引入新的參數(shù)。以往的研究大多集中在單標簽多分類任務上,如情緒分類[23]、臨床ICD-9分診[26],本文將提示學習用于ICD自動編碼的多標簽分配任務中,在不影響整體分類性能的前提下,提高模型的小樣本編碼分配性能。
2 模型構建
ICD自動編碼通常被定義為一個多標簽分類任務。給定一段輸入的臨床文本矩陣x,目標是為編碼空間L={l1,l2,…,lNc}中的每個ICD編碼分配一個二進制標簽yi∈{0,1},其中,Nc為ICD編碼數(shù)量,1代表該輸入文本x對于編碼li所代表的疾病是陽性的。每個候選編碼都有一個簡短的編碼描述ci。例如,編碼403.11的描述為:“Hypertensive chronic kidney disease, benign, with chronic kidney disease stage V or end stage renal disease.”編碼描述c是Nc個ci的集合。
2.1 模型結構
如圖1所示,PromptHP模型主要由四部分組成,分別為融合編碼描述的提示學習、KEPTlongformer特征提取、超球原型度量分類、集成學習與預測。在提示學習部分,將編碼描述和臨床文本以模板形式T(x)結合,作為模型的輸入,并構造一個答案空間的映射,用于將KEPTlongformer的預測結果映射回真實標簽。在特征提取階段,使用封裝好的提示模板查詢KEPTlongformer,獲得包含模型內(nèi)部知識的初始類別預測得分s=SM(T(x))和臨床文本的隱藏表示h。超球原型度量分類部分,加入可學習的中心向量和半徑參數(shù)構造超球原型,通過計算樣本表示和原型表面的歐氏距離獲得包含數(shù)據(jù)知識的類別k的預測得分d(h,k)。在集成學習與預測部分,使用集成函數(shù)g(·)對兩部分預測得分進行加權,獲得類別k的最終得分q(x,k),并使用softmax函數(shù)計算出每個標簽的預測概率。計算公式為
3 實驗設置
3.1 環(huán)境配置
實驗所采用配置如下:Windows10實驗平臺,64位操作系統(tǒng);CPU為Xeon Gold 6 330;GPU為NVIDIA A100,80 GB顯存;Python版本為3.8;PyTorch版本為1.9;CUDA版本為11.1。
3.2 數(shù)據(jù)集
3.2.1 數(shù)據(jù)介紹
使用公共醫(yī)學數(shù)據(jù)集MIMIC-Ⅲ[30]來評估本文模型,該數(shù)據(jù)集是公開可用的最大的EHR數(shù)據(jù)集,其中收錄了重癥監(jiān)護病房的4萬多名患者的臨床記錄。每個臨床記錄都由醫(yī)療編碼員分配了一組最相關的ICD-9編碼。本文遵循Yang等人[3]的方法對含有52 722份出院摘要和8 929個不同編碼的MIMIC-Ⅲ數(shù)據(jù)集進行預處理,通過對文本進行分詞處理,統(tǒng)一將所有標記轉(zhuǎn)換為小寫形式,刪除符號和純字符,同時使用“<NUM>”標記替換不包含字母字符的標記,以提高數(shù)據(jù)的一致性和可處理性。相比傳統(tǒng)BERT系列模型將出院摘要截斷為896個標記,本文將出院摘要截斷為8 192個標記,能夠更全面地捕捉出院摘要中的關鍵信息,提高ICD編碼的準確性。
3.2.2 數(shù)據(jù)劃分
本文共創(chuàng)建3個數(shù)據(jù)集用于對比分析,分別為MIMIC-Ⅲ-full、MIMIC-Ⅲ-50和MIMIC-Ⅲ-rare50,并根據(jù)患者編號(subject_id)和病案號(hadm_id)將各數(shù)據(jù)集劃分為訓練集、驗證集和測試集。各數(shù)據(jù)集具體情況如下:
a)MIMIC-Ⅲ-full數(shù)據(jù)集。根據(jù)患者編號和病案號對52 722份出院摘要進行劃分,得到MIMIC-Ⅲ-full數(shù)據(jù)集,其中47 719份出院摘要用于訓練,1 631份用于驗證,3 372份用于測試。由于本文模型會為每個候選編碼構造一個編碼描述和[MASK]標記,不能直接應用于包含8 929個標簽的ICD編碼任務中,這很容易突破模型最大字符限制和GPU內(nèi)存限制。所以對于MIMIC-Ⅲ-full數(shù)據(jù)集的實驗,本文首先使用MSMN模型[31]選擇出前300個候選編碼,然后使用本文模型進行最終預測。
b)MIMIC-Ⅲ-50數(shù)據(jù)集。采用Vu等人[32]的方式得到出現(xiàn)頻率最高的前50個頻繁編碼數(shù)據(jù)集MIMIC-Ⅲ-50,共包括11 317份出院摘要,其中8 067份用于訓練,1 574份用于驗證,1 730份用于測試。
c)MIMIC-Ⅲ-rare50數(shù)據(jù)集。遵循先前關于小樣本分類任務的研究,創(chuàng)建一個小樣本編碼數(shù)據(jù)集MIMIC-Ⅲ-rare 50。首先在MIMIC-Ⅲ-full測試集的4 075種不同的ICD編碼中,篩選在訓練集中的數(shù)據(jù)示例≤5且至少出現(xiàn)一次的編碼,共篩選出685個小樣本編碼,然后按照每個編碼出現(xiàn)在測試集示例數(shù)/訓練集示例數(shù)的比例由高到低對篩選后的編碼進行排名,按照最終排名選擇前50個編碼構成MIMIC-Ⅲ-rare 50數(shù)據(jù)集,以確保評估過程中有足夠的測試數(shù)據(jù)用于性能評估。該數(shù)據(jù)集共包括516份出院摘要,其中249份用于訓練,125份用于驗證,142份用于測試。表1列出了各數(shù)據(jù)集的具體劃分結果,包括各數(shù)據(jù)集訓練集、驗證集和測試集的總文檔數(shù);文檔平均token數(shù);token小于512、4 096、8 192的文檔數(shù);文檔包含的平均編碼數(shù)。
3.3 基線模型
CAML(convolutional attention network for multi-label classification)[12]:利用CNN和標簽注意力機制來預測臨床文本的ICD編碼。
MultiResCNN(multi-filter residual convolutional neural network)[33]:利用多過濾器卷積層對文本進行編碼,并利用一個剩余卷積層來擴大接受域。
AGM-HT(adversarial generative model conditioned on code descriptions with hierarchical tree structure)[34]:利用ICD編碼的層次結構,為零樣本的編碼生成語義上有意義的特征來實現(xiàn)ICD編碼的廣義零樣本多標簽文本分類。
JointLAAT(label attention model with hierarchical joint learning)[32]:提出一種具有訓練目標的分層聯(lián)合學習機制來預測臨床文本的ICD編碼預測。
MSMN(multiple synonyms matching network)[31]:將LSTM作為編碼器,利用多同義詞注意力機制實現(xiàn)ICD編碼分類。
GPsoap(generation with prompt)[16]:利用交叉注意力機制和提示學習實現(xiàn)ICD編碼的多標簽分類。
3.4 評價指標
為了與先前關于ICD自動編碼的研究進行比較,使用F1值、曲下面積(area under curve,AUC)的宏平均(macro-average)和微平均(micro-average),以及P@k(precision at k)來評估本文模型,具體計算方法如式(17)~(21)所示。其中,“宏平均”單獨計算每個類別的性能指標,然后對所有標簽的指標取平均?!拔⑵骄笔菍⑺袠撕灥幕煜仃嚭喜?,然后在合并的數(shù)據(jù)上計算有效性指標。P@k指前k個預測編碼的精度。AUC指受試者操作特征(receiver operating characteristic,ROC)曲線下的面積,反映了分類器對樣本的排序能力。AUC的值越接近1,代表分類器的性能越好。
4 結果與分析
4.1 實驗結果
表3展示了各模型在MIMIC-Ⅲ-full上的實驗結果??梢钥闯觯疚哪P驮谒兄笜松暇鶅?yōu)于對比模型。與最優(yōu)基線模型MSMN相比,PromptHP在Macro-AUC、Micro-AUC、Macro-F1和Micro-F1上分別提升了0.8%、0.1%、0.6%和2.1%,在P@5和P@15上分別提升了3.7%和2.1%,說明PromptHP在提升小樣本編碼分類性能的同時沒有降低頻繁編碼的分類性能。
表4列出了各模型在MIMIC-Ⅲ-50和MIMIC-Ⅲ-rare50上的實驗結果。在基于MIMIC-Ⅲ-50的實驗中,與最優(yōu)基線模型MSMN相比,PromptHP在Macro-AUC、Macro-F1和P@5方面分別產(chǎn)生了1.2%、1.99%和3.37%的提升。但在Micro-AUC和Micro-F1值上與MSMN基本持平,這是由于MIMIC-Ⅲ-50的數(shù)據(jù)分布不平衡所導致,其中某些類別樣本量遠多于其他類別,微觀指標會受到頻繁樣本類別性能的影響。在基于MIMIC-Ⅲ-rare50的實驗中,PromptHP在所有指標上均優(yōu)于MSMN,并在Macro-AUC、Micro-AUC、Macro-F1和Micro-F1上分別取得了1.77%、1.54%、14.22%、15.01%的提升。與以往的方法相比,宏觀結果比微觀方法有更顯著的改進。這是由于宏觀指標主要受尾部編碼性能的影響,所提方法得益于提示學習和超球原型度量分類在小樣本學習中表現(xiàn)出的優(yōu)異性能。
4.2 消融實驗
為驗證PLM和超球原型對模型的作用,分別在基于MIMIC-Ⅲ-rare50的5-way-1-shot、5-way-4-shot和5-way-16-shot設置下進行消融研究,對每個實驗設定5個隨機種子,并用平均準確率和標準差指標進行評估。實驗結果如表5所示,表中s表示PLM預測得分,r表示超球原型的半徑參數(shù)。實驗①表示僅使用原型網(wǎng)絡進行分類;實驗②表示使用PLM和原型網(wǎng)絡進行分類;實驗③表示僅使用超球原型網(wǎng)絡進行分類;實驗④表示使用本文模型進行實驗。
a)PLM的消融實驗。從表5實驗①②中可以看出,使用PLM相較于僅使用原型網(wǎng)絡在MIMIC-Ⅲ-rare50的5-way-1-shot、5-way-4-shot和5-way-16-shot設置下進行分類的準確率分別提升了12.3%、8.6%和11.4%,說明所選醫(yī)學PLM能夠提升小樣本分類的性能。同時,從實驗③④也可以看出,使用PLM后,模型比僅使用超球原型的分類準確率分別提升了9.1%、5.8%和7.9%,在訓練數(shù)據(jù)非常稀缺(1-shot)的情況下模型性能提升很大,這說明模型得分包含了對醫(yī)學言語理解有益的先驗模型知識,驗證了PLM在PromptHP的小樣本性能中的積極作用。此外,整合訓練數(shù)據(jù)減少了方差。隨著訓練數(shù)據(jù)的增多,PLM得分帶來的增益減少,這是由于PLM和HyperProto得分的相對權重發(fā)生了變化。
b)超球原型的消融實驗。從表5實驗①③中可以看出,超球原型相較于原型網(wǎng)絡在MIMIC-Ⅲ-rare50的5-way-1-shot、5-way-4-shot和5-way-16-shot設置下進行分類的準確率分別提升了6.8%、6.1%和6.6%,說明超球原型能夠提升小樣本分類的性能。同時,從實驗②④可以看出,使用超球原型進行度量之后,模型分類的準確率分別提升了3.6%、3.3%和3.1%,進一步驗證了在小樣本的情況下,超球原型半徑r的加入可以提升模型的分類性能。同時,隨著訓練數(shù)據(jù)的增加,超球原型對模型的穩(wěn)定性也起到一定的積極作用,驗證了超球原型半徑參數(shù)r的引入有助于捕捉更多ICD編碼類別信息,提高PromptHP的泛化性。
c)從表5中數(shù)據(jù)可以看出,同時使用PLM和超球原型的性能優(yōu)于單獨使用其中一項,進一步說明了本文提出的PLM和超球原型是相輔相成、相互促進的。
4.3 復雜度分析
為證明本文方法的可應用性,對最優(yōu)基線方法MSMN和本文方法PromptHP進行復雜度分析。通過網(wǎng)絡結構分析工具torchsummary計算各方法的參數(shù)量和計算量。計算量即模型的時間復雜度,是指輸入單個樣本(一個臨床文本),模型完成一次前向傳播所發(fā)生的浮點運算次數(shù),即FLOPs。在MIMIC-Ⅲ-rare50數(shù)據(jù)集上進行5-way-16-shot實驗,實驗結果如表6所示。
從表6可以看出,PromptHP相較于基線模型MSMN的參數(shù)量增加了0.1 M,時間復雜度提升了0.01 MB,在性能上卻有顯著提升。可以看出,本文方法在增加少量參數(shù)和時間復雜度的基礎上,可以較大地提升模型性能。
4.4 超球原型對結果的影響
為了驗證在PLM輸出端建模超球原型進行度量分類對模型小樣本分類性能的影響,本文采用一個兩層MLP替換HyperProto并在MIMIC-Ⅲ-rare50的1-shot、4-shot和16-shot設置下進行準確率和穩(wěn)定性評估,結果如圖5所示??梢钥闯?,在1-shot設置中,HyperProto明顯優(yōu)于MLP,這與HyperProto在小樣本學習中的優(yōu)勢相符。在4-shot和16-shot實驗中,Hyper-Proto準確率仍然較高,但差距較小。在穩(wěn)定性方面,HyperProto能夠保持較低的標準差分數(shù)。總體而言,HyperProto是PromptHP中的一個關鍵組成部分,用MLP替換會降低模型性能。
4.5 PLM對結果的影響
為了測試不同PLM對模型整體的影響,分別選擇通用領域預訓練語言模型T5[35]、醫(yī)學預訓練語言模型BioBERT[36]、Clinical-Longformer[27]和KEPTlongformer進行對比,其中T5模型包括T5Small、T5Base、T5Large和T53B等不同規(guī)模。通過在各PLM輸出端建模超球原型,在基于MIMIC-Ⅲ-rare50的5-way-16-shot設置下評估各PLM性能。對每個實驗設定5個隨機種子,表7呈現(xiàn)了不同規(guī)模T5和醫(yī)學PLM的平均準確率和標準偏差。從表7可以看出:
a)3個醫(yī)學PLM相比通用領域的T5模型具有更高的準確率和較小的偏差,這驗證了醫(yī)學PLM早期學到的專業(yè)醫(yī)學知識對小樣本ICD自動編碼任務的有效性。
b)相較于BioBERT和Clinical-Longformer,KEPTlongformer的平均準確率分別提高了10.9百分點和9.1百分點,在小樣本ICD編碼分配任務中具有更出色的表現(xiàn),驗證了KEPTlongformer中豐富的醫(yī)學同義詞、縮寫以及層次結構知識對編碼分配任務的正向作用。
c)從4種規(guī)模的T5模型的實驗結果可以觀察到一個明顯的規(guī)模效應,更大的模型表現(xiàn)得也更好。
d)本文將超球原型部署在編碼器-解碼器生成式語言模型T5上并進行實驗對比,驗證了在PLM輸出端建模超球原型的可遷移性。
4.6 λ對結果的影響
作為超參數(shù),λ控制PLM分數(shù)和超球原型度量得分的相對重要性。在基于MIMIC-Ⅲ-rare50數(shù)據(jù)集的5-way-1-shot、5-way-4-shot和5-way-16-shot設置下評估λ對PromptHP的影響。從圖6可以觀察到:
a)λ在1-shot設置中對PromptHP有很大影響。隨著λ的增加,PromptHP逐漸表現(xiàn)得更好且更穩(wěn)定,這說明在極端小樣本情況下,PLM內(nèi)部知識對于模型性能具有重要作用。
b)隨著樣本數(shù)量的增加,λ的變化對模型性能的影響減弱,達到最佳效果所需的樣本數(shù)量減少,說明λ可以有效地平衡PLM模型內(nèi)部知識和下游數(shù)據(jù)知識之間的權重,優(yōu)化模型分類性能,驗證了3.5節(jié)中選擇策略的有效性。
4.7 可視化實驗
為驗證本文方法的有效性,分別對KEPTlongformer+ ProtoNet、MSMN和本文方法生成的特征使用t-SNE進行可視化分析。具體來說,在MIMIC-Ⅲ-rare50數(shù)據(jù)集的訓練集和測試集中各抽取5個類別,每個類別隨機選擇100個樣本,圖7(a)(b)和(c)分別展示了KEPTlongformer+ProtoNet、MSMN和PromptHP在二維空間中嵌入的t-SNE可視化結果,不同顏色代表不同的類別。從圖7(b)(c)的對比可以看出,PromptHP的類內(nèi)距離更小,類間區(qū)分更加明顯,也產(chǎn)生了一些新類別的聚類,證明本文方法學習到的文本特征優(yōu)于基線模型MSMN,具有更好的聚類性能。
此外,通過計算每個類別樣本到其對應類別原型的平均歐幾里德距離以及到其他類別的距離之間的差異來比較兩種模型的樣本區(qū)分度。差異越大,樣本區(qū)分度越好。對于ProtoNet,訓練集和測試集的差異分別為2.41和1.36;對于PromptHP,結果分別為5.17和4.82。這是由于不同類別的樣本分布在不同的維度上,額外的超球半徑參數(shù)有助于更好地區(qū)分不同的類別,與圖7(a)和圖7(c)的反映結果一致。t-SNE可視化和統(tǒng)計結果證明了PromptHP在學習區(qū)分性特征方面的有效性,在學習新類別表示方面的積極作用也顯著提升了本文方法在小樣本學習中的分類性能。
5 結束語
提出了一種基于醫(yī)學預訓練模型的融合提示學習和超球原型的多標簽小樣本ICD自動編碼模型PromptHP,主要貢獻包括:a)設計包含ICD編碼描述的提示模板作為新的輸入,充分挖掘醫(yī)學預訓練語言模型內(nèi)部知識;b)在預訓練語言模型輸出端建模超球原型,充分利用下游數(shù)據(jù)知識,提高了模型在處理小樣本分類任務中的泛化性。三個數(shù)據(jù)集上的實驗結果表明,本文方法能夠有效結合預訓練語言模型內(nèi)部知識和下游數(shù)據(jù)知識,并能夠在大多數(shù)指標上優(yōu)于目前主流的編碼分配模型,尤其是在小樣本學習時,性能提升較大,多組消融實驗也證實了本文方法的有效性。同時,在PLM輸出端建模超球原型同樣適用于其他醫(yī)學數(shù)據(jù)分析任務,如臨床實體鏈接任務(entity linking,EL)。此外,由于采用的編碼描述提示學習需要為每個ICD編碼創(chuàng)建編碼描述和[MASK]標記,直接應用于包含8 692個標簽的ICD編碼任務容易突破模型最大字符限制和GPU內(nèi)存限制,在保證分類性能的前提下探索一種更加節(jié)省內(nèi)存的自動ICD編碼方法是未來的研究重點。
參考文獻:
[1]Teng Fei,Liu Yiming,Li Tianrui,et al. A review on deep neural networks for ICD coding [J]. IEEE Trans on Knowledge and Data Engineering,2022,35(5): 4357-4375.
[2]王培冰,張寧,張春. 基于Prompt的兩階段澄清問題生成方法 [J]. 計算機應用研究,2024,41(2): 421-425. (Wang Peibing,Zhang Ning,Zhang Chun. Two-stage clarification question generation method based on Prompt [J]. Application Research of Compu-ters,2024,41(2): 421-425.)
[3]Yang Zhichao,Wang Shufan,Rawat B P S,et al. Knowledge injected prompt based fine-tuning for multi-label few-shot ICD coding [C]// Proc of Conference on Empirical Methods in Natural Language Processing. Stroudsburg,PA: ACL,2022: 1767-1781.
[4]Zhou Linging,Cheng Cheng,Ou Dong,et al. Construction of a semi-automatic ICD-10 coding system [J]. BMC Medical Informatics and Decision Making,2020,20(1): 1-12.
[5]Farkas R,Szarvas G. Automatic construction of rule-based ICD-9-CM coding systems [J]. BMC Bioinformatics,2008,9(3): S10.
[6]Nunzio G M D,Beghini F,Vezzani F,et al. A lexicon based approach to classification of ICD10 codes. IMS Unipd at CLEF eHealth Task 1 [C]// Proc of CEUR Workshop. Germany: CEUR-WS Press,2017:1-9.
[7]Huang Mengxing,Han Huirui,Wang Hao,et al. A clinical decision support framework for heterogeneous data sources [J]. IEEE Journal of Biomedical and Health Informatics,2018,22(6): 1824-1833.
[8]Xu Keyang,Lam M,Pang Jingzhi,et al. Multimodal machine learning for automated ICD coding [C]// Proc of Machine Learning for Healthcare Conference. New York: PMLR,2019: 197-215.
[9]Schfer H,F(xiàn)riedrich C M. UMLS mapping and word embeddings for ICD code assignment using the MIMIC-Ⅲ intensive care database [C]// Proc of the 41st Annual International Conference of the IEEE Engineering in Medicine and Biology Society. Piscataway,NJ: IEEE Press,2019: 6089-6092.
[10]Perotte A,Pivovarov R,Natarajan K,et al. Diagnosis code assignment: models and evaluation metrics [J]. Journal of the American Medical Informatics Association,2014,21(2): 231-237.
[11]Blanco A,Perez A,Casillas A. Extreme multi-label ICD classification: sensitivity to hospital service and time [J]. IEEE Access,2020,8: 183534-183545.
[12]Mullenbach J,Wiegreffe S,Duke J,et al. Explainable prediction of medical codes from clinical text [C]// Proc of Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg,PA: ACL,2018: 1101-1111.
[13]Zhou Jie,Cui Ganqu,Hu Shengding,et al. Graph neural networks: a review of methods and applications [J]. AI Open,2020,1(2): 57-81.
[14]Lipton Z C,Kale D C,Elkan C,et al. Learning to diagnose with LSTM recurrent neural networks [C]// Proc of the 4th International Conference on Learning Representations. Washington DC: ICLR,2016: 1-18.
[15]Rios A,Kavuluru R. Few-shot and zero-shot multi-label learning for structured label spaces [C]// Proc of Conference on Empirical Methods in Natural Language Processing. Stroudsburg,PA: ACL,2018: 3132-3142.
[16]Yang Zhichao,Kwon S,Yao Zonghai,et al. Multi-label few-shot ICD coding as autoregressive generation with prompt [C]// Proc of the 37th AAAI Conference on Artificial Intelligence and the 35th Confe-rence on Innovative Applications of Artificial Intelligence and the 13th Symposium on Educational Advances in Artificial Intelligence. Palo Alto,CA: AAAI Press,2023: 5366-5374.
[17]于俊杰,程華,房一泉. 少樣本文本分類的多任務原型網(wǎng)絡 [J]. 計算機應用研究,2022,39(5): 1368-1373. (Yu Junjie,Cheng Hua,F(xiàn)ang Yiquan. Multiple-task prototypical network for few-shot text classification [J]. Application Research of Computers,2022,39(5): 1368-1373.)
[18]周曉敏,滕飛,張藝. 基于元網(wǎng)絡的自動國際疾病分類編碼模型 [J]. 計算機應用,2023,43(9): 2721-2726. (Zhou Xiaomin,Teng Fei,Zhang Yi. Automatic international classification of diseases coding model based on meta-network [J]. Journal of Computer Applications,2023,43(9): 2721-2726.)
[19]Snell J,Swersky K,Zemel R. Prototypical networks for few-shot learning [C]// Proc of the 31st International Conference on Neural Information Processing Systems. San Diego: NIPS,2017: 4080-4090.
[20]Finn C,Abbeel P,Levine S. Model-agnostic meta-learning for fast adap-tation of deep networks [C]// Proc of the 34th International Conference on Machine Learning. New York: ACM Press,2017: 1126-1135.
[21]Ding Bosheng,Liu Linlin,Bing Lidong,et al. DAGA: data augmentation with a generation approach for low-resource tagging tasks [C]// Proc of Conference on Empirical Methods in Natural Language Processing. Stroudsburg,PA: ACL,2020: 6045-6057.
[22]Ding Ning,Chen Yulin,Cui Ganqu,et al. Few-shot classification with hypersphere modeling of prototypes [C]// Proc of Findings of the Association for Computational Linguistics. Stroudsburg,PA: ACL,2022: 895-917.
[23]Gao Tianyu,F(xiàn)isch A,Chen Danqi. Making pre-trained language models better few-shot learners [C]// Proc of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing. Stroudsburg,PA: ACL,2020: 3816-3830.
[24]Brown T,Mann B,Ryder N,et al. Language models are few-shot learners [J]. Advances in Neural Information Processing Systems,2020,33: 1877-1901.
[25]Schick T,Schyuyutze H. It’s not just size that matters: small language models are also few-shot learners [C]// Proc of Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg,PA: ACL,2020: 2339-2352.
[26]Taylor N,Zhang Yi,Joyce D W,et al. Clinical prompt learning with frozen language models [J]. IEEE Trans on Neural Networks and Learning Systems,2023 (99): 1-11.
[27]Li Yikuan,Wehbe R M,Ahmad F S,et al. Clinical-longformer and clinical-BigBird: transformers for long clinical sequences [EB/OL]. (2022-01-27) [2024-03-25]. https://doi. org/10. 48550/arXiv. 2201. 11838.
[28]Sun Haitian,Dhingra B,Zaheer M,et al. Open domain question answering using early fusion of knowledge bases and text [C]// Proc of Conference on Empirical Methods in Natural Language Processing. Stroudsburg,PA: ACL,2018: 4231-4242.
[29]Zhao Zihao,Wallace E,F(xiàn)eng Shi,et al. Calibrate before use: improving few-shot performance of language models [C]// Proc of the 38th International Conference on Machine Learning. New York: ACM Press,2021: 12697-12706.
[30]Johnson A E W,Pollard T J,Shen L,et al. MIMIC-Ⅲ,a freely accessible critical care database [J]. Scientific Data,2016,3(1): 1-9.
[31]Yuan Zheng,Tan Chuanqi,Huang Songfang. Code synonyms do matter: multiple synonyms matching network for automatic ICD coding [C]// Proc of the 60th Annual Meeting of the Association for Computational Linguistics. Stroudsburg,PA: ACL,2022: 808-814.
[32]Vu T,Nguyen D Q,Nguyen A. A label attention model for ICD coding from clinical text [C]// Proc of the 29th International Joint Confe-rence on Artificial Intelligence. San Francisco: Morgan Kaufmann,2020: 3335-3341.
[33]Li Fei,Yu Hong. ICD coding from clinical text using multi-filter residual convolutional neural network [C]// Proc of the 34th AAAI Conference on Artificial Intelligence. Palo Alto,CA: AAAI Press,2020: 8180-8187.
[34]Song Congzheng,Zhang Shanghan,Sadoughi N,et al. Generalized zero-shot text classification for ICD coding [C]// Proc of the 29th International Conference on International Joint Conferences on Artificial Intelligence. San Francisco: Morgan Kaufmann,2021: 4018-4024.
[35]Raffel C,Shazeer N,Roberts A,et al. Exploring the limits of transfer learning with a unified text-to-text transformer [J]. The Journal of Machine Learning Research,2020,21(1): 5485-5551.
[36]Lee J,Yoon W,Kim S,et al. BioBERT: a pre-trained biomedical language representation model for biomedical text mining [J]. Bioinformatics,2020,36(4): 1234-1240.
收稿日期:2024-01-29;修回日期:2024-03-20 基金項目:國家自然科學基金資助項目(62266041);新疆自然科學基金資助項目(2023D01A73)
作者簡介:徐春(1977—),女,貴州畢節(jié)人,教授,碩導,博士,CCF會員,主要研究方向為自然語言處理、大數(shù)據(jù)分析;吉雙焱(1999—),女(通信作者),山西運城人,碩士研究生,主要研究方向為自然語言處理、醫(yī)療數(shù)據(jù)分析(18003482889@163.com);馬志龍(1983—),男(東鄉(xiāng)族),新疆塔城人,講師,碩士,主要研究方向為醫(yī)療大數(shù)據(jù)分析.