APP下载

基于Neo4j 的《伤寒论》知识图谱构建研究∗

2021-03-22王菁薇晏峻峰

计算机与数字工程 2021年2期
关键词:伤寒论证候结构化

王菁薇 肖 莉 晏峻峰

(1.湖南中医药大学信息科学与工程学院 长沙 410208)(2.湖南中医药大学中医学院 长沙 410208)

1 引言

随着计算机相关技术的不断完善和成熟,与各个领域都有了较高、有效的结合,其在中医药领域的应用却步履维艰。在浩如烟海的非结构化形式的古籍中蕴含着中医药领域丰富的知识,将其抽取转化为结构化知识,对中医药的传承和发展具有一定的现实意义。

2 研究的背景和意义

2019 年12 月底,新型冠状病毒引起的疫情以武汉为中心,进而迅速向全国乃至全球蔓延。中医较早介入了中国对新型冠状病毒肺炎的防治,在第六、七版《新型肺炎诊疗方案》中推荐使用的“清肺排毒汤”是《伤寒论》相关经方的融合创新运用,其对新冠肺炎各阶段患者均有明显疗效[1]。 由此可知,中医药古籍,如《伤寒论》,在当前社会背景下仍具有重要的医疗价值。但面对诸多历史性新机遇的同时,中医药古籍的传承模式也面临着新的挑战。构建基于中医药古籍的知识图谱是将中医药古籍中非结构化的知识变成结构化知识的过程,便于计算机相关技术更好地利用中医药古籍中丰富的知识,是现代化医疗体系建设的要求。因此,对《伤寒论》知识图谱构建的研究不仅仅是对中华传统文化的传承与发展,也是对中国卫生医疗的发展,同时对国家的发展也具有长远的意义。

3 研究现状

3.1 知识图谱

知识图谱概念出现于20 世纪60 年代,是由谷歌在2012 年提出的,目的是为了更好地优化搜索结 果[2]。“Exploiting Linked Data and Knowledge Graphs in Large Organisations[3]”一书中对知识图谱的定义:“A knowledge graph consists of a set of inter⁃connected typed entities and their attributes[4]”,即知识图谱由一组相互连接的类型化实体及其属性组成。

构建知识图谱的关键是信息抽取、知识融合以及知识计算[6]。信息抽取也称知识抽取,指的是通过人工或自动等方式从数据源中提取实体、属性以及关系的技术[7]。从数据结构的角度来看,数据源包括非结构化数据、半结构化数据以及结构化数据。相较于半结构化数据以及结构化数据,对非结构化数据,如:文本、图像、视频等,的知识抽取能为知识图谱提供大量较高质量的三元组事实[7]。知识融合主要是对概念实体进行链接,来自不同数据源的概念可能存在命名相同但指代不同实体,命名不同概念可能相同以及概念指代的粒度不同等问题[9]。为了解决以上问题,人们已经提出了各种各样的本体匹配算法,从最早的启发式方法、概率方法,到现如今基于机器学习或是推理的方法[10]。知识计算主要是根据图谱提供的信息得到更多隐含的知识[10],如数据中存在的隐含知识可以利用本体或者规则推理系列技术获取,经过不一致检测技术发现数据中的燥声和缺陷。

3.2 中医药知识图谱现状

中医药领域知识图谱的应用研究主要集中在中医临床病例医案。阮彤等基于上海曙光医院的信息系统以及知识库数据构造了中医药知识图谱,提供了语义问答和辅助开方应用[11]。朱玲等通过对中医文献中“哮喘”相关知识的提取,实现了哮喘相关知识的领域建模[12]。方芳等通过本体技术构建了糖尿病医案本体库[13]。

4 《伤寒论》知识图谱的构建

4.1 中医命名实体抽取

中医命名实体抽取是将疾病、证候、症状等中医词汇从数据源中抽取出来。

1)实体抽取原则:本着“全面准确、继承发展”的理念,依据以下原则纳入实体数据。

(1)全面收录《伤寒论》中疾病、证候、症状、处方、药物有关词条;

(2)注重实体录入的准确性;

3.1 评估颞浅静脉 经颞浅静脉置管前应充分评估颞浅静脉的可见度、充盈度及其走行方向。由于右侧颞浅静脉距离上腔静脉近,故选常右侧。将患儿头偏向左侧,先触摸血管是否搏动,观察血管外形以防误入动脉,再评估静脉充盈度,如颞浅静脉明显可直接备皮。颞浅静脉不明显可用大拇指在颞枕骨缝处横向来回轻摸,触到一条纵向凹槽,用左手拇指和食指轻按血管远近两端,并缓慢内聚数次,可见两指间皮肤呈条索状隆起,再备皮[1]。如右侧颞浅静脉显露不清晰,且无法触及凹槽时,再同法选左侧。

(3)录入数据在《伤寒论》有据可依。

2)实体抽取方法:以《伤寒论》原文为研究对象,确定其中与疾病、证候、症状、处方、药物相关的主题词,如“太阳病”“中风”“脉浮”“桂枝汤”“桂枝”等。对采集的数据人工录入数据库中,要求对每一条数据标注所出自的《伤寒论》条文。

依据以上实体抽取准则和方法以及《中医临床术语标准规范》等规范将《伤寒论》外感疾病演变过程的各种症候群,区分为太阳、阳明、少阳、太阴、少阴、厥阴六经病[13],并对其进行综合分析,归纳其证候、症状、处方以及药物组成,存储在EXCEL 表格(《伤寒论》全数据库.xlsx)中,实体数据格式要求如表1 所示。实体抽取结果,经两位中医学博士进行校对。

表1 实体数据格式要求

4.2 关系抽取

知识图谱是一个语义网络,实体关系是它的重点[15]。本文在构建知识图谱的过程中,依据《伤寒论》的解读,定义了三类实体关系:上下位关系、治愈关系以及整体与部分关系,具体如表2所示。

表2 实体关系表

4.3 《伤寒论》知识图谱存储

4.3.1 Neo4j存储的优点

目前知识图谱的存储方式主要有SQL 关系型数据库和NoSQL 非关系型数据库。在非关系数据库中,Neo4j数据库被广泛使用。Neo4j图数据库是以图形结构的形式存储信息,关联数据本身就是它所包含的数据,因此它可以直接显示关联数据特征。相较于传统的关系型数据库,Neo4j 的遍历算法设计能够运用图结构的自然伸展特点来设计,不需要复杂的连接运算,因此数据的增加以及关系复杂程度的增加不会导致查询效率的下降。

4.3.2 数据预处理

该部分实验是对人工抽取、整理并录入得到的中医命名实体数据——《伤寒论》全数据库。xlsx进行的。其目的是借助Python 相关工具将人工整理录入的数据切分成符合Neo4j的导入要求的CSV文件,分别包括疾病、证候、症状、处方、药物五个实体文件以及疾病与证候、疾病与症状、证候与症状、症状与处方、处方与药物五个实体关系文件。

4.3.3 知识的导入

Neo4j 数据导入的方式有三种包括使用Cy⁃pher LOAD CSV 语句,使用Cypher Create 语句以及使用Neo4j-Import 工具。Cypher 语言的LOAD CSV语句可以适用于任何情况下数据的导入,本文通过这种方法将预处理后经过标准化的实体文件以及实体间关系文件导入到Neo4j 数据库中(需将导入文件预先放入Neo4J安装目录的import目录下)。

1)节点的导入

节 点 导 入 模 型:(variable:Lable{key1:val⁃ue1,…,keyN:valueN})。

节点的标签(Lable)等同于关系型数据库的表名,属性相当于关系数据库中表的列。每个节点都有一个默认的内部属性ID,当生成新的节点时,Neo4j 图数据库服务器会自动为其分配一个整数ID。在默认的情况下,节点的ID 属性在图数据库中是自动递增且唯一的。以“疾病”和“证候”两个结点的导入为例,具体Cypher语句如下:

LOAD CSV WITH HEADERS FROM“file:///disease.csv”AS line

MERGE(z:疾病{name:line.name})

LOAD CSV WITH HEADERS FROM“file:///syndrome.csv”AS line

create(z:证候{name:line.name,id:line.id})

2)关系的导入

关系构建模型:

startNode-[variable:relationshipType{key1:val⁃ue1,…,keyN:valueN}]->endNode

与节点的语法类似,关系的方括号内定义了关系的类型和属性。关系的类型类似节点标签,在创建关系时,关系类型的指定是必不可少的,但只能指定一个关系类型。在Cypher 语言中,关系可分为两种:使用一对短横线(即--)表示一个无方向的关系;若在无方向关系的一端加上箭头(即-->或<--)表示一个有方向的关系以病名和证候的一对多的关系为例,具体设置如下:

load csv with headers from“file:///drs1.csv”as line

match(from:病名{name:line.from}),(to:证候{name:line.to})

merge(from)-[r:关 系{property:line.rela⁃tion}]->(to)

5 结语

通过人工抽取《伤寒论》原文的知识,完成了《伤寒论》知识图谱的构建。目前知识库中总共构建了639 个实体,2076 条实体关系其中包括了6 个疾病类实体,43 个证候类实体,394 个症状类实体,106 个处方类实体,90 个药物类实体,实体数量统计如表3所示。在图数据库Neo4j中,《伤寒论》知识图谱采用图节点和图边来存储知识。《伤寒论》知识图谱在Neo4j中的部分实体关系展示,如图1所示。

表3 实体数量统计表

图1 《伤寒论》知识图谱部分实体关系图

基于《伤寒论》知识图谱的构建将《伤寒论》中非结构化知识转换为结构化知识,为后期基于《伤寒论》知识图谱的推荐系统,问答系统以及基于中医药古籍的知识挖掘与机器学习的研究奠定了基础,为中医药现代化过程中对中医药古籍的传承和发展提供了思路。

猜你喜欢

伤寒论证候结构化
广泛性焦虑障碍中医证候、体质及其关系的研究进展
顾丽英:小学数学结构化教学的实践探索
借助问题情境,让结构化教学真实发生
深度学习的单元结构化教学实践与思考
左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习
针对肝郁化热证的证候类中药新药临床评价研究
炮制对于中药药性改变的研究进展
半夏泻心汤与小柴胡汤关系之辨析
刘炳凡《伤寒论》教学录音资料数字化保存及应用研究
《伤寒论》恶寒症探微