于 婧,张 宁,杨 涛**,高佳奕,陶妍心,史话跃,胡孔法
(1. 南京中医药大学人工智能与信息技术学院 南京 210023;2. 南京中医药大学中医学院·中西医结合学院南京 210023;3. 南京中医药大学第一临床医学院 南京 210023)
辨证论治是中医诊治疾病的基本理论和思维方法[1],其中辨证是临床立法、处方和用药的基础和前提,辨证准确与否直接关乎临床药效的好坏。名老中医临床经验丰富,临床思维活跃,辨证灵活准确,临床疗效显著。如何分析挖掘名老中医的辨证思维成为中医传承与发展的重要内容[2]。随着中医药信息化的发展,中医电子病历已经在医院普及,名老中医的临床医案由传统的纸质形式转变为电子形式,这为名老中医的经验挖掘提供了数据基础。越来越多的数据挖掘方法被应用到名老中医经验传承中,常见的挖掘辨证规则方法有频数分析[3-4]、关联规则[5-6]、因子分析[7-8]、聚类分析[9-10]、复杂网络[11-12]等,其中关联规则应用最为广泛[13]。
关联规则在中医药领域的应用研究可以分成两大类,一类就关联规则算法进行具体应用,如王庆[14]等人利用关联规则分析干燥综合征的证素组合规律,通过证候组合进一步分析了中医证候分布特征和规则;潘树芳[15]等人利用Apriori算法归纳总结范忠泽教授治疗肠癌的辨证思路,根据舌苔、脉象及症状进行辨证分型后对证候要素进行关联分析,挖掘出了证候与症状的对应关系;史话跃[16]等人借助关联规则探明了肝癌不同证候与病位病性的相关性。上述研究多为对传统关联分析算法(如Apriori、Fp-growth)的初步应用,尚未深入中医问题进行方法设计和优化。另一类研究便是对传统方法的优化与改进,部分学者认识到传统关联分析算法的效率问题,提出了一些改进算法,例如,董国华[17]基于计算机对位串逻辑运算的快速反应,提出改进算法Apriori-BSO,挖掘了哮喘病的诊断规律;王世颍[18]通过约束Apriori 的频繁项集挖掘高原常见病慢性萎缩性胃炎的症状特征,使挖掘结果更有实际意义;梁庆[19]等人改进了一种基于关系数据库多维数值关联规则算法,使算法的执行效率得到大幅提高,并在中医温症病案信息挖掘中进行应用。这些研究对中医辨证规律进行了有益探索,但在中医辨证规律研究中,症状、证素(病位和病性)、证型具有异质性,而关联规则中的不同项集地位平等,导致冗余规则较多,采用传统方法无法高效解决异质项集的分析问题。因此,如何设计新方法高效解决“症状-证素-证型”之间的组合规律发现问题值得深入研究。
鉴于此,本文提出一种以矩阵运算为基础,以联合度为评价指标的异质关联网络(Heterogeneous Associated Network,HAN)算法,用以解决“症状-证素-证型”两两元素之间的组合规律发现问题。为了验证算法的有效性,将HAN算法与经典的关联分析算法Apriori 进行比较,分别对1164 条肝癌医案进行挖掘,分析二者的挖掘结果差异。
令Z 表示症状输入集合(即在医案样本中所有出现的症状数据),W 表示病位输入集合(即在医案样本中所有出现的病位数据),Z ={z1,z2,z3,…,zm}表示有m 种不同的症状,W ={w1,w2,w3,…,wn}表示有n种不同的病位。假设一条中医医案数据集为T ={(Zi,Wj,Xp,Jq)|i ∈[1,m],j ∈[1,n],p ∈[1,P],q ∈[1,Q]},其中Zi⊆Z是由若干症状组成的Z子集,Wj⊆W是由若干病位组成的W 子集,Xp⊆X 是由若干病性组成的X 子集,Jq⊆J是由若干基础证组成的J子集。记总医案样本为S ={Tk|k ∈[1,N]},其中Tk⊆T 是一条医案数据,N为样本中医案总数。关联网络算法是为了从医案样本S 中提取若干异构元素间组合规则(Zi→Wj),(Zi→Xp),(Zi→Jq),(Wj,Xp→Jq),如“乏力→肝,脾”,作为输出结果,其中Zi⊆Z,Wj⊆W,Xp⊆X,Jq⊆J,以此探析肝癌辨证规律(计算过程如图1所示)。
图1 HAN计算过程
图2 0-1矩阵构造示例
定义联合度(Unite Degree,Ud)作为关联网络算法中有向组合规则xi→Yj的提取依据,联合度表示有向组合前后元素共同出现的概率,计算方法是前项元素概率和多组二项组合条件概率之积。该值越大,则相关性越大,其定义如下:
其中,f(x)表示x 在样本S 中出现的频数,f(x,yk)表示x,yk在样本S中同时出现的频数,N表示样本S总数。
(1)构建证0-1矩阵
扫描医案数据库,提取原始医案关键信息,得到所有的“症状”“病位”“病性”“基础证”元素集合。假设症状集Z ={z1,z2,z3,…,zm}为m 种不同的症状,病位集W ={w1,w2,w3,…,wn}为n 种不同的病位,以症状-病位为例,可以构建相应的0-1矩阵,其中每一行代表一条医案,每一列代表不同的症状和病位(见图2)。
(2)筛选二元规则
遍历0-1矩阵A、B的每个元素zi,wj,zi∈Z,wj∈W,将矩阵中两列元素对应相乘后求和计算出两元素的共现频率f(zi,wj),设定频数阈值min f,认定f(zi,wj)≥min f的规律“zi→wj”为有效二元规则(见图3)。
(3)聚合二元规则得到有向组合规则
得 到 若 干 二 元 规 则(如xi→yj1、xi→yj2、xi→yj3),合并相同前项元素规则的后项元素,聚合得到组合规则xi→yj1yj2yj3。计算所有组合规则的联合度,并以联合度作为评价指标对组合规则进行排序。联合度定义如下:
根据这一定义对图2 示例规则进行筛选,最终得到“Z1→W1,W4”“Z2→W2”“Z3→W1,W2”“Z4→W1,W3”“Z5→W4”“Z6→W1”。
(4)绘制关联网络图
将获得的组合规则前项元素构成集合S,后项元素构成集合T,S 和T 共同构成关联网络图的节点集合V ={v1,v2,…,vi},二元规则构成网络图的边集合如E ={(v1,v2),(v1,v3),…,(vm,vn)}。由此构成关联网络图G =(V,E),上述示例的可视化结果见图4,其中V 为结点集合,E为边集合。
3.1.1 数据来源
本文所有医案数据来源于南京中医药大学附属医院江苏省中医院病案库,共收集肝癌医案1164例。
3.1.2 纳入标准及剔除标准
纳入标准:原发性肝癌确诊患者。
剔除标准:非原发性肝癌确诊患者;具有心、肾、肺等严重疾病的患者。
3.1.3 数据预处理
由于原始肝癌医案数据存在表述口语化、术语不统一等问题,因此需要对医案进行规范化预处理。将所有符合条件的医案数据录入到Microsoft Excel中,每一行为一条医案数据,每一列为症状、证素或证型数据项,同时对数据项进行规范化和标准化。如将“倦怠乏力”标准化为“倦怠”和“乏力”,将“湿热”拆分为“湿”和“热”,将复合证型“肝肾阴虚证”统一为“肝阴虚证”和“肾阴虚证”,从而得到最终的标准化医案样本数据。
图3 二元规则筛选(min f = 2)
图4 绘制关联网络
为了评价HAN 算法的有效性,将HAN 与传统的数据挖掘Apriori 算法进行对比。第一步,采用Apriori算法对肝癌医案数据进行分析,设定不同参数,观察规则数量变化,选择合适的参数提取出潜在的关联规则;第二步,利用HAN算法对肝癌医案数据进行分析,观察不同参数下结果的数量变化,选择合适的参数分析“症状-证素(病位和病性)-证型”两两之间的关系,绘制相应的有向网络图;第三步,将两种算法进行对比,结合中医基础理论判断两种算法结果的准确性。
3.3.1 Apriori实验结果
(1)将每条包含症状、病位、病性、证型的医案作为一条数据集,设定最小支持度为0.06,共提取出1293 个频繁项集。置信度从0.0 至1.0 共取十一个值,将置信度作为横坐标,提取规则数作为纵坐标。置信度为0 时,提取出18493 条规则,随着置信度阈值的提高,提取的规则随之减少,阈值最高为1.0 时,提取规则数为828条,具体提取结果分布见图5。
(2)置信度阈值为1.0时,共提取828条关联规则,提升度位于前20 的规则见表1。其中,提升度位于前20 的规则中大部分都与症状“目黄”“身黄”“小便黄”相关,且与之相关的证素以病位“肝”“胆”“脾”和病性“湿”“热”为主。“乏 力”“倦 怠”“腹胀”等症状,“气虚”“湿”“热”等病性也为常见。
图5 Apriori算法潜在规则提取结果折线图
表1 Apriori算法关联规则提取结果(Top20)(min Sup = 0.06,min Conf = 1.0)
3.3.2 HAN算法结果
(1)共现频率取0.0至1.0,步长0.1,将共现频率作为横坐标,提取组合规则数作为纵坐标。共现频率阈值为0 时,提取出2321 条组合规则,阈值设为0.1 时,提取出39条规则,当阈值大于0.4时,规则数为0,提取结果分布见图6。
(2)筛选二元规则时设定共现频率阈值为0.1,将二元规则进一步聚合后得到“症状→病位”“病位→病性”“症状→基础证”“病位,病性→基础证”的组合规则(表2)。计算出组合规则之后,以可视化的形式绘制关联网络图,得到图7的结果,从而直观地体现关联网络算法对异构元素关系的提取结果。
图6 HAN算法潜在组合规则提取结果折线图
表2 HAN算法提取结果(Top20)
由实验结果可以看出,肝癌在症状方面以“乏力”“纳差”“倦怠”“腹胀”“目黄”“小便黄”等较为常见;病位以“肝”“脾”“胆”较为常见;病性以“湿”“热”“瘀”“气虚”“血瘀”较为多见;证型以“肾阴虚证”“脾气虚证”“肝血瘀阻证”为主。在症状与病位的相关性方面,“乏力”“纳差”“倦怠”等症状多同时与病位“肝”“脾”关联密切,“身黄”“目黄”“小便黄”等症状多同时与“肝”“胆”相关性大;在症状与病性的相关性方面,多数症状与“湿”“热”“瘀”相关;在症状与证型的相关性方面,“倦怠”“乏力”等症状与“肝血瘀阻证”“脾气虚证”密切相关;在证候与证型相关性方面,以“肾,瘀,痰,血瘀,气虚→肝血瘀阻证”“脾,气滞,气虚→脾气虚证”“肾,阴虚→肾阴虚证”为主。
图7 HAN关联网络图
(1)从两种算法的分析效率看:传统Apriori 算法通过频繁项集生成关联规则,此过程多次循环遍历数据库,具有很高的时空复杂度,耗费大量的时间和空间内存,过程十分繁杂。而HAN 算法基于矩阵运算,将医案中共同出现的多种证拆分成单个证的0-1 矩阵,通过一次遍历即可获取异构元素间有效二元规则,再利用联合度作为聚合规则指标提高结果纯度,避免了重复扫描数据库的过程,极大地提高了提取效率。
(2)从两种算法的分析精度看:Apriori 算法提取结果冗余度高。以置信度为规则筛选标准时,提取的规则最多达18493 条,随着置信度阈值的逐渐增大规则逐渐减少,而当置信度阈值为1.0 时,仍有828 条关联规则(图4)。其中存在大量无效规则和冗余规则,如“身黄,小便黄,脾→湿,胆”,其左项既有症状“身黄,小便黄”,又有病位“脾”,两类元素混杂,不利于中医辨证规律的提取,属于无效规则;又如“小便黄,身黄→胆,肝”、“小便黄,身黄→胆”两条规则,前一条规则更好地反映了中医辨证的规律,其内涵要大于后一条规则,因而“小便黄,身黄→胆”则为冗余规则。而HAN 算法以联合度为标准对二元规则聚合后进行排序,更精准地体现组合规则的相关程度。因此,提取结果都为有效二元规则的聚合结果,故不存在重复规律,具有较高的提取精度,每条结果都为异质元素之间的关系,即前后项分别属于不同类型的元素,更好地展示了“症状、证素、证型”两两之间的相关性。
(3)从两种算法的分析结果看:Apriori 算法提取的关联规则前后项存在多种元素混杂的情况,需人工进一步筛选。如规则“气虚,倦怠,腹胀→脾,乏力”虽是符合阈值条件的筛选结果,但前后项同时包含症状和证素,无法判断此结果代表的是“症状→证素”还是“证素→症状”的相关性。且由于实验数据集中基础证数据较其他证数据偏少,经过多次实验,仅当最小支持度设为低于0.04 时,提取结果中才出现基础证的相关规则,因此根据支持度阈值筛选频繁项集时很可能将基础证过滤,而支持度阈值低于0.04 时关联结果中存在大量冗余规则,故关联规则中参数阈值的设定是决定结果准确性的重要标准,寻求最合适的阈值也成为难点之一。而HAN 提取结果冗余度低、准确度高,结果既与中医基础理论一致,也为临床所常见。同时关联网络图直观展现了各证之间的规律,具有较强的辨识度。肝的疏泄作用与脾胃的运化功能和胆汁的分泌排泄有着密切关系。肝失疏泄,会影响脾胃的升降及胆汁的排泄机能,常出现肝气乘犯脾胃及胆汁预计不畅的病变。故肝癌患者多见腹胀、纳呆恶食等消化道症状,此类症状多与病位“肝”“脾”同时相关,如“纳呆→脾”“腹胀→脾”等规律(图6)。同时肝胆失疏,胆汁外溢肌肤,可见目黄、身黄,此类症状多与病位“肝”“胆”相关,如“身黄→胆,肝”“小便黄→脾,胆,肝”“目黄→脾,胆,肝”等规律(图6)。肝癌病机总属本虚标实,本虚是肝癌发生发展的主要因素,以脾气虚为主;标实包括气滞、血瘀、痰、湿、热等,其中瘀、痰是肝癌的主要病理产物。因此,肝癌症状多与标实的病性相关,如图7 所示“倦怠→瘀,气虚,湿,血瘀”“目黄→热,湿,热”等规律。亦与“脾气虚”等本虚证型相关,如图8中“倦怠→肝血瘀阻证,脾气虚证”“便溏→脾气虚证”等规律。肝主疏泄,气能行津运血,若气机郁结,则血运不畅,血液瘀滞停聚为淤血、癥积,形成水湿痰饮等病理产物,痰瘀胶结于肝不仅影响肝脏本身的生理功能,还影响其他脏腑的生理功能。如图9“脾,气滞,气虚→脾气虚证”“肾,瘀,痰,血瘀,气虚→肝血瘀阻证”等组合规律。
综上所述,HAN 算法将复杂的异质规则挖掘问题转化为简易的矩阵和概率运算,相较于传统的Apriori算法,具有运算高效、分析准确、挖掘结果直观等优点。HAN 算法以分析医案中异质元素的相关性为目标,以矩阵运算为基础,以联合度为评价指标,构建“症状-证素-证型”异质关联网络,并生成相应的规则和可视化网络图,能够直观地挖掘出医案中症状、证素、证型之间的潜在关系,可以为名老中医临床经验挖掘提供方法参考。
从海量的中医临床数据中挖掘名老中医临床诊疗经验是中医现代化传承的重要内容,建立符合中医数据特点的挖掘方法是该项工作的关键。本文通过分析中医辨证的特点,提出了异质关联网络HAN这一辨证规律挖掘算法,将异质元素之间的潜在关系转化为两两元素之间的有向组合规则,以矩阵运算为基础,利用共现频数和联合度筛选出有效组合规则。为了验证算法的有效性,将HAN与经典的关联分析算法Apriori 进行比较,对肝癌医案的辨证规律进行分析,结果显示HAN 具有具有运算高效、分析精准、挖掘结果直观等优点。HAN 算法的提出可以为中医辨证规律研究提供方法支撑,实现信息时代名老中医临床诊疗经验的数字化传承。