一种基于医疗知识图谱的可视查询方法及查询系统与流程

文档序号:17990366发布日期:2019-06-22 00:44阅读:324来源:国知局
一种基于医疗知识图谱的可视查询方法及查询系统与流程

本发明属于医疗知识检索技术领域,特别涉及一种基于医疗知识图谱的可视查询方法及查询系统。



背景技术:

在医疗技术迅猛发展和医疗知识不断产生和更新的背景下,当前的医疗知识体系庞大且持续更新。现有的医疗服务系统在医疗知识查询方面只提供了单一的搜索文本框,用户在使用时由于对搜索目标点模糊而不能快速确定最终的查询内容。在医疗知识可视化方面,当前有少数医疗服务系统虽使用了知识图谱,但只是画出了医疗知识点和相关点之间的边关系,未提供对知识图谱中点和边的过滤功能及知识图谱通过过滤条件二次布局和重构的功能。在医疗知识展示方面,当前的医疗服务系统虽使用表格和模态框等组件对医疗知识进行了统计和详细介绍,但并未将医疗知识展示方面和医疗知识可视化方面进行动态交互。

综上,亟需一种新型的可视查询系统及查询方法。



技术实现要素:

本发明的目的在于提供一种基于医疗知识图谱的可视查询方法及查询系统,解决由于新的医疗内容不断被开拓,新的医疗标准不断被制定,医疗数据难以检索,数据之间复杂关系难以可视化的问题。

为达到上述目的,本发明采用以下技术方案:

一种基于医疗知识图谱的可视查询方法,包括以下步骤:

s1,通过查询生成器引导和提示用户,构建获得适用于用户的查询条件;

s2,根据步骤s1获得的查询条件,搜索查询获得点数据信息和边数据信息;

s3,根据步骤s2获得点数据信息和边数据信息,构建医疗知识图谱并填充数据列表;将医疗知识图谱和数据列表绑定获得医疗知识图谱内各数据的具体属性;将数据列表与医疗百科交互,实现每个数据内容详细说明的展示;

s4,通过条件过滤和直接选中目标点的方法显示局部关系图,实现可视查询。

进一步地,步骤s1中,查询生成器的设计方法包括以下步骤:

s101,将待查询数据分为多类并分开设置查询条件;

s102,添加二级查询条件和组规则;

s103,添加文本框,填写根据二级查询条件获得的目标项;

s104,添加按目标项搜索的方法以及根据设置的相关规则和逻辑搜索疾病或药品的方法。

进一步地,步骤s2中,根据目标项以及搜索条件之间的逻辑关系,通过查询数据库,分别得到相关点数据信息和边数据信息;每个点数据信息为一个医学知识实体,包括id、名字和类型,id是每一个医疗知识实体确定唯一的编码,名字为医疗知识实体的名称,类型是疾病、症状、辅助检查和药品之中的一项;每条边数据信息是两个医学知识实体之间的关系,包括源id、目标id和关系类型名称;关系类型是治疗、临床表现、鉴别诊断、预后和病因之中的一种。

进一步地,步骤s3具体包括:

s301,计算每个点数据信息的坐标,确定各个点数据在医疗知识图谱中的位置;

s302,以s2中目标项对应的目标点为基础绘制初始医疗知识图谱和数据列表,完成查询结果可视化;

s303,添加过滤器,对初始医疗知识图谱进行重构和二次布局;

s304,将所有医疗知识图谱和数据列表双向绑定;

s305,将数据列表中的每个条目绑定模态框与医疗百科进行交互。

进一步地,步骤s3中,通过医疗知识图谱展示点数据信息及边数据信息,并提供按照点数据信息和边数据信息对图谱进行过滤和重构的方法;初始医疗知识图谱展示所有的点数据信息和边数据信息,以最终得到的目标搜索点为中心,其它数据点因力导向的原因平铺在画布上,相关点之间以直线相连表示两点之间存在关系。

进一步地,数据列表展示点数据信息,并提供按照不同字段对数据进行过滤和排序的方法;

初始的空数据列表只显示表头,分别为id、名字和类型三项,此三项分别展示展示医疗知识实体的id编码,名字和数据类型;数据列表分条目自上而下展示每一个点数据信息,搜索的目标点数据作为数据列表的第一项,其余点数据依次排开。

进一步地,步骤s4具体包括:添加过滤器,用于让用户对不同种类的关系和不同类别的点进行过滤并留下目标内容;添加直接选中目标点的方法,用于让鼠标悬停在某个点上时选中该点,显示与该点相关的内容。

进一步地,对于边的过滤有五项,分别是一级部位、二级部位、可能疾病、常用检查和一级关系;对于点的过滤有六项,分别是疾病、辅助检查、二级部位、症状、药品和二级科室;两项过滤中都设有反选、全选以及显示全部关系的功能;其中,显示全部关系是用于显示当前知识图谱内所有点之间的关系。

一种基于医疗知识图谱的可视查询系统,包括:

数据查询模块,用于通过查询生成器引导和提示用户,构建获得适用于用户的查询条件;

数据检索模块,用于根据数据查询模块获得的查询条件,搜索查询获得点数据信息和边数据信息;

数据展示模块,用于根据数据检索模块获得点数据信息和边数据信息,构建医疗知识图谱并填充数据列表;将医疗知识图谱和数据列表绑定获得医疗知识图谱内各数据的具体属性;将数据列表与医疗百科交互,实现每个数据内容详细说明的展示;其通过条件过滤和直接选中目标点的方法显示局部关系图,实现可视查询。

与现有技术相比,本发明具有以下有益效果:

本发明的方法,首先通过查询生成器使用户在确定查询条件时自上而下层层递进,确定最终的目标查询条件和内容,可解决由于用户查询目标不明确在查询阶段需大量迭代查询的问题;其次通过多功能的医疗知识图谱,对查询目标点及边关系进行可视化,同时增加过滤器对初始知识图谱过滤,进而对当前知识图谱进行二次布局和重构,可解决由于知识图谱中点数据和边数据数量繁多用户不能清晰分析重要数据的问题;最后提供知识图谱和医疗知识的富交互组件,将知识图谱和数据列表及医疗百科相互绑定,可解决由于知识图谱独立化展示信息有限,用户查看数据点具体信息时在多个组件间大量跳转的问题。本发明可高效快速地对医疗数据进行检索,可将数据之间的复杂关系可视化。

本发明的系统,通过查询生成器动态生成多个查询条件,并通过查询条件的层级结构引导和提示帮助用户确定最终的查询内容,有益于用户快速明确查询需求确定最终的查询条件和查询内容,可减少由于查询目标不明确反复迭代查询所耗费的时间。本发明通过多功能的知识图谱可视化组件,对所涉及的医疗知识点数据和边数据进行知识图谱可视化的同时增加过滤器对初始知识图谱进行过滤,生成下一代更简洁清晰的局部化知识图谱;有益于用户根据需求自主选择过滤条件,进而可查看和分析重要度高的局部化知识图谱。本发明将知识图谱、数据列表和医疗百科相互绑定,使得多个模块间可以直接交互,有益于用户在查看知识图谱内各个目标点具体信息时快速定位,进而可减少在各个组件间大量跳转查找的步骤。

附图说明

图1是本发明的一种基于医疗知识图谱的可视查询系统的示意框图;

图2是本发明的一种基于医疗知识图谱的可视查询方法的流程示意框图;

图3是本发明中查询生成器的设计流程示意图;

图4是本发明中医疗知识图谱构建方法的流程示意图;

图5是本发明中医疗知识图谱和数据列表以及医疗百科的交互示意图。

具体实施方式

以下结合附图和具体实施例对本发明作进一步详细说明。应当理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。

请参阅图1,本发明的一种基于医疗知识图谱的可视查询系统,包括:

数据查询模块,用于通过查询生成器引导和提示用户,构建获得适用于用户的查询条件;本模块的输入为各级查询条件以及查询条件之间的逻辑关系,输出为用户最终确定的搜索内容以及多个搜索条件之间的逻辑关系。

数据检索模块,用于根据数据查询模块获得的查询条件,搜索查询获得点数据信息和边数据信息;本模块的输入为查询模块所提供的最终搜索内容以及多个搜索条件之间的逻辑关系,通过数据库的检索从而确定输出内容,输出为最终搜索内容所确定的点数据信息、和与最终点相关的所有点的数据信息以及这些点之间的边数据信息。

数据展示模块,用于根据数据检索模块获得点数据信息和边数据信息,构建医疗知识图谱并填充数据列表;将医疗知识图谱和数据列表绑定获得医疗知识图谱内各数据的具体属性;将数据列表与医疗百科交互,实现每个数据内容详细说明的展示;其通过条件过滤和直接选中目标点的方法显示局部关系图,实现可视查询;本模块的输入为检索模块所提供的所有点数据信息以及这些点之间的边数据信息,通过知识图谱展示数据之间的复杂关系,输出为涉及到所有本模块输入条件的医疗知识图谱。

本发明的系统中,数据查询模块通过查询生成器的提示和引导逐步确定用户的实际问题,设置粒度合适且语义清晰的查询条件,构建适合用户问题的合理查询条件,进而快速确定最终的查询条件和查询目标内容。数据检索模块根据查询条件和查询目标内容所匹配到的点数据信息和边数据信息,医疗知识图谱可视化这些点数据并标记相关点之间的边数据。同时提供过滤器对初始医疗知识图谱中的点数据和边数据进行过滤,进而完成医疗知识图谱的二次布局和重构。数据展示模块将知识图谱和数据列表绑定以获得知识图谱内各数据的具体属性,将数据列表和医疗百科绑定以获得数据列表内每一项数据内容的详细说明。

请参阅图2,本发明的一种基于医疗知识图谱的富交互可视查询方法,包括以下步骤:

s1,根据查询生成器的指引确定搜索内容。

查询生成器通过引导和提示帮助用户逐步明确查询需求,快速构建适合用户问题的合理查询条件。具体步骤包括:

s101:将数据分类并分开设置查询条件;

s102:添加具体的二级查询条件和组规则;

s103:添加文本框填写最终搜索的目标项;

s104:添加按某一项数据搜索和根据设置的相关规则和逻辑搜索疾病/药品的方法;

s105:显示历史搜索记录。

s2,基于搜索条件确定相关点及相关点的关系。

根据最终搜索内容以及多个搜索条件之间的逻辑关系,通过查询数据库,分别得到相关点数据信息和边数据信息。每个点数据是一个医学知识实体,包括id、名字和类型。id采用cchi编码方式为每一个医疗知识实体确定唯一的编码,名字为医疗知识实体的中文名和其对应的英文名,所属类型是疾病、症状、辅助检查和药品之中的一项。每条边数据是两个医学知识实体之间的关系,包括源id、目标id和关系类型名称。

为存在关系的两个医疗知识实体构建关系模型时,其中的一个实体id为源id,另一个实体id为目标id,关系类型是治疗,临床表现,鉴别诊断,预后,病因的一种。

s3,基于搜索结果绘制知识图谱和数据列表。

本发明提供了医疗知识图谱展示查询结果的方法,基于得到的点数据信息和边数据信息,构建医疗知识图谱并填充数据列表。因此,本发明还将知识图谱和数据列表绑定以获得知识图谱内各数据的具体属性,同时通过和医疗百科的交互展示每个数据内容的详细说明。

具体包括以下步骤:

s1:获取查询结果所得的各个点数据和边数据;

s2:计算每个点的坐标来确定该点在知识图谱中的位置;

s3:以目标点为基础绘制医疗知识图谱和数据列表完成查询结果可视化;

s4:对过滤得到的医疗知识图谱中的具体模块二次布局;

s5:将知识图谱和数据列表双向绑定;

s6:将数据列表中的每个条目绑定模态框与医疗百科进行交互。

医疗知识图谱展示点数据的信息及边数据信息,并提供按照点数据的属性和边数据的属性对图谱进行过滤和重构的方法。初始的医疗知识图谱展示所有的点数据和边数据,以最终得到的目标搜索点为中心,其它数据点因力导向的原因平铺在画布上,相关点之间以直线相连表示两点之间存在关系。

数据列表展示点数据的信息,并提供按照不同字段对数据进行过滤和排序的方法。初始的空数据列表只显示表头,分别为id、名字和类型三项,此三项分别展示展示医疗知识实体的id编码,名字和数据类型。数据列表将分条目自上而下展示每一个点数据信息,搜索的目标点数据作为数据列表的第一项,其余点数据依次排开。

s4,通过条件过滤和直接选中目标点的方法显示局部关系图。

添加过滤器让用户对不同种类的关系和不同类别的点进行过滤留下目标内容。添加直接选中目标点的方法让鼠标悬停在某个点上时选中该点,显示与该点相关的内容。此方法突显出了目标点的相关点以及点集之间的关系。

对于边的过滤有五项,分别是一级部位、二级部位、可能疾病、常用检查和一级关系。对于点的过滤有六项,分别是疾病、辅助检查、二级部位、症状、药品和二级科室。两项过滤中又分别都有反选,全选以及显示全部关系的功能。其中显示全部关系的作用是显示当前知识图谱内所有点之间的关系。

综上所述,本发明提出一种方便高效查询医疗数据并通过知识图谱可视化医疗数据复杂关系的系统及方法。具体表现为:(1)针对传统医疗服务系统的单一搜索难以确定查询目标内容的问题,本发明的方法提供查询生成器动态生成多个查询条件,并通过查询条件的层级结构引导和帮助用户确定最终的查询内容。有益于用户快速明确查询需求确定最终的查询条件和查询内容,减少由于查询目标不明确反复迭代查询所耗费的时间。(2)对于现有的医疗服务系统所使用知识图谱简单化的问题,本发明提供多功能的知识图谱可视化组件,对所涉及的医疗知识点数据和边数据进行知识图谱可视化的同时增加过滤器对初始知识图谱进行过滤,生成下一代更简洁清晰的局部化知识图谱。有益于用户根据需求自主选择过滤条件,进而查看和分析重要度高的局部化知识图谱。(3)对于现有的医疗服务系统由于知识图谱模块独立化而难以查看图谱内各个点数据和边数据具体信息的问题,本发明将知识图谱、数据列表和医疗百科相互绑定,使得多个模块间可以直接交互,有益于用户在查看知识图谱内各个目标点具体信息时快速定位,进而减少在各个组件间大量跳转查找的步骤。

对于过滤器的具体说明,举以下例子进行阐述。譬如,对于“老年人肺气肿”的查询,系统展示给用户的是一个总体的效果,若在边过滤器中将非“并发症”关系的选项移除,则系统将会过滤非“并发症”的边及取出边后的孤立点,结果只显示“老年人肺气肿”相关的“并发症”。当用户在初始的知识图谱中点击“慢性肺源性心脏病”时,系统将只显示“老年人肺气肿”和“慢性肺源性心脏病”以及它们之间的“并发症”关系。

图3为本发明实例提供的查询生成器的查询流程示意图。如图3所示,查询生成器的设计流程图如下:

s201,将数据分为四类并分开设置查询条件。

数据分为疾病、症状、辅助检查和药品四类,且将该四类数据直接分开以设置查询条件。

s202,添加具体的二级查询条件和组规则。

为每类数据设计分级菜单,按一级/二级科室和一级/二级部位对查询条件中的数据初步过滤,按此分类逐步缩小用户感兴趣的范围以更精确地帮助用户定位其搜索内容。添加“加号”即“添加规则”和“减号”即“删去规则”方法设置多个查询条件,添加“and”即“有”和“not”即“没有”方法设置多个查询条件之间是否关联。

譬如,在“症状”菜单下的一级科室选择“传染科”,一级部位选择“全身”,文本框根据自动提示填入“手术后破伤风”,逻辑选择框为“and”。点击加号在“症状”菜单下增加一个选择项,一级科室选择“老年科”,一级部位选择“全身”,文本框根据自动提示填入“血压低”,逻辑框选择为“and”,最后点击“搜索疾病”。可以看到绘制的医疗图谱显示了综合两项的搜索内容得出的可能出现疾病(低血糖综合症等),相关疾病出现的症状(发烧等),相关疾病所需用药(生长抑素等),以及相关疾病所做的检查(sst受体县像等)。这些结果对医生的确诊起到关键性的指导作用。

s203,添加文本框填写最终搜索的目标项。

单击文本框并不输入文字时,返回与所选搜索条件相关的十条选项。输入文字时,返回与文字最匹配的十条选项,可选项随着输入文字的变化而动态更新。

s204,添加按某一项数据搜索和根据设置的相关规则、逻辑搜索疾病/药品的方法。

添加按某一项数据搜索的方法使用户对感兴趣的数据类中的具体数据进行搜索。譬如,医生对疾病中的“老年人肺气肿”感兴趣,则医生在疾病中设置该规则,期望能够返回所有与“老年人肺气肿”相关的数据。添加搜索疾病/药品的方法针对于四类数据中所有已设置的规则和逻辑返回可能的疾病或药品。具体可参考s202中所举事例。

图4为本发明实例提供的医疗知识图谱构建方法的流程示意图。如图4所示,医疗知识图谱构建方法的流程图如下:

s301,计算每个点的坐标确定该点在图中的位置,具体包括:

s1:初始时随即分布各点的坐标;

s2:计算每两个点之间的排斥力确定这个时间点产生的位移;

s3:计算每条边两端的点之间的引力确定这个时间点产生的位移;

不断重复s2和s3,每次迭代后检查总能量值,当总能量低于某阈时则停止,此时点的坐标计算完成。

s302,修改力导向布局算法使重要的点在初始时有固定的坐标。

由s301计算各点坐标的算法可知,最终每个点的位置是相对随机的,为了使重要度高的点显示在画布中间,在算法的一开始便将某些重要的点区分开,让这些点在初始时就有固定的坐标,不参与s301算法中第2、3步的位移。本系统使用的是布局插件cola.js对cytoscape.js图可视化库的布局扩展cytoscape-cola.js,并在其源码基础上进行两方面修改:

(1)初始化之前检查每个点的“center”属性,若值为1则将其视为中心点,将所有的中心点的坐标固定在以视图中心为圆点的一系列同心圆坐标上,并在其后的逻辑中总是将对这些点进行的位移量设为0。

(2)增加gravity参数的设置,取值为0~1,将布局结果的各个点按比例向视图中心靠拢。

s303,生成医疗知识图谱。

采用力导向布局,以搜索的目标点为中心,其他点采用s301和s302中的算法计算出最终位置,在力导向的作用下自动地舒展开,形成医疗知识图谱。为了使知识图谱的展示更加清晰明了,本系统采用不同的颜色表示不同类型的点,点与点之间若存在关系则用灰色直线相连并用蓝色字体标出所属关系。

s304,基于条件过滤和直接选中目标点进行二次布局显示局部关系图。

为了突显出目标所示的局部关系图,将除目标点以外的点以及这些点之间的关系全部隐藏,知识图谱进行二次布局只显示目标点以及目标点之间的关系。

图5为本发明实例提供的医疗知识图谱和数据列表以及医疗百科的交互图,各模块之间的交互情况如下所示:

s401,知识图谱和数据列表的单项绑定。

知识图谱不能直观地显示点数据的具体属性。因此在知识图谱中,当光标悬停于任何一个数据点时,数据列表的滚轮定位到对应条目,并以hover样式突显该条目让用户清晰的看到此数据点的各类属性。

s402,数据列表和知识图谱的单向绑定。

当光标悬停在数据列表的任何一个条目时,知识图谱只显示该条目对应的数据点与搜索的目标点及其之间的关系并将其他的数据点及其关系隐藏。

s403,数据列表和医疗百科的单项绑定。

对数据列表的每个条目使用bootstrap的model插件绑定一个模态框,单击任何条目则显示该条目对应的细节内容可查看数据列表中每个条目的具体内容。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1