中药方剂数据分析系统设计与实现*

李大硕,张宏军,程恺,徐有为,王航,李逸林

(1.陆军工程大学指挥控制工程学院,江苏 南京 210000;
2.南京中医药大学)

在中医药领域,中药方剂数据规模不断扩大,怎样更准确、更全面的管理及分析中药方剂数据也成为当下中医药领域的重要研究需求[1]。当今中医药领域的研究模式正从临床验证总结、医案整理,逐步发展为通过结构化方剂数据采集,利用数据挖掘方法对中药方剂的诊治特点、用药规律进行多维度的模式[2]。这也符合《中医药发展战略规划纲要(2016-2030)》中对当前中医药数据分析提出的需求。

为研究中药方剂潜在的配伍规律,优化中药方剂数据分析流程,需要完成以下工作:①研究中医药领域数据资源特点,分析系统建设需求;
②由给出系统从总体架构到技术细节的设计方案,包括系统功能设计和数据的混合存储策略;
③以中药方剂“方-药-证-症”作为数据源,建立中药方剂网络;
④运用复杂网络的方法,对方剂配伍过程中各要素之间的复杂相互作用进行分析,保证中药方剂数据分析的合理性;
⑤方剂网络构建、可视化、系统应用等工程实现方法实践。

1.1 中药方剂数据资源特点

我国传统中医药具有悠久的历史,它以其特殊的知识体系和诊治方法,为人类的健康事业做出贡献。

1.1.1 数据资源特点

中药方剂是中医药预防疾病的重要手段,是中医药“理、法、方、药”理论体系的重要组成部分,具有以“方-药-证-症”为核心的多维结构。传统的数据挖掘技术大多只对中医药数据表层规律进行分析,对其深层复杂关系的研究存在局限性。中药方剂在遵循基本的组方结构和配伍规则下,针对不同的“证”或“症”,按照“君、臣、佐、使”的原则来配伍,达到整体调节的作用[3]。同时,药材又蕴含功效、药性、药味、归经等复杂属性,中医在辨证论治和方剂配伍方面都要综合考虑病症和药材复杂性及其高度非线性关系的特点,因此,中药方剂系统属于典型的复杂系统[4]。

1.1.2 研究现状分析

根据中医药领域业务需求,结合中药方剂数据资源特点进行分析,可以发现,当前中药方剂应用存在以下需解决的问题。

一是复杂关系难以分析。中药方剂是理法方药的数据集合,具有独特的配伍规律及非线性关系。方剂中药材的剂量、药味的随证加减都有着相应规范,但因涉及的数据关系复杂,传统研究方法难以对其进行全面又深层的分析。

二是分析角度不足。在探讨药材联系时单从药材频次等角度衡量,未考虑中药方剂中药材本身属性对实际药方配伍的影响,忽略了整体的相互作用,其分析存在片面性。缺少完整可靠的中药方剂分析工具,难以得到更深层次的药材配伍规律。

1.2 系统建设需求

根据现实中药方剂的数据特点及存在问题,中药方剂数据分析系统需要将中医药领域的多元数据整合成结构化的数据资源进行数据分析,其中涉及到“症状、证候、方剂、药材”等众多因素,这些因素之间蕴含丰富的复杂关系,传统的数据处理方法难以有效地对数据资源进行整合。本系统基于复杂网络理论构建中药方剂数据模型,构建中药方剂领域专业规范的复杂网络,并通过复杂网络中的分析算法实现中药方剂的数据分析。将用户角色分为系统管理员和系统用户,系统管理员负责维护和管理系统的基础数据,主要包括用户数据、临床诊断数据以及中药方剂数据;
系统用户可以查询方剂相关数据信息及获取方剂的多种数据表达结果,并通过构建方剂复杂网络模型获取关键药材节点以及实现药材社团划分等,进而实现中医药领域的智能推荐、智能问答等功能。具体需求如图1所示。

图1 系统建设需求

考虑到系统的可靠性和工作效率,本节着重介绍系统架构、中药方剂资源库数据模型设计以及系统功能。

2.1 系统架构

根据系统建设需求,按照高内聚、低耦合的系统设计原则,并充分考虑系统的可靠性、安全性、实用性等问题。在系统设计中,我们采用三层架构搭建系统的整体框架,他们分别是数据层、业务层以及应用层,如图2所示。

图2 系统架构图

数据层利用混合存储策略,存储方剂网络构建分析全生命周期中的各类数据,主要包括用户基本数据、临床诊断数据和方剂资源库。用户基本数据包括用户数据、管理员数据等;
临床诊断数据包括病例数据、诊断记录等;
方剂资源库负责记录中药方剂包含的药材、症状、证候等信息,是中药方剂复杂网络分析的基础数据来源,实现对系统建设需求的支撑。业务层提供系统实现的具体业务逻辑,主要包括系统用到的自然语言处理技术与复杂网络构建技术,将临床诊断数据与方剂资源库数据进一步处理成结构化,体系化的数据,为中药方剂数据分析提供支撑。应用层在中药方剂复杂网络构建的基础上,主要负责系统的方剂分析、药材推荐[5]、智能问答等应用。

2.2 数据模型

中药方剂资源库数据模型设计是实现中药方剂数据分析系统的重要一步,中药方剂数据从各类形式转变为标准化、规范化的数据库数据,需要建立相应的数据模型。根据上述中药方剂数据资源特点和系统需求分析,对系统数据进行数据模型设计。以中药方剂资源库的概念模型为例展示系统数据模型设计方法,资源库ER图3如下。

图3 资源库ER图

2.3 系统功能

系统的用户主要分为两类。普通用户只能查看系统数据库中存储的内容以及对方剂数据进行分析。而系统管理员除了能查看数据以外,还拥有数据管理的权限。根据系统需求分析的结果,将系统功能模块分为以下四个部分,系统的功能模块图如图4所示。

图4 系统功能模块图

基础数据管理模块包括用户数据管理、临床诊断数据管理、方剂数据管理和方剂分析数据管理等子功能模块。用户数据模块用于管理系统用户相关数据,以支持用户对系统的使用;
临床诊断数据模块用于存储中医临床诊断过程中的病例数据及相关用药记录;
方剂数据模块负责管理数据库中的中药方剂数据信息,主要包括药方涉及到的症状、证候、疾病等数据;
分析数据模块用于存储中药方剂分析过程中产生的相关方剂数值。

药方数据表达模块主要负责对系统基础方剂数据进行整合,并以复杂网络的方式进行构建和存储,在构建中药方剂复杂网络的基础上,以图表形式实现中医药方数据表达,为中药方剂复杂网络的分析计算提供帮助。

数据分析挖掘模块对中药方剂进行数据分析、挖掘,在中药方剂复杂网络构建的基础上进行分析计算,主要包括药材贡献度计算、药性相似度计算、药材关键节点发现、关联药材推荐[6]、药方社团划分等子功能模块,可根据实际业务需求开发新的功能模块,不断完善数据分析挖掘子模块功能,拓展数据挖掘在中医药领域的业务范围。

数据可视化模块实现中药方剂的系统数据分析结果的可视化,以动态交互的形式帮助工作人员更好的进行中药方剂数据分析的查验工作,包括方药关系可视化、方剂相似度可视化[7]、药性相似度可视化以及方剂聚类可视化等子功能模块,为工作人员提供开展中药方剂数据分析各流程业务活动的交互界面。

系统主要侧重于建立统一规范的中药方剂领域复杂网络构建流程,辅助专业人员分析药材配伍规律,为中医临床诊治提供帮助。因此,我们着重介绍中药方剂网络模型设计、复杂网络的构建与存储、方剂网络的分析与计算以及可视化等系统实现的关键技术。

3.1 中药方剂网络模型设计

中药方剂复杂网络模型设计是本系统设计过程中最为关键和重要的环节,复杂网络模型设计是分析中药方剂数据特征的有效手段[8]。结合中药方剂复杂网络分析中关键节点发现和社团划分等任务,对中药方剂数据分析系统进行复杂网络模型设计。

方剂复杂网络由节点和关系组成,其网络结构由系统资源库的概念模型决定,在综合考虑系统应用场景和数据库性能的前提下设计复杂网络模型。系统结合症状信息数据、证候信息数据、药材信息数据构建网络。复杂网络模型的设计按照以下两个原则:一是能够表示整个中药方剂关系网络;
二是能够提高数据库的查询效率。中药方剂网络结构可以抽象为症状、证候、药材等实体通过药材相互作用关系、连接频次关系等构成的一张网络,中药方剂复杂网络模型设计如图5所示。

图5 中药方剂复杂网络模型

3.2 复杂网络的构建与存储

考虑到方剂网络的表征能力以及在查询使用中的效率。对于方剂复杂网络的构建,关系型数据库中表存储在处理复杂关系时,存在多表操作和深层查询等问题,因此表查询操作较于图查询更繁琐。而Neo4j 图数据库存储结构主要为节点和关系,为此要在表存储结构与图存储结构之间实现数据的转化。中药方剂复杂网络的节点与关系结构见图6。网络包含节点和关系两类,节点包含药材、症状、证候、药方;
关系包含组成、治疗、配伍。节点都有相应的属性、标签及主键,如药材节点存储了药材编号、药材名称、药材药味、药材药性、药材功效等属性,作为主键的药材编号是药材节点的唯一标识,节点具有多个标签;
网络中的关系用于存储属性及类型。基于此研究的基础上完成数据从表存储到图存储的转化,在中药方剂复杂网络系统中更好的发挥图数据库查询的优势。

图6 复杂网络节点、关系、属性

方剂复杂网络由关系型数据库MySQL 经过数据处理后,按照复杂网络模型进行图存储结构转化形成。图数据库的数据导入方式有多种形式,其中包括Cyphter create 语句、Cypher load csv 语句、Py2neo、neo4j-import、neo4j-admin、neo4j-apocload 等。系 统采用Py2neo 对Neo4j 图数据库进行操作,以新冠肺炎药方为例,导入相关数据节点、关系以及属性。数据导入完成后会在指定路径下生成图数据库。打开Neo4j 服务,对配置文件中数据库位置进行修改,输入网址(http://localhost:7474/browser/)连接到指定数据库实现数据的存储和查询。根据图所述的中药方剂网络模型进行复杂网络建模,对Mysql 数据库进行数据抽取及特征分析等操作,基于py2neo 库进行方剂数据的导入,在前端界面实现图数据库的查询和可视化操作,如图7所示。

图7 图数据库Neo4j界面

3.3 可视化

系统基于PyQt 工具包,使用Python3.7 版本在Pycharm 中编写程序,数据可视化工具采用PyEcharts。PyQt是用于跨平台的GUI程序开发的工具包,将强大的GUI库与Python语言结合,利用QtDesigner设计主界面,生成的UI 文件可以转换成Python 文件。QtDesigner可以直接设计系统UI 界面,还可以将主程序与UI 界面分离开来,使得UI 界面设计与主程序开发互不影响。PyEcharts 是Python 开发中用来生成Echarts 类的第三方库,是Python 的一个可视化框架,内置了30 多种常见图表,通过高度灵活的配置项,设计出精美的图表,为中药方剂数据复杂网络分析结构可视化提供强有力的支持。以新冠肺炎药方数据为例,中药方剂数据分析中聚类可视化效果如图8所示。

图8 聚类可视化

根据实验结果可以看出,系统采取的可视化方案对中药方剂复杂网络数据分析的展示效果较好,充分满足系统需求。

3.4 系统应用

系统应用主要包括方剂分析、药材推荐、智能问答等三个大方向,方剂分析研究分为关键节点分析、社团划分等功能模块,以系统关键节点分析功能为例,实现“药方-药材”复杂网络中关键药材节点计算。通过新冠肺炎药方数据,利用复杂网络的节点中心性所涉及的算法。比如:度中心性、中介中心性、接近中心性、特征向量中心性等,来对中药节点中某些重要特征做科学有效的细致分析。期望可以从现有药方数据中挖掘出药材关键节点。药材节点对应的中心性值越高,则表明该节点在网络中占据的位置越重要,也意味着该药材节点在方剂中发挥着重要的作用。

新冠肺炎方剂数据的关键节点分析结果如图9。

图9 方剂数据关键节点分析结果图

由系统关键节点计算结果可知,黄芪、金银花以及防风等药材在新冠肺炎方剂中具有较高中心性值,并且对于重要节点的度中心性、接近中心性和特征向量中心性等具有相似的排名。可以得出,黄芪、金银花和防风是治疗新冠肺炎的关键药材。

本文根据现实中药方剂复杂关系的数据特点及实际应用,提出了中药方剂数据分析研究系统建设需求及总体设计,对系统关键技术进行研究,通过构建新冠肺炎方剂的复杂网络并进行网络分析,验证了该系统设计的可行性和正确性。本文的研究工作对复杂网络研究在中药方剂数据分析系统的现实应用中具有一定的价值,可有效地帮助中医药领域专家分析中药方剂蕴含的复杂数据关系。接下来,还需要进一步研究中医药领域复杂网络分析方法在系统中的应用,并结合实际应用完善系统算法,同时对中药方剂复杂网络社团划分等功能进行完善。

猜你喜欢 方剂药材可视化 道地药材变成致富“金叶子”今日农业(2022年2期)2022-11-16基于CiteSpace的足三里穴研究可视化分析世界科学技术-中医药现代化(2022年3期)2022-08-22思维可视化师道·教研(2022年1期)2022-03-12中医医案方剂多维相似度算法设计与探索世界科学技术-中医药现代化(2021年8期)2021-12-21春季种什么药材好?今日农业(2021年6期)2021-06-09药材价格表特种经济动植物(2021年4期)2021-04-19《金匮要略》黄芪类方剂探析中国民间疗法(2020年22期)2021-01-07基于CGAL和OpenGL的海底地形三维可视化海洋信息技术与应用(2020年1期)2020-06-11“融评”:党媒评论的可视化创新传媒评论(2019年4期)2019-07-13柴胡汤类方剂用于肝恶性肿瘤治疗进展中成药(2018年9期)2018-10-09

推荐访问:方剂 中药 分析