汪葉群,楊 濤,李鑫欣,謝佳東,董海艷,胡孔法
(南京中醫(yī)藥大學(xué) 南京 210023)
藥對(duì),又稱對(duì)子藥,姐妹藥,專指臨床中常用的相對(duì)固定的兩味藥物的配伍形式,是中藥配伍中的最小單位[1]。中藥復(fù)方是中醫(yī)臨床用藥的常用形式,復(fù)方往往藥物組成眾多、配伍復(fù)雜,如何挖掘復(fù)方中蘊(yùn)含的藥物配伍規(guī)律已經(jīng)成為中醫(yī)藥研究的熱點(diǎn)之一。藥對(duì)作為中藥復(fù)方組成的核心,體現(xiàn)了經(jīng)典復(fù)方的療效,使系列復(fù)方具備共同點(diǎn),且結(jié)構(gòu)簡(jiǎn)單便于研究[2]。因此,從藥對(duì)配伍規(guī)律入手,深入探索復(fù)方的配伍規(guī)律及科學(xué)內(nèi)涵,可為復(fù)方的配伍規(guī)律研究提供參考和借鑒[3]。藥對(duì)是溝通方劑和中藥的橋梁,各類方劑著作中記載了常用藥對(duì),然而在幾千年的中醫(yī)發(fā)展中,浩如煙海的醫(yī)案中仍存有大量待挖掘的潛在藥對(duì),且各派中醫(yī)在臨床診療用藥中均各有獨(dú)特的藥對(duì)使用習(xí)慣。因此,如何從海量的醫(yī)案中挖掘潛在藥對(duì),為中醫(yī)復(fù)方的配伍規(guī)律研究提供方法支撐,進(jìn)而發(fā)掘名老中醫(yī)的學(xué)術(shù)思想和診療經(jīng)驗(yàn),已經(jīng)成為目前中醫(yī)藥傳承與發(fā)展的重要課題之一。
數(shù)據(jù)挖掘技術(shù)是目前中醫(yī)方藥研究不可或缺的一種強(qiáng)有力工具[4],在中醫(yī)藥領(lǐng)域研究中常見的挖掘方法有頻數(shù)分析、聚類分析、因子分析、關(guān)聯(lián)規(guī)則、人工神經(jīng)網(wǎng)絡(luò)等[5]。將數(shù)據(jù)挖掘技術(shù)應(yīng)用到藥對(duì)研究中,可以極大地提高藥對(duì)發(fā)現(xiàn)效率。在藥對(duì)研究中主要采用關(guān)聯(lián)規(guī)則算法[6],利用置信度判斷兩種藥物是否屬于藥對(duì)。雖然這種方法能夠發(fā)現(xiàn)部分藥對(duì),但存在明顯的片面性,即當(dāng)A藥物到B藥物的置信度很高,并不能保證B 藥物到A 藥物中的置信度也高,如有“藥中國老”之稱的甘草,在臨床中使用頻繁,能挖掘出與許多藥物都有數(shù)據(jù)關(guān)聯(lián),但只有當(dāng)它和這些藥物在實(shí)際運(yùn)用中存在明確的配伍關(guān)系時(shí)才可以將其稱為藥對(duì)[7]。因此不能僅僅依據(jù)置信度把同時(shí)出現(xiàn)的藥物定義為藥對(duì)[8],藥對(duì)中的藥物彼此間置信度應(yīng)該都是較高的。也有學(xué)者認(rèn)識(shí)到上述問題,對(duì)傳統(tǒng)算法進(jìn)行了改進(jìn),如黃黎明[9]、曾令明[10]、曹玉潔[11]等均在關(guān)聯(lián)規(guī)則算法的基礎(chǔ)上做了改進(jìn),雖然提高了藥對(duì)發(fā)現(xiàn)的效率與準(zhǔn)確度,但基于關(guān)聯(lián)規(guī)則的算法(尤其是Apriori 算法)其本身存在計(jì)算過程繁瑣、復(fù)雜度較高等問題。需要進(jìn)行全新的方法。楊洪軍[12]等人運(yùn)用熵方法定量描述中風(fēng)病方劑中每?jī)晌端幹兴幹g的關(guān)聯(lián)度;王師菡[13]等人用廣義信息熵法成功提取名老中醫(yī)藥專家治療冠心病心絞痛的常用藥對(duì);Yan Li[14,15]等人提出了一種新的DMIM(distance-based mutual information model)算法以發(fā)現(xiàn)方劑中藥物之間的潛在關(guān)聯(lián);楊銘[16]等人用復(fù)雜系統(tǒng)熵網(wǎng)絡(luò)發(fā)現(xiàn)中醫(yī)方劑中有顯著性關(guān)聯(lián)的核心藥對(duì);樊鳳杰[17]等人基于偏序結(jié)構(gòu)圖的可視化方法從原始數(shù)據(jù)中發(fā)現(xiàn)常用藥對(duì)和藥組。近年來出現(xiàn)的大量針對(duì)中醫(yī)藥開發(fā)的中醫(yī)藥類傳承平臺(tái)對(duì)方劑藥對(duì)提取也提供了一定的方法支持[18-20]。上述方法在核心方挖掘和藥對(duì)發(fā)現(xiàn)上作了有益探索,但大多基于經(jīng)典的關(guān)聯(lián)分析算法進(jìn)行改進(jìn)和優(yōu)化,尚存在計(jì)算相對(duì)復(fù)雜,藥對(duì)發(fā)現(xiàn)的適用性不強(qiáng)等問題。鑒于此,本文根據(jù)藥對(duì)特點(diǎn),提出一種全新的藥對(duì)發(fā)現(xiàn)算法TCM-HPD,以矩陣運(yùn)算為基礎(chǔ),以聯(lián)合條件概率為藥對(duì)提取依據(jù),能夠高效解決中醫(yī)醫(yī)案中的藥對(duì)提取問題。
表1 方劑—藥物對(duì)應(yīng)表
2.1.1 共現(xiàn)矩陣
共詞分析方法[21]為一種內(nèi)容分析方法,它通過對(duì)一組詞兩兩統(tǒng)計(jì)它們?cè)谕黄墨I(xiàn)中出現(xiàn)的次數(shù),以此為基礎(chǔ)對(duì)這些詞進(jìn)行分層聚類處理,從而反映出這些詞之間的親疏關(guān)系,進(jìn)而分析這些詞所代表的學(xué)科和主題的結(jié)構(gòu)變化[22]。共現(xiàn)矩陣即是由共詞分析方法中的共現(xiàn)頻數(shù)構(gòu)成,是用來描述兩兩事物在同一批樣本中共同出現(xiàn)的次數(shù)。其定義如下:
其中X[i,j]、X[j,i]均表示樣本中事物i,j共同出現(xiàn)的次數(shù),X[i,i]、X[j,j]分別表示事物i、事物j在樣本中出現(xiàn)的次數(shù)。
2.1.2 條件概率
條件概率為概率論與數(shù)理統(tǒng)計(jì)中的概念,指一個(gè)事件B在事件A已經(jīng)發(fā)生的情況下發(fā)生的概率,記為P(B|A)。在其數(shù)學(xué)定義如下:
設(shè)A、B是兩個(gè)事件,且P(A)>0,稱
為在事件A發(fā)生的條件下事件B發(fā)生的條件概率[23]。其中P(A)是A發(fā)生的概率,P(AB)是A、B同時(shí)發(fā)生的概率。
2.1.3 聯(lián)合條件概率
聯(lián)合概率是指在多元的概率分布中多個(gè)隨機(jī)變量分別滿足各自條件的概率[24]。聯(lián)合條件概率即指在多元的概率分布中多個(gè)隨機(jī)變量分別滿足各自條件的條件概率。其定義如下:
在醫(yī)案中判斷兩味藥是否為藥對(duì)可通過判斷兩味藥的配伍是否相對(duì)固定,即兩味藥中的其中一味藥出現(xiàn)時(shí)另一味藥是否也出現(xiàn)。這一問題可以轉(zhuǎn)換為在一味藥出現(xiàn)的前提下另一味藥出現(xiàn)的概率,即條件概率問題,以聯(lián)合條件概率作為判定藥對(duì)的依據(jù)。
2.2.1 共詞矩陣的構(gòu)建
通過掃描藥物數(shù)據(jù)庫,計(jì)算任意出現(xiàn)的藥物之間共同出現(xiàn)的次數(shù),構(gòu)建共詞矩陣M1;
2.2.2 條件概率矩陣的構(gòu)造
假設(shè)A、B 為任意兩味藥物,通過在共詞矩陣中對(duì)應(yīng)的共現(xiàn)次數(shù)計(jì)算藥物A、B的條件概率,并構(gòu)造條件概率矩陣M2;
2.2.3 提取藥對(duì)
將條件概率矩陣M2 乘以M2 的轉(zhuǎn)置矩陣,得到新的矩陣M3,設(shè)定合適的標(biāo)準(zhǔn),利用M2、M3提取藥對(duì)。
下面以具體數(shù)據(jù)(表1)為例進(jìn)行說明,其中F1-F3為不同的方劑編號(hào),a-e為不同的中藥。
(1)計(jì)算共現(xiàn)矩陣
掃描藥物數(shù)據(jù),得到所有的藥物集合X={a,b,c,d,e},構(gòu)造5*5的零矩陣S0,行列均為藥物;再次掃描藥物數(shù)據(jù),如果掃描到藥物組X1∈X,則X1對(duì)應(yīng)的藥物行列都置為1,形成F1矩陣;將S0矩陣加上F1矩陣,形成新的矩陣S1;循環(huán)掃描數(shù)據(jù)庫,直到掃描完畢。
圖1 共詞矩陣計(jì)算過程
圖2 聯(lián)合條件概率矩陣計(jì)算過程
(2)構(gòu)造條件概率矩陣
將共現(xiàn)矩陣中的每一個(gè)元素,除以該行對(duì)腳線上的元素,其表達(dá)式如下:
其中S[i,j]為共現(xiàn)矩陣中的第i行j列的元素值,C[i,j]為對(duì)應(yīng)的條件概率值。C[i,j]構(gòu)成條件概率矩陣C3;利用C3乘以C3的轉(zhuǎn)置矩陣,得到矩陣C4。
(3)藥對(duì)提取
設(shè)定最小聯(lián)合條件概率閾值(minUnion),將聯(lián)合條件概率≧minUnion 的藥物組合提取出來,作為潛在藥對(duì)。
本文病案來源于國醫(yī)大師周仲瑛傳承工作室數(shù)據(jù)庫中的冠心病病案資料1512 診次,包含306 味不同中藥。參照《中華人民共和國藥典》對(duì)病案中的中藥進(jìn)行規(guī)范化處理,包括藥名拆分、藥名統(tǒng)一等,例如“丹皮參”拆分為“丹皮”和“丹參”兩味藥,“南北沙參”拆分為“南沙參”和“北沙參”,“白夕利”改為“白蒺藜”等。
為了比較傳統(tǒng)關(guān)聯(lián)分析提取藥對(duì)與本文算法提取藥對(duì)的差異。本實(shí)驗(yàn)①利用經(jīng)典的Apriori 對(duì)藥物數(shù)據(jù)進(jìn)行分析,篩選其中的二元規(guī)則作為潛在藥對(duì);②按照TCM-HPD算法流程,構(gòu)造構(gòu)造聯(lián)合條件概率矩陣,分析不同minUnion 閾值下的潛在藥對(duì)分布及藥物網(wǎng)絡(luò)情況,根據(jù)分析結(jié)果確定最佳minUnion 閾值,最后結(jié)合中醫(yī)理論歸納總結(jié)上述兩種方式發(fā)現(xiàn)的潛在藥對(duì),以說明TCM-HPD算法的優(yōu)越性。
圖3 潛在藥對(duì)分布
3.3.1 Apriori藥對(duì)提取結(jié)果
(1)取最小支持度為0.05,最小置信度為0,利用Apriori 得到二元規(guī)則(潛在藥對(duì))5487條。以0.1作為置信度的間隔,以置信度區(qū)間作為橫坐標(biāo),潛在藥對(duì)數(shù)目作為縱坐標(biāo),得到潛在藥對(duì)分布情況(圖3)。
(2)設(shè)定最小置信度閾值為0.9,得到潛在藥對(duì)共40個(gè)(表2)。
表2 潛在藥對(duì)表(最小置信度≥0.9)
3.3.2 TCM-HPD藥對(duì)提取結(jié)果
(1)構(gòu)造共現(xiàn)矩陣,其中出現(xiàn)次數(shù)前10 的高頻藥物共現(xiàn)矩陣(表3)。
(2)設(shè)定最小聯(lián)合條件概率閾值為0.4,利用TCMHPD計(jì)算聯(lián)合條件概率矩陣,得到潛在藥對(duì)(表4):
(3)為更直觀展示TCM-HPD 算法提取的藥對(duì)結(jié)果,繪制不同聯(lián)合條件概率區(qū)間下藥對(duì)分布圖(圖4),以及不同聯(lián)合條件概率閾值下對(duì)應(yīng)的藥物網(wǎng)絡(luò)圖(圖5)。
從Apriori 藥對(duì)提取結(jié)果可知:通過置信度進(jìn)行藥對(duì)篩選,其候選記錄多達(dá)5487 個(gè),隨著置信度閾值的增大,藥對(duì)數(shù)量相應(yīng)減少(圖3),當(dāng)最小閾值大于等于0.9 時(shí),仍然有40 個(gè)潛在藥對(duì),其中存在相同的藥對(duì),如表2中規(guī)則“煅龍骨,煅牡蠣,1.0000”和“煅牡蠣,煅龍骨,1.0000”,二者為不同的關(guān)聯(lián)規(guī)則,但對(duì)應(yīng)的是同一組藥對(duì),故關(guān)聯(lián)規(guī)則提取藥對(duì)存在冗余,且提取精度不佳;此外,某些關(guān)聯(lián)規(guī)則雖然單個(gè)方向上置信度值很高,但在反方向上的置信度卻很低,如“竹茹→法半夏,1.0000”和“法半夏→竹茹,0.1429”,很顯然這類規(guī)則中的藥物不應(yīng)該被認(rèn)為是潛在藥對(duì),但由于“竹茹→法半夏”的置信度較高,因此也被納入潛在藥對(duì)中,導(dǎo)致藥對(duì)提取效果不佳。藥對(duì)中兩個(gè)藥物具有平等的地位,在規(guī)則上也應(yīng)該具有兩個(gè)方向上相當(dāng)水平的置信度。由于置信度表現(xiàn)的是一味藥物在另一味藥物已經(jīng)存在的前提下存在的可能性,僅能單方面的反映兩味藥之間的關(guān)聯(lián)。而藥對(duì)作為兩味藥在臨床中常見的相對(duì)固定的配伍形式,利用置信度顯然不能體現(xiàn)其“相對(duì)固定”的特點(diǎn),因此,僅僅依賴置信度判定藥對(duì)顯然是不合理的。
表3 高頻藥物共現(xiàn)矩陣(Top 10)
表4 潛在藥對(duì)表(minUnion=0.4)
圖4 潛在藥對(duì)分布圖
從TCM-HPD 藥對(duì)提取結(jié)果可知:高頻共現(xiàn)的藥物組合不一定為藥對(duì),以丹參相關(guān)高頻藥物組合為例(表3,表4),丹參和法半夏(549)、丹參和砂仁(450)、丹參和黨參(387)、丹參和黃連(352)、丹參和雞血藤(324)、丹參和知母(306)均未出現(xiàn)在潛在藥對(duì)中,而丹參和川芎、丹參和麥冬、丹參和太子參被判定為潛在藥對(duì)。丹參和川芎為常用均為活血化瘀藥,二者相須為用,增強(qiáng)活血化瘀作用;丹參和麥冬、丹參和太子參是滋陰活血常用藥對(duì),周老臨床經(jīng)常丹參合生脈飲治療冠心病氣陰兩虛證,因而出現(xiàn)上述藥對(duì)。從潛在藥對(duì)分布圖(圖4)可以看出TCM-HPD 算法對(duì)最小聯(lián)合概率minUnion 高度敏感,隨著minUnion 增大,潛在藥對(duì)數(shù)量急劇減少,當(dāng)?shù)竭_(dá)0.4左右,曲率逐漸趨于平緩。
從藥物網(wǎng)絡(luò)(圖5)可以看出,當(dāng)minUnion較小時(shí),網(wǎng)絡(luò)中出現(xiàn)大量藥物社團(tuán),且并非是兩個(gè)藥物的組合,當(dāng)minUnion 為0.4時(shí),社團(tuán)呈現(xiàn)兩三味藥的小網(wǎng)絡(luò),趨近于藥對(duì)網(wǎng)絡(luò),其中包括經(jīng)典藥對(duì),如澤蘭和澤瀉、南沙參和北沙參、煅龍骨和煅牡蠣、川芎和丹參、全瓜蔞和薤白,同時(shí)也蘊(yùn)含了周老臨證的特殊藥對(duì),如九香蟲和莪術(shù)、莪術(shù)和甘松、陳皮和竹茹,九香蟲理氣止痛、溫中助陽,莪術(shù)行氣破血、消積止痛,二者相須為用,治療肺癌氣滯血瘀的病證;甘松理氣止痛、開郁醒脾,莪術(shù)和甘松同用,共奏行氣散瘀止痛之效;陳皮和竹茹是《金匱要略》陳皮竹茹湯的核心藥物,該方具有理氣降逆、益胃清熱之功效,周老臨證用方意而不用全方,用陳皮行氣和胃以止嘔,竹茹清熱和胃以止嘔,二藥同用,使熱去氣降,治療肺癌導(dǎo)致的胃氣上逆。此外,潛在藥對(duì)中還出現(xiàn)了太子參、麥冬、丹參兩兩之間的藥對(duì),這是由于周老臨床喜用生脈飲合丹參飲加減治療氣陰兩虛、絡(luò)脈瘀阻的病證,因而在藥對(duì)網(wǎng)絡(luò)中呈現(xiàn)出這三味藥兩兩之間的特殊藥對(duì)。
圖5 藥物網(wǎng)絡(luò)分布圖
綜上可知:Apriori算法作為經(jīng)典的關(guān)聯(lián)算法之一,通過對(duì)數(shù)據(jù)庫進(jìn)行多次掃描來計(jì)算項(xiàng)集的支持度,發(fā)現(xiàn)所有的頻繁項(xiàng)集從而生成關(guān)聯(lián)規(guī)則,整個(gè)過程是十分繁瑣的,且因要多次掃面數(shù)據(jù)庫,其時(shí)間復(fù)雜度和空間復(fù)雜度都很大,導(dǎo)致其效率較低。利用置信度作為事物間關(guān)聯(lián)強(qiáng)度標(biāo)準(zhǔn),易忽視一些隱含的規(guī)律;若置信度設(shè)置過低,結(jié)果保留太多,則干擾信息多,增加人工再整理的難度。TCM-HPD 算法從矩陣運(yùn)算為出發(fā)點(diǎn),通過共現(xiàn)矩陣計(jì)算條件概率,省去循環(huán)迭代掃描數(shù)據(jù)庫的過程,時(shí)間復(fù)雜度和空間復(fù)雜度均大大降低,用聯(lián)合條件概率作為提取藥對(duì)的條件提高了結(jié)果準(zhǔn)確度,TCM-HPD 算法對(duì)最小聯(lián)合概率minUnion 高度敏感也大大減少人工再刪減工作,運(yùn)算簡(jiǎn)單、高效。minUnion 是兩個(gè)條件概率的乘積P1×P2,當(dāng)minUnion較小時(shí),對(duì)條件概率約束也相對(duì)較差,而當(dāng)minUnion為0.4 時(shí),P1、P2至少大于0.4,極端情況下P1=0.4,P2=1.0,如果P1、P2值處于同一水平,那么至少要保持在(約0.63)以上(即,左右條件概率均需在0.63以上),從而保證藥對(duì)的有效提取。
本文通過分析藥對(duì)發(fā)現(xiàn)的重要意義及對(duì)藥對(duì)提取方法現(xiàn)狀進(jìn)行思考,提出了一種全新的藥對(duì)發(fā)現(xiàn)算法TCM-HPD。將藥對(duì)發(fā)現(xiàn)問題轉(zhuǎn)化為矩陣運(yùn)算問題,從醫(yī)案中的藥物入手,構(gòu)造聯(lián)合條件概率矩陣,利用最小聯(lián)合條件概率篩選潛在藥對(duì)。利用該算法對(duì)冠心病醫(yī)案方藥進(jìn)行分析,成功提取了相關(guān)藥對(duì),結(jié)果符合專家經(jīng)驗(yàn)。本文提出的TCM-HPD 算法具有原理簡(jiǎn)單、易于實(shí)現(xiàn)等特點(diǎn),可以為廣大中醫(yī)藥臨床和科研工作者提供便捷、高效、易用的藥對(duì)發(fā)現(xiàn)工具,提高中醫(yī)臨床醫(yī)案研究的效率。
中醫(yī)藥在漫長的發(fā)展過程中形成了自己獨(dú)特的理論和診療經(jīng)驗(yàn),名老中醫(yī)的學(xué)術(shù)經(jīng)驗(yàn)是中醫(yī)藥事業(yè)的一筆巨大的財(cái)富。總結(jié)名老中醫(yī)的經(jīng)驗(yàn),繼承他們的學(xué)術(shù),既是今天振興中醫(yī)藥事業(yè)的需要,也是歷史賦予我們的重任。藥對(duì)是聯(lián)系方劑和中藥的重要環(huán)節(jié),相比于傳統(tǒng)的利用置信度的關(guān)聯(lián)規(guī)則方法,本算法利用最小聯(lián)合條件概率進(jìn)行藥對(duì)提取更加符合藥對(duì)的特點(diǎn),可以為名老中醫(yī)用藥規(guī)律挖掘提供方法學(xué)參考。
世界科學(xué)技術(shù)-中醫(yī)藥現(xiàn)代化2019年6期