迪盼祺,夏春明,2**,王憶勤,高 慧,許朝霞
(1. 華東理工大學(xué)機械與動力工程學(xué)院 上海 200237;2. 上海工程技術(shù)大學(xué)機械與汽車工程學(xué)院 上海 201620;3. 上海中醫(yī)藥大學(xué)上海市健康辨識與評估實驗室 上海 201203)
問診作為傳統(tǒng)中醫(yī)“望、聞、問、切”四診的重要診斷方式之一,通常指醫(yī)生通過與患者或陪診者直接進行有目的的對話以獲取信息,在臨床病癥診斷中起著非常重要的作用,被視為“診病之要領(lǐng),臨證之首務(wù)”。富有經(jīng)驗的醫(yī)生往往通過幾個簡單的問題,可以對疾病做出初步判斷甚至準(zhǔn)確診斷,而初級醫(yī)師則需要結(jié)合更多的信息才可以做出比較合理的判斷。與其他診法相比,運用人工智能技術(shù)對傳統(tǒng)中醫(yī)問診進行系統(tǒng)化、智能化、規(guī)范化的研究具有更高的可行性和重要應(yīng)用價值。
相對于易受環(huán)境因素及醫(yī)生主觀臆斷和臨床思維定勢影響的望、聞、切三診,問診所獲得的信息在形式上相對客觀[1]。但由于問診內(nèi)容易受醫(yī)患雙方的影響,具有一定的主觀性,醫(yī)師若要提高問診效率,需要額外掌握豐富的問診方法和溝通技巧[2],使得臨床診斷的門檻增高,因此需要進行問診規(guī)范化采集及建模方法的研究。目前,大量的科研工作者在規(guī)范化問診量表及問診辨證模型研究中做了大量的工作[3]。劉國萍等[4]對心系病證進行大量的文獻調(diào)研,經(jīng)過與專家多次研討以及反復(fù)臨床驗證,研制了中醫(yī)心系病癥的問診信息采集量表。王哲等[5]通過對抑郁癥病證信息進行臨床調(diào)查、條目分析及經(jīng)驗性篩選,研制了簡明抑郁癥中醫(yī)證候自評量表。許朝霞等[6]建立了基于隱結(jié)構(gòu)的心血管疾病中醫(yī)問診證候分類模型,該模型在定性與定量層面與中醫(yī)臨床實踐具有較好的一致性。一些學(xué)者應(yīng)用基于概率圖模型的機器學(xué)習(xí)算法,如貝葉斯網(wǎng)絡(luò)、條件隨機場,對慢性胃炎問診數(shù)據(jù)進行建模,研究結(jié)果與中醫(yī)理論基本一致[7,8]。文獻[9,10]利用基于統(tǒng)計學(xué)習(xí)的方法,如邏輯回歸和最大熵模型,進行肝硬化癥狀組合規(guī)律的研究和中醫(yī)證候的分類研究,對臨床疾病診斷具有一定的輔助作用。文獻[11,12]采用基于隨機森林、深度森林算法對慢性胃炎問診數(shù)據(jù)進行建模,能夠較好地解決多證候相兼的中醫(yī)辨證問題。
在中醫(yī)問診客觀化研究中,對于基于癥狀特征的證候分類研究已經(jīng)有了非常明顯的進展,但對于癥狀采集過程的研究進展仍比較緩慢,尤其是中醫(yī)問診過程中“問什么、怎么問”兩個核心問題的智能化研究。本文致力于解決問診過程智能化的兩個核心問題,構(gòu)建了基于物品協(xié)同過濾推薦算法的中醫(yī)智能問診系統(tǒng),對由心系問診量表采集的心系病證數(shù)據(jù)進行建模,將癥狀看作物品,問診過程看作物品推薦過程,實現(xiàn)從癥狀到癥狀的智能化問診。本系統(tǒng)根據(jù)從患者方得到的已知癥狀,針對性地對患者的潛在癥狀進行提問,通過幾輪簡單的問答,即可大致獲取該患者所患病證的核心癥狀,從而避開依據(jù)問診量表逐條記錄的繁瑣過程,提高問診效率,為中醫(yī)問診客觀化研究提供新的思路。
本課題的實驗數(shù)據(jù)采用上海中醫(yī)藥大學(xué)中醫(yī)四診綜合實驗室提供的通過問診量表采集的心系疾病中醫(yī)問診數(shù)據(jù)。問診量表是在參考主流期刊雜志上心系疾病相關(guān)文獻的基礎(chǔ)上制作的[13]。數(shù)據(jù)采集時間為2015年9月-2017年3月,數(shù) 據(jù) 來 源 包 括 上 海 中 醫(yī)藥大學(xué)附屬龍華醫(yī)院、曙光醫(yī)院和岳陽醫(yī)院等臨床病例,共收集1014 條數(shù)據(jù)。其中單證候病例261 例,雙證候病例359 例,兩個以上兼證病例394 例;其中患有心氣虛證候的病例數(shù)794 例,占總病例的78.3%,患有心陽虛的病例數(shù)222 例,患有心陰虛392 例,患有痰濁的病例數(shù)399 例,患有血瘀的病例數(shù)284 例。病例數(shù)據(jù)由具有中級職稱以上(或具有博士學(xué)位)的醫(yī)師根據(jù)量表進行癥狀的收集,記錄了包括寒熱、飲食口味等8 個維度的癥狀共計111 個特征,刪除一些個例特征之后剩余80個特征,并相應(yīng)的標(biāo)出每個病例對應(yīng)的證型。問診量表中癥狀和證型的有、無分別用1 和0表示,并將主要的心系疾病分為6個證型,分別為心氣虛、心陽虛、心陰虛、痰濁、血瘀、氣滯。采用詞袋模型對所有病例進行編碼,即首先根據(jù)所有癥狀和證候生成長度為117維的詞袋,當(dāng)某一癥狀或證候出現(xiàn)時,對應(yīng)位置為1,否則為0。例如病例甲患有心悸、咳痰等臨床癥狀,則病例甲在這些癥狀下的值為1,未出現(xiàn)心煩、畏寒等,則這些癥狀下的值為0;最終由醫(yī)師診斷該患者屬于心氣虛、痰濁、血瘀證型,則這些證型對應(yīng)的值為1;未出現(xiàn)的其他證型的值為0(表1),所有病例數(shù)據(jù)經(jīng)過處理后作為證候分類模型的癥狀-證型輸入向量。
表1 心系疾病數(shù)據(jù)格式
本文提出的智能問診系統(tǒng)整體流程(圖1):首先基于原始數(shù)據(jù)訓(xùn)練證候分類模型,然后將系統(tǒng)獲取到的癥狀輸入到分類模型中即可輸出診斷結(jié)果,在獲取癥狀時,本系統(tǒng)將已有的問診數(shù)據(jù)作為先驗知識對患者進行針對性的提問。
圖1 問診系統(tǒng)流程圖
推薦系統(tǒng)是一項個性化信息過濾技術(shù),其本身就是為了解決互聯(lián)網(wǎng)大數(shù)據(jù)背景下的信息過載問題而提出來的一種方法。推薦系統(tǒng)的關(guān)鍵在于推薦算法,目前推薦算法主要分為2 大塊,傳統(tǒng)推薦算法和基于深度學(xué)習(xí)技術(shù)的推薦算法[14]。傳統(tǒng)推薦算法主要分為以下3類:基于內(nèi)容的推薦算法、基于圖模型和基于鄰域的推薦算法。其中基于鄰域的推薦算法又分為基于用戶的協(xié)同過濾(User-Based Collaborative Filtering,UserCF)推薦算法[15]和基于物品的協(xié)同過濾(Item-Based Collaborative Filtering,ItemCF)推薦算法[16]?;谖锲返膮f(xié)同過濾推薦算法是目前研究和使用最廣泛的推薦算法之一[17]。依據(jù)神經(jīng)網(wǎng)絡(luò)基于深度學(xué)習(xí)的推薦方法主要分為4 類:基于深度神經(jīng)網(wǎng)絡(luò)的推薦方法、基于卷積神經(jīng)網(wǎng)絡(luò)的推薦方法、基于循環(huán)神經(jīng)網(wǎng)絡(luò)和長短期記憶神經(jīng)網(wǎng)絡(luò)的推薦方法、基于圖神經(jīng)網(wǎng)絡(luò)的推薦方法。深度學(xué)習(xí)技術(shù)具有較強的表征能力,抗噪能力等,但是由于問診客觀化前期積累的大量數(shù)據(jù)為量表化數(shù)據(jù),不利于深度學(xué)習(xí)模型建模,而傳統(tǒng)推薦系統(tǒng)是基于商場購物推薦發(fā)展起來的,因此對結(jié)構(gòu)化的數(shù)據(jù)能夠起到更好的擬合效果。比如,ItemCF是用于解決商場物品推薦所提出來的算法,而這類數(shù)據(jù)是由用戶-物品矩陣組成的購物籃數(shù)據(jù)(表2)。本文用于分析建模的中醫(yī)問診數(shù)據(jù)與購物籃數(shù)據(jù)形式上基本一致(后文中有數(shù)據(jù)樣式展示)。因此,采用相似的思想來分析中醫(yī)問診中的潛在癥狀。由于患者就診時,通過問診最初僅可以獲取到較少初始癥狀,無法根據(jù)有限的信息衡量患者之間的相似度,因此,本文采用基于物品的協(xié)同過濾推薦算法,將患者的癥狀看作物品,根據(jù)已有的問診數(shù)據(jù)計算癥狀之間的相似度,相似度的大小表征了癥狀關(guān)聯(lián)性的強弱,當(dāng)新患者問診時,即可根據(jù)其最初問答獲得的少數(shù)癥狀推斷可能的相似癥狀。
相似度計算是ItemCF 推薦算法實施過程中最關(guān)鍵的環(huán)節(jié)[18,19],常用的相似度計算方法有Pearson 相關(guān)系數(shù)和余弦相似性等。劉國萍等[20]在分析冠心病患者癥狀之間的關(guān)聯(lián)性時,提出了癥狀間關(guān)聯(lián)密度的概念,以此度量癥狀之間相關(guān)性符合中醫(yī)傳統(tǒng)理論和臨床實踐。其用癥狀共同出現(xiàn)的次數(shù)/單個癥狀在樣本中出現(xiàn)的次數(shù),用PFiFj表示癥狀Fi與Fj的關(guān)聯(lián)密度其采用如下公式計算:
但是該種計算方法會出現(xiàn)高頻癥狀與任何癥狀的關(guān)聯(lián)密度都很高,因此本文在分母中增加了對高頻癥狀的懲罰項,采用如下公式計算癥狀之間的關(guān)聯(lián)度(本文中癥狀相似度即為癥狀關(guān)聯(lián)度),其中α的取值通過遺傳算法尋優(yōu)得到。
其中,α∈[0.5,1],通過提高α懲罰高頻癥狀Fj,特別地,α取1時,即為公式(1)。
ItemCF 根據(jù)以往用戶-物品矩陣計算物品之間的相似度,在得到物品之間的相似度后,通過如下公式計算將物品j推薦給用戶u的推薦指數(shù):
表2 用戶物品矩陣
公式中,N(u)是用戶購買的物品集合,S(i,k)是和物品j最相似的K個物品的集合,Wji是物品j和i的相似度,rui是用戶u對物品i的興趣,通常用戶對物品的興趣采用用戶對物品的評分,但對于購物籃式的沒有評分的隱反饋數(shù)據(jù),一般根據(jù)用戶是否購買過某物品將其設(shè)為1或0。
遺傳算法(Genetic Algorithm,GA)是模擬生物進化優(yōu)化種群的思想而設(shè)計出來求解優(yōu)化問題的一種啟發(fā)式算法,非常適用于解決優(yōu)化目標(biāo)不可微時的優(yōu)化問題。遺傳算法首先將待優(yōu)化參數(shù)進行隨機初始化得到問題初始解——初始種群,然后進行不斷進化迭代搜索。種群中每個個體都為問題的一個解,每個個體表示為遺傳染色體,它們在隨后的迭代中不斷進行遺傳進化,不斷生成新一代的染色體,每一代都通過計算根據(jù)問題抽象出的適應(yīng)度函數(shù)來衡量每個個體對環(huán)境的適應(yīng)度,通過對染色體進行選擇得到適應(yīng)度較好的個體,通過交叉和變異來產(chǎn)生新的個體,父代種群經(jīng)過選擇、交叉和變異之后得到子代種群,然后在子代種群中尋找優(yōu)秀個體,最終求得問題的最優(yōu)解。
基礎(chǔ)完整的GA運行流程(圖2)。
遺傳算法中主要的運行參數(shù)有:個體編碼串長度l、種群規(guī)模M、交叉概率Pc、變異概率Pm、終止代數(shù)T。遺傳算法在尋優(yōu)過程中通常要對這些參數(shù)進行合理的選擇才能取得問題最優(yōu)解。本文在求解優(yōu)化問題時直接調(diào)用了Jazzbin 等人開發(fā)的遺傳算法工具箱Geatpy[21]。該工具箱利用“定義問題類+調(diào)用算法模板”的模式來進行進化優(yōu)化。該工具箱實現(xiàn)了對變量自動編碼,預(yù)設(shè)好了Pc、Pm并且嵌入了一些常用的遺傳算法改進方法,保證了遺傳算法運行的魯棒性。在使用過程中,可以實現(xiàn)只修改適應(yīng)度函數(shù)和設(shè)置變量個數(shù)、變量取值范圍、種群規(guī)模及終止代數(shù)T來定義問題類,然后調(diào)用算法模版完成優(yōu)化,大大簡化了遺傳算法優(yōu)化過程。
ItemCF 在計算物品相似度時默認(rèn)一個假設(shè),即假設(shè)用戶的興趣可以分成幾個隱含類,當(dāng)幾個物品同時多次出現(xiàn)在不同用戶的興趣列表時,那么可以認(rèn)為這幾個物品很可能屬于同一個隱含興趣類,即它們之間有很大的相似性。因此基于ItemCF 的中醫(yī)問診系統(tǒng)在運行過程中有如下假設(shè):
①如果幾個癥狀同時出現(xiàn)在多個患者的癥狀列表中,那么可以認(rèn)為這幾種癥狀同屬于某一隱含類。②每個證候可以通過幾個癥狀確定,而且這幾個癥狀是相互關(guān)聯(lián)的。③當(dāng)癥狀作為辨證因素時,不同癥狀的重要程度不同,核心癥狀應(yīng)該具有更高的權(quán)重。
基于上述假設(shè),問診系統(tǒng)的工作原理可以描述為:若患者表述其患有的某幾個癥狀,那么該患者很可能同時患有這幾個癥狀的部分關(guān)聯(lián)癥狀。另外,在潛在癥狀中,患者更可能同時患有核心癥狀的關(guān)聯(lián)癥狀。
ItemCF 計算物品推薦指數(shù)時,會考慮用戶對以往物品的評價rui,而在問診過程中,無法依靠患者過去的某個癥狀做判斷,因此,本文結(jié)合問診特點對ItemCF 物品推薦指數(shù)的計算公式進行改進。在問診過程中,系統(tǒng)通過如下公式計算患者可能患有的兼癥的患癥指數(shù):
其中,N(u)為已知患者u所患的癥狀,S(i,k)表示與癥狀i相似度最高的k個癥狀,Wji是癥狀j和癥狀i的相似度,ri表示癥狀i為核心癥狀的權(quán)重,根據(jù)前文的假設(shè),ri的大小影響推薦結(jié)果中某一類癥狀推薦的可能性,也就間接反應(yīng)某一證候出現(xiàn)的可能性。ri可以根據(jù)中醫(yī)師經(jīng)驗定義,本文通過遺傳算法來尋找每個癥狀最優(yōu)的ri值,使得對大多數(shù)患者進行提問的癥狀能夠盡可能的準(zhǔn)確。
基于ItemCF 進行癥狀獲取的過程可以通過圖3進行說明。圖3 中假設(shè)患者初始癥狀為心悸和盜汗,推薦系統(tǒng)根據(jù)歷史數(shù)據(jù)計算所得的癥狀關(guān)聯(lián)性即癥狀相似度,篩選出分別與心悸和盜汗關(guān)聯(lián)性較強的癥狀作為候選癥狀,此處各選擇兩個相似癥狀作為說明,系統(tǒng)實際運作時會選擇8-10 個相似癥狀作為候選癥狀,胸悶和心煩是與心悸較為相似的癥狀,潮熱和手足心熱是與盜汗較為相似的癥狀。然后根據(jù)公式(3)計算患者對每個候選癥狀的患癥指數(shù),最后根據(jù)患癥指數(shù)排序輸出所要提問的癥狀。
圖2 遺傳算法運行流程圖
圖3 ItemCF癥狀獲取示例
為了抽象出優(yōu)化癥狀權(quán)重的適應(yīng)度函數(shù),本文根據(jù)患者實際就醫(yī)過程設(shè)計了一種問診系統(tǒng)測試方法,對每一條問診數(shù)據(jù)進行模擬問診再現(xiàn)(圖4)。首先將每條原始問診數(shù)據(jù)分割成由初始癥狀和后續(xù)問診癥狀組成的問診數(shù)據(jù),初始癥狀從原始數(shù)據(jù)中隨機選擇一條主癥(例如:對于心系疾病,主癥為:心悸、胸悶、胸痛、氣短/氣急/憋氣),后續(xù)癥狀即為原數(shù)據(jù)中剩余的癥狀。然后根據(jù)初始癥狀及癥狀相似度列表選擇潛在癥狀列表,按照該列表順序?qū)Ξ?dāng)前這條問診數(shù)據(jù)進行檢索,如果包含某一癥狀,將該癥狀存入已知癥狀列表中并重新計算候選癥狀列表,否則存入無效癥狀列表中,并繼續(xù)按照潛在癥狀列表順序提問。本文設(shè)定循環(huán)提問終止條件為提問10 次或者問到的癥狀數(shù)達到原始癥狀數(shù)的95%以上,在實際臨床應(yīng)用時,則可以提問患者是否還有其他不適癥狀作為停止條件。這樣經(jīng)過多次循環(huán)提問之后就可以得到每條問診數(shù)據(jù)基于本問診系統(tǒng)所得到的癥狀列表。
圖4 問診測試流程圖
本文將所得到的癥狀列表與原始癥狀列表進行對比,基于分類問題中召回率計算方法,定義了問診系統(tǒng)提問有效性指標(biāo),計算公式如下:
其中,EQ表示每次提問癥狀時剛好問到患有該癥狀的問題次數(shù),TQ表示對一個患者的總提問次數(shù)。本文將Eff作為遺傳算法的適應(yīng)度函數(shù),通過遺傳算法來優(yōu)化癥狀權(quán)重的流程圖(圖5)。
圖5 遺傳算法優(yōu)化癥狀權(quán)重流程圖
在遺傳算法優(yōu)化癥狀權(quán)重過程中,首先初始化一組癥狀權(quán)重及α,然后通過公式(2)計算各個癥狀間的相似度,得到癥狀相似度表,接著將癥狀相似度表及權(quán)重代入到ItemCF 算法中進行問診測試,進行完一輪問診測試后計算Eff,篩選出子代種群,然后進行不斷尋優(yōu),直到進化代數(shù)達到預(yù)設(shè)進化代數(shù),優(yōu)化結(jié)束并輸出最優(yōu)權(quán)重。
本文提出的中醫(yī)智能問診系統(tǒng)由兩大部分組成,一是問癥狀,二是根據(jù)問得的癥狀進行辨證。系統(tǒng)實施流程包含4 步:①遺傳算法優(yōu)化癥狀權(quán)重及癥狀關(guān)聯(lián)密度懲罰系數(shù)α;②計算癥狀之間的相似度;③訓(xùn)練問診分類模型;④利用問診分類模型對提問到的癥狀做證候分類預(yù)測。
首先是通過遺傳算法優(yōu)化癥狀權(quán)重及癥狀關(guān)聯(lián)密度懲罰項系數(shù)α。本文使用geatpy 遺傳算法工具箱對癥狀權(quán)重進行了尋優(yōu),設(shè)定適應(yīng)度函數(shù)為前文定義的Eff,取變量個數(shù)為癥狀個數(shù)80,另外加一維懲罰項系數(shù)α,共81 維。表征癥狀的變量取值范圍[0-5],表征α的變量取值范圍[0.5-1],設(shè)置種群大小為50,進化代數(shù)為500,可以得到進化曲線(圖6)。從圖中可以看出種群進化到400 代時,目標(biāo)函數(shù)已經(jīng)收斂到0.42,此時最優(yōu)個體即最優(yōu)權(quán)重及α值示例(表3)。
通過遺傳算法得到最優(yōu)α= 0.58,根據(jù)公式2計算得到的癥狀相似度為(表4)。
本問診系統(tǒng)的最終目標(biāo)是輔助中醫(yī)師完成辨證,為了驗證基于ItemCF 的癥狀提問系統(tǒng)的有效性,本文基于原始問診數(shù)據(jù)對每個單一證候訓(xùn)練了隨機森林二分類模型,然后將六個輸出結(jié)果拼接起來作為多證候診斷輸出,選取四個指標(biāo)來評價分類模型:平均召回率(avg_Rec)、平均特異度(avg_Spe)、平均精確率(avg_Pre)和G均值(G-mean),分別定義為:
表3 癥狀權(quán)重示例
表4 癥狀相似度示例
圖6 癥狀權(quán)重優(yōu)化對應(yīng)的提問效率進化曲線
注:(?)Σ表示二進制各位求和;&表示與運算;||表示或運算;~表示非運算
本文根據(jù)隨機森林生成的特征重要性對原始數(shù)據(jù)的癥狀數(shù)量做了不同程度的篩選,選取30%的樣本作為測試集,比較了癥狀為80 個、52 個和27 個時分類器在測試集上的表現(xiàn)性能。從圖7 可以看出,在三組不同癥狀特征數(shù)量下,分類器所表現(xiàn)出的性能基本一致,從而可以反映出原始80個特征里有一半以上的特征都是冗余特征,因此,在問診過程中可以針對性的從這27個癥狀中進行提問。
圖7 不同癥狀特征下分類器表現(xiàn)性能
為了驗證上述結(jié)論的有效性,本文分別采取從27及80個癥狀中進行提問,將不同提問次數(shù)下獲取到的癥狀輸入訓(xùn)練好的分類器,這里選擇由80個癥狀訓(xùn)練所得的分類器,選取分類器性能指標(biāo)avg_Rec、avg_Pre、G-mean,比較了兩種提問方式在分類器上的預(yù)測表現(xiàn),這里將預(yù)測結(jié)果的指標(biāo)數(shù)值與原始分類器在原始樣本上預(yù)測的指標(biāo)數(shù)值作對比,著重比較提問系統(tǒng)所能得到原始分類效果的百分比。隨著提問次數(shù)的增加,兩種提問方式的預(yù)測表現(xiàn)都在逐漸上升,在進行到25次提問時,都可以得到原始分類器90%以上的預(yù)測表現(xiàn),說明基于ItemCF 的提問是有效的。同時可以看出,不同指標(biāo)下虛線總是高于實線(圖8)??梢缘贸鼋Y(jié)論:從27 個癥狀中提問的效果(如虛線所示),要好于從80個癥狀中提問的效果(如實線所示),并且從27 個癥狀中進行25 次提問可以還原原始分類器95%以上預(yù)測效果。
圖8 不同提問次數(shù)下問診系統(tǒng)性能表現(xiàn)
由于主癥對于心系疾病的六種證候沒有特異性,因此主癥所能提供的信息量對于消除證候的不確定性是遠(yuǎn)遠(yuǎn)不夠的,而在實際中醫(yī)診斷中,問診會結(jié)合其它三診所提供的信息去問,從而取得一個比較合理的問診結(jié)果。因此,本文通過固定問診系統(tǒng)第一個問題來額外增加一個癥狀的方式,驗證了在問診開始輸入更多的信息量時本系統(tǒng)的問診效果。這個固定的問題是從一個小癥狀集中去提問,從而獲取到原始問診數(shù)據(jù)中包含在這個小癥狀集中的一個癥狀,而這個小癥狀集是基于單證候分類重要性生成的,并通過中醫(yī)師篩選最后確定,其中共包含8 個癥狀,分別是自汗、乏力懶言、畏寒、肢冷、眩暈/頭暈?zāi)垦!⒈I汗、潮熱、周身酸痛/身重。這個固定的問題就是模擬實際臨床上其它三診所得到的信息,從而模擬在四診合參時,本問診系統(tǒng)的問診效果。
首先驗證了提問時的提問效率(圖9),改變提問方式之后,本系統(tǒng)基于27 個癥狀和基于80 個癥狀的提問效率均提升了10%以上。從27 個癥狀中提問可以達到52%的準(zhǔn)確性,與先前的假設(shè)基本一致,在輸入更多的信息時,由于證候不確定性下降,從而使得提問的準(zhǔn)確率有了很大提升。隨后,本文驗證了在改進提問之后,問診系統(tǒng)的診斷效果(圖10、圖11),圖中虛線代表改進前,實線代表改進后。圖10 是基于27個特征分類器,改進前后的預(yù)測效果對比圖,圖11 是基于80 個癥狀分類器改進前后預(yù)測效果對比結(jié)果。從預(yù)測的3個指標(biāo)來看,在不同提問次數(shù)下,實現(xiàn)始終高于虛線,即增加信息的問診系統(tǒng)的表現(xiàn)始終比單一信息的問診系統(tǒng)表現(xiàn)要好。
圖9 不同癥狀數(shù)下改進前后Eff值對比
圖10 基于27個癥狀的系統(tǒng)改進前后性能對比圖
圖11 基于80個癥狀的系統(tǒng)改進前后性能對比圖
最后對比了增加信息量后從27 個癥狀中提問和從80個癥狀中提問兩種問診方式的性能表現(xiàn)(圖12),前者的表現(xiàn)效果明顯好于后者,從27 個癥狀中提問,并增加信息量之后,只需要提問13個問題就可達到原始分類器90%以上的分類效果。
圖12 改進后基于27個癥狀與基于80個癥狀提問的系統(tǒng)性能對比圖
依據(jù)問診量表逐條獲取患者癥狀可以解決中醫(yī)問診中“問什么,怎么問”兩大核心問題,但過程往往比較繁瑣,本文利用基于協(xié)同過濾的推薦系統(tǒng)來解決中醫(yī)問診客觀化、智能化問題,并取得了良好的效果,為中醫(yī)問診客觀化、智能化提供了一種思路。本文基于ItemCF 推薦算法構(gòu)建癥狀提問系統(tǒng),基于該提問系統(tǒng)對原始結(jié)構(gòu)化問診數(shù)據(jù)進行問診復(fù)現(xiàn)式獲取癥狀,將抽取得到的癥狀輸入到用結(jié)構(gòu)化問診數(shù)據(jù)訓(xùn)練的證候分類模型中,由證候分類模型給出證候診斷結(jié)果。將此診斷結(jié)果與原始測試數(shù)據(jù)在證候分類模型上的預(yù)測結(jié)果做比較,量化本系統(tǒng)的問診效果。實驗結(jié)果表明,系統(tǒng)只需要進行13次提問,就可以獲得較好的診斷結(jié)果,相比于當(dāng)前基于量表獲取癥狀可以獲得更高的效率,為中醫(yī)問診客觀化發(fā)展提供條新的思路。未來的工作中,將在本問診系統(tǒng)的基礎(chǔ)上,進一步融合四診數(shù)據(jù),提高問診系統(tǒng)的提問效率和診斷準(zhǔn)確性。