背景技术
在中医临床诊疗过程中,“辩证论治”和“状态辨识”是两种常用的中医诊疗方法。“辩证 论治”的诊疗特点是根据病人表现出的症状组,进行中医证型的判断,再结合辩证所得的中医 证型信息,开出相应的中医处方进行病症的治疗。而“状态辨识”的诊疗特点是根据病人表现 出的症状信息,进行状态要素(病位、病性)信息的提取,再结合所得状态要素,进行相应中医处 方的开具。两种诊疗方法各具特色,均有助于提升中医诊疗的客观规范性和临床实用性。
但是,当前医院均是通过医生纯人工的方式进行临床患者中医四诊及病史信息采集和病症 的诊断与治疗。鉴于中医诊疗过程的复杂性和多样性以及中医思维的灵活性和抽象性,单纯借 助人工进行诊疗难以做到标准化、客观化诊疗,也易出现误诊漏诊的情况。因此,借助计算机 技术模拟临床医生的诊疗过程,智能化匹配出中药处方,有助于医生在临床诊疗过程中更科学、 更快速、更精准地制定诊疗策略,同时也可助推中医的现代化传承与智能化发展。
中药推荐的目标是从病人的一组症状出发,得到治疗该症状的中药组合。中药推荐的主要 挑战如下:首先,中医不同的症状组合中存在着某些关系,相同的症状与不同的症状相组合可 能对应于不同的病性,从而得到的中药也有所不同。如何合理地挖掘症状中的关系是其一大挑 战。其次,中医实践中已经证明,归结证型和状态要素等信息对医生的开药有所帮助,这对中 药推荐模型的构建也应有所启发。如何合理地应用中医临床诊疗的经验和方法,从而模拟出中 医诊疗的过程,是其第二大挑战。因此,探索建模合理且具高鲁棒性的中药推荐方法有着重要 意义。
近年来,机器学习相关技术迅猛发展,已经逐渐运用到中医领域,成为缓解医疗资源短缺, 提升临床诊断和服务能力的强大动力。目前,一些中药推荐的方法已经被提出,大部分主流方 法使用主题模型及其相关变种方法,将证型作为潜在主题,通过学习对于每个症状的潜在主题 分布来进行中药推荐,从而模拟出“辩证论治”的诊疗过程。但是,这类模型注重于挖掘症状 和中药的共现关系,却忽略了症状组之间的关系,因而不能很好地建模症状与中药之间的关系。
最近,图卷积神经网络方法被提出,并在自动推荐、自然语言处理以及计算机视觉领域取 得了显著的效果。其通过对图数据巧妙的卷积操作,可以很好地学习到图的拓扑结构之间的信 息,同时不遗漏掉节点自身的特性。本发明将图卷积神经网络运用于中药推荐任务之中,通过 图卷积神经网络提取症状之间的关系信息,并同时结合了“辨证论治”和“状态辩识”的理论 基础,所得模型更接近于中医实际临床诊疗过程。
发明内容
本发明的目的在于提供一种基于多图卷积神经网络的中药推荐方法,借助中医“辨证论治” 和“状态辨识”理论基础,将证型和状态要素作为症状的构图依据,通过两次图卷积操作来模 拟中医的证型归纳和状态辩识过程,从数据样本中提取出包含症状、症状关系、证型、状态要 素等丰富信息的特征,最后使用多层感知机进行分类预测,从而模拟出中医药方开具的过程。 本发明既借助了中医的临床诊疗经验,又考虑到了症状组合间相互的依赖关系,因而取得了较 好的效果。
为实现上述目的,本发明的技术方案是:一种基于多图卷积神经网络的中药推荐方法,包 括中医数据特征聚合阶段和中药预测阶段;
所述中医数据特征聚合阶段采用两个独立的GCN对症状、证型、状态要素数据进行特征聚 合、提取,从而为每个样本获得具有丰富信息的特征向量;
所述中药预测阶段采用多层感知机MLP对聚合后的特征进行分类,最终得到一组中药集合。
在本发明一实施例中,所述使用两个独立的GCN,对于输入的症状组Xps,分别对症状-证 型-症状图Ts和症状-状态要素-状态图Se进行图卷积操作来实现特征聚合,从而挖掘出具有症状、 症状间关系、证型信息的嵌入表示Zpt和具有症状、症状间关系、状态要素信息的嵌入表示Zpe; 最后将两者进行融合,从而得到具有症状、症状间关系、证型、状态要素信息的嵌入表示Zps。
在本发明一实施例中,症状-证型-症状图Ts和症状-状态要素-状态图Se的构建方法如下:
对于数据集中的每一个处方p可以表示为:{sp={s1,s2,...,sk},hp={h1,h2,...,hm}, tsp={ts1,ts2,...,tsj},sep={se1,se2,...,sez}},其中,sp为处方的症状集合,hp为处方的草药集合, tsp为处方的证型集合,sep为处方的状态要素集合;将Se和Ts表示为无向图,则可以分别用一 个k×k的症状关系矩阵来表示它们;Se图关系矩阵中的元素可以由以下关系来进行定义:
其中,SEs1,s2表示为症状s1与症状s2之间的关系,se(3)表示3个及以上不同状态要素的集合; 此构图方式将状态要素信息隐藏于症状图的拓扑结构之中;同理,可用如下关系来定义TS图的 关系矩阵:
其中,tsj代表任意一种证型;此构图方式将中医证型信息隐藏于症状图的拓扑结构之中。
在本发明一实施例中,对症状-状态要素-状态图Se和症状-证型-症状图Ts进行特征聚合的 方式如下:
症状对其一阶邻居节点的聚合过程可以被定义为:
其中,Wpe为权重矩阵,bpe为偏置矩阵,RuLU()为非线性激活函数;
类似地,症状-证型-症状图Ts的节点聚合过程可以被定义为:
其中,Wpt为权重矩阵,bpt为偏置矩阵;
此外,为了捕获高阶症状邻居的信息,还可进一步将特征聚合扩展到多个层,以获取更大 的感受野;对于更高的层次第i+1阶,仅使用权重和偏置来进行特征聚合;其聚合过程可被定 义为:
在本发明一实施例中,对于
和
使用矩阵拼接操作来对它们进行融合,其表示如下:
在本发明一实施例中,所述采用多层感知机MLP对聚合后的特征进行分类,最终得到一组 中药集合的方式为:对于每个样本,在中医数据特征聚合阶段提取出具有丰富信息的特征向量 表示后,使用多层感知机MLP进行分类预测,从而对每一味中药计算出一个概率值,表示其被 推荐的概率。
在本发明一实施例中,所述中药预测阶段采用多标签交叉熵损失函数作为损失函数,其被 定义为:
其中,H表示中药的种类数;th(th∈{0,1})和yh(0≤yh≤1)分别代表着实际标签和预测值。
相较于现有技术,本发明具有以下有益效果:
现有主流中药推荐方法基本都使用主题模型及其拓展方法进行推荐,这些方法都注重于使 用症状到中药的共现关系,而忽略了症状间的关系,并且只使用了“辨证论治”的诊疗思想。 本发明将图卷积神经网络运用于中药推荐场景中,使用图卷积网络(GCN)进行巧妙的建模,既 考虑了症状间的关系,又结合了“辨证论治”和“状态辩识”的诊疗思想。无论是在技术上还 是中医临床经验知识的运用上,本发明都具有一定的创新性,并在中药推荐性能上得到了明显 的提升。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
如图1所示,本发明提供了一种基于多图卷积神经网络的中药推荐方法,包括中医数据特 征聚合阶段和中药预测阶段;
所述中医数据特征聚合阶段采用两个独立的GCN对症状、证型、状态要素数据进行特征聚 合、提取,从而为每个样本获得具有丰富信息的特征向量;
所述中药预测阶段采用多层感知机MLP对聚合后的特征进行分类,最终得到一组中药集合。
在中医“辨证论治”、“状态辨识”理论的启发下,本发明提出一种新的基于多图卷积神经 网络(Multi-Graph Neural Network,MGNN)的中药推荐方法,模型框架如图2所示,其由两个模 块组成:中医数据特征聚合模块(Feature Aggregation module)和中药预测模块(Prediction module)。 中医数据特征聚合模块采用两个独立的GCN对症状、证型、状态要素数据进行特征提取,从而 为每个样本获得具有丰富信息的特征向量。中药预测模块采用多层感知机(Multi-Layer Perception, MLP)对聚合后的特征进行分类,最终得到一组中药集合。
1、中医数据特征聚合模块
本发明在该模块中使用两个独立的GCN,对于输入的症状组Xps,分别对症状-证型-症状图 (Ts)和症状-状态要素-状态图(Se)进行图卷积操作来实现特征聚合,从而挖掘出具有症状、症状间 关系、证型信息的嵌入表示Zpt和具有症状、症状间关系、状态要素信息的嵌入表示Zpe。最后 将两者进行融合,从而得到具有症状、症状间关系、证型、状态要素信息的嵌入表示Zps。以下 分四小结分别对症状组合Xps的定义、Se和Ts的构图方法、特征聚合方法、特征融合方法作具 体介绍。
1.1、Xps的定义
Xps包含数据集所有症状的集合,采用尺寸为n×t的矩阵[X1,X2,…Xn]T进行表示,其中n为 数据集中的样本总数,t为数据集所包含的症状种类总数。Xi以Multi-hot编码来对其进行表示, 即Xi=[S1,…Sj,…St],若样本i中出现症状Sj,则将Sj所在位置上的元素置为“1”,否则置为“0”。
1.2、Se和Ts图的构建方法
对于数据集中的每一个处方p可以表示为:{sp={s1,s2,...,sk},hp={h1,h2,...,hm}, tsp={ts1,ts2,...,tsj},sep={se1,se2,...,sez}},其中,sp为处方的症状集合,hp为处方的草药集合, tsp为处方的证型集合,sep为处方的状态要素集合。本发明将Se和Ts表示为无向图,则可以分 别用一个k×k的症状关系矩阵来表示它们。Se图关系矩阵中的元素可以由以下关系来进行定义:
其中,SEs1,s2表示为症状s1与症状s2之间的关系,se(3)表示3个及以上不同状态要素的集合。 此构图方式将状态要素信息隐藏于症状图的拓扑结构之中。同理,可用如下关系来定义TS图的 关系矩阵。
其中,tsj代表任意一种证型。此构图方式将中医证型信息隐藏于症状图的拓扑结构之中。
1.3、特征聚合方法
对于图Se,采用GCN进行特征聚合,以获取包含相邻症状信息和状态要素信息的图拓扑结 构信息。症状对其一阶邻居节点的聚合过程可以被定义为:
其中,Wpe为权重矩阵,bpe为偏置矩阵,RuLU()为非线性激活函数;
类似地,症状-证型-症状图Ts的节点聚合过程可以被定义为:
其中,Wpt为权重矩阵,bpt为偏置矩阵;
此外,为了捕获高阶症状邻居的信息,还可进一步将特征聚合扩展到多个层,以获取更大 的感受野;对于更高的层次(比如,第i+1层),仅使用权重和偏置来进行特征聚合;其聚合 过程可被定义为:
1.4、特征融合方法
对于
和
本发明使用矩阵拼接操作来对它们进行融合,其表示如下:
2、中药预测模块
对于每个样本,在中医数据特征聚合模块提取出具有丰富特征的嵌入表示后,本发明将其 作为输入,使用MLP进行分类预测,从而对每一味中药算出一个概率值,表示其被推荐的概率。 在本发明的应用场景中,推荐中药的位数往往不止一个,即标签数不止一个,因此,中药推荐 任务在计算机中可以被定性为多标签分类任务。本发明使用多标签交叉熵损失函数作为损失函 数,其被定义为:
其中,H表示中药的种类数;th(th∈{0,1})和yh(0≤yh≤1)分别代表着实际标签和预测值。
3、实验数据及评价
为验证本发明方法的有效性,本发明使用福建中医药大学团队在古书《伤寒论》中提取出 的数据集上进行了实验。该数据集包含358个处方,每个处方含有多个症状、一个证型、多个 状态要素和多味中药。在本发明中,选用了多标签分类算法常用的3个评价指标,即精确度 (Precision)、召回率(Recall)和F1分数(F1-score),这些指标的定义如下所示:
其中,top(P_pre,K)代表着预测结果中概率最大的K味中药集合。P_label代表着药方中实际 开出的中药集合,即数据的真实标签。通常,这三个指标值越高,代表着预测效果越好。
3.1、定性分析
表1给出了本发明所提出的MGNN方法在中药推荐场景中的两个真实示例。给定症状集合, 我们对其推荐出10味中药来用以治疗,其中,加粗字体代表被正确推荐的草药。如表1所示, 本发明的MGNN方法对处方中中药的推荐达到了很大程度的覆盖。对于第一个示例中MGNN 方法所漏报的黄芩和所误报中的泽泻、大黄都起着清热泻火解毒作用,在临床上可替代使用。 而第二个示例中,MGNN方法所推荐的中药已经完整覆盖所有应开中药。可见,本发明所提出 的MGNN方法能够进行相对合理的中药推荐,有良好的实际应用价值。
表1 MGNN中药推荐示例表
3.2、定量分析
表2所示的是四种方法在《伤寒论》数据集上的实验结果对比。其中,MGNN为本发明所 提出的方法,TsGNN和SeGNN分别是只使用Ts图进行图卷积和只使用Se图进行图卷积的子 方法,MLP是取消图卷积操作、只使用多层感知机对症状进行预测的子方法,PTM是Yao等人 提出的基于潜在主题模型的中药推荐方法。
由表2可以明显看出,MGNN、TsGNN、SeGNN方法在各项指标中都高于单纯的MLP方法,其原因是MLP方法仅使用处方症状特征进行推荐,而运用了图卷积的另外三个方法却在图 卷积操作中得到了症状间的关系特征。MGNN方法效果优于TsGNN和SeGNN方法,其原因是MGNN方法同时提取了证型和状态要素的特征,而其他两个方法只拥有其中之一。由此可见,中医不同的诊疗思想对诊疗的作用各有千秋。综上所述,本发明所提出的MGNN方法的各个模 块都发挥着一定的作用。
表2五种方法的实验结果对比
对于本发明所提出的MGNN方法及其子方法效果均远高于PTM方法,一方面原因是PTM 侧重于症状与中药的共现关系,没能利用症状间的关系。另一方面的原因是基于主题模型的算 法自身的局限性,其拟合特征到类别映射关系的能力不及基于神经网络的方法。
从评价指标数值上分析,MGNN方法的Precison@5达到了62.7%,意味着平均每推荐5味 中药,都有超过3味是被正确推荐的。而Recall@5达到73.3%,则意味着这正确推荐的3味草 药已经覆盖了应推荐中药的73.3%。可以看出,这已经满足一定的现实应用需求,可以辅助医 生更快速、更准确地进行诊疗。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出 本发明技术方案的范围时,均属于本发明的保护范围。