前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >中医与人工智能-基于Protégé构建知识图谱

中医与人工智能-基于Protégé构建知识图谱

作者头像
用户2225445
发布2022-11-12 16:03:52
1K0
发布2022-11-12 16:03:52
举报
文章被收录于专栏:IT从业者张某某IT从业者张某某

文章目录

中医与人工智能-基于Protégé构建知识图谱

本文内容

本文为系列长文,为便于读者单独阅读每篇博客都对整体项目有个大致理解,每个文章前都大致介绍下完整流程,包括数据集的介绍,数据处理,以及本篇博客相关的内容。

中医数据获取

基于网络采集了部分中药材数据和中药方剂数据,目前这块的资源比较多,可以查询百度查询中医数据库即可,如下提供几个常见的中医资源获取的地方。 中医资源网:http://www.tcmdoc.cn/ShuJuKu/default.aspx 医药网:http://www.pharmnet.com.cn/search/tcm/ 杏林园:http://tcm.sstp.cn/ 药智网:https://www.yaozh.com/ 针对采集到的数据,基于规则进行数据清洗,清洗后保留的字段如下: 药物数据示例数据如下:

字段信息:ID,名称,别名,性味,归经,功效,主治,摘自 2200,大丁草,烧金草、豹子药、苦马菜、米汤菜、鸡毛蒿、白小米菜、踏地香、龙根草、翻白叶,温、苦、毒,肺、脾,祛风、解毒、祛风湿,风湿麻木、咳喘、疔疮,寒湿 麻木 咳喘 疔疮,"《本草纲目》,《贵州民间药物》,《贵州草药》"

方剂数据示例如下图:

在这里插入图片描述
在这里插入图片描述

中医数据处理

数据获取后,要进行实体识别,获取其中的实体信息,实体识别部分步骤内容较多,有专题进行介绍,这里先一笔带过。 获取实体后,由于同一症状的描述用于较多,还需要进行同义词替换,这一步骤需要收集大量症状同义词,需要中医进行把关。案例如下:

1.遍身洪肿 身体浮肿 遍身浮肿 浑身浮肿 身体气肿 遍身肿满 身体肿 通身暴肿 遍身黄肿 通身浮肿 肢体浮肿 通身蛊胀 身面悉肿 遍身虚肿水气 2.体肿 遍身头面浮肿 遍身麻痹 遍身顽麻 身体麻痹 周身麻木 肢体麻痹 举体不仁

如上面的每一行的每个词都可以理解为一个意思,这一步需要收集大量的同义词。收集完成后,按照词典和相似度匹配,替换方剂数据集在的症状描述信息。

Protégé介绍与基本使用

关于Protégé的介绍有如下几处较好的参考文档:

Protégé基本教程【Protégé5.5.0版本】 https://blog.csdn.net/Jenny_oxaza/article/details/83148300 本体构建-斯坦福七步法本体构建(读完这篇文字就完全懂如何构建本体了) https://blog.csdn.net/harry_c/article/details/103995267

Protégé软件是斯坦福大学医学院生物信息研究中心基于Java语言开发的本体编辑和知识获取软件,或者说是本体开发工具,也是基于知识的编辑器,属于开放源代码软件。这个软件主要用于语义网中本体的构建,是语义网中本体构建的核心开发工具,现在的最新版本为5.5.0版本。 Protégé提供了本体概念类,关系,属性和实例的构建,并且屏蔽了具体的本体描述语言,用户只需在概念层次上进行领域本体模型的构建。 本体是对领域的显式描述*:概念、概念的属性和属性、属性和属性的约 束、个人

本体建模有几种方法, 本文推荐采用七步法(非七步诗)。

七步法为:确定范围->考虑重用->列举条款->定义类->定义属性->定义约束条件->创建实例

七步法是一个简单的过程,加上多次的迭代,就会形成如下步骤:

现实:确定范围->考虑重用->列举条款->考虑重用->定义类->列举条款->定义类->定义属性->定义类->定义属性->创建实例->定义类->创建实例->考虑重用->定义属性->定义约束条件->创建实例···········

实际上,我们所进行的创建工作应该是一个不断迭代的过程,此教程将其简化为七步法 具体可参考:https://blog.csdn.net/harry_c/article/details/103995267

Protégé官网(https://protege.stanford.edu/products.php)可以下载,但官网下载较慢,这里提供百度网盘的下载地址:

百度网盘地址下载: 下载链接:https://pan.baidu.com/s/1dq-2prplkhQCsdmK00pL5g 提取码:675d

下载后,解压Protege-5.5.0-win.rar后,即可使用,免安装,我的安装路径为D:\apps目录下,解压后的目录结构为:D:\apps\Protege-5.5.0-win\Protege-5.5.0-win\Protege-5.5.0

在这里插入图片描述
在这里插入图片描述

压缩包解压之后有Protege.exe和run.bat这两个文件,点击任何一个都可以打开Protégé。Protégé一打开的界面主要是Active Ontology这个Tab的界面。

在这里插入图片描述
在这里插入图片描述

本体的名字可以在Ontology IRI里面修改。 Annotations是注释栏,可以对本体添加一些信息注释或者描述。 右边Ontology metrics会显示一些本体中相关元素的统计信息。 优化显示: 下载graphviz。地址:https://graphviz.org/download/

在这里插入图片描述
在这里插入图片描述

构建类,关系,实体等环节,大多基于entities窗口,具体如下:

在这里插入图片描述
在这里插入图片描述

基于Protégé构建知识图谱

通过protégé创建类的层次关系

在本体中,类用于描述抽象的实体对象,代表着一类具有共性的实例对象,是基本的组织单元。类具有继承性、传递性,最顶层的类代表着最抽象的实体概念,子类继承父类的特性,是比父类更具体的类。在本文中我们按照自顶向下的方法定义本体类的层次结构。 下面用 protégé本体编辑工具进行中医妇科病领域本体类和类的层次关系的编辑。 首先打开protégé本体编辑工具,点击File—New,建立新的项目。在新打开的protégé界面中,我们选择Entities面板来创建类层次结构, 点击所有类的父类Thing,点击Add Subclass在当前被选择类也就是Thing类下新建类“疾病”。 技巧:

  • 我们也可以在选择某一类后点击Add Sibling Class按钮来为当前类添加同级类,当我们不需要某类时,可以点击Delete Selected Classes按钮删除当前选择类。
  • 如果在编辑的过程中,类的层级关系不小心弄错了,不需要删除之后再重新编辑;可以拖动这个类到它应处于的层级,类似于文件夹的操作。如果拖动了某个类,它的子类也会随之移动,但不会改变这个类及其子类的层级关系。
  • 如果类的名字写错了,可以右键选择“Change IRI Name”进行更改。
  • 如果需要增加很多个子类,可以右键点击该类,选择“Add Subclasses”。

完整的中医妇科病领域本体类的层次模型如下图:

在这里插入图片描述
在这里插入图片描述

通过protégé创建实体属性关系

通过protégé创建实体属性关系,具体如下图:

在这里插入图片描述
在这里插入图片描述

相关含义已经在图中通过文字描述。

通过protégé创建实体

实体为各个类别的实体,实体较多,具体如下:

在这里插入图片描述
在这里插入图片描述

推理模型实现

基于上述完成的本体建模,可以借助推理机实现推理。protégé提供的WRL可以使用本体已定义好的概念来建立推理所使用的规则,但SWRL无法直接由推理机释义,因此要使用推理引擎将本体与规则进行转换。可以基于Jess这种规则引擎来实现推理。安装Jess的过程,本文不进行介绍。三者的关系为:

protege定义本体,SWRL编写规则,Jess将protege中的知识库和SWRL规则转化成内部格式,从而进行推理。

下面描述具体实现: 选择windows—tabs—SWARTabs,在SWARTabs界面查看到推理结果。 推理结果如下:

w3c1:证候推理(?x) ^ w3c1:患病主症(?x带下量多) ^ w3c1:患病次症(?x五色杂下) ^ w3c1:患病脉象(?x脉滑数) ^ w3c1:患病舌相(?x舌苔黄腻) -> w3c1:患病主证候(w3c1:湿毒蕴结型带下过多) ^ w3c1:方剂推荐(w3c1:五味消毒饮)

上述推理结果表明,当输入病人的患病主证(带下量多)患病次证(五色杂下)患病舌相(舌苔黄腻)患病脉象(脉滑数),经过规则推理后,系统推理得出患病主证候为湿毒蕴结型带下过多,推荐方剂为五味消毒饮

中医妇科本体存储

基于protégé构建的本体库,有多种存储形式,本文基于Neo4j存储,使用Neo4j实现知识图谱的查询与展示,具体见下图。

在这里插入图片描述
在这里插入图片描述

总结

本文是中医与人工智能的系列博客,本文有很多内容借鉴与赵老师的曾经工作,这里一并感谢。本文主要对protégé进行了介绍,并基于protégé实现了一个中医数据的本体建模,文本也对博主发现的较好资源进行推荐,便于读者在使用过程中,可以尽快的找到较好的资源,实现对protégé的基本使用。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-12-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 中医与人工智能-基于Protégé构建知识图谱
    • 本文内容
      • 中医数据获取
        • 中医数据处理
          • Protégé介绍与基本使用
            • 基于Protégé构建知识图谱
              • 通过protégé创建类的层次关系
              • 通过protégé创建实体属性关系
              • 通过protégé创建实体
              • 推理模型实现
            • 中医妇科本体存储
              • 总结
              相关产品与服务
              灰盒安全测试
              腾讯知识图谱(Tencent Knowledge Graph,TKG)是一个集成图数据库、图计算引擎和图可视化分析的一站式平台。支持抽取和融合异构数据,支持千亿级节点关系的存储和计算,支持规则匹配、机器学习、图嵌入等图数据挖掘算法,拥有丰富的图数据渲染和展现的可视化方案。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档