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

简介: 文章目录中医与人工智能-基于Protégé构建知识图谱本文内容中医数据获取中医数据处理

中医与人工智能-基于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é的基本使用。


相关文章
|
4月前
|
存储 人工智能 搜索推荐
Mem0 + Milvus:为人工智能构建持久化长时记忆
Mem0 为AI打造持久记忆层,结合Milvus向量数据库,让智能体记住用户偏好、追溯历史对话,实现个性化持续交互,告别“健忘”AI。
Mem0 + Milvus:为人工智能构建持久化长时记忆
|
7月前
|
人工智能 搜索推荐 算法
数智时代如何构建人才培养生态?生成式人工智能(GAI)认证,引领数智时代人才培养新方向
在数智化浪潮下,人工智能、大数据等技术重塑社会与教育模式。本文探讨构建“技术—人文—伦理”三维人才培养体系,结合生成式AI认证,推动个性化、终身化学习,促进产教融合,强化伦理约束,助力人才适应时代需求,服务社会发展。
|
7月前
|
人工智能 算法
2025 生成式人工智能认证,如何构建知识能力价值闭环
生成式人工智能(AI)认证助力职场人士在2025年AI浪潮中脱颖而出。通过系统化学习,涵盖AI方法论、提示工程及伦理法律等领域,构建知识桥梁;强化实践能力,熟悉工具操作与问题解决;最终释放价值潜力,实现职业跃迁。GAI认证由培生Certiport推出,结合理论与实操,全面评估专业能力,赋能各类从业者,在技术发展中稳步前行。
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
机器学习/深度学习 人工智能 算法
人工智能浪潮下的编程实践:构建你的第一个机器学习模型
在人工智能的巨浪中,每个人都有机会成为弄潮儿。本文将带你一探究竟,从零基础开始,用最易懂的语言和步骤,教你如何构建属于自己的第一个机器学习模型。不需要复杂的数学公式,也不必担心编程难题,只需跟随我们的步伐,一起探索这个充满魔力的AI世界。
283 12
|
人工智能 监控 物联网
深度探索人工智能与物联网的融合:构建未来智能生态系统###
在当今这个数据驱动的时代,人工智能(AI)与物联网(IoT)的深度融合正引领着一场前所未有的技术革命。本文旨在深入剖析这一融合背后的技术原理、探讨其在不同领域的应用实例及面临的挑战与机遇,为读者描绘一幅关于未来智能生态系统的宏伟蓝图。通过技术创新的视角,我们不仅揭示了AI与IoT结合的强大潜力,也展望了它们如何共同塑造一个更加高效、可持续且互联的世界。 ###
|
人工智能 算法 安全
人工智能伦理与监管:构建负责任的AI未来
【10月更文挑战第3天】随着人工智能(AI)技术的快速发展,其在社会各领域的应用日益广泛。然而,AI的广泛应用也带来了一系列伦理和监管挑战。本文旨在探讨AI的伦理问题,分析现有的监管框架,并提出构建负责任AI未来的建议。同时,本文将提供代码示例,展示如何在实践中应用这些原则。
2055 1
|
人工智能 数据库 Docker
探索人工智能的世界:构建智能问答系统之环境篇
【6月更文挑战第7天】在本教程中,作者指导读者如何搭建项目环境,包括安装Python 3.10、Docker Desktop和Visual Studio Code。安装Python时可按默认设置进行,Docker Desktop用于管理数据库容器,提供更好的开发和测试环境。Visual Studio Code是一个推荐的源代码编辑器。虽然尝试使用cursor开发时遇到问题,但最终选择了使用VS Code。但建议本地开发。配置文件部分,提供了`docker-compose.yaml`、`Dockerfile`和`pyproject.toml`的示例,用于构建和管理项目容器。
224 5
探索人工智能的世界:构建智能问答系统之环境篇
|
人工智能 自然语言处理 搜索推荐
【知识图谱】人工智能之知识图谱的详细介绍
知识图谱(Knowledge Graph)作为一种新型的知识表示和组织方式,正逐渐成为信息领域的研究热点。以下是对知识图谱的详细介绍
1589 1
|
数据采集 人工智能 监控
构建未来:人工智能在城市规划中的应用与挑战
【8月更文挑战第6天】随着人工智能技术的飞速发展,其在各行各业的应用日益深入。本文将探讨人工智能在城市规划领域的应用及其所面临的挑战,分析AI技术如何助力城市发展更加智能、高效和可持续,同时指出在实施过程中需要注意的问题和潜在风险。通过对未来趋势的展望,本文旨在为城市规划者和决策者提供参考,促进人工智能技术在城市建设中的健康发展。

热门文章

最新文章