AI中医智能问诊技术探讨

2021-09-10 15:34徐金波潘建中杨帆
智慧医学 2021年2期
关键词:探讨

徐金波 潘建中 杨帆

摘要:充分发挥中医药特色优势,大力拓展中医药健康服务与互联网、AI技术融合的广度和深度,对创新中医药健康服务模式,释放发展潜力和活力,为人民群众提供全方位全周期健康服务具有重要意义。

关键词:中医问诊;AI技术;探讨

一、研究背景

国家中医药管理局《关于推进中医药健康服务与互联网融合发展的指导意见》中明确提出,未来中医药发展的主要任务是优化中医医疗服务流程、创新中医医疗服务模式、推进中医远程医疗服务;鼓励企业和相关部门依照国家有关法律法规,利用互联网、大数据等技术,规范开展互联网中医诊疗活动;支持基于标准协议的满足中医临床要求、数据互联互通、高度共享的区域中医诊疗中心信息化建设;加快推动中医电子病历和电子健康档案的连续记录及医疗机构之间的信息共享,构建中医临床应用知识库和患者诊疗信息库;支持人工智能辅助诊断、多种生物特征识别、中医专家系统等建设,开展互联网延伸医嘱等服务应用。探索和推广“智慧药房”建设;鼓励医联体相关医院管理、医疗服务等信息平台建设,推进医联体内和同城同级中医医疗机构的检查检验结果互认,实现医联体内诊疗信息互联互通。加快基层医疗卫生机构中医诊疗区(中医馆)健康信息平台建设,探索移动终端、智能终端的研发与应用。

就目前而言,中医诊疗方式还比较传统,AI、互联网等技术的应用还较为缺乏。国家产业政策的支持,为“中医+AI” 模式的推广提供了坚实的基础,为中医AI技术的研发起到极大的促进作用。

本文主要围绕AI中医智能问诊技术的研究开发展开一些探讨,以期起到抛砖引玉的作用,

二、中医智能问诊技术的基础架构设计

业界共识:没有知识的机器不可能实现认知智能想要实现AI的精确自动问诊。因此,研发AI中医智能问诊技术必须要有一个完整的知识图谱,以此作为机器学习的支撑。所以我们的构想是实现一个精准的中医知识图谱架构。我们对中医知识图谱定义了一个四维的框架。具体设计如下:

(1)第一维框架

一维——由具有独立语义概念且不可拆分的单一语义成分所构成的知识元(线)【基于条文拆解而构建形成。即基于既有知识(条文)所框定的不可再分解的最小知识单元。】(如:太阳病提纲证(线)、方剂(线)、基础病机(线)。包涵:单一症状、治法、药物、方名(点));

补充条件:主语、谓语唯一性。

(2)第二维框架

二维——由两个及以上同属一个三维知识体组合的知识元构建而成的知识体(面)【基于既有知识(条文)串联而构成的可独立表达主题不可再分解的知识单元】(如:证候(面)、复合病机(面)、方证(面)、病证(面)、药证(面)。包涵:方剂(线))。

(3)第三维框架

三维——由多个知识体组合构建而成且相对稳定的复合信息(空间),不可叠加 不能构成一个知识(表达一个独立的完整信息),(如:疾病(空间)、六病、杂病、类方(方阵理论))【基于既有知识(条文)若叠加后无相应的已知知识体系来概括和认知该叠加信息,则认定该知识体系属于顶层知识体,如湿病、暍病叠加后,无相应的已知概念进行定义。如太阳病、阳明病叠加后可由已知太阳阳明合病概念所定义,则太阳阳明合病重新作为独立顶层知识体而存在。

(4)第四维框架

四维——可随时间推移进行更替的复合信息(时间)(逻辑推演、病传、预后预测(时间))

我们构想能通过这样一个多维知识体构建模式,可谓知识图谱嵌入转换为深度学习的多维向量,奠定良好的数据结构基础。

三、技术选型

1、数据库选型

数据库目前使用的是关系型数据库neo4j作为底层数据的存储。Neo4j是一个高性能的NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。所以使用neo4j来作为我们知识图谱的底层数据库是非常合适的,对于我们发现经方、药材、病机等关系也是事半功倍的。

2、底层逻辑选型

逻辑层则使用java作为编写的语言,通过spring boot 框架对neo4j 及其稳定的支持 作为我们对业务及数据处理的工具。

机器学习目前我们采用python来作为首要的开发语言。因为Python上有相当成熟的机器学习框架或工具库。目前我们选择Tensorflow 和 Keras 作为我们首选的机器学习框架。

3、图谱实现

(1)基础节点

首先我们以消渴为目标来构造一个基础的知识网络。

我们整理了伤寒论及其他典籍条文,总结了一个初步的结构化数据表并导入到了neo4j中。并且对于基础节点构建出三元组关系作为节点与节点之间的联系。后面又引入了病机的概念,进一步增加其图谱的关系构成。

Equation 3 消渴知识图谱

(2)社区发现算法分析症状

对于图谱节点之间的关系,我们经过分析最终选择社区发现算法来进行分析。

典型的社区发现算法有Louvain、Label Propagation、Weakly Connected Components等,经过尝试最终选择louvain作为我们的社区分区算法

Louvain方法是一种用于检测大型网络中的社区的算法。它最大化了每个社区的模块化评分,其中模块化量化了节点向社区的分配质量。Louvain算法是一种分层聚类算法,该算法将社区递归合并到单个节点中,并在压缩图上执行模块化聚类。最后通过模块度来划分不同的社区

对节点数据分析时,首先对症状的节点单独创建,并建立一定的规则对不同的关系进行加权。在通过打分的形式筛选出一定的社区中心节点。最终将全部症状节点进行分区,来展现他们之间的关系。

(3)相似度分析

通过对症状的分析,我们得到了一个症状关系的社区图谱,用以支撑我们后续开发的机器学习部分所需的数据

知识图谱属于需要建立在海量数据之上的一种应用,在构建知识图谱的图关系时,基础数据来自很多不同的数据源。常见的数据源有抓取的公开信息、业务数据、三方数据、用户授权的数据等。这个时候,需要进行的工作就是实体消歧,这样才能够将实体和关系成功的创建。

我们即针对古籍方剂也做了一定的分析,用余弦相似度算法进行数据分析,发现药方及药物之间的联系。

余弦相似度是n維空间中两个n维向量之间角度的余弦。它是两个向量的点积除以两个向量的长度(或幅度)的乘积。具体的计算方式可参见下面的公式:

通过余弦相似度的分析 我们最终得到了药方之间相似度分数的数据。

4、后续开发

目前我们已经拥有了大量的特征数据,后面的开发就是基于我们大量数据的导入之后。再进行数据的一系列清洗,将数据归一化、标准化,在通过我们整理出的数据,进行特征提取。最终构建模型 建立训练数据集 进行机器学习训练 后面按照结果来评估出最适合我们中医的经方的模型 来实现AI问诊。

参考文献:

[1]王忆勤,郭睿,颜建军等    基于多标记学习的中医问诊智能系统[A] 中华中医药学会,2011(10):6.

[2]国家中医药管理局《关于推进中医药健康服务与互联网融合发展的指导意见》

杭州甘之草科技有限公司

猜你喜欢
探讨
探讨企业人力资源管理与思想政治工作之间的关联性
新医改背景下加强公立医院工会工作的探讨
环境科学专业《环境生态学》课程教学改革探讨
刍议小学足球教学的训练教学方法
体育旅游产业的特征及发展策略探讨
税收筹划的效应问题
关于现代路桥设计构思及问题的探讨