海洋中药知识图谱构建及可视化研究*

2023-01-30 04:08洪海蓝李文林
计算机时代 2023年1期
关键词:性味主治图谱

洪海蓝,李文林,2,杨 涛,李 玥

(1.南京中医药大学人工智能与信息技术学院,江苏 南京 210023;2.江苏省中医外用药开发与应用工程研究中心)

0 引言

海洋中的许多动物、植物、化石等是传统中药的重要组成部分,是治疗肿瘤、心脑血管疾病、免疫性疾病、神经系统疾病等重大疾病的“蓝色药库[1]”。同时,作为当代健康产业的重要资源,海洋中药是海洋强国战略中核心竞争力的重要组成部分。可惜海洋中药文献类型不一、资源分散、缺乏深度知识集成,这严重阻碍当代海洋中药的开发和利用,使海洋中药的传承与发展出现了断层。因此,构建海洋中药文献资源检索与查询的知识图谱平台,成为科技为信息赋能,助力“蓝色药库”建设的重要措施。

知识图谱作为一种结构化的语义知识库[2],主要以图形化的方式描述真实世界中存在的各种实体。其节点表示实体或概念,边则由属性或关系构成[3-5]。知识图谱在中医药领域已有相关应用[6,7],如王菁薇[8]等构建了基于《伤寒论》的知识图谱,陈善达[9]等构建了中医辨证论治冠心病的知识图谱;王明强[10]等构建了中医皮肤病“病-证-治”知识图谱,杨帅[11]等构建了COVID-19 中西医结合的知识图谱。与上述基于Neo4j 构建知识图谱不同,本研究通过对不同图数据库特性的综合对比和分析,选择Nebula Graph 进行知识图谱的搭建。Nebula Graph 是一款完全开源、分布式、易扩缩容的国产原生图数据库。相比于Neo4j,Nebula Graph 具有开源、高性能、易扩展、灵活建模、读写平衡、灵活数据建模等优势。

本文提出一种基于多源异构文献数据构建知识图谱的方法,设计海洋中药知识图谱的实体和关系,可视化展示海洋中药“功效”、“主治”、“方剂”、“性味归经”、“类型”、“成分”等中医药知识,为海洋中药知识的科普和海洋新药的研发提供技术帮助。

1 海洋中药知识图谱框架设计

知识图谱按照覆盖范围可分为通用知识图谱和领域知识图谱[2]。通用知识图谱范围更广,强调融合更多实体,但其准确度不够高,且很难借助标准知识库规范其实体、属性和关系等,主要被应用于智能搜索等领域中[8,9]。领域知识图谱不同于通用知识图谱主要面向某些特殊领域,主要用于复杂的应用分析或辅助决策,具有专家参与度高、知识结构复杂、知识质量要求高、知识粒度细等特点[10]。知识图谱构建一般分为自顶向下和自底向上两种方式,本研究将这两种方式结合构建海洋中药知识图谱。

海洋中药知识图谱是中医药领域的子领域知识图谱,知识质量要求高,因此本研究首先对《海洋本草》和《海洋药物与效方》进行内数据清洗和内容梳理,其次结合专家意见对文献内容做人工标注,通过分析海洋中药文献的特征来设计模式层的概念、关系及属性;然后以模式层为基础,对海洋中药进行知识抽取、知识融合构建海洋中药知识图谱的数据层;最后将抽取出的数据整合处理并存入NebulaGraph,通过图数据库语言nGQL 进行海洋中药知识图谱的可视化、智能检索和精准查询。具体流程如图1所示。

图1 海洋中药知识图谱构建流程

1.1 数据来源

本研究的数据来源于《海洋本草》和《海洋药物与效方》。先将文本数据转化为txt格式,为方便检索,按照海洋中药名称、异名、介绍、性味归经、类型、效方、组成、功效、主治、禁忌、药理成分等字段以xlxs格式进行数据存储。

1.2 模式层构建

模式层构建是知识图谱构建的核心。模式层主要内容为知识的数据结构,包括实体(Entity)、关系(Relation)、属性(Attribute)等知识类的层次结构和层级关系定义,约束数据层的具体知识形式[7]。本研究根据《海洋本草》、《海洋药物与效方》和专家意见设计模式层。如图2 所示,海洋中药知识图谱的模式层包括海洋中药、海洋效方、禁忌、文献来源、制法、功效、主治疾病、用法用量、类型、性味归经、异名、成分、效方组成等十三大类。

图2 海洋中药知识图谱模式层设计

1.3 数据层构建

⑴知识抽取

知识抽取是知识图谱构建的首要任务,通过人工、自动化或半自动化的知识抽取技术,从原始数据中获得实体、关系及属性等可用知识单元,为知识图谱的构建提供基础[4]。知识抽取主要包括实体识别、关系抽取、属性抽取。本研究的实体包括药名、主治疾病名、功效名、成分名、性味归经等[14]。利用结构化的数据构建实体字典,高效识别非结构数据中的实体。关系抽取即抽取实体与实体之间的关系。结构化数据关系非常明确,直接构建三元组;半结构化数据用Python 转化为结构化数据;非结构化数据则使用关系抽取算法和正则表达式进行关系抽取。属性抽取的主要任务是获取(实体,属性,属性值) 类型三元组中的属性和属性值[15]。属性抽取是对实体属性的补充,用法用量和剂量可以看成是海洋中药的属性。本研究将属性抽取转化为关系抽取进行属性抽取[14]。

⑵知识融合

不同来源的文本不仅数据格式不同,也存在内容重复等问题。数据冲突可能会导致实体和关系、属性不匹配,为此需要结合新的知识对原有知识进行补充,即将不同书籍构建的知识图谱进行知识融合,消除矛盾和歧义[16,17]。知识融合主要包括实体对齐(Entity Alignment,EA)和实体消歧(Entity Disambiguation,ED)[3]。实体对齐采用余弦相似匹配度的方式,表示两个实体的相似程度,相似度区间在-1 到1,-1 表示两个实体完全不相似,1 表示两个实体完全相同[18]。如《海洋本草》和《海洋药物与效方》中皆收录“海龟”,但关于海龟的功效、主治、性味归经的表述,同中有异,同时《海洋药物与效方》增加了含有海龟的方剂,为此在图谱构建过程中需要知识融合。在实体对齐的过程中比较海龟知识的相似度时,将海龟的重要特性作为特征值,向量化,输入公式⑴。

本研究设计的海洋中药实体如表1 所示,海洋中药关系如表2所示。

表1 海洋中药知识图谱实体设计

表2 海洋中药知识图谱关系设计

1.4 知识图谱存储

本研究将从文本数据中抽取出来的实体、关系和属性,按照设计好的范式以“实体-关系-实体”的形式存储于Nebula Graph 数据库的Storage 服务。一般图数据库存储的主要数据是点和边,而Nebula Graph 存储的数据是一张属性图,不仅存储了点、边,还存储了它们对应的属性,可更高效地使用属性过滤。

1.5 知识图谱应用

本研究通过使用nGQL(Nebula Graph Query Language)可实现海洋中药性味归经、功效、类型查询、成分查询、方剂推荐和主治查询等的查询功能,还可进行可视化展示。

2 关键技术

2.1 数据预处理

本研究针对文本中存在的数据缺失、用词不统一、异名同义等常见问题进行用语规范、名词统一、缺失值补全。其中名词术语的规范参照《中医临床诊疗术语2020 年修订版》,构建海洋中药的功效词典和海洋中药的主治词典。进行术语规范,如将功效中“疗目疾”规范为“退翳明目”;主治病症中“雀目夜盲”规范为“夜盲症”等。对方剂组成中单位不统一或信息缺失的问题,分门别类进行数据归一或数据补全。如方剂组成:石首鱼10g、鳔胶10g、梅花参、胡桃仁、羊肾、枸杞子、杜仲、鹿角粉、龟板、当归、猪脊髓、巴戟天、菟丝子各适量,石莼、铁钉菜、大青叶各15g。本研究提出一种正则表达式结合词典的数据清洗方法,即提取数字字符生成列表,根据列表对缺失数字单位的海洋中药进行补充,对各适量进行字符分割进行补充,高效完成数据清洗,为中医药数据清洗提供借鉴。

2.2 关系抽取

对半结构化数据,本研究采用python 进行结构转换,如“紫齿贝—主治—消化道出血,乳腺炎,胃病,消化不良”处理为“紫齿贝—主治—消化道出血、紫齿贝—主治—乳腺炎、紫齿贝—主治—胃病、紫齿贝—主治—消化不良”。对非结构化数据,本研究利用CMeKG的关系抽取工具进行关系抽取。

“乌贼鱼蛋性平味咸,入胃、肾两经,能健脾开胃,补肾壮腰,利水消肿,主治中焦失运,食欲不振,水湿内停,肌肤水肿。”抽取为(乌贼鱼蛋,功效,能健脾开胃)、(乌贼鱼蛋,功效,补肾壮腰)、(乌贼鱼蛋,功效,利水消肿)、(乌贼鱼蛋,主治,中焦失运)、(乌贼鱼蛋,主治,食欲不振)、(乌贼鱼蛋,主治,水湿内停)、(乌贼鱼蛋,主治,肌肤水肿)、(乌贼鱼蛋,性味归经,性平)、(乌贼鱼蛋,性味归经,味咸)、(乌贼鱼蛋,性味归经,入肾)、(乌贼鱼蛋,性味归经,脾经)。

3 海洋中药的精准查询与可视化展示

本研究构建的细粒度海洋中药知识图谱涵盖了海洋中药、效方、禁忌、文献来源、制法、功效、主治疾病、用法用量、类型、性味归经、异名、成分、效方组成等十三类实体。海洋中药知识图谱是以海洋中药和方剂为核心,实体粒度精细化到分子。目前一共抽取出实体17511 个,关系28710 条。以海兔为例的海洋中药知识图谱局部结构如图3所示。

图3 海兔为例的海洋中药知识图谱局部结构图

海兔作为一味中药,还是方剂海粉汤的构成药物。以海兔和海粉汤为核心,海洋中药与方剂的微型知识图谱可做进一步展示,如图4所示。

图4 海兔和海粉汤为核心的海洋中药微型知识图谱

本研究可从多维度查询海洋中药。如图5 所示,A 为查询到的具有软坚散结功效的海洋中药;B 为和海龟相同出处的海洋中药与方剂,MATCH p=(v:marine_medicine{name::“海龟”)-[medicine_literature_edge]-(v2)-[]<-(v3) RETURN p;C为包含海马的海洋方剂;D为消斑汤和珠母偏头痛方的方剂组成。

图5 海洋中药多维度查询知识图谱

海洋中药知识图谱构建完成后,本研究邀请不同使用人群测试,包括普通中医药人员,海洋中药研究者和普通用户。根据用户反馈,本研究构建的海洋中药知识图谱具有响应速度快、查询时间短、专业性强、内容详细等优势,这为海洋中药知识的科普和海洋中药的研发提供帮助。但对普通用户而言,存在编程语言学习困难,操作难度大等缺点,因此,本研究需要在应用的便捷性方面做进一步改善。

4 结束语

海洋中药的使用在我国许多中医药典籍中都有记载。构建海洋中药知识图谱,可挖掘历代典籍中的海洋方药,大幅度缩小现代海洋药物的筛选范围,增加蓝色药物研发成功几率。

本研究是基于海洋中药专著文献,以《中医临床诊疗术语2020 年修订版》等工具书为概念规范参考,构建海洋中药的功效及主治词典。本研究提出一种基于多源异构文献数据构建知识图谱的方法,根据海洋中药文献特点,设计模式层,经过数据清洗、知识抽取、知识融合、知识存储等步骤将碎片化的文本信息整合,以构建数据层,形成了覆盖海洋中药领域多维主题于一体的细粒度知识图谱,并使用Nebula Graph数据库存储知识图谱,可从功效、主治、性味归经、成分、方剂推荐等角度进行查询,挖掘海洋中药文献的隐性知识。本研究初步实现了海洋中药知识的重新组织与可视化表达,为进一步结合大规模海洋中药数据集,建立数据更全面、内容更丰富的海洋中药知识图谱奠定了基础。不足的是,仍存在知识覆盖面不够广、普通用户操作难度大等问题。在下一步的研究中,本研究将对海洋中药的化学、药理等信息进行进一步归纳集成,扩大海洋中药知识图谱的关系维度和知识规模,让海洋中药知识图谱更全面。

猜你喜欢
性味主治图谱
绘一张成长图谱
佛医方剂的品种、主治和用药特点
方剂药性量化研究现状及展望
补肾强身片UPLC指纹图谱
经方中芍药的运用
从“肺主治节”论治COPD肺血管重构
主治医的中国梦
浅析经方中厚朴的主治特点
盗汗病治疗药物性味归经频数分析
杂草图谱