摘 要:文章选取《中华本草》《方剂大辞典》《中医临床病证大典泄泻篇、肿瘤篇》等中医药领域的经典著作,整理清洗数据并构建数据库进行规范化存储。基于J2EE架构搭建中医药文献平台,为广大中医药相关人员学习和研究中医药提供文献数据检索和数据挖掘等综合性服务。该文详细阐述了平台的设计,以及数据管理、存储、检索和挖掘等功能的实现。
关键词:中医药文献;J2EE;数据挖掘;综合性平台
中图分类号:TP311 文献标识码:A文章编号:2096-4706(2021)13-0073-04
Design and Implementation of Chinese Medicine Literature Platform Based on
J2EE Architecture
ZHANG Yunqi
(Institute of Literature in Chinese Medicine, Nanjing University of Chinese Medicine, Nanjing 210023, China)
Abstract: This paper selects classic works in the field of traditional Chinese medicine, such as Chinese Materia Medica, Dictionary of Prescriptions, Diarrhea and Tumor of TCM Clinical Syndrome, sort out and clean the data and build a database for normalized storage. Build a traditional Chinese medicine literature platform based on J2EE architecture to provide comprehensive services such as literature data retrieval and data mining for the majority of traditional Chinese medicine related personnel to study and research traditional Chinese medicine. This paper describes in detail the design of the platform and the realization of data management, storage, retrieval, mining and other functions.
Keywords: Chinese medicine literature; J2EE; data mining; comprehensive platform
0 引 言
中药是中医用于防治疾病、诊治疾病的物质,并具有养生康复与保健功用;方剂是由中药配合而成用于治病的药方;病证是疾病发生和演变过程中某阶段本质的反映[1]。这三点是中医诊疗的重要组成部分。中医药方面的文献数据浩如烟海,运用传统方法进行学习和研究的效率较低。本文基于J2EE构建了一个中医药文献数据平台,选取《中华本草》《方剂大辞典》《中医临床病证大典泄泻篇、肿瘤篇》等几本具有代表性的经典综合性著作,对上述文献的数据进行整理和清洗等处理,构建了数据库,规范化存储文献数据。利用该平台可以对所构建的数据库进行模糊查询或精确检索,同时该平台支持用户利用平台数据(或自行上传数据),选择相应的算法进行挖掘分析。
1 系统设计
1.1 需求分析
该平台存储了大量已经规范化的中药、方剂、病证的数据,利用计算机网络,为中医药行业的医护人员和科研人员提供了一个文献数据检索和数据挖掘服务的综合性研究平台。同时经系统认证的专家,有权定期更新增加数据库,在保证数据准确性的前提下,不断完善和补充平台上面的数据。本系统界面操作简单,数据和系统安全性均有保障。
1.2 系统架构设计
本系统基于B/S架构设计,利用J2EE的MVC模式设计表现层、业务逻辑层、数据访问层[2]三层架构,如图1所示。
(1)表现层。利用JSP和JavaScript编写的用户界面,收集用户的请求,同时可以给用户反馈请求的结果。
(2)业务逻辑层。管理用户信息和权限、对中药、方剂、病证等数据进行业务逻辑处理。
(3)数据访问层。根据业务逻辑层处理的结果,对相应的中药、方剂、病证的数据进行增加、删除、修改、查询等操作。
1.3 功能模块设计
中医药文献数据平台将用户分为4种角色,分别是系统管理员、访客、VIP用户和专家,针对不同的角色提供相应的功能,如图2所示。
1.3.1 系统管理员
系统管理员是整个系统的最高管理者,该角色的任务是管理系统中其他非管理员角色的用户(访客、VIP用户、专家),其主要任务是对用户基本信息和权限的管理:
(1)管理用户基本信息。系统管理员可以对非管理员用户进行管理,即对非管理员用户的用户名、密码、姓名、年龄、性别、单位、联系方式等基本信息进行增加、删除、修改、查询等管理操作。
(2)管理用户权限。系统管理员可根据用户的使用需求,为他们分配相应的角色[3],并对不同的角色授权。例如:大部分用户只需查询文献,那么系统管理员给初始注册用户分配“访客”的角色就可以满足这部分用户的需求了。如果有些用户需要上传自己的数据进行分析,系统管理员则需给这部分用户分配“VIP用户”的角色。当系统中的文献数据需要增加、删除或修改时,系统管理员要给执行操作的用户分配“专家”这一角色。
1.3.2 访客
前期进行的需求调研显示,人们在中医药文献使用方面还是以查询文献数据为主,所以平台为初始的注册用户设定的角色身份为“访客”,主要为他们提供模糊查询和高级检索的功能。使用模糊查询时,用户可以通过输入关键词或拼音,检索出与输入内容相似的文献标题。系统会提供检索结果列表,用户点击标题即可以查看文献的详细内容。高级检索中有多个检索关键词,用户可以通过设定不同关键词之间“与”“或”“非”的关系,来更加精确地查找文献数据。比如要检索“伤寒论”中使用“桂枝”的方剂,那么设定书名为“伤寒论”,组成为“桂枝”,两者关系选择“与”,就能检索出结果;若要检索“伤寒论”中所有没有使用“桂枝”的方剂,那么两者关系选择“非”即可。
1.3.3 VIP用户
普通的“访客”向管理员提出申请,管理审核通过后,该用户就成为“VIP用户”。系统为VIP用户提供了统计分析频次频率、Apriori算法分析药对等数据分析功能。“VIP用户”通过选择分析数据的方式,然后根据提示要求上传待分析的数据文件(也可以利用对系统查询得到数据),再设定分析参数,之后系统通过计算自动给出分析结果。
1.3.4 专家
系统已录入的中文文献数据可能会存在遗漏、冗余、错误等问题,需要对数据进行增加、删除或者修改等操作。如果用户可以随意对数据进行删改等操作,就无法保证整个平台数据的准确性和一致性,因此这些工作须由专人负责。“专家”这一角色必须由通过系统认证的、有文献校勘经验的专业人员担任。经由“专家”处理之后的文献数据,准确性才会有保障。
1.4 文献数据库设计
1.4.1 《中华本草》相关数据表设计
本文献平台收集了《中华本草》中的九千多条中药数据,因为中医药中经常出现“一药多名”的现象,为了方便用户后续对药物药性等相关属性的分析,平台对《中华本草》里的中药正名、异名、释名等数据进行了整理和规范,这样就有效避免了在后续药物分析时因文字表述不同而影响分析结果情况的发生。同时系统也对药性、药味、毒性、归经等描述性的文字数据进行了进一步的规范,并设计了4张有关中药属性的表格,下面为表名和属性:
(1)药性信息表。大寒、寒、微寒、热、微热、温、微温、凉、微凉、平等。
(2)药味信息表。甘、微甘、苦、微苦、酸、微酸、咸、微咸、涩、微涩、辛、微辛、淡、微淡、辛麻等。
(3)毒性信息表。有毒、无毒、大毒、小毒。
(4)归经信息表。肠、大肠、小肠、肝、胆、肺、脾、胃、肾、膀胱、心、心包、三焦、肾二、胃二等。
另外,为了存储中药的相关论述,系统设计了中药详情表,包含以下属性:正名、拼音、正名出处、异名、释名、品种考证、来源、制法、原植(动矿)物、栽培要点、采收加工、药材及产销、药材鉴别、化学成分、药理、炮制、功能与主治、药性、应用与配伍、用法用量、使用注意、附方、制剂、现代临床研究、药论、备考、参考文献、集解[4]。
1.4.2 《中医临床病证大典泄泻篇、肿瘤篇》数据表设计
病证大典泄泻篇和肿瘤篇全面系统地整理和收集了历代中医药经典古籍中与泄泻和肿瘤相关的论述,平台根据病证大典的内容设计了病证数据表,内容包括:病名、病因、病机、病证、治法、用方、用药、医话医案[5]。
1.4.3 《方剂大辞典》方剂数据表设计
《方剂大辞典》收录了历代文献中的医方9万余首,内容涉及了中医方剂的来源、组成、功用等多方面的内容。平台根据《方剂大辞典》里收录的内容,设计了方剂数据表,包括以下属性:正名、来源、异名、组成、用法、功用、主治、宜忌、方论、加减、现代研究、临证举例、备考[6]。
2 系统实现
2.1 系统UI实现
中医药文献数据平台的UI实现基于JSP、CSS和JavaScript,界面古典简洁,操作简单易上手。用户可通过点击首页的库名,直接进入相关库进行检索和数据分析,首页如图3所示。
2.2 检索功能实现
平台提供两种检索方式,分别是模糊查询和高级检索。模糊查询会检索出所有与输入词相关的数据,而高级检索是用户通过设定检索条件从而相对精确地查找数据。平台首先会预处理数据库中各个数据表中存储的数据,并根据预处理结果建立索引。用户在检索框中输入文字进行查询时,系统通过正则表达式判断输入内容是否含有非法的字符,如“and”“select”“insert”“delete”等,从而避免SQL注入式攻击,以保障平台的安全性。
用户输入内容合法时,如果选择的是模糊查询,平台会将输入内容与库中的药名、方剂名或组成等所有相关字段的索引进行内容相似性分析,相似度越高的文献数据越优先展示。比如通过模糊检索功能在方剂大辞典的库中输入关键词“桂枝”进行查询,结果会如图4所示。如果选择的是高级检索,系统会在数据预处理和确认用户输入内容合法后,将查询内容与用户设定的具体检索字段的索引进行相似性分析,同时结合用户设定的“与或非”关系,给出相对精确的检索结果。总体检索功能实现的流程如图5所示。
2.3 数据管理功能实现
当发现已录入的文献数据存在问题时,有管理数据权限的专家用户可登录平台增加、修改、删除数据。首先系统会核实专家用户的身份信息,验证通过之后,专家可选择进入新增数据模式或修改删除数据模式。如若专家发现数据有遗漏,进入新增数据模式后,填写新的数据内容。如若数据有错误,专家通过检索功能可查询到出错的数据,点击查询结果列表进行修订或者直接删除该条数据。新增或修改数据后,点击保存,数据会存储至数据库;确认删除某条数据后,该条也会从数据库中删掉。
2.4 数据分析功能实现
前期调研显示,大家在进行中医药数据分析时,主要的两个应用是,分析方剂中的用药频次频率和分析方剂中的关联药对[7],为此本平台暂时只为用户提供这两种数据分析的方式。用户上传符合平台规范的数据后,设定分析参数,系统会自动读取数据和参数,通过用户选定的分析方法,计算给出数据分析的文字结果并反馈给用户。后期会再增加其他算法供大家选择。
3 结 论
本文基于J2EE设计和开发的中医药文献数据平台,实现了对《中华本草》《方剂大辞典》《中医临床病证大典泄泻篇、肿瘤篇》的规范化存储与管理等功能,为广大师生医护人员提供了中医药数据检索和分析挖掘的平台。实验结果表明系统运行稳定,检索分析效果良好。后续认证专家会继续维护和充实数据,平台将提供更加丰富和准确的文献数据,具有较好的应用前景。
参考文献:
[1] 储全根,胡志希.中医学概论 [M].北京:中国中医药出版社,2016.
[2] 石锋.基于MVC模式的JavaWeb开发与应用 [J].电子技术,2021,50(5):16-17.
[3] 黄敏,胡孔法,李影侠,等.中医药传承与创新人才工程申报系统设计与实现 [J].计算机时代,2019(09):96-99.
[4] 国家中医药管理局《中华本草》编委会.中华本草 [M].上海:上海科学技术出版社,1998.
[5] 陈仁寿.中医临床病证大典(脾胃病卷) [M].上海:上海科学技术出版社,2020.
[6] 彭怀仁.中医方剂大辞典 [M].北京:人民卫生出版社,1993.
[7] 李昱,杨涛.基于CiteSpace的中医药数据挖掘研究现状与发展趋势分析 [J].中医药导报,2021,27(4):153-157.
作者简介:张云琪(1993.09—),女,汉族,江苏南京人,助理实验师,硕士研究生,研究方向:中医药信息与大数据挖掘。