基于联合条件概率矩阵的药对提取算法设计及应用*

2019-10-10 01:16汪叶群李鑫欣谢佳东董海艳胡孔法
世界科学技术-中医药现代化 2019年6期
关键词:置信度丹参关联

汪叶群,杨 涛,李鑫欣,谢佳东,董海艳,胡孔法

(南京中医药大学 南京 210023)

药对,又称对子药,姐妹药,专指临床中常用的相对固定的两味药物的配伍形式,是中药配伍中的最小单位[1]。中药复方是中医临床用药的常用形式,复方往往药物组成众多、配伍复杂,如何挖掘复方中蕴含的药物配伍规律已经成为中医药研究的热点之一。药对作为中药复方组成的核心,体现了经典复方的疗效,使系列复方具备共同点,且结构简单便于研究[2]。因此,从药对配伍规律入手,深入探索复方的配伍规律及科学内涵,可为复方的配伍规律研究提供参考和借鉴[3]。药对是沟通方剂和中药的桥梁,各类方剂著作中记载了常用药对,然而在几千年的中医发展中,浩如烟海的医案中仍存有大量待挖掘的潜在药对,且各派中医在临床诊疗用药中均各有独特的药对使用习惯。因此,如何从海量的医案中挖掘潜在药对,为中医复方的配伍规律研究提供方法支撑,进而发掘名老中医的学术思想和诊疗经验,已经成为目前中医药传承与发展的重要课题之一。

1 相关方法研究

数据挖掘技术是目前中医方药研究不可或缺的一种强有力工具[4],在中医药领域研究中常见的挖掘方法有频数分析、聚类分析、因子分析、关联规则、人工神经网络等[5]。将数据挖掘技术应用到药对研究中,可以极大地提高药对发现效率。在药对研究中主要采用关联规则算法[6],利用置信度判断两种药物是否属于药对。虽然这种方法能够发现部分药对,但存在明显的片面性,即当A药物到B药物的置信度很高,并不能保证B 药物到A 药物中的置信度也高,如有“药中国老”之称的甘草,在临床中使用频繁,能挖掘出与许多药物都有数据关联,但只有当它和这些药物在实际运用中存在明确的配伍关系时才可以将其称为药对[7]。因此不能仅仅依据置信度把同时出现的药物定义为药对[8],药对中的药物彼此间置信度应该都是较高的。也有学者认识到上述问题,对传统算法进行了改进,如黄黎明[9]、曾令明[10]、曹玉洁[11]等均在关联规则算法的基础上做了改进,虽然提高了药对发现的效率与准确度,但基于关联规则的算法(尤其是Apriori 算法)其本身存在计算过程繁琐、复杂度较高等问题。需要进行全新的方法。杨洪军[12]等人运用熵方法定量描述中风病方剂中每两味药中药之间的关联度;王师菡[13]等人用广义信息熵法成功提取名老中医药专家治疗冠心病心绞痛的常用药对;Yan Li[14,15]等人提出了一种新的DMIM(distance-based mutual information model)算法以发现方剂中药物之间的潜在关联;杨铭[16]等人用复杂系统熵网络发现中医方剂中有显著性关联的核心药对;樊凤杰[17]等人基于偏序结构图的可视化方法从原始数据中发现常用药对和药组。近年来出现的大量针对中医药开发的中医药类传承平台对方剂药对提取也提供了一定的方法支持[18-20]。上述方法在核心方挖掘和药对发现上作了有益探索,但大多基于经典的关联分析算法进行改进和优化,尚存在计算相对复杂,药对发现的适用性不强等问题。鉴于此,本文根据药对特点,提出一种全新的药对发现算法TCM-HPD,以矩阵运算为基础,以联合条件概率为药对提取依据,能够高效解决中医医案中的药对提取问题。

表1 方剂—药物对应表

2 中药条件概矩阵构建算法

2.1 相关定义

2.1.1 共现矩阵

共词分析方法[21]为一种内容分析方法,它通过对一组词两两统计它们在同一篇文献中出现的次数,以此为基础对这些词进行分层聚类处理,从而反映出这些词之间的亲疏关系,进而分析这些词所代表的学科和主题的结构变化[22]。共现矩阵即是由共词分析方法中的共现频数构成,是用来描述两两事物在同一批样本中共同出现的次数。其定义如下:

其中X[i,j]、X[j,i]均表示样本中事物i,j共同出现的次数,X[i,i]、X[j,j]分别表示事物i、事物j在样本中出现的次数。

2.1.2 条件概率

条件概率为概率论与数理统计中的概念,指一个事件B在事件A已经发生的情况下发生的概率,记为P(B|A)。在其数学定义如下:

设A、B是两个事件,且P(A)>0,称

为在事件A发生的条件下事件B发生的条件概率[23]。其中P(A)是A发生的概率,P(AB)是A、B同时发生的概率。

2.1.3 联合条件概率

联合概率是指在多元的概率分布中多个随机变量分别满足各自条件的概率[24]。联合条件概率即指在多元的概率分布中多个随机变量分别满足各自条件的条件概率。其定义如下:

2.2 算法流程

在医案中判断两味药是否为药对可通过判断两味药的配伍是否相对固定,即两味药中的其中一味药出现时另一味药是否也出现。这一问题可以转换为在一味药出现的前提下另一味药出现的概率,即条件概率问题,以联合条件概率作为判定药对的依据。

2.2.1 共词矩阵的构建

通过扫描药物数据库,计算任意出现的药物之间共同出现的次数,构建共词矩阵M1;

2.2.2 条件概率矩阵的构造

假设A、B 为任意两味药物,通过在共词矩阵中对应的共现次数计算药物A、B的条件概率,并构造条件概率矩阵M2;

2.2.3 提取药对

将条件概率矩阵M2 乘以M2 的转置矩阵,得到新的矩阵M3,设定合适的标准,利用M2、M3提取药对。

下面以具体数据(表1)为例进行说明,其中F1-F3为不同的方剂编号,a-e为不同的中药。

(1)计算共现矩阵

扫描药物数据,得到所有的药物集合X={a,b,c,d,e},构造5*5的零矩阵S0,行列均为药物;再次扫描药物数据,如果扫描到药物组X1∈X,则X1对应的药物行列都置为1,形成F1矩阵;将S0矩阵加上F1矩阵,形成新的矩阵S1;循环扫描数据库,直到扫描完毕。

图1 共词矩阵计算过程

图2 联合条件概率矩阵计算过程

(2)构造条件概率矩阵

将共现矩阵中的每一个元素,除以该行对脚线上的元素,其表达式如下:

其中S[i,j]为共现矩阵中的第i行j列的元素值,C[i,j]为对应的条件概率值。C[i,j]构成条件概率矩阵C3;利用C3乘以C3的转置矩阵,得到矩阵C4。

(3)药对提取

设定最小联合条件概率阈值(minUnion),将联合条件概率≧minUnion 的药物组合提取出来,作为潜在药对。

3 实验及结果分析

3.1 数据预处理

本文病案来源于国医大师周仲瑛传承工作室数据库中的冠心病病案资料1512 诊次,包含306 味不同中药。参照《中华人民共和国药典》对病案中的中药进行规范化处理,包括药名拆分、药名统一等,例如“丹皮参”拆分为“丹皮”和“丹参”两味药,“南北沙参”拆分为“南沙参”和“北沙参”,“白夕利”改为“白蒺藜”等。

3.2 实验过程

为了比较传统关联分析提取药对与本文算法提取药对的差异。本实验①利用经典的Apriori 对药物数据进行分析,筛选其中的二元规则作为潜在药对;②按照TCM-HPD算法流程,构造构造联合条件概率矩阵,分析不同minUnion 阈值下的潜在药对分布及药物网络情况,根据分析结果确定最佳minUnion 阈值,最后结合中医理论归纳总结上述两种方式发现的潜在药对,以说明TCM-HPD算法的优越性。

图3 潜在药对分布

3.3 实验结果

3.3.1 Apriori药对提取结果

(1)取最小支持度为0.05,最小置信度为0,利用Apriori 得到二元规则(潜在药对)5487条。以0.1作为置信度的间隔,以置信度区间作为横坐标,潜在药对数目作为纵坐标,得到潜在药对分布情况(图3)。

(2)设定最小置信度阈值为0.9,得到潜在药对共40个(表2)。

表2 潜在药对表(最小置信度≥0.9)

3.3.2 TCM-HPD药对提取结果

(1)构造共现矩阵,其中出现次数前10 的高频药物共现矩阵(表3)。

(2)设定最小联合条件概率阈值为0.4,利用TCMHPD计算联合条件概率矩阵,得到潜在药对(表4):

(3)为更直观展示TCM-HPD 算法提取的药对结果,绘制不同联合条件概率区间下药对分布图(图4),以及不同联合条件概率阈值下对应的药物网络图(图5)。

3.4 结果分析及讨论

从Apriori 药对提取结果可知:通过置信度进行药对筛选,其候选记录多达5487 个,随着置信度阈值的增大,药对数量相应减少(图3),当最小阈值大于等于0.9 时,仍然有40 个潜在药对,其中存在相同的药对,如表2中规则“煅龙骨,煅牡蛎,1.0000”和“煅牡蛎,煅龙骨,1.0000”,二者为不同的关联规则,但对应的是同一组药对,故关联规则提取药对存在冗余,且提取精度不佳;此外,某些关联规则虽然单个方向上置信度值很高,但在反方向上的置信度却很低,如“竹茹→法半夏,1.0000”和“法半夏→竹茹,0.1429”,很显然这类规则中的药物不应该被认为是潜在药对,但由于“竹茹→法半夏”的置信度较高,因此也被纳入潜在药对中,导致药对提取效果不佳。药对中两个药物具有平等的地位,在规则上也应该具有两个方向上相当水平的置信度。由于置信度表现的是一味药物在另一味药物已经存在的前提下存在的可能性,仅能单方面的反映两味药之间的关联。而药对作为两味药在临床中常见的相对固定的配伍形式,利用置信度显然不能体现其“相对固定”的特点,因此,仅仅依赖置信度判定药对显然是不合理的。

表3 高频药物共现矩阵(Top 10)

表4 潜在药对表(minUnion=0.4)

图4 潜在药对分布图

从TCM-HPD 药对提取结果可知:高频共现的药物组合不一定为药对,以丹参相关高频药物组合为例(表3,表4),丹参和法半夏(549)、丹参和砂仁(450)、丹参和党参(387)、丹参和黄连(352)、丹参和鸡血藤(324)、丹参和知母(306)均未出现在潜在药对中,而丹参和川芎、丹参和麦冬、丹参和太子参被判定为潜在药对。丹参和川芎为常用均为活血化瘀药,二者相须为用,增强活血化瘀作用;丹参和麦冬、丹参和太子参是滋阴活血常用药对,周老临床经常丹参合生脉饮治疗冠心病气阴两虚证,因而出现上述药对。从潜在药对分布图(图4)可以看出TCM-HPD 算法对最小联合概率minUnion 高度敏感,随着minUnion 增大,潜在药对数量急剧减少,当到达0.4左右,曲率逐渐趋于平缓。

从药物网络(图5)可以看出,当minUnion较小时,网络中出现大量药物社团,且并非是两个药物的组合,当minUnion 为0.4时,社团呈现两三味药的小网络,趋近于药对网络,其中包括经典药对,如泽兰和泽泻、南沙参和北沙参、煅龙骨和煅牡蛎、川芎和丹参、全瓜蒌和薤白,同时也蕴含了周老临证的特殊药对,如九香虫和莪术、莪术和甘松、陈皮和竹茹,九香虫理气止痛、温中助阳,莪术行气破血、消积止痛,二者相须为用,治疗肺癌气滞血瘀的病证;甘松理气止痛、开郁醒脾,莪术和甘松同用,共奏行气散瘀止痛之效;陈皮和竹茹是《金匮要略》陈皮竹茹汤的核心药物,该方具有理气降逆、益胃清热之功效,周老临证用方意而不用全方,用陈皮行气和胃以止呕,竹茹清热和胃以止呕,二药同用,使热去气降,治疗肺癌导致的胃气上逆。此外,潜在药对中还出现了太子参、麦冬、丹参两两之间的药对,这是由于周老临床喜用生脉饮合丹参饮加减治疗气阴两虚、络脉瘀阻的病证,因而在药对网络中呈现出这三味药两两之间的特殊药对。

图5 药物网络分布图

综上可知:Apriori算法作为经典的关联算法之一,通过对数据库进行多次扫描来计算项集的支持度,发现所有的频繁项集从而生成关联规则,整个过程是十分繁琐的,且因要多次扫面数据库,其时间复杂度和空间复杂度都很大,导致其效率较低。利用置信度作为事物间关联强度标准,易忽视一些隐含的规律;若置信度设置过低,结果保留太多,则干扰信息多,增加人工再整理的难度。TCM-HPD 算法从矩阵运算为出发点,通过共现矩阵计算条件概率,省去循环迭代扫描数据库的过程,时间复杂度和空间复杂度均大大降低,用联合条件概率作为提取药对的条件提高了结果准确度,TCM-HPD 算法对最小联合概率minUnion 高度敏感也大大减少人工再删减工作,运算简单、高效。minUnion 是两个条件概率的乘积P1×P2,当minUnion较小时,对条件概率约束也相对较差,而当minUnion为0.4 时,P1、P2至少大于0.4,极端情况下P1=0.4,P2=1.0,如果P1、P2值处于同一水平,那么至少要保持在(约0.63)以上(即,左右条件概率均需在0.63以上),从而保证药对的有效提取。

4 结语

本文通过分析药对发现的重要意义及对药对提取方法现状进行思考,提出了一种全新的药对发现算法TCM-HPD。将药对发现问题转化为矩阵运算问题,从医案中的药物入手,构造联合条件概率矩阵,利用最小联合条件概率筛选潜在药对。利用该算法对冠心病医案方药进行分析,成功提取了相关药对,结果符合专家经验。本文提出的TCM-HPD 算法具有原理简单、易于实现等特点,可以为广大中医药临床和科研工作者提供便捷、高效、易用的药对发现工具,提高中医临床医案研究的效率。

中医药在漫长的发展过程中形成了自己独特的理论和诊疗经验,名老中医的学术经验是中医药事业的一笔巨大的财富。总结名老中医的经验,继承他们的学术,既是今天振兴中医药事业的需要,也是历史赋予我们的重任。药对是联系方剂和中药的重要环节,相比于传统的利用置信度的关联规则方法,本算法利用最小联合条件概率进行药对提取更加符合药对的特点,可以为名老中医用药规律挖掘提供方法学参考。

猜你喜欢
置信度丹参关联
丹参“收获神器”效率高
置信度辅助特征增强的视差估计网络
一种基于定位置信度预测的二阶段目标检测方法
硼铝复合材料硼含量置信度临界安全分析研究
不惧于新,不困于形——一道函数“关联”题的剖析与拓展
丹参叶干燥过程中化学成分的动态变化
“一带一路”递进,关联民生更紧
丹参叶片在快速生长期对短期UV-B辐射的敏感性
正负关联规则两级置信度阈值设置方法
奇趣搭配