一文读懂医学知识图谱构建算法索引

医学知识图谱是实现智慧医疗的基石,有望带来更高效精准的医疗服务;然而,现有知识图谱构建技术在医学领域中普遍存在效率低、限制多、拓展性差等问题。

针对医疗数据跨语种、专业性强、结构复杂等特点,此处重点对构建医学知识图谱的关键技术进行了自底向上的全面解析,涵盖了医学知识表示、知识抽取、知识融合和知识推理以及知识质量评估五部分内容。

一、知识建模

即建立知识图谱的数据模式,行业知识图谱的数据模式对整个知识图谱的结构进行定义,因此需要保证可靠性。

1.常用方法

基于行业现有的标准进行转换。

从现有的高质量行业数据源(如业务系统数据库表)中进行映射。

2.使用知识图谱对数据进行抽象建模

利用属性来表示不同数据源中针对实体的描述,形成对实体的全方位描述。(属性映射与归并)

利用关系来描述各类抽象建模成实体的数据之间的关联关系,从而支持关联分析。(关系抽取)

通过实体链接技术,实现围绕实体的多种类型数据的关联存储。(实体链接)

使用事件机制描述客观世界中动态发展,体现事件与实体间的关联;并利用时序描述事件的发展状况。(动态事件描述)

3.建模工具Protégé

二、知识获取

1.获取结构化数据的D2R工具

D2RQ:将关系数据库转换为虚拟的RDF数据库的平台,主要包括:

2.半结构化行业数据源解析

针对不同结构的数据配置相应的包装器。

包装器配置工具:

例如:

3.文本信息抽取

主要有实体识别、概念抽取、关系抽取、事件抽取。

其中CloseIE面向特定领域抽取信息、预先定义好抽取的关系类型、基于领域专业知识抽取、规模小且精度比较高;OpenIE面向开放领域抽取信息、关系类型事先未知、基于语言学模式进行抽取、规模大且精度相对较低。

1)OpenIE的典型代表工具有ReVerb、TextRunner

通常用于做第一轮的信息抽取探索,从它的结果中发现新的关系,然后在此基础上应用其它的信息抽取方法。

2)CloseIE典型工具:DeepDive

三、知识融合1.数据模式层融合

行业知识图谱的数据模式层通常是由专家人工构建或从可靠的结构化数据中映射得到的,通常在映射时会通过设置融合的规则来确保数据的统一。

2.数据层融合

1)实体合并

在构建行业知识图谱时,实体优先从结构化的数据在获取;对于结构化的数据,通常有对实体进行唯一标识的主键,因此在进行知识抽取时即可设定实体合并的依据。

从非结构化数据中抽取的实体,同样使用设置合并条件的规则来完成实体的合并;例如,企业合并是可以通过企业名称直接合并,企业高管合并是人名相同+同一企业(企业高管中同名的概念极低)。

2)实体属性融合

具有时态特性的属性(如):使用新的数据覆盖老的数据;依据数据源的可靠性进行选取:结构化数据源中的质量通常较高。

3)冲突检测与解决

四、自然语言处理

美国著名的计算机科学家贾里尼克领导他的实验室,借助数学中的统计学工具,把当时语言识别的成功率从70%提升到90%;同时让语言识别的规模,从几千个单词上升到几万个单词,让语言识别有了实际应用的可能。

统计学和自然语言好像没什么关系,它怎么处理自然语言呢?

其实贾里尼克的思路很简单,他认为,要判断一个句子正不正确,就要看这个句子出现的可能性的大小,这个可能性用概率来衡量;比如,我们假定第一个句子出现的概率是二分之一,第二个句子出现的概率是千分之一,那第一个句子出现的可能性就比第二个句子大得多;那么从概率的角度来说,第一个句子就更有可能是正确的。

所以接下来我们需要做的事,就是判断一个句子出现的可能性有多大;这时就需要用到“马尔科夫假设”,这个假设是说,假定一个句子里每个词出现的概率,只和前一个词有关,就好比“涨停”这个词,最有可能出现在“股票”这个词之后。

那么,只要给计算机量足够大的机读文本,也就是专业人士说的语料库,计算机就能算出来,在一个特定词后面出现某个词的概率;这样,只要把一句话里所有词出现的概率相乘,就是这个句子出现的概率;概率最大的句子,就是最有可能正确的句子。

按照这个思路,科学家们成功地让计算机拥有了处理自然语言的能力。

1.词性

句子的基本成分是:主语、谓语、宾语;补充成分是定语、状语、补语。

2.句法

句子划分口诀:

五、知识存储

知识图谱是基于图的数据结构,其存储方式主要有两种方式:RDF存储和图数据库(GraphDatabase),常见的图数据存储—GraphDBMS。

1.基础存储

可按数据场景选择使用关系数据库、NoSQL数据库及内存数据库。

2.数据分割

基本类型:整数表、浮点数表、日期类型表…

集合类型:List型表、Range型表、Map型表…

3.缓存与索引

使用分布式Redis作为缓存,按需对数据进行缓存。对三元组表按需进行索引,最多情况下可建立九重索引。

4.善于使用现在成熟存储

使用ElasticSearch实现数据的全文检索l结构固定型的数据可使用关系数据库或NoSQL。

对于非关系型的数据尽量不入图存储,避免形成大节点;非关系型的数据,使用适合的数据存储机器进行存储,通过实体链接的方式实现与图谱数据的关联。

六、知识计算1.图挖掘计算

集成实现基本图算法:

2.本体推理

使用本体推理进行新知识发现或冲突检测。

w本体知识推理工具——RDFox。

本体推理基本方法:

3.基于规则的推理

使用规则引擎,编写相应的业务规则,通过推理辅助业务决策。

基于规则推理工具——Drools规则定义。

七、上层应用的开发

等我们构建好知识图谱之后,接下来就要使用它来解决具体的问题;例如对于风控知识图谱来说,首要任务就是挖掘关系网络中隐藏的欺诈风险。

从算法的角度来讲,有两种不同的场景:一种是基于规则的;另一种是基于概率的。鉴于目前AI技术的现状,基于规则的方法论还是在垂直领域的应用中占据主导地位;但随着数据量的增加以及方法论的提升,基于概率的模型也将会逐步带来更大的价值。

1.基于规则的方法论

首先,我们来看几个基于规则的应用,分别是不一致性验证、基于规则的特征提取、基于模式的判断。

1)不一致性验证

为了判断关系网络中存在的风险,一种简单的方法就是做不一致性验证,也就是通过一些规则去找出潜在的矛盾点。

2)基于规则提取特征

我们也可以基于规则从知识图谱中提取一些特征,而且这些特征一般基于深度的搜索比如2度、3度甚至更高维度;比如我们可以问一个这样的问题:“申请人二度关系里有多少个实体触碰了黑名单?”,从图中我们很容观察到二度关系中有两个实体触碰了黑名单(黑名单由红色来标记),等这些特征被提取之后,一般可以作为风险模型的输入。

在此还是想说明一点,如果特征并不涉及深度的关系,其实传统的关系型数据库则足以满足需求。

3)基于模式的判断

这种方法比较适用于找出团体欺诈,它的核心在于通过一些模式来找到有可能存在风险的团体或者子图(sub-graph),然后对这部分子图做进一步的分析。

这种模式有很多种,在这里举几个简单的例子;比如在下图中,三个实体共享了很多其他的信息,我们可以看做是一个团体,并对其做进一步的分析。

再比如,我们也可以从知识图谱中找出强连通图,并把它标记出来,然后做进一步风险分析;强连通图意味着每一个节点都可以通过某种路径达到其他的点,也就说明这些节点之间有很强的关系。

2.基于概率的方法

社区挖掘算法的目的在于从图中找出一些社区,对于社区,我们可以有多种定义,但直观上可以理解为社区内节点之间关系的密度要明显大于社区之间的关系密度;下面的图表示社区发现之后的结果,图中总共标记了三个不同的社区;一旦我们得到这些社区之后,就可以做进一步的风险分析。

由于社区挖掘是基于概率的方法论,好处在于不需要人为地去定义规则,特别是对于一个庞大的关系网络来说,定义规则这事情本身是一件很复杂的事情。

标签传播算法的核心思想在于节点之间信息的传递,这就类似于,跟优秀的人在一起自己也会逐渐地变优秀是一个道理;因为通过这种关系会不断地吸取高质量的信息,最后使得自己也会不知不觉中变得更加优秀(具体细节不在这里做更多解释)。

相比规则的方法论,基于概率的方法的缺点在于:需要足够多的数据。如果数据量很少,而且整个图谱比较稀疏(Sparse),基于规则的方法可以成为我们的首选;尤其是对于金融领域来说,数据标签会比较少,这也是为什么基于规则的方法论还是更普遍地应用在金融领域中的主要原因。

1)基于动态网络的分析

八、知识应用1.语义全文检索

基于知识图谱中的知识,解决传统搜索中遇到的关键字语义多样性及语义消歧的难题,通过实体链接实现知识与文档的混合检索。

针对医院临床电子病历数据大量积累无法快速、高效地服务于临床医疗、医学科研、以及病例管理的现象,提出研究更高效的电子病历检索方法;采用全文索引搜索引擎技术,以关键字、关键词为索引,把电子病历统一转换成结构化数据,最后生成病历检索索引文件,进而建立电子病历全文检索系统。

2.智能问答

医院的医生每天病人接待量是固定,而前来就诊的人流量往往很大,这就造成供需失衡。

对待这种情况,利用机器人可以很好的帮我们分担一部分压力。

利用医院大量的、精确的、病例数据,我们用这些数据进行模型训练,可以做到在线、实时和就诊的人进行语言互动,给就诊的人提供精确的诊断参考。

3.辅助诊疗/决策

为医生临床治疗提供决策依据,有助于确保医疗质量。

系统通过比较医疗行为中与医学指引不同的地方,提醒医生防止潜在的错误,如药物不良反应等;从而降低医疗事故率。还可以提供同类治愈病例的用药推荐,给医生提出诊疗建议;可以使医生从耗时过长的简单咨询工作中解脱出来,从而提高治疗效率。

4.知识订阅

5.智能导诊等

6.落地方案

使用快速迭代法,通过维度、作用域、边界快速分解业务模型:

本文由@CTO老王原创发布于人人都是产品经理,未经许可,禁止转载

THE END
1.(一)基于知识图谱的医疗问答系统(实例+代码理解)保姆级教程文章浏览阅读1.8w次,点赞50次,收藏460次。基于知识图谱的医疗问答系统,超详细!!!_基于医疗知识图谱的问答系统https://blog.csdn.net/weixin_44516623/article/details/126866634
2.基于知识图谱的医疗问答系统问答系统为上述问题提供了一个解决思路,可以为用户提供医疗咨询服务,但是当前已有的几种医疗咨询服务存在内容主观性强,医生和患者交流效率低等问题。本文研究并实现了基于知识图谱的医疗问答系统,建立深度学习的模型理解用户问题,并在由大量医疗数据构成的知识图谱中检索出答案,相比搜索引擎返回的结果,更加贴合用户的检索https://cdmd.cnki.com.cn/Article/CDMD-10614-1021745925.htm
3.基于医疗知识图谱的问答系统(二)何莫道一.问答系统 问答系统从知识领域划分: 封闭领域:封闭领域系统专注于回答特定领域的问题,由于问题领域受限,系统有比较大的发挥空间,可以导入领域知识或将答案来源全部转换成结构性资料来有效提升系统的表现; 开放领域:开放领域系统则希望不设限问题的内容范围,因此其https://www.cnblogs.com/upuphe/p/14284807.html
4.左手医生智能问答系统医疗知识图谱智能问答系统左手医生智能问答系统是?款基于医疗知识图谱的智能问答系统。通过对话式的交互?式和权威医学知识库,有效的解决患者对医疗、健康类咨询或客服的多样化需求,节省患者时间,缓解线下咨询台的压?,提升Q&A效率与体验。 立即咨询 产品介绍 左手医生智能问答系统是?款基于医疗知识图谱的智能问答系统。通过对话式的交互https://www.yun88.com/product/3530.html
5.基于BERT的中文医疗问答系统摘要:现如今, 互联网中存在海量的医疗领域知识可以用于医疗病情诊断, 但传统的搜索引擎并无法根据病人的实际情况做出合理的判断, 无法满足使用需求. 因此, 本文主要开发基于知识图谱问答系统. 该系统面向医疗领域, 采用爬虫技术获取了大量医疗数据并将其存储在Neo4j图数据库构建医疗知识图谱中. 同时, 为了使系统能够https://c-s-a.org.cn/html/2023/6/9140.html
6.基于知识图谱的医疗问答助手的设计与实现开题报告.docx基于知识图谱的医疗问答助手的设计与实现-开题报告.docx 5页内容提供方:136***5466 大小:18.02 KB 字数:约3.68千字 发布时间:2023-07-03发布于山东 浏览人气:178 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)基于https://m.book118.com/html/2023/0629/5343303123010234.shtm
7.医学知识图谱构建关键技术及研究进展知识图谱的存储方式应考虑其后续的使用效率,应根据自己的应用场景、数据情况来具体设计。可参考表7选择最适用的存储方式。8 医学知识图谱应用8.1 基于医学知识图谱的问答医学知识图谱与问答系统的融合是目前极具挑战性的研究方向,同时也是典型的应用场景。基于知识图谱的医疗问答系统可以快速响应医患用户提出的问题,并给出https://www.zhuanzhi.ai/document/6ddf252c7da1afa52128edce65640770
8.基于neo4j的简易医疗问答知识图谱Django+Neo4j基于医疗知识图谱的问答系统源码+数据库(高分项目),含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署,就可以使用。 Django+Neo4j基于医疗知识图谱的问答系统源码+数据库(高分项目) Django+Neo4j基于医疗知识图谱的问答系统源码+https://www.iteye.com/resource/qgh1223-10914612
9.《知识图谱》:知识问答的分类体系文化&方法王昊奋本文节选自《知识图谱:方法、实践与应用》一书,本书系统地介绍知识图谱涉及的关键技术,如知识建模、关系抽取、图存储、自动推理、图谱表示学习、语义搜索、知识问答、图挖掘分析等。此外,本书还尝试将学术前沿和实战结合,让读者在掌握实际应用能力的同时对前沿技术发展有所了解。 https://www.infoq.cn/article/FhpvejKT2HSguikKPWf3
10.其他针对复杂自然语言文本信息抽取提出了多阶语义关系抽取方法,基于分布式知识图谱构建了知识抽取、知识融合和知识演化模型,研发了面向自然语言交互的智能问答系统。系统实现了联网数据实体关系抽取、语义数据存储与检索等关键技术,核心模块包括:①联网数据实体关系抽取模块;②语义数据存储和检索模块;③语音识别和语音合成模块;④自https://cs.xidian.edu.cn/ztwz/z2022yzzt2/sy/znrjyxtxjsyjs/qt.htm
11.基于医疗知识图谱的智能问答系统研究本文构建了医疗领域知识图谱,并依次从问句意图识别和问句命名实体识别两个方面进行探索研究,构建了医疗领域的智能问答系统。首先爬取在线社区医疗网站“寻医问药”中疾病百科的文本数据,通过数据清洗、知识表示和可视化的操作,构建医疗知识图谱。在智能问答系统模块,首先通过需求分析对问句意图进行预定义,探究了BERT(https://mall.cnki.net/magazine/Article/CMFD/1023129923.htm
12.基于知识图谱问答系统的技术实现摘要:知识图谱是实现对话机器人的一类重要工具。如何通过一套完整流程来构建基于知识图谱的问答系统是比较复杂的。因此,本文从构建基于知识图谱的问答系统的全流程角度总结了多个主题:知识图谱类型、知识图谱构建与存储、应用在知识图谱对话中的语言模型、图空间内的语义匹配及生成。进一步,本文在各主题的垂直领域归纳了常用https://www.fx361.com/page/2021/0406/8059463.shtml
13.大数据知识图谱——基于知识图谱+深度学习的大数据(KBQA)NLP医疗大数据知识图谱——基于知识图谱+深度学习的大数据(KBQA)NLP医疗知识问答可视化系统(2) - 六、 构建neo4j知识图谱开启Node4j数据库:连接数据库 通过bolt协议(数据传输更快)对绝对路径进行拼接 获取json文件路径 这里使用的Json为部分数据量,这里数据txt和json格式都有https://www.dtstack.com/bbs/article/17572
14.GitHubYeYzheng/KGQABasedOn基于医药知识图谱的智能问答系统 这是一个基于Python模块REfO实现的知识库问答初级系统. 该问答系统可以解析输入的自然语言问句生成 SPARQL 查询,进一步请求后台基于TDB知识库的Apache Jena Fuseki 服务, 进而得到问题的结果。 提供疾病症状、疾病用药、药品查询等功能。 https://github.com/YeYzheng/KGQA-Based-On-medicine