羅庚欣 康 波
(哈爾濱工業(yè)大學(xué)(深圳) 深圳 518055) (醫(yī)渡云(北京)技術(shù)有限公司 北京 100191)
彭 浩 熊 英 湯步洲
(哈爾濱工業(yè)大學(xué)(深圳) 深圳 518055) (哈爾濱工業(yè)大學(xué)(深圳)鵬城實(shí)驗(yàn)室 深圳 518055)
在醫(yī)療健康領(lǐng)域,大量醫(yī)療文本數(shù)據(jù)以電子病歷的形式存儲(chǔ)。這些電子病歷中包含患者的各類就診信息,具有重要的統(tǒng)計(jì)價(jià)值。但電子病歷往往是在對(duì)患者進(jìn)行診斷時(shí)由醫(yī)療工作者輸入的,這就導(dǎo)致存在不同病歷表達(dá)方式不同以及質(zhì)量不齊等問題,為后續(xù)處理工作帶來困難[1]。
臨床診斷編碼技術(shù)能夠根據(jù)病歷樣本中與醫(yī)學(xué)相關(guān)的概念,為其自動(dòng)分配一個(gè)或多個(gè)診斷標(biāo)準(zhǔn)詞,這些診斷標(biāo)準(zhǔn)詞的產(chǎn)生將有效提高電子病歷在后續(xù)完成統(tǒng)計(jì)等任務(wù)時(shí)的處理效率。隨著自然語言處理技術(shù)的發(fā)展,越來越多的文本處理任務(wù)得到有效解決,其中包括對(duì)醫(yī)療文本的處理等[2]。在此背景下,如何借助自然語言處理技術(shù)推動(dòng)臨床診斷編碼技術(shù)發(fā)展是近期相關(guān)研究的熱門話題。
自2018年開始,中國健康信息處理會(huì)議(China Health Information Processing Conference,CHIP)發(fā)布了多項(xiàng)醫(yī)療健康信息處理相關(guān)任務(wù)[3-4],推動(dòng)了醫(yī)療信息與人工智能交叉領(lǐng)域相關(guān)研究的發(fā)展。2021年CHIP會(huì)議發(fā)布了臨床術(shù)語標(biāo)準(zhǔn)化評(píng)測任務(wù),該任務(wù)要求對(duì)中文電子病歷中給定的手術(shù)原詞進(jìn)行標(biāo)準(zhǔn)化,并映射到標(biāo)準(zhǔn)詞表中對(duì)應(yīng)的手術(shù)標(biāo)準(zhǔn)詞[3]。本文提出的臨床診斷編碼任務(wù)是在臨床術(shù)語標(biāo)準(zhǔn)化任務(wù)基礎(chǔ)上做出的進(jìn)一步拓展和延續(xù)。兩個(gè)任務(wù)的區(qū)別體現(xiàn)在臨床診斷編碼任務(wù)沒有在數(shù)據(jù)集中對(duì)需要標(biāo)準(zhǔn)化的醫(yī)學(xué)術(shù)語進(jìn)行標(biāo)注,只提供了病歷樣本中的各類就診信息,根據(jù)就診信息直接生成相關(guān)醫(yī)學(xué)診斷標(biāo)準(zhǔn)詞。就診信息中沒有對(duì)醫(yī)學(xué)相關(guān)術(shù)語進(jìn)行標(biāo)注,同時(shí)某些診斷標(biāo)準(zhǔn)詞是根據(jù)就診信息整體的語義而產(chǎn)生,例如標(biāo)準(zhǔn)詞“惡性腫瘤靶向治療”是在“入院診斷”中出現(xiàn)“癌”或“腫瘤”等詞語且“藥品名稱”中出現(xiàn)某種靶向藥物的名稱時(shí)才產(chǎn)生的;而標(biāo)準(zhǔn)詞“惡性腫瘤放射治療”則更傾向于當(dāng)“醫(yī)囑”中出現(xiàn)“放療”等術(shù)語時(shí)產(chǎn)生,這就為相關(guān)任務(wù)帶來一定挑戰(zhàn)。本文將圍繞臨床診斷編碼任務(wù)描述、臨床診斷編碼技術(shù)評(píng)測數(shù)據(jù)集介紹、臨床診斷編碼基線模型以及實(shí)驗(yàn)結(jié)果進(jìn)行闡述。
2.1.1 疾病分類與手術(shù)操作分類編碼 是對(duì)患者疾病診斷和治療信息的加工過程,是病案信息管理的重要環(huán)節(jié)[4]。如今病案編碼已成為醫(yī)院科學(xué)化、信息化管理的重要依據(jù)之一,其在評(píng)估醫(yī)療質(zhì)量與醫(yī)療效率、設(shè)計(jì)臨床路徑方案、醫(yī)院評(píng)審、疾病診斷分級(jí)、合理用藥監(jiān)測等方面的應(yīng)用越來越廣泛和深入。
2.1.2 國際疾病分類 在諸多的分類方案中,世界上最有影響力且最為普及的是國際疾病分類(International Classification of Diseases,ICD)。ICD是世界衛(wèi)生組織(World Health Organization, WHO)制定的國際統(tǒng)一疾病分類方法[5],是目前國際上通用的疾病分類方法。我國也推出了《疾病分類與代碼國家臨床版2.0》和《手術(shù)操作分類代碼國家臨床版2.0》,并在部分醫(yī)院中得到應(yīng)用。
臨床診斷編碼評(píng)測任務(wù)的主要目標(biāo)是針對(duì)中文電子病歷進(jìn)行診斷編碼。任務(wù)的具體要求如下:給定一次就診的相關(guān)信息,包括入院診斷、術(shù)前診斷、術(shù)后診斷、出院診斷,以及手術(shù)名稱、藥品名稱和醫(yī)囑,要求給出本條電子病歷所對(duì)應(yīng)的一個(gè)或多個(gè)診斷標(biāo)準(zhǔn)詞,并以《疾病分類與代碼國家臨床版2.0》[5]詞表作為標(biāo)準(zhǔn)。
臨床診斷編碼評(píng)測數(shù)據(jù)集由醫(yī)渡云(北京)技術(shù)有限公司提供,數(shù)據(jù)由內(nèi)部專業(yè)醫(yī)學(xué)團(tuán)隊(duì)基于職業(yè)經(jīng)驗(yàn)進(jìn)行編寫和標(biāo)注,不包含個(gè)人身份信息及基因等遺傳資源數(shù)據(jù),只使用治療過程中的診斷等醫(yī)囑信息,不是真實(shí)場景下的數(shù)據(jù),符合隱私保護(hù)和倫理要求,該數(shù)據(jù)集僅限CHIP 2022比賽使用。
評(píng)測數(shù)據(jù)主要由兩部分組成。數(shù)據(jù)集1共包含2 700條樣本,數(shù)據(jù)集2共包含337條樣本。每條樣本描述了一次就診信息,包括入院診斷、出院診斷、手術(shù)名稱、術(shù)前診斷、術(shù)后診斷、藥品名稱、醫(yī)囑以及該樣本對(duì)應(yīng)的診斷標(biāo)準(zhǔn)詞,每種就診信息均由機(jī)器和專業(yè)醫(yī)學(xué)團(tuán)隊(duì)人工構(gòu)造得到,見表1。

表1 數(shù)據(jù)集樣例
此外,數(shù)據(jù)集1中,每4條樣本的診斷標(biāo)準(zhǔn)詞完全相同。數(shù)據(jù)集1中共有278個(gè)不同標(biāo)準(zhǔn)詞,數(shù)據(jù)集2中的診斷標(biāo)準(zhǔn)詞均在數(shù)據(jù)集1中出現(xiàn)過。分別針對(duì)兩個(gè)數(shù)據(jù)集的就診信息和診斷標(biāo)準(zhǔn)詞平均長度進(jìn)行統(tǒng)計(jì),見表2。

表2 數(shù)據(jù)集中各就診信息和診斷標(biāo)準(zhǔn)詞平均長度
由統(tǒng)計(jì)結(jié)果可見,各就診信息中,文本最長的是“醫(yī)囑”,平均長度超過900個(gè)字符,且遠(yuǎn)超其他就診信息文本長度;其次是“藥品名稱”,平均長度為90個(gè)字符,其他就診信息文本平均長度基本在25個(gè)字符以內(nèi)。在本次評(píng)測任務(wù)中,將數(shù)據(jù)集1作為訓(xùn)練集,將數(shù)據(jù)集2作為測試集。
由于該任務(wù)與醫(yī)療實(shí)體標(biāo)準(zhǔn)化任務(wù)有相似之處[6],故采用實(shí)體標(biāo)準(zhǔn)化思路構(gòu)建基線模型。基線模型主要由候選模塊和匹配模塊兩部分構(gòu)成。其中,候選模塊用于為每個(gè)樣本生成候選診斷標(biāo)準(zhǔn)詞,匹配模塊將樣本就診信息與候選診斷標(biāo)準(zhǔn)詞進(jìn)行文本匹配,見圖1。

圖1 總體算法流程
在候選模塊中,首先統(tǒng)計(jì)訓(xùn)練集中所有診斷標(biāo)準(zhǔn)詞,并建立標(biāo)準(zhǔn)詞詞表。在候選過程中,將每條樣本中就診信息,如入院診斷、手術(shù)名稱、醫(yī)囑等合并成為一個(gè)文段。利用詞頻-逆向文件頻率(Term Frequency-Inverse Document Frequency, TF-IDF)算法[7],統(tǒng)計(jì)詞表中各標(biāo)準(zhǔn)詞對(duì)每個(gè)文段的重要程度并排序,選擇重要程度最高的K個(gè)標(biāo)準(zhǔn)詞作為診斷標(biāo)準(zhǔn)詞候選集,見圖2。

圖2 候選模塊算法流程
匹配模塊包含一個(gè)預(yù)訓(xùn)練語言模型,基線方案采用基于Transformer的雙向編碼器表征(Bidirectional Encoder Representations from Transformers, BERT)[8]作為預(yù)訓(xùn)練模型。該模型以每個(gè)候選的診斷標(biāo)準(zhǔn)詞與對(duì)應(yīng)文段串接后的文本作為輸入,輸出預(yù)測標(biāo)簽,見圖3。

圖3 預(yù)訓(xùn)練模型的輸入文本格式
當(dāng)模型輸出的標(biāo)簽為陽性時(shí),表示該文本中的診斷標(biāo)準(zhǔn)詞與文段相匹配,即該標(biāo)準(zhǔn)詞是對(duì)應(yīng)的電子病歷樣本的一個(gè)診斷標(biāo)準(zhǔn)詞。反之,當(dāng)輸出標(biāo)簽為陰性時(shí),則表示該標(biāo)準(zhǔn)詞不是對(duì)應(yīng)樣本的一個(gè)診斷標(biāo)準(zhǔn)詞。
本次評(píng)測任務(wù)使用平均F1分?jǐn)?shù)作為評(píng)測指標(biāo),相關(guān)指標(biāo)計(jì)算方法如下:

(1)

(2)

(3)
實(shí)驗(yàn)環(huán)境包括Tesla V100 GPU、16G顯存、PyTorch 1.11.0深度學(xué)習(xí)框架。在候選模塊中,對(duì)每個(gè)樣本選出25個(gè)重要程度最高的標(biāo)準(zhǔn)詞作為候選集。在匹配模塊中,對(duì)預(yù)訓(xùn)練模型微調(diào)時(shí)采用批數(shù)據(jù)訓(xùn)練,將每批數(shù)據(jù)量設(shè)置為2,迭代次數(shù)設(shè)置為10,學(xué)習(xí)率設(shè)置為1e-6。
5.3.1 實(shí)驗(yàn)結(jié)果 由于數(shù)據(jù)集中就診信息類別較多,實(shí)驗(yàn)控制了輸入模型的就診信息文本構(gòu)成,并對(duì)不同輸入條件下的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比。結(jié)果顯示當(dāng)輸入模型文本構(gòu)成是除“藥品”和“醫(yī)囑”以外的其他所有就診信息時(shí),模型性能最優(yōu)。此時(shí),候選模塊中真實(shí)標(biāo)準(zhǔn)詞被選中的比例最高,為64.382%。在訓(xùn)練過程中,如果不對(duì)候選模塊產(chǎn)生的候選集進(jìn)行其他操作,模型最終的F1分?jǐn)?shù)為0.395 31。如果將沒有被候選模塊選入候選集的真實(shí)標(biāo)準(zhǔn)詞也額外添加進(jìn)候選集,則模型最終的F1分?jǐn)?shù)為0.460 86,提高了16.582%,見表3。

表3 實(shí)驗(yàn)結(jié)果
5.3.2 結(jié)果分析 根據(jù)前文表2的統(tǒng)計(jì)數(shù)據(jù),數(shù)據(jù)集的“醫(yī)囑”和“藥品”的文本長度遠(yuǎn)超其他就診信息,而其本身蘊(yùn)含的與真實(shí)標(biāo)準(zhǔn)詞相關(guān)的信息卻非常少,尤其是“醫(yī)囑”信息。例如在一條數(shù)據(jù)集樣例樣本中,醫(yī)囑為“11pm后禁水禁食[囑托],一次性使用吸氧管ot-mi-100型小號(hào)(零感),一次性使用無菌注射器帶針20ml(kdl/康德萊)…”,藥品名稱為“中/長鏈脂肪乳(c8-24),亞甲藍(lán),氯化鈉,艾司唑侖,艾普拉唑…”,這兩類信息基本不包含與醫(yī)學(xué)診斷相關(guān)的概念,也就無法分配醫(yī)學(xué)診斷標(biāo)準(zhǔn)詞。同時(shí),當(dāng)輸入文本去除“醫(yī)囑”和“藥品”信息后,由于輸入的文本長度大幅降低,TF-IDF算法中的詞頻權(quán)重(TF值)將會(huì)相對(duì)增高,使得算法對(duì)不同標(biāo)準(zhǔn)詞有更高的區(qū)分度,從而使候選模塊能達(dá)到更好的選擇效果,并影響后續(xù)匹配模塊的性能。此外,詞表中有對(duì)同一病癥不同程度的癥狀描述,如高血壓、高血壓病1級(jí)(低危)、高血壓病2級(jí)(中危)等,導(dǎo)致TF-IDF算法在這種情況下不能很好地選擇出正確的候選標(biāo)準(zhǔn)詞,匹配模塊無法將樣本與真實(shí)的診斷標(biāo)準(zhǔn)詞進(jìn)行匹配,從而無法發(fā)揮出最好的模型性能。另一方面,由于訓(xùn)練樣本數(shù)量較少,匹配模塊中經(jīng)過微調(diào)后的預(yù)訓(xùn)練模型也難以達(dá)到預(yù)期的分類效果。這反映出基線模型還存在一定改進(jìn)空間,可以改進(jìn)的方向:一是目前基線模型的候選模塊僅使用TF-IDF算法來挖掘就診信息中的詞語與標(biāo)準(zhǔn)詞之間統(tǒng)計(jì)意義上的相似度,可以考慮計(jì)算它們之間的語義相似度,并將二者加權(quán)作為新的排序權(quán)重;二是在匹配模塊可以嘗試使用其他預(yù)訓(xùn)練模型,例如用于生物醫(yī)學(xué)文本挖掘的雙向編碼器(Bidirectional Encoder Representations from Transformers for Biomedical Text Mining, BioBERT)[9],該模型在面向生物醫(yī)學(xué)信息文本時(shí)能得到更好的預(yù)測效果。
本文介紹了臨床診斷編碼評(píng)測任務(wù),詳細(xì)闡述評(píng)測所使用數(shù)據(jù)集來源和組成以及基線模型的構(gòu)建思路。基線模型由候選和匹配兩個(gè)模塊構(gòu)成,候選模塊通過TF-IDF算法將每個(gè)樣本可能的診斷標(biāo)準(zhǔn)詞選擇出來構(gòu)成候選集,匹配模塊通過預(yù)訓(xùn)練模型將每個(gè)候選標(biāo)準(zhǔn)詞和病歷樣本中就診信息進(jìn)行匹配,若成功匹配則該候選標(biāo)準(zhǔn)詞成為樣本中一個(gè)預(yù)測的診斷標(biāo)準(zhǔn)詞。基線模型在測試集上的最終F1分?jǐn)?shù)為0.460 86,性能有待改進(jìn)。自然語言處理技術(shù)在醫(yī)學(xué)領(lǐng)域有相當(dāng)重要的應(yīng)用價(jià)值,在臨床診斷編碼場景中,利用電子病歷對(duì)應(yīng)的診斷標(biāo)準(zhǔn)詞,醫(yī)療工作者能更好地管理病歷數(shù)據(jù),提高醫(yī)療工作效率。臨床診斷編碼數(shù)據(jù)集將為未來相關(guān)研究的開展提供重要支持。