?

基于機器學習的北京市三甲醫院疾病診斷名稱規范化研究

2020-08-31 10:47李誼澄侯銳志鄒宗毓周子君
醫學與社會 2020年8期
關鍵詞:疾病診斷分詞術語

李誼澄 侯銳志 鄒宗毓 周子君

1 北京大學公共衛生學院衛生政策與管理學系,北京,100191;2 華東師范大學數學科學學院基礎數學系,上海,200062

近年來,門診疾病診斷名稱的規范化是門診處方審核亟需解決的問題。統一規范的疾病術語既是診斷的基礎工作,也是做好疾病索引和疾病分類統計以及門診付費的關鍵[1]。疾病診斷名稱的標準化和規范化是衛生信息化的重要組成部分,對衛生信息標準化的實現起著至關重要的作用[2]。目前,門診疾病診斷名稱的不規范化情況嚴重阻礙了計算機的識別和分類效率,阻礙了醫保審核和用藥審核的發展。醫療機構和衛生系統以往主要依靠人力對這些不規范的疾病診斷名稱進行規范化整理,但隨著不規范的醫療文本的積累速度不斷加快[3],人工難以完成對龐大數據流的處理。本研究以國際疾病分類(International Classification of Disease, ICD)為基礎標準疾病術語模板,通過擴展ICD-10分類內容和機器學習的方法對多樣化和不規范的疾病診斷名稱進行識別,并轉化為統一的標準疾病診斷術語。

1 資料來源與方法

1.1 資料來源

本研究資料來源于北京市城鎮職工基本醫療保險系統數據庫,以2018年上半年北京市22家三甲醫院上報的門診疾病診斷數據作為研究對象,以國家醫保局發布的ICD-10為標準,從原始診斷數據中清洗整理出783364條臨床使用不規范的疾病診斷數據。

1.2 研究方法

應用Python 3.81對數據進行處理,處理過程為:數據清洗→訓練集和測試集選取→規則設置→基于模型規范化→產生映射。ICD-10作為我國疾病分類與編碼的國家標準,在住院病案的疾病診斷中應用廣泛[4-5]。本模型選取ICD-10中的三位碼、四位碼和六位碼及其診斷名稱作為疾病診斷名稱的標準化框架,同時擴充ICD-10中缺失的診斷分類(如:疾病的檢驗、疾病的檢查以及疾病的治療和手術操作等未具體分類的條目),應用基于“規則-貝葉斯機器學習-懲罰得分機制”的模型,將多樣化和不規范的疾病診斷名稱轉化為統一標準的疾病診斷術語。研究流程見圖1。

圖1 研究流程

1.2.1 規則設置。為減小在數據清洗過程中噪聲的影響和數據的丟失,本模型設置了相應的處理規則,用于提高模型的穩定性和效率值。

①停用詞設置。停用詞是指文本中的副詞、連詞、介詞和語氣助詞以及一些沒有實際意義或與訓練數據無關的詞匯。停用詞設置用于將與疾病診斷術語無關的詞匯過濾掉,減少噪聲的產生。本模型以《哈工大停用詞表》為基礎,根據疾病診斷名稱的特點進行了相應調整,剔除了部分疾病相關詞匯,同時添加了部分與疾病無關的干擾詞匯。

②同義詞映射詞典設置。同義詞映射主要是將含義相同但表現形式不同的術語映射到統一規定的術語上面。同義詞映射詞典的設置是一個不斷迭代的過程,詞典的初步設置為:術語映射(如俗名映射到通用名)、數字映射(如漢字形式的數字、羅馬數字、全角數字以及半角數字等映射到阿拉伯數字上面)、解剖部位映射等。

③特殊符號過濾。特殊符號主要指文本中的各類分隔符和連接符,如標點符號(“,”、“?!薄?”等)和一些無實際意義的分隔符(“空格”、“|”等)以及一些其他符號(“*”、“★”等)。在過濾符號的同時,“?”、“+”、“-”分別表示對疾病的懷疑、陽性和陰性,是需要保留的符號。

④權重詞表設置。本模型將部分疾病診斷名稱中相關字或詞進行了加權表示,提高了該字或詞的匹配權重,用以提高模型標準化的準確率。

⑤分詞詞典設置。本模型選用的分詞模塊為結巴(jieba)分詞模塊,并在分詞模塊中引入清華大學整理的《醫學專業術語詞典》作為分詞詞典,從而提高模型分詞過程的效率。

1.2.2 機器學習模型設置。本研究選用的機器學習模型為貝葉斯模型,并在其基礎上添加了懲罰得分機制。本模型首先通過預先定義的詞表將輸入中出現的特殊字符與符號轉化為漢字,刪除和替換無有效信息的文字;然后通過貝葉斯機器學習模型尋找出與輸入文本相似的100個疾病名稱作為候選答案;最后,通過正向和反向雙向匹配機制和前后一致性判別等評價規則篩選評分最高的疾病名稱作為輸出結果。該模型的特點為:訓練速度快,準確率高,可遷移性強。

(1)

(2)

因此,權重便可通過隨機搜索算法如蒙特卡羅、遺傳算法等得到。

1.2.3 訓練集和測試集。①訓練集。該模型選用的訓練集為疾病診斷名稱的標準化模板,即ICD-10中的標準疾病描述和擴充的部分疾病檢查、檢驗和手術治療措施等的描述。訓練集處理:將訓練集進行向量化,采用one-hot-representation向量表示法,將訓練集進行1-gram切分,去重后得到一個含有所有疾病相關表述的單個字的集合,同時對訓練集進行再分詞(運用的詞典為jieba分詞詞典),得到一個分詞后的集合,將這兩個集合合并成一個集合。然后,將其向量化成一個詞向量矩陣。這樣做既保留了文本的部分語義特征,又能做單個字符之間的相似度計算。②測試集。對783364條不規范的疾病診斷名稱進行清洗,主要包含運用醫學專用的切詞詞典進行切詞,將多疾病診斷的名稱進行切分,同時對非疾病術語進行過濾,最后經過去重一共得到220258條非標準化疾病診斷名稱。從中隨機抽取5個樣本,每個樣本含有1000條疾病診斷術語,分別用該模型進行規范化和統一化處理,最后請專業的醫務人員對處理結果進行逐一檢查,并做相應的統計。

1.2.4 評價指標。由于隨機抽取的疾病樣本仍然帶有部分與疾病診斷名稱無關的詞匯,如一些用藥、醫院信息等,影響了標準化的結果,故將標準化的結果用表1表示。

表1 訓練集結果分類

模型選取的評價指標有3個,準確率P、召回率R和綜合評價指標F,如下表示。

(3)

(4)

(5)

其中,ca表示模型在測試集中能夠識別和轉化為規范化疾病的個數,cb表示在訓練集中轉化為錯誤疾病名稱的個數,cn表示在訓練集中能夠分離出去的非疾病名稱個數,nn表示在訓練集中不能分離和歸類的非疾病名稱個數。準確率P表示模型能正確處理非標準化疾病診斷名稱的能力,P值越大,模型標準化的準確率越高;召回率R表示模型能處理疾病名稱診斷的維度,R值越大,模型可處理的疾病診斷名稱維度越大,非疾病術語產生的噪聲越??;F值則是模型綜合表現能力的體現。

2 結果

2.1 準確率P、召回率R和綜合評價指標F

邀請專業人員對結果進行逐一審核,然后進行統計分析,對結果進行比較,見圖2。

圖2 規范化結果比較

5個樣本的規范化疾病診斷名稱數量最多的為894個,最低的為829個,平均為865.4個;準確率最高為96.24%,最低為93.66%,平均為95.00%,說明在不規范的疾病診斷名稱中,95.00%的疾病名稱可以通過模型轉化為統一規范的標準疾病術語,并能與ICD-10產生映射關系;召回率R最高為95.72%,最低為88.66%,平均為92.65%,說明在樣本的標準化結果中,疾病術語占92.65%,仍有7.35%的無關詞匯沒有被過濾掉,非疾病術語的影響不可忽視;F值最高為95.56%,最低為91.35%,均值為93.79%,說明模型的綜合效能為93.79%。

2.2 字形相近的疾病診斷名稱規范化

在疾病診斷名稱規范化的結果中,本研究提出的模型能夠有效解決疾病診斷描述由于個別字符不一致的多對一問題,將多樣化的疾病描述歸一化為統一標準的疾病描述,并和ICD-10形成相應的映射關系,見表2。

表2 因字詞不一致的規范化(樣例)

其中,“左肺下部腺癌”為明顯的不規范疾病診斷描述,通過模型規范化為“左肺下葉惡性腫瘤”,并與ICD-10中的相關疾病描述形成映射;其次,“不全流產”“變態反應接觸性皮炎”“糖尿病周圍神經痛”“多發壓瘡”“齲齒”“二尖瓣狹窄關閉不全”等均屬于相對規范的診斷描述,但是為了使計算機有效進行批量識別和編譯,本模型通過詞向量的學習匹配原理將其進行了歸一化處理,并與其ICD-10編碼一一對應。

2.3 多樣性的疾病診斷名稱規范化

名稱的多樣性問題主要為學名和俗名、英文命和中文命、簡寫和全寫的轉化問題,本研究以ICD-10中的疾病名稱為模板,將簡寫、俗名、英文名以及英文簡寫均轉為ICD-10中的標準疾病描述。見表3。

表3 多樣性的疾病診斷名稱規范化(樣例)

其中,“冠心病”和“上感”在醫院的疾病診斷名稱中非常常見,經過模型歸一化之后分別與ICD-10中的“冠狀動脈粥樣硬化性心臟病”、“急性上呼吸道感染”相互對應;“AECOPD”和“PSVT”分別為“慢性阻塞性肺病伴有急性加重”和“陣發性室上性心動過速”的英文縮寫;“大脖子病”和“大骨節病”則是相對常見的俗稱表示。針對這些由簡寫、俗稱以及英文表述等引起的多樣化疾病表述,采用規則表結構進行術語轉換,將這些多樣性的疾病表述轉化為統一標準的疾病術語。

2.4 不易分類的疾病診斷名稱規范化

在疾病診斷描述中,有一部分疾病描述在ICD-10中不易分類,或者很難歸一到ICD-10里面的某一個疾病,這些診斷描述可能是一項檢查、某種疾病的預防或者一些常規護理操作等。根據這些診斷的描述特點添加了部分自定義分類,專門解決不易分類的診斷描述問題。見表4。

表4 不易分類的疾病規范化(樣例)

其中,主要涉及一些非確切疾病的描述,針對這些描述的特點和可能引發的相關疾病對ICD-10進行了相關內容的擴充,用以解決多樣化的疾病檢查、疾病預防以及一些身體部位的相關護理等診斷描述的規范化問題。

3 討論

3.1 本研究的創新性

目前,基于計算機來進行疾病診斷名稱規范化的研究相對較少,疾病診斷名稱規范化主要依靠人力完成,而提高規范化效率的方法主要是對臨床醫師和病案整理人員進行相關的專業技能培訓,以減少病案書寫和整理過程中不規范現象的發生[6],從而提高臨床診斷的科學性和實用性[7]。但是,由于門診壓力和工作量的影響,臨床診斷名稱的書寫質量難以保持在相同的質量水平。本研究嘗試運用計算機的方法來解決疾病診斷名稱不規范的問題,為疾病診斷名稱的批量規范化和實時規范化提供了可以借鑒的思路。

3.2 本研究的科學性

在已有研究中,基于語義相似度進行疾病診斷名稱規范化的研究準確率最高為90%左右[8],結果的準確率很難滿足大批量文本處理的需求,而且并不能解決不宜分類的問題,仍需要進行長時間的人工審核來糾正錯誤。本研究通過貝葉斯模型自學習加權,并且添加同義詞映射詞表和ICD-10擴充詞表,有效解決了疾病診斷名稱不規范化常見的三類問題:字形相近問題、名稱多樣問題以及不宜分類問題,并且模型的準確率達到95.00%,綜合效能達到了93.79%,滿足了大批量疾病診斷名稱標準化的需求。此外,本模型所用的詞典設置均為開放型,每進行一次迭代,模型的效率都會相應提高。

3.3 本研究的實用性

本研究通過機器學習的方法有效解決了疾病診斷名稱不規范的常見問題,可以將門診中出現的絕大多數不規范疾病名稱轉化為疾病術語,并與標準的術語表形成映射。由于互聯網醫療和DRG的不斷發展,疾病編碼的重要性越來越高[7],建立臨床常用疾病診斷編碼庫也是大勢所趨[9]。臨床常用疾病診斷編碼庫,即臨床常見疾病診斷名稱與ICD形成的映射關系庫,能夠有效提高病案首頁的編碼效率和質量,推動病種統計和醫教研管理工作的發展[10-11]。本研究提出的方法不僅可以高效建立疾病診斷編碼庫,節省了醫技人員的大量時間,同時為門診處方的批量審核提供了技術支持。

3.4 本研究的局限性

3.4.1 數字的規范化問題。當涉及一些具體數字的疾病診斷描述時,如“體表燒傷25%”“孕25+周”等疾病診斷描述,這些數字在規范化的過程中需要轉化為一個數字范圍,但是由于數字的多樣性和不敏感性,可能導致結果出現相應的誤差。

3.4.2 方位詞和解剖部位詞的規范化問題。比如:“右手第五掌骨閉合性骨折腱Ⅲ區斷裂,指神經斷裂”在規范化的過程中將其他信息遺漏,最后規范化為“手骨折”。所以,當涉及一些復雜的解剖部位的疾病診斷描述時,在疾病診斷名稱統一規范化的過程中可能會把解剖部位遺漏或者只保留了粗分類,造成疾病信息的丟失。

4 建議

4.1 強化培訓,完善考核

應加強醫師培訓,提高醫師在門診疾病診斷名稱使用的規范性。同時,需要完善相關績效考核機制,尤其是與門診處方質量和病案首頁質量相關的績效考核。只有基于內在知識的提升和外在機制的約束,才能有效提高疾病診斷名稱的規范化程度。

4.2 建立標準術語庫,完善編碼體系

完善疾病診斷名稱的標準化詞庫,細化ICD編碼體系,提高ICD編碼的實用性。標準化的疾病診斷名稱術語庫是互聯網醫療的基礎,同樣也是醫療信息化的過程??梢詫⑴R床醫師常用的疾病相關術語進行整理,建立一套標準術語庫,并進行編碼,或者以ICD為基礎進行擴編,盡可能囊括各類常見術語和醫師常用術語[12-13]。術語庫的迭代過程,也是規范化、信息化的推進過程。

猜你喜歡
疾病診斷分詞術語
肺功能檢查在慢性阻塞性肺疾病診斷及治療中的臨床意義
分詞在英語教學中的妙用
超高頻超聲在淺表器官疾病診斷中的應用
結巴分詞在詞云中的應用
結巴分詞在詞云中的應用
中國醫保支付改革的探索與反思:以按疾病診斷組(DRGs)支付為案例
CD10表達在滋養葉細胞疾病診斷中的臨床意義
有感于幾個術語的定名與應用
從術語學基本模型的演變看術語學的發展趨勢
聚焦現在完成進行時
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合