基于医药图谱的药品查询方法、装置、设备及存储介质
文献发布时间:2023-06-19 11:21:00
技术领域
本申请涉及医药知识图谱的技术领域,尤其涉及一种基于医药图谱的药品查询方法、装置、设备及计算机可读存储介质。
背景技术
在信息查询中可以通过知识图谱来查询需要的信息,知识图谱一般由关系数据库和图数据库通过映射关系构成,在不同的查询情况下使用不同的数据库,会出现在一个数据库中查询到中间结果时需要到另一个数据库进行查询的情况,增加了查询时长,且在构建知识图谱时,通过不同的数据源中的数据来构建知识图谱容易产生数据冗余和错误。
发明内容
本申请提供一种基于医药图谱的药品查询方法、装置、设备及计算机可读存储介质,旨在减少生成医药图谱时产生的数据冗余以及发生错误的几率,并提高通过医药图谱来查询药品的效率。
第一方面,本申请提供一种基于医药图谱的药品查询方法,所述方法包括以下步骤:
从不同的数据源中获取第一目标数据,所述第一目标数据包括药品的药品名称及药品属性;
获取第二目标数据,所述第二目标数据包括用于指示不同药品之间的关联程度的关联信息;
基于预设命名规则,对所述第一目标数据进行命名标准化处理得到标准化第一数据,对所述第二目标数据进行命名标准化处理得到标准化第二数据;
基于知识图谱算法,根据所述标准化第一数据和所述标准化第二数据生成目标医药图谱,所述目标医药图谱能够指示药品的药品名称、药品属性,以及不同药品之间的关联信息;
根据查询指令在所述目标医药图谱中确定至少一种药品为目标药品;
输出所述目标药品的药品名称、药品属性,以及所述目标药品与所述目标医药图谱中其余若干药品之间的关联信息。
第二方面,本申请还提供一种药品查询装置,所述药品查询装置包括:
第一数据获取模块,用于从不同的数据源中获取第一目标数据,所述第一目标数据包括药品的药品名称及药品属性;
第二数据获取模块,用于获取第二目标数据,所述第二目标数据包括用于指示不同药品之间的关联程度的关联信息;
命名模块,用于基于预设命名规则,对所述第一目标数据进行命名标准化处理得到标准化第一数据,对所述第二目标数据进行命名标准化处理得到标准化第二数据;
图谱生成模块,用于基于知识图谱算法,根据所述标准化第一数据和所述标准化第二数据生成目标医药图谱,所述目标医药图谱能够指示药品的名称、属性,以及不同药品之间的关联信息;
药品查询模块,用于根据查询指令在所述目标医药图谱中确定至少一种物品为目标药品。
药品输出模块,用于输出所述目标药品的名称、属性,以及所述目标药品与所述目标医药图谱中其余若干药品之间的关联信息。
第三方面,本申请还提供一种计算机设备,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上述的基于医药图谱的药品查询方法的步骤。
第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上述的基于医药图谱的药品查询方法的步骤。
本申请提供一种基于医药图谱的药品查询方法、装置、设备及计算机可读存储介质,本申请通过从不同的数据源中获取第一目标数据,所述第一目标数据包括药品的药品名称及药品属性;获取第二目标数据,所述第二目标数据包括用于指示不同药品之间的关联程度的关联信息;基于预设命名规则,对所述第一目标数据进行命名标准化处理得到标准化第一数据,对所述第二目标数据进行命名标准化处理得到标准化第二数据;基于知识图谱算法,根据所述标准化第一数据和所述标准化第二数据生成目标医药图谱,所述目标医药图谱能够指示药品的药品名称、药品属性,以及不同药品之间的关联信息;根据查询指令在所述目标医药图谱中确定至少一种药品为目标药品;输出所述目标药品的药品名称、药品属性,以及所述目标药品与所述目标医药图谱中其余若干药品之间的关联信息。在建立目标医药图谱的过程中对从不同数据源获取的药品名称及药品属性进行命名标准化处理,减少数据冗余以及降低发生数据错误的几率,且目标医药图谱能够同时提供药品名称及药品关系的查询,有效减少了查询时间。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的一种基于医药图谱的药品查询方法的步骤流程示意图;
图2为本申请一实施例提供的一种基于医药图谱的药品查询方法的树形结构示意框图;
图3为本申请一实施例提供的一种基于医药图谱的药品查询方法的子步骤流程示意图;
图4为图3中的基于医药图谱的药品查询方法的子步骤流程示意图;
图5是本申请一实施例提供的一种基于医药图谱的药品查询方法的流程示意图;
图6为本申请实施例提供的一种药品查询装置的示意性框图;
图7为本申请一实施例涉及的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请实施例提供一种基于医药图谱的药品查询方法、装置、计算机设备及计算机可读存储介质。其中,该基于医药图谱的药品查询方法可应用于终端设备中,该终端设备可以是手机、平板电脑、笔记本电脑、台式电脑等电子设备。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,图1为本申请的实施例提供的一种基于医药图谱的药品查询方法的流程示意图。
如图1所示,该基于医药图谱的药品查询方法包括步骤S110至步骤S160。
步骤S110、从不同的数据源中获取第一目标数据,所述第一目标数据包括药品的药品名称及药品属性。
示例性的,数据源可以是医药行业中不同公司或医院的数据库,可以理解的,公司或医院的数据库中会存有若干药品的药品名称和/或药品属性。
示例性的,药品的药品名称及药品属性可以存储在区块链的节点中,可以从区块链的节点中获取药品的药品名称及药品属性。本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
示例性的,可以从多个数据源中获取多个药品的药品名称和药品属性,也可以从一个数据源中获取多个药品的药品名称和药品属性。从多个数据源中获取到的药品可能会有重复的,即同一个的药品可能会出现在不同的数据源中,并且在不同的数据源中可能相同药品的药品名称和药品属性会不同。
示例性的,药品的药品属性可以包括药品的类别、成分和/或用处等,例如一种复方可溶性胶囊的药品属性可能是胶囊类、可食用明胶、承载A类药物磨粉。可以理解的,上述对药品属性说明只是示例性举例,并不对药品的药品属性予以限定。
示例性的,将获取到的第一目标数据存入混合型数据库中,其中,混合型数据库可以同时实现关系模式(relational)和图模式(graph)的存储、管理以及查询功能。
示例性的,如下表1所示,获取到的第一目标数据存入混合型数据库后,根据第一目标数据生成实体表(entity table),其中,实体表(entity table)可以用于存储药品的药品名称以及对应的药品属性。
表1
步骤S120、获取第二目标数据,所述第二目标数据包括用于指示不同物品之间的关联程度的关联信息。
示例性的,不同药品之间存在关联,例如不同药品可以用来治疗同一种病、属于同一种类别或者制造的成分相近。
示例性的,在确定用于治疗疾病的药物时,查询某种药品的同时得到与该药品具有一定关联程度的其他药品,可以提升医生的可选择度,以及便于对药品、疾病进行分析。
示例性的,如下表2所示,将获取到的第二目标数据存入混合型数据库中,并根据第二目标数据生成关系表(relation table),其中,关系表(relation table)可以存储不同药品之间的关联程度。例如关系表(relation table)中名称相同的药品可以存于名称(path_theme)标识的路径下,来源相同,即从同一个数据源中获取的可以存于来源(path_source)标识的路径下,可以理解的,上述关系表(relation table)中的存储路径只是示例性举例,并不对关系表(relation table)的存储路径予以限定,存储路径还可以有作用以及成分等。
表2
在一些实施例中,所述获取第二目标数据包括:从不同的数据源中获取第二目标数据。
示例性的,如步骤S110,可以从多个不同的数据源中获取第二目标数据,可以理解的,这些数据源存储药品的时候按照某一种分类标准,例如成分的分类标准,将具有相同成分的药品归到同一分类中,也可以是作用的分类标准,将作用类似或相同的药品归到同一分类中。在从数据源获取第二目标数据中时可以直接得知药品之间的关联信息。
在另一些实施例中,所述获取第二目标数据包括:根据所述第一目标数据确定所述第二目标数据。
示例性的,可以根据获取到的第一目标数据确定药品之间的关联程度的关联信息,如具有一定关联程度的药品在药品名称或者药品属性中会存在相同的字,可以根据不同药品之间的药品名称和药品属性确定对应药品之间的关联程度。可以理解的,作用类似的药品的药品名称也会接近。
在一些实施例中,所述根据所述第一目标数据确定所述第二目标数据包括:对所述第一目标数据中药品的药品名称和药品属性进行分词并提取若干关键字;将从不同药品的药品名称和药品属性中提取到的关键字进行对比;根据对比结果确定对应药品之间的关联程度,得到用于指示药品之间关联程度的关联信息。
示例性的,对获取到的第一目标数据中药品的药品名称和药品属性进行分词处理,可以通过TF-IDF方法、TextRank方法或Word2Vec词聚类方法等自然语音处理(NLP)进行分词并提取关键字。
示例性的,将通过提取处理后的关键字进行对比,得到对比结果,对比的结果可以是不同药品的药品名称和/或药品属性中相同关键字的个数,从而确定他们之间的关联程度。
例如,从A药品中提取到7个关键字,从B药品中提取到10个关键字,其中有5个字在A药品的关键字和B药品的关键字中均有出现,则可以确定A药品和B药品之间的关联程度。
示例性的,可以通过相同关键字的个数以及提取的关键字总数确定药品之间的关联程度,从而得到它们的关联信息,例如,A药品中提取到7个关键字,包括5个与从B药品提取到的关键字相同的关键字,则A药品与B药品的关联程度为70%,反之,B药品与A药品的关联程度为50%。可以理解的,A药品与B药品的关联程度可以与B药品与A药品的关联程度不相同,具体的,在查询A药品时,可以显示B药品关联程度为70%,在查询B药品时,显示A药品关联程度为50%。
在一实施例中,在根据对比结果确定对应药品之间的关联程度之前,根据药品的药品名称确定药品之间是否存在关联,若药品之间存在关联,根据药品的药品属性确定药品之间的关联程度。
示例性的,先通过不同药品的药品名称判断药品之间是否存在关联的可能,可以理解的,作用相同或成分相似的药品一般在名称中会有体现,即不用药品对应的药品名称中会有相同的关键字。
示例性的,对至少两个药品的药品名称进行关键词提取处理,并进行对比,以判断是否存在关联,若存在关联,进一步判断他们之间的关联程度。
例如,药品名称为A型菠萝蛋白酶肠溶片的药品和药品名称为B型菠萝蛋白酶胶囊的药品从药品名称中均能提取到菠萝以及蛋白酶这几个关键字,则可以确定这两个药物之间存在关联,再通过提取药品属性的关键字进行对比,如从A型菠萝蛋白酶肠溶片中提取到消水肿,酶类药物,肠溶片,从B型菠萝蛋白酶胶囊属性中提取到消水肿,酶类药物,胶囊。药品属性中只有载体所对应的关键字不同,一个是肠溶片一个是胶囊,因此关联程度可以确定为80%。
通过确定药品之间的关联程度,在查询某个药品时,可以显示与该药品相关的药品,提升了可选择性,以及在做疾病药品分析,如有哪几种药品能够用于治疗同一种疾病,并对这些药品产生的效果和副作用进行分析时能够有效减少查询资料的时间。
在一些实施例中,所述方法还包括:确定药品的药品名称和药品属性中的关键字的权重值;所述根据对比结果确定对应药品之间的关联程度,包括:根据不同药品的药品名称和药品属性的关键字对比结果和各关键字的权重值确定对应药品之间的关联程度。
示例性的,对药品的药品名称和/或药品属性进行关键字提取之后,还可以确定关键字的权重值,如将胶囊、口服液等关键字权重值确定为10%,可以理解的,胶囊、口服液是药品的形式,对药品的本质影响有限,将蛋白酶等关键字权重值确定为50%,可以理解的,药品的成分对于作用以及适合人群均较重要,将成分的关键字的权重值设定高于药品形式的关键字的权重值。
在一些实施例中,可以根据数据字典中的标准药品名称和标准药品属性确定药品的药品名称和药品属性中的关键字的权重值。
示例性的,如下述步骤S130的子步骤S131提供的数据字典,数据字典是基于预设命名规则建立的,预设命名规则可以是使用者自己的命名,也可以是官方渠道提供的标准药品名称,其中,数据字典中通过树形结构指示药品的标准药品名称和标准药品属性,且树形结构至少包括两个层数,每层包括标准药品名称中若干不同的关键字。如图2所示,可以理解的,树形结构具有多个层数,且各层对应标准药品名称中若干不同的关键字,可以对各层的关键字设定权重值,例如在树形结构第一层的关键字权重值为10%,树形结构第二层的关键字权重值高于第一层的的关键字权重值,以此类推,可以理解的,树形结构最高层(叶子结点)的关键字权重值最高。
可以理解的,图2所示的树形结构只是示例性举例,并不对本申请中树形结构予以限定,树形结构可以有更多层数。
所述根据对比结果确定对应药品之间的关联程度,包括:根据不同药品的药品名称和/或药品属性的关键字对比结果和各关键字的权重值确定对应药品之间的关联程度。
示例性的,根据不同药品关键字的对比结果,即不同药品的药品名称和/或药品属性中出现相同的关键字,并根据各相同的关键字对应的权重值确定对应药品之间的关联程度。
例如,确定A止咳糖浆,C型退热胶囊,以及B型止咳胶囊之间的关联程度,糖浆、胶囊关键字位于树形结构的第二层,止咳关键字位于树形结构的第三层,因此止咳关键字的权重值大于胶囊关键字的权重值,因此得到的结果是A止咳糖浆和B止咳胶囊之间的关联程度大于B止咳胶囊和C型退热胶囊之间的关联程度,可以更准确的得到不同药品之间的关联程度。
通过树形结构中各层标准药品名称的若干关键字确定提取到的关键字的权重值,从而确定不同药品之间的关联程度,可以得到更准确的关联程度的计算结果。
步骤S130、基于预设命名规则,对所述第一目标数据和所述第二目标数据进行命名标准化处理,得到标准化第一数据和标准化第二数据。
示例性的,由于从不同数据源中获取到药品的药品名称和药品属性可能会存在差别,因此为了减少数据冗余以及减少数据错误发生的几率,对药品的药品名称和药品属性进行命名标准化处理。
示例性的,预设命名规则可以是使用者自己命名的标准药品名称,也可以是官方渠道提供的标准药品名称,达到从不同数据源中获取的药品名称和药品属性的命名标准化的目的即可。
示例性的,在获取第一目标数据的过程中可能会获取到相同的药品,但由于相同药品的药品名称不同,容易被认为是不同的药品,从而分开保存在混合型数据库的实体表(entity table)中,在经过命名标准化处理之后,药品的药品名称会被统一,从而能够减少相同的药品分开保存的情况,减少数据冗余。
示例性的,在根据第一目标数据和第二目标数据生成医药图谱时,若不先进行命名标准化处理,会发生第一目标数据与第二目标数据不匹配,如A药品在第一目标数据中名称命名为aa,在第二目标数据中名称命名为aab,会认为aa与aab是不同的药品,从而分别建立aa和aab与其他药品的关联程度,从而产生数据冗余,并降低了查询时候的准确率。
通过对第一目标数据和第二目标数据进行命名标准化处理,可以有效减少数据冗余,以及在根据第一目标数据和第二目标数据生成医药图谱时能够减少计算机的计算量,提升生成速度以及降低发生数据错误的几率。
在一些实施例中,如图3所示,步骤S130包括步骤S131~步骤S132。
步骤S131、获取基于预设命名规则建立的数据字典,所述数据字典以树形结构指示药品的标准药品名称和标准药品属性。
示例性的,如图2所示,获取基于预设命名规则可以建立具有树形结构的数据字典,数据字典能够以树形结构指示药品的标准药品名称以及标准药品属性。
可以理解的,药品名称由多个文字和/或英文组成,在数据字典中,通过树形结构来指示标准药品名称和/或标准药品属性中的多个文字和/或英文。
步骤S132、根据所述数据字典,判断所述药品的药品名称和药品属性是否与标准药品名称和标准药品属性相同,以及根据判定结果对所述第一目标数据和第二目标数据中药品名称和药品属性进行命名标准化处理。
示例性的,可以将获取到第一目标数据和第二目标数据与数据字典进行对比,以判断第一目标数据中药品的药品名称和药品属性,第二目标数据中药品的药品名称是否与数据字典中的标准药品名称和标准药品属性相同。
例如,可以将混合型数据库中的实体表(entity table)和关系表(relationtable)与数据字典进行对比。
示例性的,根据判定结果对第一目标数据和第二目标数据中的药品名称和药品属性进行命名标准化处理。
例如,若判定药品的药品名称和药品属性与数据字典的标准药品名称和标准药品属性相同,不进行处理。若判定药品的药品名称和药品属性与数据字典的标准药品名称和标准药品属性不相同,将药品的药品名称和药品属性修改为数据字典中的标准药品名称和标准药品属性。
在一些实施例中,所述树形结构至少包括两个层数。如图4所示,步骤S132包括步骤S1321~步骤S1323。
步骤S1321、将所述药品的药品名称和药品属性与树形结构中第N层数的标准药品名称和标准药品属性进行对比,N是大于0的自然数且不大于所述树形结构的总层数。
示例性的,在数据字典的树形结构中,至少包括两个层数,可以理解的,在每层树形结构中,对应着标准药品名称中若干不同的关键字,例如在一个树形结构中,第一层的标准药品名称的关键字是口服药,第二层树形结构的标准药品名称的关键字是糖浆、口服液,以此类推,直到与树形结构总层数相等的层数(叶子结点)对应具体的标准药品名称如A类小儿止咳润肺糖浆结束。
示例性的,将实体表(entity table)和关系表(relation table)中药品的药品名称和/或药品属性在树形结构中逐层进行对比,以进行命名标准化处理。
步骤S1322、若判定所述药品的药品名称和药品属性与所述树形结构第N层数的标准药品名称和标准药品属性不相同,根据所述第N层数的标准药品名称和标准药品属性对所述药品的药品名称和药品属性进行修改,以及若N小于所述树形结构的总层数时将N加1。
示例性的,药品的药品名称和药品属性与树形结构的第N层对比时,与该层的标准药品名称和标准药品属性中的若干关键字不相同,将该层的标准药品名称和标准药品属性中的若干关键字替换药品的药品名称和药品属性中对应的字,替换之后进入N+1层继续进行对比,直到对比至树的深度对应的层数结束。可理解的,N为大于0且不大于树形结构的总层数的自然数。树的深度用于表征树形结构的总层数。
例如,树形结构有5层,将药品的药品名称从树形结构的第一层开始进行对比,直到第5层结束。
步骤S1323、若判定所述药品的药品名称和药品属性与所述树形结构第N层数的标准药品名称和标准药品属性相同,且若N小于所述树形结构的总层数时将N加1。
示例性的,若判定药品的药品名称和药品属性与树形结构第N层数的标准药品名称和标准药品属性相同,不需要对药品的药品名称和药品属性进行修改,便进入判断N是否小于树形结构的总层数的步骤。
示例性的,实体表(entity table)和关系表(relation table)中药品的药品名称和/或药品属性从树形结构的第一层开始进行对比,若药品的药品名称和药品属性与树形结构第一层的标准药品名称和标准药品属性的关键字相同,则进入树形结构的第二层继续进行对比,以此类推,直到对比至树的深度对应的层数结束。
示例性的,处理流程如图5所示,图5是本申请一实施例提供的一种基于医药图谱的药品查询方法的流程示意图,在树形结构的第N层对药品名称和药品属性和树形结构的第N层对应的关键字进行对比,若对比结果相同且N小于树形结构的总层数时,进入第N+1层继续对比。若对比结果不相同,则对药品名称和药品属性进行替换修改,且N小于树形结构的总层数时,再进入第N+1层继续对比。
通过药品的药品名称和药品属性在数据字典的树形结构中逐层进行对比,可以对药品的药品名称和药品属性进行命名标准化处理,还能提升命名标准化的准确率。
步骤S140、基于知识图谱算法,根据所述标准化第一数据和所述标准化第二数据生成目标医药图谱,所述目标医药图谱能够指示药品的药品名称、药品属性,以及不同药品之间的关联信息。
示例性的,进行命名标准化处理之后得到标准化第一数据和标准化第二数据,以及根据标准化第一数据和标准化第二数据生成得到目标医药图谱。
示例性的,目标医药图谱能够指示药品的名称、属性,以及不同药品之间的关联信息,增加了目标医药图谱的适用性。
示例性的,对实体表(entity table)中药品的药品名称和药品属性进行命名标准化处理后,得到标准化实体表(standard entity table),以及基于标准化实体表(standard entity table)生成实体名称视图(entity view),可以理解的,实体名称视图(entity view)可以对药品的药品名称以及药品属性进行可视化输出。
例如,实体名称视图(entity view)可以是表格形式的,也可以是括号形式的,可以理解的,名称视图可以显示药品的药品名称以及药品属性,例如一些蛋白酶药片可以显示为“A蛋白酶(酶类、催化剂、催化),B蛋白酶(酶类、载体、运输)”。实体名称视图(entityview)能够直观的显示出药品的药品名称及药品属性。
示例性的,对关系表(relation table)中药品的药品名称进行命名标准化处理后,得到标准化的关系表(standard relation table),以及基于标准化的关系表(standard relation table)生成关系视图(relation view),可以理解的,关系视图(relation view)可以对不同药品之间的关联信息进行可视化输出。
示例性的,关系视图(relation view)可以是打分值形式的,即对两个不同的药品进行打分,分值表示他们之间的关联程度,分值越高,关联程度越高;也可以是连线形式的,即不同的药品之间用线段连接,通过线段的粗细或者颜色来表示药品之间的关联程度。
示例性的,可以基于知识图谱算法,其中,知识图谱算法可以是混合型数据库提供的图谱建立功能,以及通过实体名称视图(entity view)和关系视图(relation view)映射生成目标医药图谱。
可以理解的,生成的目标医药图谱既能提供药品的药品名称及药品属性,也能提供不同药品之间的关联信息。能够同时提供药品名称及药品关系的查询,有效减少了查询时间。
示例性的,生成的目标医药图谱可以存储在区块链节点中,本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
可以理解的,实体名称视图(entity view)和关系视图(relation view)均能储存于区块链中。
在一些实施例中,接收更新指令,所述更新指令用于指示更新目标医药图谱中药品的药品名称、药品属性,以及不同药品之间的关联程度,基于所述更新指令对目标医药图谱进行更新。
示例性的,混合型数据库接收到更新指令后,基于预设命名规则对更新指令中药品的药品名称和药品属性进行命名标准化处理,请参见步骤S130,以更新实体表(entitytable)和关系表(relation table),从而更新目标医药图谱。
在更新之前进行命名标准化处理可以在更新目标医药图谱时有效减少发生数据错误的几率,以提高更新的准确率。
步骤S150、根据查询指令在所述目标医药图谱中确定至少一种药品为目标药品。
示例性的,生成的目标医药图谱可以响应于用户的查询指令,进行目标药品的查询,以使用户能够查询到至少一种目标药品的药品名称、药品属性,以及还能查询到目标药品与所述目标医药图谱中其余若干药品之间的关联信息。提升了通过医药图谱来查询药品的速度,以及能够同时输出与目标药品相关的其他药品,有利于用户进行批量数据分析。
步骤S160、输出所述目标药品的药品名称、药品属性,和所述目标药品与所述目标医药图谱中其余若干药品之间的关联信息。
示例性的,确定目标药品之后,对目标药品的药品名称、药品属性和目标药品与所述目标医药图谱中其余若干药品之间的关联信息进行输出。
示例性的,可以响应于用户不同的查询指令,对目标药品的药品名称、药品属性单独进行查询及输出,或者对目标药品与所述目标医药图谱中其余若干药品之间的关联信息单独进行输出。
可以理解的,目标医药图谱可以分别提供药品的药品名称、药品属性查询,以及提供不同药品之间的关联信息查询。
在一些实施例中,查询指令包括名称属性查询指令,所述根据查询指令在所述目标医药图谱中确定至少一种药品为目标药品包括提取所述名称属性查询指令中药品的药品名称和/或药品属性关键字;根据所述关键字在所述目标医药图谱中进行关键字比对,以确定目标药品。
示例性的,当进行药品的药品名称以及药品属性查询时,可以通过名称属性查询指令,从目标医药图谱的若干药品中确定目标药品,并输出目标药品的药品名称和药品属性。
示例性的,在进行目标药品的药品名称和药品属性查询的时候,用户可能是知道药品的药品名称,想查询到它对应的药品属性,或是想找到一个能解决相关疾病的药品,即知道药品的药品属性,想查询它对应的药品名称,可以理解的,名称属性查询指令可以包括目标药品的药品名称或药品属性,对名称属性查询指令中目标药品的药品名称或药品属性进行关键字提取,并将提取到的关键字在目标医药图谱中进行比对,可以将比对重合度较高的若干药品进行输出,以使用户查询到目标药品。
示例性的,确定目标药品后,可以将目标药品与目标医药图谱中其余若干药品的关联信息一齐输出,可以理解的,会将所有与目标药品相关联的药品的信息一齐输出,会造成数据过多,减少输出效率。
通过关键字比对进行查询,能够对目标医药图谱中进行药品的药品名称以及药品属性的高效查询,但在输出目标药品与目标医药图谱中其余若干药品的关联信息时,数据过多,无法快速地获取目标药品与另一指定药品的关联信息。
在一些实施例中,查询指令包括关系查询指令,方法还包括:根据关系查询指令生成药品关系图;根据生成的药品关系图谱在所述目标医药图谱中进行图像比对,以确定目标药品与所述目标医药图谱中其余若干药品之间的关联信息。
示例性的,当进行药品之间的关联信息查询时,可以通过关系查询指令,从目标医药图谱中确定药品之间的关联信息,可以理解的,目标医药图谱的输出结果包括目标药品与目标医药图谱中其余若干药品之间的关联信息。
示例性的,在进行目标药品的关系查询时候,用户可能知道至少两个药品之间的关系,即一个药品可以视为目标药品,另一个或用户想知道的其余的药品可以视为指定药品,此时,用户可能只知道目标药品和某一指定药品的名称,想查询与他们之间的关联信息,可以理解的,关系查询指令可以包括目标药品的药品名称以及所述指定药品的药品名称,对关系查询指令中药品的药品名称建立关系图,以及将建立的关系图在目标医药图谱中进行图像比对,可以理解的,目标医药图谱中储存有药品之间的关联信息,通过药品之间的连线或打分值表示,若查询的药品之间存在关联,则能够找到对应的药品连线或打分值,通过图像比对能够较快地寻找到对应药品的关联程度,不需要在众多的药品中慢慢比对再进行关联信息的输出。
在一些实施例中,查询指令还包括复合查询指令,所述复合查询指令用于查询目标药品名称或属性,以及目标药品与指定药品的关联程度。方法还包括:根据所述复合查询指令提取目标药品的药品名称或药品属性的关键字,以及根据目标药品和指定药品生成药品关系图;根据所述关键字进行关键字比对,以及根据关系图进行图像比对,以确定目标药品的药品名称或药品属性,以及目标药品与所述指定药品的关联信息。
示例性的,复合查询指令能够同时查询目标药品的药品名称、药品属性,以及与指定药品之间的关联信息,根据复合查询指令中的关键字以及建立的关系图谱同时进行关键字比对和图像比对,可以得到目标药品的药品名称、药品属性,以及与指定药品的关联信息。
示例性的,通过复合查询,能够同时查询到药品的药品名称、药品属性以及与目标医药图谱中其余若干指定药品的关联信息,不需要分开查询,减少操作次数。
上述实施例提供的基于医药图谱的药品查询方法,通过从不同的数据源中获取第一目标数据,所述第一目标数据包括药品的药品名称及药品属性;获取第二目标数据,所述第二目标数据包括用于指示不同药品之间的关联程度的关联信息;基于预设命名规则,对所述第一目标数据进行命名标准化处理得到标准化第一数据,对所述第二目标数据进行命名标准化处理得到标准化第二数据;基于知识图谱算法,根据所述标准化第一数据和所述标准化第二数据生成目标医药图谱,所述目标医药图谱能够指示药品的药品名称、药品属性,以及不同药品之间的关联信息;根据查询指令在所述目标医药图谱中确定至少一种药品为目标药品;输出所述目标药品的药品名称、药品属性,和所述目标药品与所述目标医药图谱中其余若干药品之间的关联信息。可以在建立目标医药图谱的过程中对不同数据源获取的药品的药品名称及药品属性进行命名标准化处理,减少数据冗余以及发生数据错误的几率,且目标医药图谱能够同时提供药品名称、属性及药品之间关系的查询,有效减少了查询时间。
请参阅图6,图6是本申请一实施例提供的一种药品查询装置的示意图,该药品查询装置可以配置于服务器或终端中,用于执行前述的基于医药图谱的药品查询方法。
如图6所示,该药品查询装置,包括:第一数据获取模块110、第二数据获取模块120、命名模块130、图谱生成模块140、药品查询模块150,药品输出模块160。
第一数据获取模块110,用于从不同的数据源中获取第一目标数据,所述第一目标数据包括药品的药品名称及药品属性。
第二数据获取模块120,用于获取第二目标数据,所述第二目标数据包括用于指示不同药品之间的关联程度的关联信息。
命名模块130,用于基于预设命名规则,对所述第一目标数据进行命名标准化处理得到标准化第一数据,对所述第二目标数据进行命名标准化处理得到标准化第二数据。
图谱生成模块140,用于基于知识图谱算法,根据所述标准化第一数据和所述标准化第二数据生成目标医药图谱,所述目标医药图谱能够指示药品的药品名称、药品属性,以及不同药品之间的关联信息。
药品查询模块150,用于根据查询指令在所述目标医药图谱中确定至少一种药品为目标药品。
药品输出模块160,用于输出所述目标药品的药品名称、药品属性,以及所述目标药品与所述目标医药图谱中其余若干药品之间的关联信息。
示例性的,统一命名模块130包括字典获取子模块、名称处理子模块。
字典获取子模块,用于获取基于预设命名规则建立的数据字典,所述数据字典以树形结构指示药品的标准药品名称和标准药品属性。
名称处理子模块,用于根据所述数据字典,判断所述药品的药品名称和药品属性是否与标准药品名称和标准药品属性相同,以及根据判定结果对所述第一目标数据和第二目标数据中药品名称和药品属性进行命名标准化处理。
示例性的,名称处理子模块,还用于将所述药品的药品名称和药品属性与树形结构中第N层数的标准药品名称和标准药品属性进行对比,N是大于0的自然数且不大于所述树形结构的总层数;
若判定所述药品的药品名称和药品属性与所述树形结构第N层数的标准药品名称和标准药品属性不相同,根据所述第N层数的标准药品名称和标准药品属性对所述药品的药品名称和药品属性进行修改,以及若N小于所述树形结构的总层数时将N加1;
若判定所述药品的药品名称和/或药品属性与所述树形结构第N层数的标准药品名称和/或标准药品属性相同,且若N小于所述树形结构的总层数时将N加1。
示例性的,第二数据获取模块120,还用于从不同的数据源中获取第二目标数据。
或者用于根据所述第一目标数据确定所述第二目标数据。
示例性的,第二数据获取模块120还包括关键字提取子模块,关键字对比子模块,关联程度确定子模块。
关键字提取子模块,用于对所述第一目标数据中药品的药品名称和药品属性进行分词并提取若干关键字。
关键字对比子模块,用于将从不同药品的药品名称和药品属性中提取到的关键字进行对比。
关联程度确定子模块,用于根据对比结果确定对应药品之间的关联程度,得到用于指示药品之间关联程度的关联信息。
示例性的,药品查询装置还包括权重确定子模块。
权重确定子模块,用于确定药品的药品名称和药品属性中的关键字的权重值。
关联程度确定子模块,还用于根据不同药品的药品名称和药品属性的关键字对比结果和各关键字的权重值确定对应药品之间的关联程度,得到用于指示药品之间关联程度的关联信息。
示例性的,药品查询模块150包括名称属性查询子模块和关系查询子模块。
名称属性查询子模块,用于提取所述名称属性查询指令中药品的药品名称和/或药品属性关键字,以及根据所述关键字在所述目标医药图谱中进行关键字比对,以确定目标药品。
关系查询子模块,用于根据关系查询指令生成药品关系图,以及根据生成的药品关系图谱在所述目标医药图谱中进行图像比对,以确定目标药品与所述目标医药图谱中其余若干药品之间的关联信息。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的方法、装置可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
示例性地,上述的方法、装置可以实现为一种计算机程序的形式,该计算机程序可以在如图7所示的计算机设备上运行。
请参阅图7,图7为本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以为服务器或终端。
如图7所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种基于医药图谱的药品查询方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种基于医药图谱的药品查询方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
从不同的数据源中获取第一目标数据,所述第一目标数据包括药品的药品名称及药品属性;
获取第二目标数据,所述第二目标数据包括用于指示不同药品之间的关联程度的关联信息;
基于预设命名规则,对所述第一目标数据进行命名标准化处理得到标准化第一数据,对所述第二目标数据进行命名标准化处理得到标准化第二数据;
基于知识图谱算法,根据所述标准化第一数据和所述标准化第二数据生成目标医药图谱,所述目标医药图谱能够指示药品的药品名称、药品属性,以及不同药品之间的关联信息;
根据查询指令在所述目标医药图谱中确定至少一种药品为目标药品;
输出所述目标药品的药品名称、药品属性,以及所述目标药品与所述目标医药图谱中其余若干药品之间的关联信息。
在一个实施例中,所述处理器在实现基于预设命名规则,对所述第一目标数据进行命名标准化处理得到标准化第一数据,对所述第二目标数据进行命名标准化处理得到标准化第二数据时,用于实现:
获取基于预设命名规则建立的数据字典,所述数据字典以树形结构指示药品的标准药品名称和标准药品属性;
根据所述数据字典,判断所述药品的药品名称和药品属性是否与标准药品名称和标准药品属性相同,以及根据判定结果对所述第一目标数据和第二目标数据中药品名称和药品属性进行命名标准化处理。
在一个实施例中,所述处理器在实现所述根据所述数据字典,判断所述药品的药品名称和药品属性是否与标准药品名称和标准药品属性相同,以及根据判定结果对第一目标数据和第二目标数据中所述药品名称和药品属性进行命名标准化处理时,用于实现:
将所述药品的药品名称和药品属性与树形结构中第N层数的标准药品名称和标准药品属性进行对比,N是大于0的自然数且不大于所述树形结构的总层数;
若判定所述药品的药品名称和药品属性与所述树形结构第N层数的标准药品名称和标准药品属性不相同,根据所述第N层数的标准药品名称和标准药品属性对所述药品的药品名称和药品属性进行修改,以及若N小于所述树形结构的总层数时将N加1;
若判定所述药品的药品名称和药品属性与所述树形结构第N层数的标准药品名称和标准药品属性相同,且若N小于所述树形结构的总层数时将N加1。
在一个实施例中,所述处理器在实现获取第二目标数据时,用于实现:
从不同的数据源中获取第二目标数据;或者
根据所述第一目标数据确定所述第二目标数据。
在一个实施例中,所述处理器在实现根据所述第一目标数据确定所述第二目标数据时,用于实现:
对所述第一目标数据中药品的药品名称和药品属性进行分词并提取若干关键字;
将从不同药品的药品名称和药品属性中提取到的关键字进行对比;
根据对比结果确定对应药品之间的关联程度,得到用于指示药品之间关联程度的关联信息。
在一个实施例中,所述处理器在实现基于医药图谱的药品查询方法时,用于实现:
确定药品的药品名称和/或药品属性中的关键字的权重值;
在实现根据对比结果确定对应药品之间的关联程度时,用于实现:
根据不同药品的药品名称和/或药品属性的关键字对比结果和各关键字的权重值确定对应药品之间的关联程度,得到用于指示药品之间关联程度的关联信息。
在一个实施例中,所述处理器在实现基于所述目标医药图谱,根据查询指令确定目标药品时,用于实现:
提取所述名称属性查询指令中药品的药品名称和/或药品属性关键字;
根据所述关键字在所述目标医药图谱中进行关键字比对,以确定目标药品,或者
所述处理器在实现基于医药图谱的药品查询方法时,还用于实现:
根据关系查询指令生成药品关系图;
根据生成的药品关系图谱在所述目标医药图谱中进行图像比对,以确定目标药品与所述目标医药图谱中其余若干药品之间的关联信息。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述基于医药图谱的药品查询的具体工作过程,可以参考前述基于医药图谱的药品查询控制方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本申请基于医药图谱的药品查询方法的各个实施例。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
- 基于医药图谱的药品查询方法、装置、设备及存储介质
- 基于知识图谱的答案查询方法、装置、设备及存储介质