任晉宇 白琳 鐘華
摘要:目的? 研究和開發(fā)輔助中醫(yī)醫(yī)生診療的中醫(yī)輔助診療推薦系統(tǒng)。方法? 以中醫(yī)歷史病案數(shù)據(jù)為基礎(chǔ),利用數(shù)據(jù)挖掘技術(shù)和度量學(xué)習(xí)技術(shù)挖掘、整理中醫(yī)診療經(jīng)驗(yàn)知識,建立病案相似度計(jì)算方法,設(shè)計(jì)中醫(yī)輔助診療推薦系統(tǒng)功能框架并開發(fā)應(yīng)用系統(tǒng)。結(jié)果? 設(shè)計(jì)并構(gòu)建了中醫(yī)輔助診療推薦系統(tǒng),在四診識別階段為醫(yī)生推薦候選癥狀,在辨證論治階段為醫(yī)生推薦診療方案,從而輔助經(jīng)驗(yàn)不足的醫(yī)生診療。結(jié)論? 該系統(tǒng)可以在臨床實(shí)踐中輔助醫(yī)生診療,從而降低中醫(yī)傳承難度、改善中醫(yī)傳承模式,更好地發(fā)展和利用中醫(yī)藥。
關(guān)鍵詞:中醫(yī)輔助診療;推薦系統(tǒng);數(shù)據(jù)挖掘;度量學(xué)習(xí)
中圖分類號:TP311.5;R241? ? 文獻(xiàn)標(biāo)識碼:A? ? 文章編號:2095-5707(2021)03-0001-05
DOI: 10.3969/j.issn.2095-5707.2021.03.001? ? ? ? 開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
Design and Implementation of TCM Auxiliary Diagnosis and Treatment Recommendation System
REN Jin-yu, BAI Lin*, ZHONG Hua
(Institute of Software Chinese Academy of Sciences, Beijing 100190, China)
Abstract: Objective To research and develop a TCM auxiliary diagnosis and treatment recommendation system. Methods Based on TCM historical medical record data, this article established a method for calculating the similarity of medical records, designed the functional framework of TCM auxiliary diagnosis and treatment recommendation system, and developed the application system by using data mining technology and metric learning technology to mine and sort out the experience and knowledge of TCM diagnosis and treatment. Results A TCM auxiliary diagnosis and treatment recommendation system was built, which could recommend symptoms for doctors in the process of TCM four diagnostic methods, and recommend diagnosis and treatment plans for doctors in the stage of syndrome differentiation and treatment, so as to assist inexperienced doctors in diagnosis and treatment. Conclusion The system can assist TCM diagnosis and treatment in clinical practice, so as to reduce the difficulty of TCM inheritance, improve TCM inheritance model, and better develop and use TCM.
Key words: TCM auxiliary diagnosis and treatment; recommendation system; data mining; metric learning
中醫(yī)學(xué)是現(xiàn)代醫(yī)療體系不可或缺的一部分。中醫(yī)診療過程可概括為2個階段:四診識別階段和辨證論治階段。在四診識別階段,醫(yī)生通過望、聞、問、切獲得患者的四診信息,從而了解患者身體狀況。在辨證論治階段,醫(yī)生根據(jù)得到的四診信息結(jié)合診療經(jīng)驗(yàn)辨別患者證候,從而做出診斷和提出治法。整個診療過程以辨證論治理念為診斷依據(jù),診療結(jié)果依賴醫(yī)生個人經(jīng)驗(yàn),不確定的經(jīng)驗(yàn)知識較多,傳承難度大。同時,中醫(yī)臨床實(shí)踐中也存在一些現(xiàn)象,如無證可辨、矛盾癥狀等,給經(jīng)驗(yàn)不足的醫(yī)生造成困難和挑戰(zhàn),缺乏診療經(jīng)驗(yàn)可能導(dǎo)致其在四診階段不能全面獲取患者身體狀況信息;不同的辨證體系及多種不確定的經(jīng)驗(yàn)診斷模式可能讓其感到無所適從,導(dǎo)致診療方案療效欠佳。因此,結(jié)合大數(shù)據(jù)和人工智能相關(guān)技術(shù)研發(fā)診療輔助性的系統(tǒng)工具,幫助診療經(jīng)驗(yàn)較少的醫(yī)生顯得尤為重要。本文提出一種中醫(yī)輔助診療推薦系統(tǒng),以蘊(yùn)含了醫(yī)生診療經(jīng)驗(yàn)的中醫(yī)歷史病案數(shù)據(jù)為基礎(chǔ),利用數(shù)據(jù)挖掘技術(shù)和度量學(xué)習(xí)技術(shù)對中醫(yī)歷史病案數(shù)據(jù)進(jìn)行多維度挖掘和度量,得到癥狀、證候、治則、方劑等多維中醫(yī)藥特征的關(guān)聯(lián)關(guān)系及患者、病案間的相似關(guān)系,并基于此為醫(yī)生提供輔助診療支持。在四診階段,推薦與當(dāng)前患者刻下癥相關(guān)聯(lián)的、可能存在的其他癥狀,提示醫(yī)生進(jìn)一步完善患者的四診結(jié)果;在辨證論治階段,推薦與當(dāng)前患者相似的其他患者的歷史病案信息,為醫(yī)生對當(dāng)前患者的辨證論治提供可參考的診療方案。
1? 研究背景
近年來互聯(lián)網(wǎng)、人工智能和大數(shù)據(jù)相關(guān)技術(shù)飛速發(fā)展,這些技術(shù)應(yīng)用到中醫(yī)領(lǐng)域能夠推動中醫(yī)現(xiàn)代化發(fā)展[1]、改善中醫(yī)傳承模式、提升中醫(yī)臨床服務(wù)能力[2],成為重要的研究方向。劉偉等[3]研發(fā)了中藥種質(zhì)資源信息系統(tǒng),實(shí)現(xiàn)中藥種質(zhì)資源的信息化管理,挖掘中藥數(shù)據(jù)中潛在的規(guī)律和模式,具有重要的實(shí)用價值。劉健等[4]基于反向傳播算法構(gòu)建了面向大數(shù)據(jù)的高血壓中醫(yī)專家診療系統(tǒng),該系統(tǒng)針對高血壓病辨證治療的準(zhǔn)確率達(dá)95%以上。王倩等[5]基于云平臺Hadoop構(gòu)建中醫(yī)數(shù)據(jù)挖掘系統(tǒng),通過數(shù)據(jù)挖掘獲取中醫(yī)藥中的潛在信息,從而實(shí)現(xiàn)中醫(yī)輔助診斷。盧朋等[6]綜合人工智能、數(shù)據(jù)挖掘、網(wǎng)絡(luò)科學(xué)等開發(fā)了中醫(yī)傳承輔助系統(tǒng)軟件,并廣泛用于中醫(yī)領(lǐng)域的用藥規(guī)律分析[7-10]。
數(shù)據(jù)挖掘是在數(shù)據(jù)集中發(fā)現(xiàn)并提取隱藏在其中的模式信息的一種技術(shù)。目前數(shù)據(jù)挖掘已經(jīng)廣泛應(yīng)用于中醫(yī)藥領(lǐng)域[11],主要應(yīng)用在中醫(yī)證候研究、中藥研究、方劑研究、名醫(yī)名家用藥規(guī)律研究等方面。雷蕾等[12]采用數(shù)據(jù)挖掘的方法分析名老中醫(yī)在治療慢性腎衰竭時的組方規(guī)律;張玉嬌等[13]通過循證方法評價數(shù)據(jù)挖掘在中藥藥性研究中的應(yīng)用;彭琳[14]以100種常用藥方為基礎(chǔ),采用K近鄰算法研究中藥用藥規(guī)律與治療效果的關(guān)聯(lián)性;Ye等[15]應(yīng)用Apriori算法研究失眠癥狀和中藥用藥的關(guān)系。
患者相似性分析也是醫(yī)案數(shù)據(jù)再利用中的重要研究內(nèi)容,即根據(jù)2個患者的歷史病案信息判斷其相似程度,獲得患者相似性度量[16]?;诨颊呦嗨菩裕蔀闄z索相似患者構(gòu)建候選集,從而輔助診斷?;颊呦嗨菩苑治龊蜋C(jī)器學(xué)習(xí)方法的結(jié)合逐漸成為相關(guān)研究的熱點(diǎn)之一。Ni等[17]利用病案診斷標(biāo)簽之間的公共前綴長度計(jì)算相似度,再通過神經(jīng)網(wǎng)絡(luò)得到患者的向量表示,最后通過四元組損失訓(xùn)練得到距離度量。Zhang等[18]基于中文電子病歷構(gòu)建醫(yī)學(xué)術(shù)語詞典,精確分割電子病歷并建立特征向量,最后用半監(jiān)督的聚類方法判斷患者之間的相似度。
2? 系統(tǒng)核心功能
基于中醫(yī)歷史病案數(shù)據(jù)及數(shù)據(jù)挖掘等多種信息技術(shù)設(shè)計(jì)了中醫(yī)診療方案推薦系統(tǒng),主要包含候選癥狀推薦及辨證論治方案推薦兩大功能。針對經(jīng)驗(yàn)淺的醫(yī)生在四診階段獲取患者信息不全面的問題,本系統(tǒng)基于挖掘得到的經(jīng)驗(yàn)診斷模式,可根據(jù)醫(yī)生錄入的四診結(jié)果(即患者的刻下癥),推薦與之高度關(guān)聯(lián)的、可能存在的其他癥狀給醫(yī)生,提示醫(yī)生進(jìn)一步詢問患者,從而幫助其更全面地獲取患者身體狀況信息。此外,本系統(tǒng)基于中醫(yī)病案相似性度量方法,從歷史病案數(shù)據(jù)中找出與當(dāng)前患者狀況最為相似的一個或多個病案(包括患者的診斷、治則治法、方劑等),從而為醫(yī)生在辨證論治階段對患者做出診斷和給出診療方案提供參考。
3? 系統(tǒng)架構(gòu)設(shè)計(jì)
基于醫(yī)案挖掘的中醫(yī)診療方案推薦系統(tǒng)采用瀏覽器和服務(wù)器(Browser/Server,B/S)結(jié)構(gòu),分為線下挖掘訓(xùn)練模塊和線上推薦模塊兩部分。系統(tǒng)通過RESTful API的方式向前端用戶交互提供服務(wù),主要包括候選癥狀推薦、診療方案推薦兩大推薦服務(wù)模塊,系統(tǒng)組織架構(gòu)見圖1。
3.1? 基于圖數(shù)據(jù)挖掘的候選癥狀推薦模塊
在向醫(yī)生推薦候選癥狀時,首先要獲取中醫(yī)歷史病案數(shù)據(jù)中蘊(yùn)含的經(jīng)驗(yàn)診斷模式,構(gòu)建模式庫,再結(jié)合系統(tǒng)的輸入(即當(dāng)前患者的刻下癥)與模式庫中的經(jīng)驗(yàn)診斷模式推薦候選癥狀。
3.1.1? 數(shù)據(jù)挖掘模塊? 中醫(yī)歷史病案數(shù)據(jù)中包含癥狀、證候、治則、方劑等多個維度的特征,且各種特征間關(guān)系復(fù)雜,所以采用圖數(shù)據(jù)結(jié)構(gòu)對病案數(shù)據(jù)建模[19],并采用頻繁子圖挖掘算法挖掘各種特征間的關(guān)聯(lián)關(guān)系。由于不同的特征類型代表不同的含義,并且其值域分布大不相同,所以本模塊擴(kuò)展了傳統(tǒng)的頻繁子圖挖掘算法,設(shè)計(jì)了多支持度的頻繁子圖挖掘算法。見圖2。
在中醫(yī)歷史病案數(shù)據(jù)中,利用上述算法進(jìn)行數(shù)據(jù)挖掘,可得到代表中醫(yī)診療經(jīng)驗(yàn)的經(jīng)驗(yàn)診斷模式,如圖3所示。經(jīng)驗(yàn)診斷模式以證候?yàn)楹诵模嗽撟C候相關(guān)的典型癥狀、慣用治則與經(jīng)典方劑等信息。其中,support為相關(guān)癥狀/治則/方劑在當(dāng)前模式的支持度,patternSupport為當(dāng)前模式在整個病案集上的支持度。support和patternSupport在一定程度上反映了模式中的特征及模式本身的重要程度。
3.1.2? 候選癥狀推薦模塊? 本模塊分為召回子模塊和排序子模塊。召回子模塊結(jié)合系統(tǒng)輸入(即患者的刻下癥)與模式庫中的經(jīng)驗(yàn)診斷模式計(jì)算各模式的匹配度大小并對匹配度進(jìn)行排序,最后選出匹配度最高的m個模式,如公式⑴與⑵所示。
N代表輸入的刻下癥集合,Ni代表第i個模式的癥狀信息集合,Wi代表輸入的刻下癥與第i個模式的匹配度。對模式庫中的模式按照匹配度Wi大小降序排序,得到列表L,其中匹配度最高的模式為L1,其次為L2,以此類推。
排序子模塊進(jìn)一步計(jì)算m個模式中所含的每一個癥狀與刻下癥N的關(guān)聯(lián)度,最后按照癥狀關(guān)聯(lián)度大小排序并推薦關(guān)聯(lián)度最高的部分癥狀,計(jì)算癥狀關(guān)聯(lián)度的方法如公式⑶所示。
Ed代表癥狀d的關(guān)聯(lián)度,sdj代表癥狀d在模式Lj中的支持度,Wj代表模式Lj的匹配度,sj代表模式Lj的總體支持度。
3.2? 基于相似病案的診療方案推薦模塊
本模塊通過有監(jiān)督的度量學(xué)習(xí)算法學(xué)習(xí)病案間的相似性度量函數(shù),然后以此函數(shù)判定當(dāng)前患者信息(包括年齡、性別等基本信息及刻下癥等)與歷史病案的相似性,選擇最相似的一部分病案推薦給醫(yī)生供其參考。
3.2.1? 相似歷史病案標(biāo)注模塊? 本系統(tǒng)采用有監(jiān)督的度量學(xué)習(xí)算法,以兩病案間是否相似為監(jiān)督信息,學(xué)習(xí)病案的相似性度量函數(shù),采用模擬計(jì)算的方式獲取病案是否相似的監(jiān)督信息。對于歷史病案數(shù)據(jù)中證候、治法、方劑、中藥組成四大類特征,分別計(jì)算Jaccard系數(shù),最后將所有Jaccard系數(shù)求平均值作為兩病案的相似度??紤]到中醫(yī)歷史病案中同一患者證候特征及治法特征下的多個值之間有主次之分,所以在計(jì)算Jaccard系數(shù)時,次級證候與次級治法權(quán)重遞減。
對于病案證候與治法特征采用公式⑷~⑹計(jì)算,其中,Dit與Djt分別代表病案Di與病案Dj在特征t下的特征值集合,wp代表集合中的第p個值,Dit∩Djt代表兩集合的交集,Dit∪Djt代表兩集合的并集,Jt代表病案Di與病案Dj在特征t下計(jì)算所得Jaccard系數(shù),對于方劑與中藥組成特征采用傳統(tǒng)Jaccard系數(shù)計(jì)算法計(jì)算,similarity (Di,Dj)代表病案Di與病案Dj最終的相似度。
經(jīng)過本模塊的計(jì)算,能夠得到具有監(jiān)督信息的數(shù)據(jù)集,即多個病案組{Di,Dj,lij},每個病案組內(nèi)的病案之間滿足公式⑺。其中,lij=1,代表病案Di與Dj相似;lij=0,代表病案Di與Dj不相似。
3.2.2? 度量學(xué)習(xí)模塊? 本模塊利用度量學(xué)習(xí)技術(shù)學(xué)習(xí)2個病案之間的距離度量函數(shù),距離越近則認(rèn)為這2個病案越相似。
首先將病案Di中文本形式的癥狀特征經(jīng)過one-hot編碼轉(zhuǎn)化為原始向量Did,再將原始向量Did通過線性變換L映射到一個新的空間,在該空間中計(jì)算2個病案之間的距離d (Di,Dj),如公式⑻所示。
令M=LT·L,則公式⑻等價于公式⑼,其中M即為下一步通過優(yōu)化損失函數(shù)所求度量矩陣。
最后采用公式⑽中的損失函數(shù)作為模塊整體的優(yōu)化目標(biāo),其中dij=d (Di,Dj)。在訓(xùn)練過程中,使相似病案在向量空間中的距離變小,不相似病案在向量空間中的距離變大,最終得到度量矩陣M。
3.2.3? 診療方案推薦模塊? 通過度量學(xué)習(xí)模塊學(xué)習(xí)病案數(shù)據(jù)的度量矩陣M后,對于新的患者便能夠利用矩陣M計(jì)算該患者與現(xiàn)有的中醫(yī)歷史病案之間的相似度,最后選取Top k個與該患者最相似的歷史病案(包括證候、治則、方劑等診療信息)供醫(yī)生參考。
4? 小結(jié)
本中醫(yī)輔助診療推薦系統(tǒng)先利用數(shù)據(jù)挖掘技術(shù)挖掘隱含在中醫(yī)歷史病案中的經(jīng)驗(yàn)診斷模式,然后借助挖掘得到的模式將其中的癥狀信息與患者的刻下癥進(jìn)行匹配,并將模式中匹配關(guān)聯(lián)度最高的若干癥狀作為當(dāng)前患者可能存在的其他癥狀推薦給醫(yī)生,提示醫(yī)生進(jìn)一步完善和補(bǔ)充患者四診信息。此外,系統(tǒng)還利用度量學(xué)習(xí)技術(shù)學(xué)習(xí)病案間相似性度量函數(shù),利用該函數(shù)計(jì)算當(dāng)前患者與歷史病案之間的相似度,最后基于相似病案為醫(yī)生推薦個性化的診療方案,從而幫助經(jīng)驗(yàn)不足的中醫(yī)醫(yī)生克服其在實(shí)踐中遇到的困難。
本文設(shè)計(jì)實(shí)現(xiàn)的中醫(yī)輔助診療推薦系統(tǒng)面向中醫(yī)診療過程中四診識別和辨證論治2個階段,分別提供了候選癥狀推薦和診療方案推薦兩大輔助診療功能,可有效補(bǔ)全四診結(jié)果,為進(jìn)一步辨證論治提供豐富的辨證依據(jù);同時,利用患者、病案間的相似性,推薦相似病案的診療信息,為醫(yī)生開展個性化辨證論治提供有價值的個體病案參考。今后,該系統(tǒng)將結(jié)合經(jīng)驗(yàn)診斷模式中的治則、方劑等信息,進(jìn)一步優(yōu)化相似病案推薦算法,提高算法性能和效率,進(jìn)而提高系統(tǒng)輔助診療能力。
參考文獻(xiàn)
[1] 崔驥,許家佗.人工智能背景下中醫(yī)診療技術(shù)的應(yīng)用與展望[J].第二軍醫(yī)大學(xué)學(xué)報(bào),2018,39(8):846-851.
[2] 陳辛畋,阮春陽,于觀貞,等.融“古”貫“今”,構(gòu)建智慧中醫(yī)新體系[J].第二軍醫(yī)大學(xué)學(xué)報(bào),2018,39(8):826-829.
[3] 劉偉,丁長松,梁楊.中藥種質(zhì)資源信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國中醫(yī)藥信息雜志,2017,24(5):5-7.
[4] 劉健,蔣衛(wèi)民,沈?qū)m建.面向大數(shù)據(jù)的高血壓中醫(yī)專家診療系統(tǒng)構(gòu)建及應(yīng)用[J].中國中醫(yī)藥圖書情報(bào)雜志,2019,43(5):5-9.
[5] 王倩,石艷敏,史春暉,等.基于云平臺Hadoop的中醫(yī)數(shù)據(jù)挖掘系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2018,35(10):45-48,79.
[6] 盧朋,李健,唐仕歡,等.中醫(yī)傳承輔助系統(tǒng)軟件開發(fā)與應(yīng)用[J].中國實(shí)驗(yàn)方劑學(xué)雜志,2012,18(9):1-4.
[7] 范元赫,楊永菊,關(guān)雪峰.基于中醫(yī)傳承輔助系統(tǒng)分析骨質(zhì)疏松組方用藥規(guī)律[J].遼寧中醫(yī)藥大學(xué)學(xué)報(bào),2020,22(9):201-205.
[8] 李鶴,謝亞娟,厲啟芳,等.基于中醫(yī)傳承輔助系統(tǒng)分析中醫(yī)藥治療肝脾不調(diào)證潰瘍性結(jié)腸炎的用藥規(guī)律[J].中國醫(yī)藥,2020,15(10):1580-1584.
[9] 黃盛,祁爍,李會龍,等.基于中醫(yī)傳承輔助系統(tǒng)治療甲狀腺結(jié)節(jié)用藥規(guī)律分析[J].世界中醫(yī)藥,2020,15(7):1025-1029.
[10] 宋洋,楊仁義,周德生,等.基于GEO數(shù)據(jù)與中醫(yī)傳承輔助系統(tǒng)分析氣虛血瘀型腦梗死的中醫(yī)藥防治策略[J/OL].世界中醫(yī)藥[2021-01-23]. http://kns.cnki.net/kcms/detail/11.5529.R.20201102.1145.010.html.
[11] 封繼宏,張鵬宇.數(shù)據(jù)挖掘在現(xiàn)代中醫(yī)藥研究中的應(yīng)用進(jìn)展[J].中國醫(yī)藥導(dǎo)報(bào),2020,17(13):54-57.
[12] 雷蕾,駱言,任靜,等.基于數(shù)據(jù)挖掘?qū)χ嗅t(yī)治療慢性腎衰竭組方規(guī)律的分析[J].中成藥,2019,41(12):3079-3082.
[13] 張玉嬌,章新友,談榮珍,等.基于循證的中藥藥性判別數(shù)據(jù)挖掘方法評價[J].中華中醫(yī)藥雜志,2019,34(3):1223-1226.
[14] 彭琳.基于數(shù)據(jù)挖掘的中醫(yī)藥治療效果與用藥規(guī)律關(guān)聯(lián)性分析[J].科技通報(bào),2019,35(1):77-81.
[15] YE Y, XE B, MA L, et al. Research on treatment and medication rule of insomnia treated by TCM based on data mining[C]// 2019 IEEE International Conference on Bioinformatics and Biomedicine (BIBM). San Diego, 2019:2503-2508.
[16] 王妮,黃艷群,劉紅蕾,等.基于半監(jiān)督學(xué)習(xí)的患者相似性度量研究[J].北京生物醫(yī)學(xué)工程,2020,39(2):152-157.
[17] NI J Z, LIU J, ZHANG C X, et al. Fine-grained patient similarity measuring using deep metric learning[C]// Association for Computing Machinery. 2017 ACM on Conference on Information and Knowledge Management (CIKM). New York, 2017:1189-1198.
[18] ZHANG J, CHANG D. Semi-supervised patient similarity clustering algorithm based on electronic medical records[J]. IEEE Access, 2019(7):90705-90714.
[19] YAN X F, YU P, HAN J W. Graph indexing: a frequent structure-based approach[C]// Association for Computing Machinery. Proceedings of the 2004 ACM SIGMOD International Conference on Management of Data (SIGMOD04). New York, 2004:335-346.
(收稿日期:2021-03-05)
(修回日期:2021-03-27;編輯:鄭宏)