汪玉薇,解 丹**,李曉東,吳輝坤
(1.湖北中醫(yī)藥大學(xué)信息工程學(xué)院 武漢 430065;2.湖北省中醫(yī)院肝病研究所 武漢 430061)
中醫(yī)處方用藥規(guī)律研究是中醫(yī)藥傳承與創(chuàng)新的關(guān)鍵內(nèi)容之一[1]。中醫(yī)處方數(shù)據(jù)挖掘多以“處方”類(lèi)別為劃分依據(jù),其中以中藥處方挖掘最為常見(jiàn)[2,3](下文“處方”均指“中藥處方”)。中藥處方是由多種藥物組成的,但并不是藥物的隨機(jī)組合,中醫(yī)組方的原則可概括為“依法立方”[4]。目前,臨床處方中的藥物之間雖沒(méi)有嚴(yán)格的劑量要求,但“劑量”仍是處方藥物的藥力標(biāo)識(shí),藥物的用量不同,其在方劑中的藥力也不同。例如“小承氣湯”與“厚樸三物湯”均由大黃、厚樸、枳實(shí)組成,但前者組成為:大黃四兩、枳實(shí)三枚、厚樸二兩,主治陽(yáng)明里實(shí)熱結(jié)證;后者組成為:厚樸八兩、枳實(shí)五枚、大黃四兩,主治氣滯腹?jié)M、大便不通[5]。因此,處方中藥物劑量特征是藥物在處方中確切功用與主治的標(biāo)識(shí),若用量失宜則達(dá)不到療效。另外,藥物間的配伍遵循一定規(guī)律,例如“甘草配大棗”,其中甘草甘潤(rùn)平和,既益氣養(yǎng)心又和中緩急;大棗甘溫,益氣養(yǎng)血安神。兩藥組合使用,甘緩滋補(bǔ),共奏補(bǔ)脾和中、養(yǎng)心安神之功,適用于心虛、肝郁所致之臟躁[6]?!杜R床中藥學(xué)》中給出了每味藥物常見(jiàn)的配伍及禁忌,并注明了減毒或增效作用,藥物配伍減毒增效關(guān)系對(duì)于中藥處方挖掘有較強(qiáng)研究?jī)r(jià)值。
由于中醫(yī)處方中的藥物間具有較為復(fù)雜的非線(xiàn)性關(guān)系,除了常規(guī)的統(tǒng)計(jì)方法外,常見(jiàn)的數(shù)據(jù)挖掘方法包括:關(guān)聯(lián)規(guī)則[7]、因子分析、改進(jìn)互信息法和復(fù)雜熵系統(tǒng)聚類(lèi)、貝葉斯、復(fù)雜網(wǎng)絡(luò)等,其中又以關(guān)聯(lián)規(guī)則最為常見(jiàn)。關(guān)聯(lián)規(guī)則挖掘分為“搜索頻繁項(xiàng)集”和“生成規(guī)則”兩個(gè)階段,目前最常用的算法是Apriori[8]和FP-growth算法[9],此后陸續(xù)又有其他研究者對(duì)關(guān)聯(lián)規(guī)則算法做出了改進(jìn)。這些算法的提出在不同程度上改進(jìn)了關(guān)聯(lián)規(guī)則的挖掘效率,但這些算法并沒(méi)有考慮中藥處方“依法立方”的中醫(yī)特色。傳統(tǒng)關(guān)聯(lián)規(guī)則算法,多關(guān)注藥物出現(xiàn)的頻次,普遍將藥物視為獨(dú)立的分析對(duì)象,忽略了處方藥物的劑量、組合藥效等特征,只能達(dá)到體現(xiàn)處方藥物間的“共現(xiàn)規(guī)律”,而不能揭示“組方規(guī)律”。本文試圖通過(guò)納入處方藥物劑量特征及藥物配伍減毒增效關(guān)系,通過(guò)加權(quán)方式改進(jìn)現(xiàn)有關(guān)聯(lián)規(guī)則模型以探尋一條新的組方規(guī)律挖掘,挖掘結(jié)果更接近真實(shí)世界處方的用藥規(guī)律,為中醫(yī)臨床用藥規(guī)律研究提供一條新思路。
在關(guān)聯(lián)規(guī)則模型中引入權(quán)值,需要綜合考慮如何設(shè)定權(quán)值和如何分配權(quán)值[10]。目前有水平加權(quán)、垂直加權(quán)以及混合加權(quán)三種解決方案[11]。其中,水平加權(quán)以項(xiàng)目重要程度設(shè)定權(quán)值,權(quán)值按項(xiàng)進(jìn)行分配;垂直加權(quán)以時(shí)間因素設(shè)定權(quán)值,權(quán)值按事務(wù)進(jìn)行分配;混合加權(quán)則綜合了前二種方法,權(quán)值為前兩種方式的混合。本文采用混合加權(quán)法。對(duì)于如何引入處方藥物劑量作為權(quán)值,有多種加權(quán)思路,通過(guò)文獻(xiàn)調(diào)研以及中醫(yī)專(zhuān)家實(shí)際討論,最為醫(yī)生接受的劑量加權(quán)是根據(jù)藥物的平均劑量。本文根據(jù)專(zhuān)家的建議,以基準(zhǔn)劑量模型為區(qū)分依據(jù),分別構(gòu)建了平均劑量加權(quán)和配伍減毒增效關(guān)系加權(quán)兩種加權(quán)模型。第一種模型源于不同處方中藥物劑量不同,將包含有相同藥物的處方進(jìn)行統(tǒng)計(jì),計(jì)算出該藥物在所有處方中的平均使用劑量,然后根據(jù)某個(gè)處方中所含藥物與這一平均值進(jìn)行對(duì)比。而第二種模型是依據(jù)《藥典》中描述的藥物配伍規(guī)律,對(duì)于有減毒增效作用的設(shè)置權(quán)重。
遍歷事務(wù)集T,所有項(xiàng)目構(gòu)成的集合為I={i1,i2,…,in},每一首處方t均為I的一個(gè)真子集,并具有一個(gè)唯一標(biāo)識(shí)符tid。對(duì)于給定的項(xiàng)集itemset={i1,i2,…,ip},給itemset中的每一個(gè)項(xiàng) ij賦權(quán)值 wj(wj∈[0,1],j∈[1,n])。設(shè)X={x1,x2,…,xp},Y={y1,y2,…,yp}(X、Y均是I的真子集且X∩Y=?),記Support(X)為X在T中的支持度,Confidence(X→Y)為規(guī)則X→Y在T中的置信度,min_sup為加權(quán)支持度閾值,min_conf為加權(quán)置信度閾值,規(guī)則的加權(quán)支持度wsup及加權(quán)置信度wconf的計(jì)算公式如下:
加權(quán)支持度:
加權(quán)置信度:
加權(quán)關(guān)聯(lián)規(guī)則是同時(shí)滿(mǎn)足加權(quán)支持度閾值和加權(quán)置信度閾值的關(guān)聯(lián)規(guī)則。根據(jù)本文構(gòu)建的二種加權(quán)模型,給出二種加權(quán)計(jì)算公式如下:
藥物平均劑量加權(quán)公式:
藥物配伍減毒增效關(guān)系加權(quán)公式:
其中,h代表當(dāng)前需要計(jì)算權(quán)值的藥物,dcf(h)為藥物h在處方中的劑量值,djz(T,h)為處方T中藥物h的劑量平均值,若大于平均劑量權(quán)重為2,否則為1。ZYX代表的是《臨床中藥學(xué)》整理的藥物配伍減毒增效表,cont(set)表示當(dāng)前藥物組合set是否是減毒增效的配伍藥對(duì),若是則權(quán)重為2,否則為1。
在這二種改進(jìn)的關(guān)聯(lián)規(guī)則算法中,第一種算法的流程為:首先初始化項(xiàng)目集set的支持度(設(shè)為0),然后遍歷事務(wù)集,若當(dāng)前事務(wù)中包含項(xiàng)目集set,且項(xiàng)目集set中所有藥物對(duì)應(yīng)事務(wù)集中藥物的劑量均大于其縱向平均劑量,則支持度累計(jì)加2,若當(dāng)前事務(wù)中包含項(xiàng)目集set,但項(xiàng)目集set中存在藥物對(duì)應(yīng)事務(wù)集中藥物劑量小于或等于其縱向平均劑量,則支持度累計(jì)加1,直到遍歷結(jié)束。第二種算法的流程為:首先初始化項(xiàng)目集set的支持度(設(shè)為0),然后遍歷事務(wù)集,若當(dāng)前事務(wù)中包含項(xiàng)目集set,且項(xiàng)目集set在ZYX中,則支持度累計(jì)加2,若當(dāng)前事務(wù)中包含項(xiàng)目集set,但項(xiàng)目集set不在ZYX中,則支持度累計(jì)加1,直到遍歷結(jié)束。
改進(jìn)的關(guān)聯(lián)規(guī)則模型利用處方藥物的劑量特征及藥物配伍的減毒增效關(guān)系構(gòu)建加權(quán)支持度,突出了處方中的關(guān)鍵藥物(或藥物組合),提高了挖掘模型對(duì)真實(shí)世界的擬合度,使挖掘結(jié)果具有更高的臨床研究?jī)r(jià)值。
數(shù)據(jù)來(lái)源為某中醫(yī)院2012年7月至2015年8月間所有診斷為乙肝肝硬化的8617例門(mén)診記錄(參照2011年8月中國(guó)中西醫(yī)結(jié)合學(xué)會(huì)消化系統(tǒng)疾病專(zhuān)業(yè)委員會(huì)制定的《肝硬化中西醫(yī)結(jié)合診療共識(shí)》[12])。本文納入分析的字段包括患者的門(mén)診號(hào)、西醫(yī)診斷、性別、年齡、首次檢查總膽紅素、首次檢查凝血酶原時(shí)間、首次檢查白蛋白、末次檢查總膽紅素、末次檢查凝血酶原時(shí)間、末次檢查白蛋白以及全部處方信息。為確保挖掘?qū)嶒?yàn)質(zhì)量,利用ETL技術(shù)進(jìn)行數(shù)據(jù)清洗,清洗過(guò)程如下:
圖1 處方長(zhǎng)文本分割前后結(jié)果對(duì)比示例
圖2 中藥名稱(chēng)規(guī)范化前后對(duì)比示例
2.2.1 確定有效記錄
在中醫(yī)臨床專(zhuān)家指導(dǎo)下對(duì)原始數(shù)據(jù)中的檢驗(yàn)值進(jìn)行填補(bǔ)與修正,然后依據(jù)肝功能Child-Puge分級(jí)標(biāo)準(zhǔn)計(jì)算患者診療前后得分,篩選評(píng)分下降的案例作為實(shí)驗(yàn)階段的有效數(shù)據(jù),最終獲得4549份有效案例。
2.2.2 確定有效處方
由中醫(yī)臨床專(zhuān)家對(duì)同一案例中的多處方現(xiàn)象進(jìn)行歸并,并通過(guò)識(shí)別數(shù)值與逗號(hào)的方式對(duì)原始處方進(jìn)行文本分割。針對(duì)原始處方數(shù)據(jù)的長(zhǎng)文本格式,通過(guò)識(shí)別數(shù)值與逗號(hào)對(duì)原始處方進(jìn)行分割(圖1)。最終獲得4473首有效處方數(shù)據(jù)。
2.2.3 規(guī)范中藥名稱(chēng)
在4473首處方數(shù)據(jù)中共包含407種中藥名稱(chēng)。經(jīng)中醫(yī)臨床專(zhuān)家審核,其中不規(guī)范的中藥名稱(chēng)有188種,包含中藥別名97種、中藥簡(jiǎn)稱(chēng)3種以及炮制中藥88種。在中醫(yī)臨床專(zhuān)家的指導(dǎo)下,對(duì)中藥名稱(chēng)進(jìn)行了規(guī)范化處理,參照《中藥編碼規(guī)則集編碼》(中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn)[GB/T 31774-2015])與《中國(guó)藥典》(2015年版)對(duì)預(yù)處理后的藥物進(jìn)行嚴(yán)格規(guī)范化(圖2)。最終獲得257種規(guī)范化中藥名稱(chēng)。
經(jīng)過(guò)上述處理后,所得數(shù)據(jù)集可直接作為下面挖掘?qū)嶒?yàn)的輸入數(shù)據(jù)集。
為觀察改進(jìn)模型的效果,應(yīng)與傳統(tǒng)模型進(jìn)行對(duì)比。為此,采用Python語(yǔ)言共建立了三種模型,分別是傳統(tǒng)關(guān)聯(lián)規(guī)則模型、藥物平均劑量加權(quán)模型和藥物配伍減毒增效關(guān)系加權(quán)模型,其中傳統(tǒng)模型算法與SPSS和wika中內(nèi)置的關(guān)聯(lián)規(guī)則算法相同。
根據(jù)前面得到的輸入數(shù)據(jù)集,經(jīng)過(guò)多次探索性實(shí)驗(yàn),以生成頻繁項(xiàng)集及規(guī)則數(shù)量適中為依據(jù),最終確定選用最小支持度分別為7%、8%、9%,最小置信度分別為85%、90%、95%的9組挖掘模型參數(shù)組合。分別使用SPSS Modeler、Weka與仿真平臺(tái),結(jié)合傳統(tǒng)關(guān)聯(lián)規(guī)則算法與上述各組模型參數(shù)挖掘?qū)嵶C研究數(shù)據(jù),分析發(fā)現(xiàn)使用三種工具得到的挖掘結(jié)果完全一致(表1)。
以支持度閾值min_sup=8%、置信度閾值min_conf=95%為例,對(duì)于頻繁二項(xiàng)集(Fset2),傳統(tǒng)關(guān)聯(lián)規(guī)則模型發(fā)現(xiàn)的頻繁二項(xiàng)集數(shù)量為43個(gè),藥物平均劑量加權(quán)模型發(fā)現(xiàn)了56個(gè),藥物配伍減毒增效加權(quán)模型發(fā)現(xiàn)了73個(gè)(表1)。當(dāng)支持度閾值為9%、置信度閾值為85%時(shí),對(duì)于頻繁二項(xiàng)集,傳統(tǒng)模型挖掘到28個(gè),平均劑量和配伍減毒增效模型分別挖掘了35個(gè)和44個(gè)。無(wú)論是何種頻繁項(xiàng)集,二個(gè)加權(quán)模型得到的頻繁項(xiàng)集數(shù)量均明顯增多,表明找到了更多藥物組合,對(duì)于發(fā)現(xiàn)用藥規(guī)律有積極作用(表1)。
2.4.1 頻繁項(xiàng)集
由于中醫(yī)臨床頻繁二項(xiàng)集恰好對(duì)應(yīng)中醫(yī)處方中的藥對(duì),能夠體現(xiàn)中醫(yī)處方中不同藥味之間的兩兩配伍關(guān)系,本文以二項(xiàng)集為例,進(jìn)行頻繁二項(xiàng)集的可視化展示。在頻繁項(xiàng)集網(wǎng)絡(luò)中,節(jié)點(diǎn)的大小代表了該節(jié)點(diǎn)對(duì)應(yīng)藥物參與構(gòu)成頻繁項(xiàng)集的多少,節(jié)點(diǎn)越大代表其出現(xiàn)次數(shù)越多。連線(xiàn)的顏色深淺代表了兩端藥物構(gòu)成的頻繁項(xiàng)集的頻次高低,顏色越深代表這對(duì)藥物組合出現(xiàn)次數(shù)越多。當(dāng)支持度閾值為9%、置信度閾值為85%時(shí),三種模型挖掘到的頻繁二項(xiàng)集分別為28、35和44個(gè),同時(shí)三組模型獲得的所有頻繁二項(xiàng)集中出現(xiàn)藥物的數(shù)量分別為24、30和27味,按藥物參與構(gòu)成項(xiàng)集的頻數(shù)排序(表1,表2)。
以藥對(duì)頻次為權(quán)重,繪制三個(gè)模型所得頻繁二項(xiàng)集藥物組成的復(fù)雜網(wǎng)絡(luò)(圖3)。
在Gephi中調(diào)整預(yù)覽比例為10%,可獲得最小支持度為9%的三組核心藥對(duì):(ct)茯苓、丹參、茵陳蒿;(pj)茯苓、丹參、茵陳蒿、郁金;(zx)丹參、白術(shù)、郁金。
表1 三種模型挖掘結(jié)果對(duì)比
表2 藥物組成頻繁2項(xiàng)集頻次表(min_sup=9%,min_conf=85%)
圖3 藥物組成頻繁2項(xiàng)集復(fù)雜網(wǎng)絡(luò)圖(min_sup=9%,min_conf=85%)
圖4 規(guī)則網(wǎng)絡(luò)圖(min_sup=9%,min_conf=85%)
圖5 三種模式的頻繁1-5項(xiàng)集數(shù)量折線(xiàn)圖
2.4.2 有效規(guī)則
在支持度閾值為9%、置信度閾值為85%時(shí),傳統(tǒng)模型、藥物平均劑量加權(quán)和藥物配伍減毒增效加權(quán)模型分別獲得規(guī)則的條數(shù)為15、11和18。使用Gephi繪制三組規(guī)則的復(fù)雜網(wǎng)絡(luò)圖(圖4)。
在取支持度閾值為9%、置信度閾值為95%時(shí),藥物間的復(fù)雜網(wǎng)絡(luò)最為精簡(jiǎn),在Gephi中調(diào)整預(yù)覽比例為10%,可獲得三組模型所得規(guī)則中的關(guān)鍵藥物(或組合):(ct)白術(shù);(pj)烏賊骨;(zx)白花蛇舌草-茯苓。當(dāng)置信度閾值升為90%時(shí),構(gòu)成網(wǎng)絡(luò)的藥物有所增加,獲得三組模型所得規(guī)則中的關(guān)鍵藥物(或組合):(ct)白花蛇舌草-茯苓;(pj)白花蛇舌草-茯苓;(zx)白花蛇舌草-茯苓。此外,在支持度閾值控制為9%、置信度閾值分別取85%和90%時(shí),使用Gephi分析三組模型生成的規(guī)則,均在規(guī)則網(wǎng)絡(luò)中出現(xiàn)了“莪術(shù)-鱉甲-薏苡仁”這樣一個(gè)獨(dú)立的分支。
根據(jù)實(shí)驗(yàn)結(jié)果,繪制不同支持度下三組模型獲得頻繁項(xiàng)集數(shù)量變化趨勢(shì)的折線(xiàn)圖(圖5)。
三條折線(xiàn)存在明顯分離,從上到下分別對(duì)應(yīng)了7%、8%和9%的支持度,說(shuō)明不同模型獲得的頻繁項(xiàng)集數(shù)量均受最小支持度取值影響(圖5)。圖中存在三個(gè)明顯的波形,在不同支持度取值的條件下,兩種加權(quán)模型獲得的頻繁項(xiàng)集數(shù)量均比傳統(tǒng)模型多,能夠獲得更多的候選規(guī)則,從而降低了遺漏有用知識(shí)的概率。
基于藥物劑量可以體現(xiàn)不同藥物(或組合)在處方中地位這一思想,本文在傳統(tǒng)關(guān)聯(lián)規(guī)則算法基礎(chǔ)上,引入了中藥的劑量特征。從臨床實(shí)用性出發(fā),提出了二種基于劑量加權(quán)的關(guān)聯(lián)規(guī)則改進(jìn)模型,并利用可視化技術(shù)進(jìn)行挖掘模型的構(gòu)建與實(shí)證研究。經(jīng)中醫(yī)臨床專(zhuān)家鑒定,本文提出的這2種加權(quán)模型較傳統(tǒng)關(guān)聯(lián)規(guī)則模型均得到了較好的結(jié)果,獲得了更多有價(jià)值的藥物組合,其中藥物配伍減毒增效關(guān)系加權(quán)模型表現(xiàn)得更為突出,充分體現(xiàn)了中醫(yī)治療肝病從解毒入手的思想[12]。使用本文提出的改進(jìn)挖掘模型可以挖掘到更多頻繁項(xiàng)集,減少用藥規(guī)律的遺漏,有較強(qiáng)實(shí)用價(jià)值,為中醫(yī)處方用藥規(guī)律研究提供了新思路與方法。
中醫(yī)處方數(shù)據(jù)挖掘正在興起,挖掘過(guò)程中還有許多問(wèn)題值得探索。首先是本文實(shí)驗(yàn)中僅涉及了肝病科室的處方數(shù)據(jù),下一步可考慮將本模型推廣到其它科室,進(jìn)一步驗(yàn)證模型有效性。其次是數(shù)據(jù)質(zhì)量不高,預(yù)處理工作占據(jù)了大量時(shí)間,今后隨著數(shù)據(jù)質(zhì)量的提升,可以有效降低預(yù)處理時(shí)間。最后一點(diǎn)是中藥處方的藥物特征,除了劑量外,還有炮制、性味歸經(jīng)等多種特性,后面可以從處方的這些特性出發(fā),進(jìn)一步擴(kuò)展思路。
世界科學(xué)技術(shù)-中醫(yī)藥現(xiàn)代化2019年3期