APP下载

中医不寐知识图谱构建与知识发现

2023-09-25张伦伦刘青萍邹北骥

湖南中医药大学学报 2023年9期
关键词:方剂术语本体

任 高,张伦伦,李 冉,刘青萍*,邹北骥

1.湖南中医药大学信息科学与工程学院,湖南 长沙 410208;2.中南大学计算机学院,湖南 长沙 410083

不寐,中医又称为“夜不瞑”“不得卧”“目不瞑”等,是以经常不能获得正常睡眠为特征的一类病证。轻者入睡困难,或寐而不酣,时寐时醒,或醒后不能再寐,重则彻夜不寐。 长期不寐不仅影响人们的正常生活,也可能导致胸痹、眩晕、中风等疾病的加重。 由《中国睡眠研究报告2023》[1]可知,中国居民整体睡眠状况不容乐观,近3/4 受访者曾受睡眠问题困扰,47.55%的被调查者每晚平均睡眠时长不足8 h,而每晚平均睡眠时长达到7 h 的被调查者仅占16.79%。 本研究系统梳理中医不寐知识,构建中医不寐知识图谱,能使人们更加深入认识不寐,了解改善睡眠的方法,为中医不寐知识发现和名老中医经验传承提供新思路,对推动中医药文化的传承与发展具有一定现实意义。

1 资料

1.1 数据来源

本研究选择中医不寐相关古籍与规划教材作为数据来源,具体包括:《医学集成》[2]《万病回春》[3]《古今医鉴》[4]《寿世保元》[5]《杂病源流犀烛》[6]《景岳全书》[7]《类证治裁》[8]7 本中医经典古籍和 《中医内科学》[9]《针灸学》[10]《推拿学》[11]3 本国家规划教材。以上述资料为基础,从中筛选中医不寐症状、病因病机、治法、体征、用药等知识。

1.2 资料筛选

中医古籍中常存在一词多义、多元指代现象[12]。本研究在《中医临床诊疗术语疾病部分》[13]指导下,严格按照一定纳入与排除标准对数据进行筛选。 纳入标准:(1)所选内容主题与不寐直接相关;(2)所选内容中包含不寐的同义词,且该词在原文中含义为睡眠障碍;(3)所选内容包含方剂、用药等;(4)所筛选内容表述清楚、明确、不存在争议。 排除标准:(1)所选内容治疗方案中同时包含西医疗法;(2)主治症过于庞杂,对不寐缺乏针对性治疗的处方。 同时,研究采用以下方法对所筛选内容进行去重:(1)将不同古籍、教材中药名相同且药性相似的条文进行合并。 (2)若方剂名称相同,组成、主治等不同,则进行单独标记;如,对于心胆气虚型不寐,《医学集成》与《寿世保元》这两本古籍中用了同名方剂治疗,方剂的组成却不相同。 在《医学集成》中,高枕无忧散由党参、茯神、陈皮、半夏、枳实、石膏、麦冬、酸枣仁、甘草、龙眼肉、竹茹组成,而《寿世保元》的高枕无忧散组成药物为人参、石膏、陈皮、半夏、茯苓、枳实、竹茹、麦冬、酸枣仁、甘草。 (3)因引用而出现了内容相同或相似情况,则按成书时间先后,只保留最早出现该表述的条文。

2 方法

知识图谱由谷歌于2012 年正式提出[14],本质上是语义网络的数据库,用于描述真实世界中存在的各种实体、概念及其相互关系。其构建方式包括自底向上、自顶向下及混合型3 种[15]。“本体”构建作为知识图谱构建的前提与基础,不仅能实现领域知识的整合与可视化搜索,也规范了知识图谱中实体之间的关系,降低了知识冗余。

2.1 本体构建方法及工具

“本体”一词最早出现于哲学领域[16],其在哲学中含义较为抽象、复杂,用来描述客观事物本质。 在信息科学领域,本体是用于描述或表达某一领域知识的一组概念或术语。按照不同分类标准,本体可分为领域本体、应用本体等[17]。 本体构建方法主要有Methontology 法、骨架法、领域本体七步法等[18],构建工具包括Ontolingua Server、Onto Saurus、Protégé 等[19]。

针对不同的本体,构建工具与方法也存在差异。考虑到Protégé 不仅能提供大量的知识模型架构与动作,还具有图形化的友好用户界面及较好的扩展能力[20],本研究将其作为中医不寐本体构建的辅助工具。由于中医属于特定学科领域,且中医古籍常因年代久远、内容散乱,存在缺损严重的现象,本研究选用斯坦福大学医学院开发的“领域本体七步法”作为中医不寐本体的构建方法[21-22],将零散知识结构化,解决知识散乱、无序等问题。具体构建方法包括以下7 个步骤:(1)确定本体的专业领域、范畴;(2)考查复用现有本体的可能性;(3) 列出本体中的重要术语;(4)定义类和类的等级体系;(5)定义类的属性;(6)定义属性的分面;(7)创建实例。本文从以下3 个方面阐述构建过程。

2.1.1 确定领域范畴及重要术语 专业领域范畴即中医不寐领域,重要术语主要包括三大类,即概念、关系和属性术语[23]。针对不寐这一具体疾病,本研究提取出病名、症状、病因病机、体征、治法、处方、用药七大概念术语。 不同的概念术语通过术语间的相互关系实现语义连接。 如“症状”可以通过关系术语“病因病机是”“治法是”与“病因病机”“治法”实现语义连接,最终形成“某症状的病因病机是”“某症状的治法是”;“处方”“用药”则可通过“包含”关系实现语义连接等。 对于属性术语而言,由于中医古籍中往往存在一词多义、多元指代等现象,因此还需对其进行进一步的语义消歧。

2.1.2 定义类的属性、属性的分面及类之间的关系 针对不寐这一具体疾病,本研究提取到的类有病名、症状、病因病机、治法等。类的属性是对类的本质描述。如“不寐”“心悸”是对“病名”类的描述;“补益心脾”“养血安神”是对“治法”类的描述;“养心汤”“温胆汤”“天王补心丹”是对“方剂”类的描述;“酸枣仁”“柏子仁”“远志”等是对“用药”类的描述。 属性的分面是指属性的属性,如属性的类型、允许值等,针对“体征”这一属性而言,属性的分面包括舌、面、脉等医生经检查后得出的各种征候。 类之间的关系由该领域独特的知识体系所决定,对于中医来说,中医领域中类与类之间的关系较为复杂,“病名”既可通过关系术语“症状是”“体征是”与“症状”“体征”相连,又可通过关系术语“治法是”“用药是”与“治法”“用药”相连。如图1 所示,根据中医不寐知识的特点,构建类与类的关系图,共包括10 个节点和42 条关系。

图1 中医不寐类与类关系示意图

2.1.3 创建实例 创建实例是依据中医理论及中医药领域术语标准创建实例,拆分所筛选条文中包含的各个术语,并利用Excel 软件添加实例。 以“由思虑伤脾,脾血亏损,经年不寐,归芍六君子汤,或益气安神汤”为例,其中“思虑伤脾,脾血亏损”为“病因病机”类实例,“经年不寐”为“症状”类实例,“归芍六君子汤”“益气安神汤”为“处方”类实例。与其他领域创建实例不同的是,不寐既可属于病名类,又可作为症状类。 因此,创建实例时需要结合具体条文内容考虑。

确定领域范畴及重要术语、定义类的属性、属性的分面及类之间的关系后,本研究完成了中医不寐本体中部分语义关系构建,具体见图2。 创建实例则由Python 通过py2neo 库操作实例数据存入Neo4j 图数据库来实现。

2.2 语义消歧

中医古籍中常常存在一词多义、多元指代等现象,为确保所构建的中医不寐知识图谱更加科学、专业,本研究根据《中医药学名词2004》[24]进行了相关术语的检索,并将检索结果作为该节点的附加属性添加补充。 同时,本研究结合《中医药学名词2004》术语的相关标准进行语义消歧,有针对性地解决一词多义、多元指代问题。 中药中存在较多同药不同名现象,如中药“山茱萸”在《医学集成》称为“枣皮”,在《寿世保元》中被称为“山茱萸”。 针对上述情况,参照《中药学》[25]十三五国家规划教材,对研究中所涉及的中药名称进行统一化、标准化处理,如将枣皮、山茱萸统一为山茱萸,将丹皮、牡丹皮统一为牡丹皮等。

2.3 知识表示

知识表示是指将人类知识以某种形式表示出来,以便于计算机更好地理解和应用。知识表示是构建知识库的核心,知识结构化表示常用的方法包括符号表示和向量表示[26]。

本研究选用的知识表示方法为属性图,其中,节点代表实体,边代表属性或实体间的关系[27]。通过资源描述框架(resource description framework, RDF)[28]以主语-谓语-宾语构成的三元组形式,简单、灵活地表示事物并陈述逻辑事实,可以形成基于RDF 的结构化数据。 RDF 作为资源描述框架,不仅能为构建知识图谱和实现数据共享提供基础支撑,还具有较强的可解释性,被广泛应用于医学[29]、经济[30]、教育[31]、环境[32]等领域的知识图谱构建中。

2.4 数据存储及可视化

中医不寐知识图谱采用当前应用较广泛的Neo4j 图数据库存储[33]。 Neo4j 图数据库不仅在数据存储和处理方面效率高,而且能在无复杂连接情况下完成相关数据检索。在Neo4j 图数据库中,节点代表实体,可以表示零个或多个关系、属性;关系代表两个节点间的关系,可根据具体需求自定义关系类型。通过上述操作得到Excel 表中的结构化数据(如表1所示),形成头节点-关系-尾节点的三元组结构,“节点概念”表示该节点的概念术语类别。“标准症候词”是该症状词在《中医药学名词2004》中的标准术语名,“关系标签”是在方剂包含具体剂量药物时,作为关系属性添加。 将Excel 表中的结构化数据通过Cypher 语言[34]导入到Neo4j 平台,完成中医不寐知识图谱构建,结构化数据知识图谱示例见图3。

表1 Excel 的结构化数据示例

图3 结构化数据知识图谱示例

2.5 知识检索与发现

在数据可视化的基础上,利用Neo4j 的图查询语言Cypher 实现中医不寐知识的查询与发现。通过节点和关系的创建、检索、更新、删除等操作,实现图数据的高效查询与更新。 知识发现则可以从中医学“理”“法”“方”“药”4 个方面入手,进一步挖掘出知识内部隐含的关系。

2.5.1 理 “理”是指在中医理论指导下,将四诊所收集的资料,通过分析综合,辨清疾病的病因、病性、病位以及邪正关系,最终概括、判断为某种性质证候的过程[35]。 在本研究中,用户可运用Cypher 语言,根据不寐的症状,查询其对应的病因病机。 例如,当查询不寐兼脘腹胀痛时对应的病因病机,可用Cypher语言“match p=(a:疾病名称{title:' 不寐'})-[r1:症状是]-(b:症状{标准症候词:' 脘腹胀痛'})-[r2:病因病机是]-(c:病因病机)return p”进行查询,可得出该条件下对应的病因病机。

2.5.2 法 “法”包括治则与治法两个方面。 治则是疾病治疗时必须遵循的法则,是指在整体观念和辨证论治理论指导下,根据四诊所获得的客观资料,在对疾病进行全面分析、综合和判断的基础上,制订出来的对临床立法、处方、遣药具有普遍指导意义的治疗规律,是治疗疾病的准则,包括扶正祛邪、调整阴阳等。 治法是在一定治则指导下制订,针对疾病与证候的具体治疗方法和措施[36],如滋阴、养血、发汗等。在本研究中,用户可运用Cypher 语言,根据不寐不同症状和病因病机,查询相应的治则治法。 如,由Cypher 查询语言“match p=(a:症状{title:' 虚烦不寐,胆怯心悸'})-[r1:治疗]-(b:治法)-[r2:治疗]-(c:病因病机{title:' 心胆气虚'})-[r3:治疗]-(d:治法)-[r4:治疗]-(e:病名{title:' 不寐'})return p”可知,由心胆气虚引起的虚烦不寐、胆怯心悸,治法为益气镇惊、安神定志。

2.5.3 方 “方”是指在分析病因病机,确定治则治法的基础上,制订或选用适当的方剂或其他治疗措施[37]。 在本研究中,用户可运用Cypher 语言,根据不寐的症状和病因病机查询推荐用方或其他治疗方法。 如,通过“match p=(a:症状{title:'不寐'})-[r1:治疗]-(b:方剂)-[r2:治疗]-(c:病因病机{title:' 思虑伤脾,脾血亏损'})-[r3:治疗]-(d:方剂)-[r4:治疗]-(e:病名{title:'不寐'})return p”查询可知,因思虑伤脾、脾血亏损造成的不寐,可用归芍六君子汤或益气安神汤进行治疗。除此之外,不寐推荐用方查询能够找出不同方剂间的共同用药,有利于挖掘和发现不寐组方、配伍规律,为临床治疗提供新思路。

2.5.4 药 “药”指药物,是组成“方”的基本要素,即明确病因病机,确定预防措施或治则治法,组方遣药[38]。 在本研究中,用户可运用Cypher 语言,根据不寐的症状和病因病机,查询其推荐用药。 如,通过“match p=(a:症状{title:' 心烦不寐,入睡困难'})-[r1:治疗]-(b:用药)-[r2:治疗]-(c:病因病机{title:' 心肾不交'})-[r3: 治疗]-(d:用药)-[r4:治疗]-(e:病名{title:' 不寐'})return p”查询可知,因心肾不交导致的心烦不寐、入睡困难,推荐用药为熟地黄、山药、山茱萸、牡丹皮、泽泻、茯苓、黄连、肉桂。 同时,用药查询结果能够有助于分析不寐用药规律,总结不同医家学术思想与经验,为不寐临床用药提供参考。

3 结果

3.1 中医不寐知识图谱可视化展示

本研究构建的中医不寐知识图谱中,共包含527 个节点和1 067 条关系(图4),形成了集理、法、方、药于一体的中医不寐知识体系。将中医不寐内部各要素及其关系以三元组形式呈现出来,既符合中医辨证诊疗规律,又有利于人们进一步认识和了解不寐,为中医不寐知识挖掘与发现提供更为直观、高效的方法。

图4 中医不寐知识图谱示例

3.2 病因病机查询结果可视化展示

如图5,通过病因病机查询可知,对于不寐而言,既有心气不足引起的彻夜不眠,也有胃中不和,脘腹胀满导致的夜卧不安。不寐病机并非固定不变,失治误治则可能发生病机转化,如心脾两虚者,若饮食不当,更伤脾胃,使气血愈虚,食积内停,则见虚实夹杂。 同时,由病因病机查询可知,不寐病位虽主要在心,但涉及脏腑较多,包括脾、胃、胆等。 对心、脾而言,常表现为虚证,由心脾两虚、气血不足引起心神失养、神不安宁;对胃而言,多为实证,常因饮食失常导致胃中不和而卧不安;对于胆而言,则既有胆腑湿热导致的痰热扰神、神不安宅,也有胆气虚怯导致的善恐易惊、神不守舍。

图5 病因病机查询结果示例

3.3 处方查询结果可视化展示

不寐的病理变化,总属阳盛阴衰,阴阳失交,应“补虚泻实,调整阴阳”。 “补虚”即通过“补法”鼓舞人体正气,增强机体抗病能力,以消除各种虚弱证候;“泻实”则是用“泻法”疏泻病邪,帮助机体祛邪外出,以治疗各种邪盛证候。因此,如图6,在不寐治疗方剂中,有宜肺化痰,治疗痰壅气阻,喘而不得卧的苏子竹茹汤以及理气化痰、和胃利胆,治疗胆怯易惊,头眩心悸,心烦不眠的温胆汤等,也有益气养心,治疗因思虑过度、劳伤心脾导致不寐的归脾汤。 临证时,应根据五脏虚损的主次以及邪实的病理属性,适当配伍清热化痰、养心安神、滋阴降火药等。

图6 处方查询结果示例

3.4 用药查询结果可视化展示

由图7 可知,以心胆虚怯引起的不寐为例,其治疗方剂有温胆汤、十味温胆汤和高枕无忧散。 其中,温胆汤具有理气化痰、和胃利胆功效,适用于胆郁痰扰引起的不眠、惊悸、呕吐等。 十味温胆汤是由温胆汤演变而来,是在前方的基础上去竹茹,加入人参、五味子、熟地黄、酸枣仁、远志,在化痰基础上更侧重益气养血、宁心,适用于心虚胆怯、痰浊内扰引起的触事易惊、惊悸不眠等。高枕无忧散和温胆汤的共同用药为半夏、竹茹、枳实、陈皮、甘草、茯苓,上述6 种药温凉兼进,使得全方不寒不燥,具有理气化痰、和胃利胆的功效。

图7 用药查询结果示例

4 总结

中医学对不寐的探索已有两千多年历史,积累了丰富的理论知识和临床经验。中医古籍、教材作为中医文化传播的重要载体,对科研与临床具有重要意义。 知识图谱是人工智能研究的重要基础,通过将领域中异构知识结构化,构建知识间关联,从而使知识更好地被人们理解。 本研究以中医不寐为研究对象,以《医学集成》等中医经典古籍和《中医内科学》 等国家规划教材为数据源, 针对领域内数据特点,构建出中医不寐本体层,并在此基础上,进行了语义消歧、知识表示,最终将三元组形式的结构化数据经Neo4j 图数据库进行存储和可视化表示,完成中医不寐知识图谱构建。 中医不寐知识图谱将中医古籍和教材中零散和非结构化知识高效整合、运用, 并以三元组形式将知识内部联系直观呈现出来,使人们更加深入地认识和了解不寐。 知识图谱的构建为疾病的知识抽取、知识推理、智能问答等方面研究提供了丰富的数据基础,能有效推动中医文化的传承与发展。

猜你喜欢

方剂术语本体
中药方剂在治疗黄褐斑中的应用
《金匮要略》黄芪类方剂探析
论方剂的配伍环境
甘草在方剂中的作用及配伍规律
基于本体的机械产品工艺知识表示
《我应该感到自豪才对》的本体性教学内容及启示
专题
Care about the virtue moral education
有感于几个术语的定名与应用
从术语学基本模型的演变看术语学的发展趋势