经方小程序知识图谱的构建及应用
2023-07-21黄英璇谢润昕
黄英璇 谢润昕
摘 要 文章基于中医经方构建知识图谱 搭建信息检索 智能问诊系统 以图的形式对经方进行计量和可视化分析 为小程序用户提供更加精准详细的经方信息 首先 探讨了知识图谱的基础理论与构建技术 其次 采用人工标引的方法 对经方中的语义实体进行提取 对语义关系进行梳理 利用python对形成的逻辑数据进行处理 并基于neo4j 构建知识图谱 最后 在neo4j 图数据库中 定义了经方 病症 症状 药材 体质5 大实体 形成了 12种概念类型以及13 种概念间关系及其约束规则包含 412个节点和805 条关系 实现了中医经方知识图谱的初步构建及智能检索 结果表明 结合neo4j图数据库技术构建中医经方知识图谱具有直观 高效的特点 便于小程序进行中医药知识智能化服务以及经方推荐
关键词 中医药经方 知识图谱 语义关系
中图法分类号r197 文献标识码a
1 引言
中医药知识是中华民族世代传承的医药知识,是民族智慧的结晶,具有独特的哲学基础、基本理论体系、诊疗实践和教学模式,以及研究范式。传统的中医药传承多属于个体传授,在中医传承的过程中老中医的临床经验、诊疗能力及技巧只有一部分可通过语言、文字、图像、符号等显性知识方式表达出来,更多的隐性知识因其难以表达而不容易传承[1] 。在中医药知识传承方面,通过现代信息技术手段来对显性和隐性知识进行知识管理,从一定程度上能对中医知识进行深度挖掘,发挥中医知识的价值。所谓显性知识,就是指已经存在的方药、典籍以及其他已经编码的中医药知识,本文将对显性知识进行知识图谱的构建及应用[2] 。
作为人工智能的一个分支,知识图谱相关技术近年来取得突破性进展,使得传统知识表示和推理技术有了落脚点[3] ,其在互联网等各大领域均有渗透且成果显著。本文根据黄煌《经方使用手册》开发微信经方小程序,应用知识图谱来构建中医经方的百科系统,搭建信息检索、智能问诊系统,以图的形式对经方进行计量和可视化分析,为小程序用户提供更加精准详细的经方信息。
2 经方知识图谱的设计与构建
2.1 本体层构建
知识图谱的构建是形成知识体系逻辑结构的重要环节,包括本体层构建和数据填充2 部分。本文采用自顶向下和自底向上相结合的构建方法,依次经过模式图定义、知识抽取、知识融合3 个步骤完成基础知识库的构建[4] 。模式图包含知识库的概念、概念的属性,以及概念之间的层次关系。在经方数据库中,定义了5 个实体,包括经方、病症、症状、药材、体质;形成了12 种概念类型,包括经方、疾病、体质、病因病机、先天禀赋、后天调养、环境因素、面象、舌象、脉象、症状、药材,形成了13 种概念间关系及其约束规则。构建经方本体12 种、语义关系13种,经方知识图谱本体层框架如图1 所示。
2.2 数据层处理
2.2.1 知识获取
本文对中国知网、万方数据知识服务平台、维普资讯中文期刊服務平台、中医草药网站进行检索,设置主题词为“中医经方”“体质”“草药”。同时,收集黄煌关于中医体质与经方的著作和中医体质学教材,并整理黄煌会议演讲稿、访谈稿以及门诊病例,共同构成经方知识图谱相关知识的资料来源。本文对黄煌先生整理的《十大类方》《经方使用手册》进行考证,校对整理电子文本,并上传到已有的数据库。根据知识图谱模式层设计要求从知识元中提取语义实体并建立语义关联,要求是尽量遵循原文直接提取,对于助词、连词、形容词等无实际意义的词汇则不予提取。例如,《经方使用手册》中描述的当归芍药散“妇人腹中痛,或浮肿,或冒眩,或头痛,或自下利,或月经不调者。” 提取“腹痛” “目眩” “头痛” “月经不调”“自下利”为症状表现语义;当归芍药散为经方语义,并建立经方与症状关系。症状语义提取图如图2所示。
2.2.2 知识抽取存储
根据经方知识图谱本体层框架,采用人工标注的方法对获取的非结构化文本资料进行结构化处理,抽取实体、语义关系、属性等关键信息并保存。本文使用Neo4j 图数据库软件对上述结构化数据进行知识存储,该软件以节点表示实体,以标签表示实体类别,以边表示实体与实体之间的相互关系,并以三元组的形式构建实体与实体间的联系。将数据导出为半结构化的json 格式,再使用Python 将其转化为csv 文件。即根据不同的csv 文件设置不同的lavel,再将其中的“经方名” 提取为节点名称name,以构成节点Node<label,name>。例如,小柴胡汤节点<fang,小柴胡汤>, 而后, 将“ 关系” 作为实体间的关系Relationship<经方名,药材名,关系>,如经方药材关系<补中益气汤,人参,成分>。最后,使用Neo4j 数据库将各个csv 文件导入数据,完成知识图谱的构建。本文构建的知识图谱共包含经方节点87 个,症状节点207 个,药材节点118 个以及805 条边。知识图谱展示图如图3 所示。
3 经方知识图谱的检索
Neo4j 将数据存储在网络结构中,这种形式能够随时添加或更改数据,且无论节点或关系的数量或深度如何,都能确保处理过程的零延迟和实时性能,特别适合路径查询与模式发现。Neo4j 图数据库内设有专属Cypher 语言,可以对数据进行创建、查询、更新、删除等操作,亦可构建出更为高级的查询语句而无需编写复杂代码即可实现对语义实体及语义关系的检索及可视化展示[5] 。基于Neo4j 知识图谱的小程序设计,中医经方的逻辑数据以“病脉证并治”的形式储存在知识图谱中,计算机便能以该形式对用户的提问搜索进行推理并返回结果。
首先,计算机从用户的搜索问题中提取关键词并判断问题类型,通过模式串匹配的方式,找出问题中的实体词,利用AC 自动机优化模式串匹配,以提高匹配的速度。匹配的具体过程为从图数据库中提取所有相关实体词,构建AC 自动机,将输入的问题作为主串、AC 自动机作为模式串进行匹配,匹配主串中存在的实体词,并将匹配的实体词标签和疑问词标签进行组合,以判断问题的类型。其次,将问题转化为CQL 语句,不同的问题类型,其转化的方式不同。最后,根据CQL 语句返回结果并输出答案。利用Neo4j 图数据库进行检索,以及使用计算机模拟医生的诊疗逻辑,通过数据推理直接给出用户想要的答案,使经方的知识服务更便捷、高效,由此实现输入几个症状,便可返回可用于治疗的经方,同时包含经方药材的剂量等。例如,当输入“恶寒” “发热” 等症状表现时,计算机会根据数据库内容给出答案。针对该症状,可用“大青龙汤”“附子汤”等治疗调理,实现为用户提供更准确经方信息的功能。
4 结束语
本文将经方数据转化为逻辑数据并利用Neo4j 构建知识图谱,初步实现了经方智能检索的应用。基于经方知识图谱,小程序可以实现口语化语言的输入,根据关键字进行句式模板匹配,根据一定的匹配原则,产生相应的查询语句,在已有的经方知识库中检索需要的经方,以提供给用户使用。
参考文献:
[1] 范宇鹏,毛炜,吕玉波,等.从隐性知识管理角度探讨名医工作室在中医传承工作中的作用[J].中医药管理杂志,2009(3):3.
[2] 刘中英,张英娟.探讨知识管理在中医传承发展中的作用[J].价值工程,2012,31(16):316.
[3] 王昊奋,漆桂林,陈华钧.《知识图谱:方法、实践与应用》[J].自动化博览,2020,37(1):7.
[4] 陈可佳,冯子恩,刘羿,等.基于知识图谱的急诊问答系统构建方法[P].中国,CN111191048B,2023?06?02.
[5] 王余蓝.图形数据库NEO4J 的内嵌式应用研究[J].现代电子技术,2012,35(22):36?38.
作者简介:
黄英璇(2002—),本科,研究方向:信息管理与信息系统。