CN113569012A - 医疗数据查询方法、装置、设备及存储介质 - Google Patents
医疗数据查询方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113569012A CN113569012A CN202110860558.7A CN202110860558A CN113569012A CN 113569012 A CN113569012 A CN 113569012A CN 202110860558 A CN202110860558 A CN 202110860558A CN 113569012 A CN113569012 A CN 113569012A
- Authority
- CN
- China
- Prior art keywords
- data table
- query
- entity
- point data
- word segmentation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000011218 segmentation Effects 0.000 claims abstract description 96
- 238000012545 processing Methods 0.000 claims description 26
- 238000012549 training Methods 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000010365 information processing Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000013499 data model Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 102100038367 Gremlin-1 Human genes 0.000 description 1
- 101001032872 Homo sapiens Gremlin-1 Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 230000008733 trauma Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/319—Inverted lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Medical Treatment And Welfare Office Work (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种医疗数据查询方法、装置、设备及存储介质,涉及信息处理技术领域。该方法包括:将用户输入的查询文本输入至预先训练的分词模型,得到查询文本的至少一个分词结果;对分词结果进行命名实体识别,得到各分词结果的实体类别;根据各实体类别确定与实体类别匹配的目标数据表,并根据各实体类别确定与实体类别关联的关联数据表;基于各分词结果、目标数据表以及至少一个关联数据表,得到查询结果,输出并显示查询结果。本方案能够避免用户需要在多个不同的数据表中进行多次查询操作的繁琐问题,从而提高了查询效率和搜索结果的准确性。
Description
技术领域
本申请涉及信息处理技术领域,具体而言,涉及一种医疗数据查询方法、装置、设备及存储介质。
背景技术
随着医疗资源需求的快速增长,提高医疗数据查询效率的需求与日俱增。
在现有的医疗数据系统方面,由于各医院的医疗数据具有数据量大、且不同类别的医疗数据格式不一致等特点,使得不同类别的医疗数据分散存储至不同的数据表中,且这些数据表常常都是孤立的,当读取某一个患者所有的医疗数据时,需要用户在多个不同的数据表中进行多次查询操作,以得到目标数据。
但是,采用现有的这种查询方式,导致查询工作过于繁琐,造成查询效率偏低等问题。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种医疗数据查询方法、装置、设备及存储介质,以便解决用户需要在多个不同的数据表中进行多次查询操作的繁琐问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种医疗数据查询方法,包括:
将用户输入的查询文本输入至预先训练的分词模型,得到所述查询文本的至少一个分词结果;
对所述分词结果进行命名实体识别,得到各所述分词结果的实体类别;
根据各所述实体类别确定与所述实体类别匹配的目标数据表,并根据各所述实体类别确定与所述实体类别关联的关联数据表;
基于各所述分词结果、所述目标数据表以及所述至少一个关联数据表,得到查询结果,输出并显示所述查询结果。
可选地,其中,所述目标数据表包括:起点数据表、终点数据表;
所述根据各所述实体类别确定与所述实体类别匹配的目标数据表,包括:
根据各所述实体类别与所述目标数据表的映射关系,将各所述实体类别分别映射至对应的数据表,得到与各所述实体类别匹配的所述目标数据表;
根据所述实体类别、所述分词结果,确定所述查询文本中的实例以及实体;
将所述查询文本中的实例对应的目标数据表作为所述起点数据表,并将所述查询文本中的实体对应的目标数据表作为所述终点数据表。
可选地,所述根据各所述实体类别确定与所述实体类别关联的关联数据表,包括:
对关联文档进行解析,得到各所述目标数据表的属性信息,所述属性信息包括:表间关系、主外键关系,所述关联文档用于记录各数据表之间的关联关系;
根据所述起点数据表、所述终点数据表、以及各所述目标数据表的属性信息,得到与所述实体类别关联的关联数据表;其中,所述至少一个关联数据表是指处于所述起点数据表至终点数据表的关联路径中的数据表。
可选地,根据各所述实体类别确定与所述实体类别关联的关联数据表,包括:
根据所述起点数据表、所述终点数据表以及各所述目标数据表的属性信息,得到并显示至少一条待选关联路径,各待选关联路径中包括所述与所述实体类别关联的至少一个关联数据表;
响应用户的选择操作,确定与所述实体类别关联的关联数据表。
可选地,所述根据所述起点数据表、所述终点数据表、以及各所述数据表的属性信息,得到与所述实体类别关联的关联数据表,包括:
根据各所述数据表的属性信息,确定从所述起点数据表至所述终点数据表的初始树结构;
按照所述初始树结构,将所述起点数据表、所述终点数据表分别向外发散,得到所述起点数据表对应的第一发散树、所述终点数据表对应的第二发散树;
根据所述第一发散树、所述第二发散树,得到所述至少一条关联路径,将途经所述关联路径中所有节点的数据表作为所述关联数据表。
可选地,所述根据所述第一发散树、所述第二发散树,得到所述至少一条关联路径,包括:
根据所述第一发散树和所述第二发散树的交叠节点个数,得到最短关联路径;其中,所述最短关联路径是指所述起点数据表经过所述交叠节点到所述终点数据表节点的路径。
可选地,所述得到所述起点数据表对应的第一发散树、所述终点数据表对应的第二发散树之后,还包括:
若所述第一发散树和所述第二发散树交叠节点个数为零,则可以确定所述起点数据表、所述终点数据表不存在关联路径。
可选地,所述基于各所述分词结果、所述目标数据表以及所述至少一个关联数据表,得到查询结果,包括:
若所述查询文本中包括实例且包括实体,则将所述查询文本中的实例输入至所述起点数据表;
以所述起点数据表为起始,并以所述查询文本中的实例作为查询条件,依次查询所述最短关联路径中的各关联数据表,并将从所述最短关联路径中的所述终点数据表中查询到的结果作为所述查询结果。
可选地,所述基于各所述分词结果、所述目标数据表以及所述至少一个关联数据表,得到查询结果,还包括:
若所述查询文本包括多个实例且不包括实体,则将所述查询文本中的第一实例输入至所述起点数据表,并将所述查询文本中的第二实例输入至所述终点数据表;
以所述起点数据表为起始,以所述第一实例作为查询条件进行正向查询,所述正向查询用于从所述起点数据表开始依次查询所述最短关联路径中的各关联数据表,并以所述终点数据表为起始,以所述第二实例作为查询条件进行反向查询,所述反向查询用于从所述终点数据表开始依次查询所述最短关联路径中的各关联数据表;
判断是否存在重叠数据表,所述正向查询和所述反向查询均经过所述重叠数据表,且所述重叠数据表中存在所述第一实例和所述第二实例同时关联的关联实例;
若存在所述重叠数据表,则得到第一查询结果,所述第一查询结果用于指示所述第一实例和所述第二实例关联;
若不存在所述重叠数据表,则得到第二查询结果,所述第二查询结果用于指示所述第一实例和所述第二实例不关联。
可选地,所述将查询文本输入至预先训练的分词模型,得到所述分词结果之前,包括:
使用预先获取的训练样本,训练得到所述分词模型,所述训练样本包括:包含标注信息的命名实体以及所述命名实体对应的至少一个实例。
第二方面,本申请实施例还提供了一种医疗数据查询装置,所述装置包括:
分词模块,用于将用户输入的查询文本输入至预先训练的分词模型,得到所述查询文本的至少一个分词结果;
识别模块,用于对所述分词结果进行命名实体识别,得到各所述分词结果的实体类别;
处理模块,用于根据各所述实体类别确定与所述实体类别匹配的目标数据表,并根据各所述实体类别确定与所述实体类别关联的关联数据表;
查询模块,用于基于各所述分词结果、所述目标数据表以及所述至少一个关联数据表,得到查询结果,输出并显示所述查询结果。
可选地,其中,所述目标数据表包括:起点数据表、终点数据表;
所述处理模块,还用于:
根据各所述实体类别与所述目标数据表的映射关系,将各所述实体类别分别映射至对应的数据表,得到与各所述实体类别匹配的所述目标数据表;
根据所述实体类别、所述分词结果,确定所述查询文本中的实例以及实体;
将所述查询文本中的实例对应的目标数据表作为所述起点数据表,并将所述查询文本中的实体对应的目标数据表作为所述终点数据表。
可选地,所述处理模块,还用于:
对关联文档进行解析,得到各所述目标数据表的属性信息,所述属性信息包括:表间关系、主外键关系,所述关联文档用于记录各数据表之间的关联关系;
根据所述起点数据表、所述终点数据表、以及各所述目标数据表的属性信息,得到与所述实体类别关联的关联数据表;其中,所述至少一个关联数据表是指处于所述起点数据表至终点数据表的关联路径中的数据表。
可选地,所述处理模块,还用于:
根据所述起点数据表、所述终点数据表以及各所述目标数据表的属性信息,得到并显示至少一条待选关联路径,各待选关联路径中包括所述与所述实体类别关联的至少一个关联数据表;
响应用户的选择操作,确定与所述实体类别关联的关联数据表。
可选地,所述处理模块,还用于:
根据各所述数据表的属性信息,确定从所述起点数据表至所述终点数据表的初始树结构;
按照所述初始树结构,将所述起点数据表、所述终点数据表分别向外发散,得到所述起点数据表对应的第一发散树、所述终点数据表对应的第二发散树;
根据所述第一发散树、所述第二发散树,得到所述至少一条关联路径,将途经所述关联路径中所有节点的数据表作为所述关联数据表。
可选地,所述处理模块,还用于:
根据所述第一发散树和所述第二发散树的交叠节点个数,得到最短关联路径;其中,所述最短关联路径是指所述起点数据表经过所述交叠节点到所述终点数据表节点的路径。
可选地,所述处理模块,还用于:
若所述第一发散树和所述第二发散树交叠节点个数为零,则可以确定所述起点数据表、所述终点数据表不存在关联路径。
可选地,所述查询模块,还用于:
若所述查询文本中包括实例且包括实体,则将所述查询文本中的实例输入至所述起点数据表;
以所述起点数据表为起始,并以所述查询文本中的实例作为查询条件,依次查询所述最短关联路径中的各关联数据表,并将从所述最短关联路径中的所述终点数据表中查询到的结果作为所述查询结果。
可选地,所述查询模块,还用于:
若所述查询文本包括多个实例且不包括实体,则将所述查询文本中的第一实例输入至所述起点数据表,并将所述查询文本中的第二实例输入至所述终点数据表;
以所述起点数据表为起始,以所述第一实例作为查询条件进行正向查询,所述正向查询用于从所述起点数据表开始依次查询所述最短关联路径中的各关联数据表,并以所述终点数据表为起始,以所述第二实例作为查询条件进行反向查询,所述反向查询用于从所述终点数据表开始依次查询所述最短关联路径中的各关联数据表;
判断是否存在重叠数据表,所述正向查询和所述反向查询均经过所述重叠数据表,且所述重叠数据表中存在所述第一实例和所述第二实例同时关联的关联实例;
若存在所述重叠数据表,则得到第一查询结果,所述第一查询结果用于指示所述第一实例和所述第二实例关联;
若不存在所述重叠数据表,则得到第二查询结果,所述第二查询结果用于指示所述第一实例和所述第二实例不关联。
可选地,所述装置还包括:
训练模块,用于使用预先获取的训练样本,训练得到所述分词模型,所述训练样本包括:包含标注信息的命名实体以及所述命名实体对应的至少一个实例。
第三方面,本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行第一方面提供的所述方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面提供的所述方法的步骤。
本申请的有益效果是:
本申请提供一种医疗数据查询方法、装置、设备及存储介质,该方法包括:将用户输入的查询文本输入至预先训练的分词模型,得到查询文本的至少一个分词结果;对分词结果进行命名实体识别,得到各分词结果的实体类别;根据各实体类别确定与实体类别匹配的目标数据表,并根据各实体类别确定与实体类别关联的关联数据表;基于各分词结果、目标数据表以及至少一个关联数据表,得到查询结果,输出并显示查询结果。在本方案中,对用户输入的查询文本进行分词处理,得到查询文本中所包含的至少一个分词结果,并对分词结果进行命名实体识别,得到各分词结果的实体类别;然后,再基于各分词结果的实体类别确定与实体类别匹配的目标数据表、以及与实体类别关联的关联数据表,并将分词结果作为输入条件或输出目标,使得可以根据目标数据表以及至少一个关联数据表,就能够得到期望的查询结果,最后,并将查询结果输出显示,有效避免了用户需要在多个不同的数据表中进行多次查询操作的繁琐问题,提高了查询效率和查询结果的准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种电子设备的结构示意图;
图2为本申请实施例提供的一种医疗数据查询方法的流程示意图;
图3为本申请实施例提供的另一种医疗数据查询方法的流程示意图;
图4为本申请实施例提供的又一种医疗数据查询方法的流程示意图;
图5为本申请实施例提供的另一种医疗数据查询方法的流程示意图;
图6为本申请实施例提供的一种初始树结构的示意图;
图7为本申请实施例提供的一种发散树的结构示意图;
图8为本申请实施例提供的又一种医疗数据查询方法的流程示意图;
图9为本申请实施例提供的又一种医疗数据查询方法的流程示意图;
图10为本申请实施例提供的一种医疗数据查询示意图;
图11为本申请实施例提供的另一种医疗数据查询方法的流程示意图;
图12为本申请实施例提供的一种医疗数据查询装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
图1为本申请实施例提供的一种电子设备的结构示意图;该电子设备如可以是计算机或者服务器等处理设备,以用于实现本申请的医疗数据查询方法。如图1所示,电子设备包括:处理器101、存储器102。
处理器101、存储器102之间直接或间接地电性连接,以实现数据的传输或交互。例如,可通过一条或多条通信总线或信号线实现电性连接。
其中,处理器101可以是一种集成电路芯片,具有信号的处理能力。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器102可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
可以理解,图1所述的结构仅为示意,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
存储器102用于存储程序,处理器101调用存储器102存储的程序,以执行下面实施例提供的医疗数据查询方法。
图2为本申请实施例提供的一种医疗数据查询方法的流程示意图,可选地,该方法的执行主体可以是上述图1所示的电子设备,具有数据处理功能。如图2所示,该方法包括:
S201、将用户输入的查询文本输入至预先训练的分词模型,得到查询文本的至少一个分词结果。
其中,查询文本是指用户在一次搜索过程中输入的查询信息,例如,用户需要在医疗数据存储的多张数据表中查询得到“张三的身份证是多少”,则用户可以在查询界面的输入框中输入“张三-身份证”,也即,可以将“张三-身份证”作为查询文本。
在本实施例中,分词模型可以是根据医疗业务场景中的常用词汇训练得到的网络模型,使得训练得到的分词模型具备对上述查询文本进行分词的能力。
示例性地,例如,将用户输入的“张三-身份证”输入至预先训练的分词模型中,并得到的分词结果包括“张三”、“身份证”。
S202、对分词结果进行命名实体识别,得到各分词结果的实体类别。
其中,命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。
例如,对分词结果进行命名实体识别,得到各分词结果的实体类别包括但不限于:患者人名、患者证件、患病部位、患病症状、检查检验项目、诊断、药品名称等。
以上述实施例为例进行简单说明,例如,分别使用命名实体识别技术对上述得到的分词结果“张三”、“身份证”进行命名实体识别,得到“张三”的实体类别是“患者人名”、“身份证”的实体类别是“患者证件”。
可选地,还可以根据医疗业务场景中的常用词汇训练得到实体识别模型,并使用实体识别模型对上述分词结果进行命名实体识别,以得到各分词结果的实体类别。
S203、根据各实体类别确定与实体类别匹配的目标数据表,并根据各实体类别确定与实体类别关联的关联数据表。
其中,医疗数据库中存储的多张数据表的表名和各实体类别存在一一对应的映射关系,因此,可以将各实体类别映射到具体的目标数据表。
比如,与“患者人名”这一实体类别匹配的目标数据表是PERSON表,且“患者人名”位于个人信息表中的PERSON_NAME列。
与“患者证件”这一实体类别匹配的目标数据表是PERSONANL_IDENTITY表,且“患者证件”位于PERSONANL_IDENTITY表中的personal_identity_id列。
此时,在得到各实体类别确定与实体类别匹配的目标数据表之后,并发现在PERSON表、PERSONANL_IDENTITY表中没有相同的字段项和/或字段项对应的字段值,也即,PERSON表、PERSONANL_IDENTITY表之间没有直接关联关系。这样,导致无法直接根据“张三”、“PERSON表”这两个信息,从PERSONANL_IDENTITY表查询得到“张三的身份证”。
因此,针对上述问题,在本申请中提出:还可以根据各实体类别确定与实体类别关联的关联数据表。
其中,关联数据表,是指与实体类别关联的一个数据表,关联数据表是医疗数据库中存储的某一张数据表。例如,“PERSON表”中的字段项包括:姓名、年龄、身高、患者标识,数据表1中的字段项包括:患者标识、年龄、职业、个人外伤史,“PERSON表”和数据表1拥有相同的字段项“患者标识”,且“PERSON表”和数据表1中的字段项“患者标识”对应的字段值也相同,则可以将“患者标识”视为“PERSON表”和数据表1之间的关联字段项,以及“患者标识”对应的字段值视为“PERSON表”和数据表1之间的关联字段值。因此,可以将数据表1作为与“患者人名”这一实体类别关联的关联数据表。
在本实施例中,例如,可以根据各实体类别(如,“患者人名”、“患者证件”),进一步确定与实体类别关联的至少一个关联数据表,以便于依据“PERSON表”、以及至少一个关联数据表(如,关联数据表1、关联数据表2等),从PERSONANL_IDENTITY表中搜索得到“张三的身份证”。
S204、基于各分词结果、目标数据表以及至少一个关联数据表,得到查询结果,输出并显示查询结果。
基于上述实施例,在确定了与各实体类别匹配的目标数据表和关联数据表之后,即可根据步骤S201中得到分词结果“张三”、“身份证”、“张三”对应的“PERSON表”、“身份证”对应的PERSONANL_IDENTITY表、以及得到的至少一个关联数据表,查询得到上述查询文本“张三-身份证”对应的查询结果“31164”,然后,将得到的查询结果输出至查询界面并显示,避免了用户在多个不同的数据表中进行多次查询操作的繁琐问题,提高了查询效率和搜索结果的准确性。
综上所述,本申请实施例提供一种医疗数据查询方法,该方法包括:将用户输入的查询文本输入至预先训练的分词模型,得到查询文本的至少一个分词结果;对分词结果进行命名实体识别,得到各分词结果的实体类别;根据各实体类别确定与实体类别匹配的目标数据表,并根据各实体类别确定与实体类别关联的关联数据表;基于各分词结果、目标数据表以及至少一个关联数据表,得到查询结果,输出并显示查询结果。在本方案中,对用户输入的查询文本进行分词处理,得到查询文本中所包含的至少一个分词结果,并对分词结果进行命名实体识别,得到各分词结果的实体类别;然后,再基于各分词结果的实体类别确定与实体类别匹配的目标数据表、以及与实体类别关联的关联数据表,并将分词结果作为输入条件或输出目标,使得可以根据目标数据表以及至少一个关联数据表,就能够得到期望的查询结果,最后,并将查询结果输出显示,有效避免了用户需要在多个不同的数据表中进行多次查询操作的繁琐问题,提高了查询效率和搜索结果的准确性。
将通过如下具体实施例讲解,如何根据各实体类别确定与实体类别匹配的目标数据表。
图3为本申请实施例提供的另一种医疗数据查询方法的流程示意图,可选地,如图3所示,其中,上述目标数据表包括:起点数据表、终点数据表。上述步骤S203中根据各实体类别确定与所述实体类别匹配的目标数据表,包括:
S301、根据各实体类别与目标数据表的映射关系,将各实体类别分别映射至对应的数据表,得到与各实体类别匹配的目标数据表。
其中,医疗数据库中存储的多张数据表和各实体类别存在一个映射关系。因此,可以根据各实体类别、映射关系表,确定与各实体类别对应的目标数据表。
比如,根据各实体类别与目标数据表的映射关系,将“患者人名”映射至对应的数据表,得到与“患者人名”这一实体类别匹配的目标数据表PERSON表,且“患者人名”位于PERSON表中的PERSON_NAME列。
又比如,还可以得到与“患者证件”这一实体类别匹配的目标数据表PERSONANL_IDENTITY表,且“患者证件”位于PERSONANL_IDENTITY表中的personal_identity_id列。
S302、根据实体类别、分词结果,确定查询文本中的实例以及实体。
其中,实体是用于表示分词结果的某一种属性信息;实例是指由某个特定的实体所描述的一个具体的对象。
示例性地,例如,“张三”是人名这一特定的实体所描述的一个具体的对象,也即,“张三”是一个实例。
“身份证”是一种属性信息,是没有具体意义的一个值,也即,“身份证”是一个实体。
S303、将查询文本中的实例对应的目标数据表作为起点数据表,并将查询文本中的实体对应的目标数据表作为终点数据表。
在本实施例中,例如,为了提高得到查询结果的效率,将“张三”对应的PERSON表作为起点数据表,并将“身份证”对应的PERSONANL_IDENTITY表作为终点数据表,以便于在后续查询过程中,PERSON表是后续关系路径查找的起点,PERSONANL_IDENTITY表是后续关系路径的查询终点,在关系路径查找完成后,将“张三”作为查询条件输入至PERSON表,依次查询并得到获得查询结果。
将通过如下具体实施例讲解,如何根据各实体类别确定与实体类别关联的关联数据表。
图4为本申请实施例提供的又一种医疗数据查询方法的流程示意图,可选地,如图4所示,上述步骤S203中根据各实体类别确定与实体类别关联的关联数据表,包括:
S401、对关联文档进行解析,得到各目标数据表的属性信息。
其中,关联文档是用于记录医疗数据库中存储的各数据表之间的关联关系。各目标数据表的属性信息包括:表间关系、主外键关系,各数据表之间的表间关系包括:直接关联、间接关联。
示例性地,例如,上述提到的“PERSON表”和数据表1这两个数据表中均有“年龄”这一字段项,则可以确定“PERSON表”和数据表1的表间关系是直接关联。
又比如,数据表1和数据表2这两个数据表中均有“职业”这一字段项,则可以确定数据表1和数据表2的表间关系是直接关联。此时,可以通过数据表1中“年龄”这一字段项对“PERSON表”和数据表2进行关联,即“PERSON表”和数据表2的表间关系是间接关联。
S402、根据起点数据表、终点数据表、以及各目标数据表的属性信息,得到与实体类别关联的关联数据表。
其中,至少一个关联数据表是指处于起点数据表至终点数据表的关联路径中的数据表。
因此,在本实施例中,可以对关联文档进行解析,以得到各数据表之间的表间关系和主外键关系,并基于各数据表之间的主外键关系,将多个间接关联的数据表关联起来。
将通过如下具体实施例讲解,如何根据起点数据表、终点数据表、以及各数据表的属性信息,得到与实体类别关联的关联数据表。
图5为本申请实施例提供的另一种医疗数据查询方法的流程示意图,图6为本申请实施例提供的一种初始树结构的示意图,图7为本申请实施例提供的一种发散树的结构示意图;可选地,如图5所示,上述步骤S402:根据起点数据表、终点数据表、以及各目标数据表的属性信息,得到与实体类别关联的关联数据表,包括:
S501、根据各数据表的属性信息,确定从起点数据表至终点数据表的初始树结构。
可选地,可以将医疗数据库中存储的每一个数据表视为一个节点,将各数据表的表间关系视为联通节点的通路,并根据各数据表的表间关系和主外键关系,快速寻找各节点间的关系,得到当前节点到下一个节点的联通路径,以确定一个从“起点数据表”至“终点数据表”的初始树结构。
示例性地,例如,参考图6所示,将N1视为起点数据表对应的节点,将N2视为终点数据表对应的节点,P1、P2、P3、P5、P6视为联通节点N1至节点N2的联通路径上的节点,并将由N1、N2、P1、P2、P3、P5和P6等多个节点形成的树状结构称为初始树结构。
S502、按照初始树结构,将起点数据表、终点数据表分别向外发散,得到起点数据表对应的第一发散树、终点数据表对应的第二发散树。
可选地,在得到初始树结构后,还需要确定从“起点数据表”至“终点数据表”的至少一条关联路径,以便于后续可以依据任意一条关联路径,搜索得到查询结果。
在本实施例中,以起点数据表对应的节点N1作为起始节点,以终点数据表对应的节点N2作为终点节点,然后,分别从起始节点N1和终点节点N2开始向外发散,快速寻找相邻各节点之间的关联路径,起始节点N1和终点节点N2每次向外发散一级通路,逐渐形成增大的发散树,直到无法找不到与起始节点N1的关联节点和/或终点节点N2的关联节点关联的下一个节点为止,此时,即可得到起始节点N1对应的发散树和终点节点N2对应的发散树。
在本实施例中,将起始节点N1的发散树作为第一发散树、终点节点N2的发散树作为第二发散树。也可以理解为,是将起点数据表的发散树作为第一发散树、终点数据表的发散树作为第二发散树。
需要注意的是,若起始节点N1和终点节点N2在发散过程中,发散的节点存在闭环的路径,则形成闭环的最后一级节点不再发散,避免形成节点闭环引起关联路径探测流程死循环。
例如,如图7所示,以起始节点N1的发散过程为例,起始节点N1依次向外发散,第一次发散途径节点P1和节点P2,第二次发散途径节点P3,第四次发散经过节点P4,第五次发散时,即使节点P4与节点P2存在通路,但通过检测发现节点P2在第一发散树中已经存在,因此,节点P4不会向P2发散,有效避免了最后探测得到的关联路径上出现环形结构。
S503、根据第一发散树、第二发散树,得到至少一条关联路径,将途经关联路径中所有节点的数据表作为关联数据表。
值得说明的是,起始节点N1和终点节点N2在发散过程中,会很多种发散形式。因此,从起始节点N1至终点节点N2的关联路径也就会有很多条。
将通过如下实施例,具体解释如何得到从起始节点N1至终点节点N2的多条关联路径。
可选地,上述步骤S503:根据第一发散树、第二发散树,得到至少一条关联路径,包括:
根据第一发散树和第二发散树的交叠节点个数,得到最短关联路径;其中,最短关联路径是指起点数据表经过交叠节点到终点数据表节点的路径。
继续参考图6所示,N为初始树结构中指定的节点,如,节点N1为起始节点、节点N2为终点节点,P为初始树结构中的非指定节点,现在需要寻找从起始节点N1至终点节点N2之间的一条最短关联路径。
例如,第一条关联路径R1:N1->P1->P2->N2,也即,从起始节点N1至终点节点N2,需要经过节点N1、节点P1、节点P2和终点N2,第一发散树和第二发散树的交叠节点个数是4。
第二条关联路径R2:N1->P3->N3-P1->P2->N2,从起始节点N1至终点节点N2,需要经过节点N1、节点P3、节点N3、节点P1、节点P2和终点节点N2,第一发散树和第二发散树的交叠节点个数是6。
第三条关联路径R3:N1->P3->N3-P5->P6->N2,从起始节点N1至终点节点N2,需要经过节点N1、节点P3、节点N3、节点P5、节点P6和终点节点N2,第一发散树和第二发散树的交叠节点个数是6,依次类推,还可以得到其他多条关联路径,并将关联路径中所有节点的数据表作为关联数据表。
经过将得到的多条关联路径中第一发散树和第二发散树的交叠节点个数进行比对,发现在第一条关联路径R1(也即,N1->P1->P2->N2)中第一发散树和第二发散树的交叠节点个数最小,则可以将第一条关联路径R1作为从起始节点N1和终点节点N2的最短关联路径。
可选地,图8为本申请实施例提供的又一种医疗数据查询方法的流程示意图,可选地,如图8所示,上述步骤S203中根据各实体类别确定与实体类别关联的关联数据表,还包括:
S801、根据起点数据表、终点数据表以及各目标数据表的属性信息,得到并显示至少一条待选关联路径。
其中,各待选关联路径中包括与实体类别关联的至少一个关联数据表。
S802、响应用户的选择操作,确定与实体类别关联的关联数据表。
例如,在上述实施例的基础上,在得到从起始节点N1至终点节点N2的第一条关联路径R1、第二条关联路径R2和第三条关联路径R3这三条待选关联路径后,还可以将上述三条关联路径输出并显示以供用户选择。例如,用户对这三条待选关联路径进行切换时,响应用户的选择操作,并根据用户的选择操作,确定当前选择的关联路径下与实体类别关联的关联数据表。
上述实施例是针对起始节点N1和终点节点N2这两个节点间的关联路径搜寻方式,本实施例还可以针对多节点的关联路径搜寻。示例性地,比如,多个节点是三个节点,则多个节点可以是指起点数据表对应的起始节点N1、终点数据表对应的终点节点N2以及指定数据表对应的指定节点P1,其中,指定数据表可以是指用户指定的任一数据表。针对多节点的关联路径搜寻方式,具体如下:
多节点的关联路径搜寻方式与两节点类似,每个节点同时向外发散,但多节点通路算法与两节点区别在于:每个节点检测到通往其它节点的通路后,记录该节点到其它通路途径的节点数量,对于N个节点,假设每个节点都有通往剩余节点的通路,则每个节点到剩余节点的通路数为(N-1),子通路(节点之间的通路)总数为(N-1)+(N-2)…+1=((N-1)+1)*(N-1)/2=C2 N。
多节点最短关联路径搜寻过程为:任选两个节点N1、N2(一般按次序提取,如先选第一个节点和第二个节点),找到最小通路,并将该通路R12视为一个整体;寻找下一个节点N3到R12间的最小通路,以此形成冗余度最小的查询结果模型。下一个节点N3到R12路径间的最小通路查找流程为:对于R12中的所有途径节点,检测到N3的最小通路,并选择N3接入R12节点的最小的通路,形成R123,以此类推,直到所有节点接入完成。因此,R12…N即多节点通路的最小通路。
继续参考图6所示,N为模型中指定的节点,P为模型中的非指定节点,寻找N1-N2间最短路径R12:N1->P1->P2->N2;再检测N3到R12间途径节点的最短路径(计算途径节点数),如下:
N3->N1=N3->P3->N1=3,节点N3至节点N1,需要经过节点N3、节点P3和节点N1,共3个节点。
N3->P1=2,节点N3至节点P1,共经过2个节点。
N3->P2=N3->P5->P2=3,节点N3至节点P2,需要经过节点N3、节点P5和节点P2,共3个节点。
N3->N2=N3->P5->P6->N2=4,节点N3至节点N2,需要经过节点N3、节点P5、节点P6和节点N2,共4个节点。
由此,选择N3->P1这一条路径作为最短关联路径R123,也即,N1-N2间最短路径R123:N1->P1->N3->P1->P2->N2。
可选地,在上述步骤S502:得到起点数据表对应的第一发散树、终点数据表对应的第二发散树之后,还包括:
若第一发散树和第二发散树交叠节点个数为零,则可以确定起点数据表、终点数据表不存在关联路径。
例如,若起始节点N1和终点节点N2在完全发散后(没有更多关联节点),得到的第一发散树、第二发散树没有交叠节点,则说明起始节点N1和终点节点N2不存在通路,则确定起点数据表、终点数据表不存在关联路径,即用户输入的查询文本中的分词结果不存在必然关联性,也就得不到用户想要的查询结果。
在另一种可实现的方式中,除了采用上述方式得到关联路径外,还可以利用gremlin等图语言实现关联路径的查找。
在上述实施例搜索得到从“起点数据表”至“终点数据表”的关联路径之后,则将通过如下实施例具体讲解,如何基于各所述分词结果、起点数据表、终点数据表以及至少一个关联数据表,得到查询结果。
图9为本申请实施例提供的又一种医疗数据查询方法的流程示意图,图10为本申请实施例提供的一种医疗数据查询示意图,可选地,上述步骤S204:基于各分词结果、目标数据表以及至少一个关联数据表,得到查询结果,包括:
S901、若查询文本中包括实例且包括实体,则将查询文本中的实例输入至起点数据表。
在本实施例中,如图10所示,以上述实施例为例,用户输入的查询文本是张三-身份证,其中,“张三”是实例、“身份证”是实体,因此,可以确定当前用户输入的查询文本中同时包括实例和实体。
在本实施例中,将这种查询方式称为查询型查询,主要是根据用户输入的“张三”这一实例,查询得到“身份证”这一实体中张三身份证这一具体的实例值。因此,可以将“张三”这一实例输入至起点数据表PERSON表。
另外,针对查询文本中包括实例且包括实体时,用户输入的查询文本中的实例可以是一个或多个,实体是一个。例如,查询文本是张三-00256-身份证,其中,查询文本中的“00256”是张三的患者标识,也即,需要通过张三、张三的患者标识,查询得到张三的身份证号。
S902、以起点数据表为起始,并以查询文本中的实例作为查询条件,依次查询最短关联路径中的各关联数据表,并将从最短关联路径中的终点数据表中查询到的结果作为查询结果。
在上述实施例的基础上,在将“张三”代入到起点数据表PERSON表之后,并以“张三”作为查询条件,依次查询上述得到的最短关联路径中的各关联数据表中的关联字段项、以及关联字段项的字段值,并将从最短关联路径中的终点数据表PERSONANL_IDENTITY表中查询到的结果作为查询结果,然后,将得到的查询结果输出和显示。
值得说明的是,本实施例也可以针对用户输入的查询文本中包括的实例可以是一个或多个,且包括的实体是一个的查询情况。例如,查询文本是张三-00256-身份证,其中,查询文本中的“00256”是张三的患者标识,也即,需要通过张三、张三的患者标识,查询得到张三的身份证号。同样,也可以采用上述以起点数据表为起始,并以查询文本中的实例作为查询条件,依次查询最短关联路径中的各关联数据表,并将从最短关联路径中的终点数据表中查询到的结果作为查询结果。
在本实施例中,通过本申请提供的医疗数据查询方法,避免了用户需要在多个不同的数据表中进行多次查询操作的繁琐问题,加快用户获取查询结果的准确性和效率;另外,本申请提供的医疗数据查询方法与医疗数据库中存储的多个数据表进行解耦,实现了用户对数据检索过程中的数据模型复杂度无感知,同时又可以迅速精准定位到期望数据。
上述实施例主要是针对当查询文本中包括实例且包括实体时的查询过程,将通过如下实施例具体讲解,若查询文本中包括多个实例且不包括实体时的查询过程。
图11为本申请实施例提供的另一种医疗数据查询方法的流程示意图,可选地,上述步骤S204:基于各分词结果、目标数据表以及至少一个关联数据表,得到查询结果,还包括:
S1101、若查询文本包括多个实例且不包括实体,则将查询文本中的第一实例输入至起点数据表,并将查询文本中的第二实例输入至终点数据表。
例如,用户输入的查询文本是张三-00256,其中,“张三”是实例、“00256”也是实例,因此,可以确定当前用户输入的查询文本中包括两个实例,但不包括实体。
将“张三”作为当前用户输入的查询文本中的第一实例,“00256”作为用户输入的查询文本中的第二实例。其中,第二实例“00256”的实体是个人标识,第二实例“00256”对应的数据表是患者标识表。因此,将“张三”对应的PERSON表作为起点数据表,将“00256”对应的患者标识表作为终点数据表。
此时,则可以将“张三”代入PERSON表,将“00256”代入患者标识表,以便于检查“张三”、“00256”这两个实例值是否存在关联性,也称这种查询方式为关联型查询。
S1102、以起点数据表为起始,以第一实例作为查询条件进行正向查询,正向查询用于从起点数据表开始依次查询最短关联路径中的各关联数据表,并以终点数据表为起始,以第二实例作为查询条件进行反向查询,反向查询用于从终点数据表开始依次查询最短关联路径中的各关联数据表。
在本实施例中,以PERSON表为查询起点,并将“张三”作为查询条件进行正向查询,同时,并以患者标识表作为另一端的查询起始,以“00256”作为查询条件进行反向查询,其中,正向查询是从PERSON表开始依次查询最短关联路径中的各关联数据表中的关联字段项、以及关联字段项的字段值,反向查询是从患者标识表开始依次查询最短关联路径中的各关联数据表中的关联字段项、以及关联字段项的字段值。
S1103、判断是否存在重叠数据表,正向查询和反向查询均经过重叠数据表。
其中,重叠数据表在指在某一个数据表中存在与第一实例和第二实例同时关联的关联实例。
例如,在正向查询和反向查询的过程中是否均经过了相同的数据表,并将正向查询和反向查询均经过的数据表称为重叠数据表。也可以理解为,正向查询和反向查询两者得到的查询结果存在交集。
S1104、若存在重叠数据表,则得到第一查询结果,第一查询结果用于指示第一实例和第二实例关联。
例如,在对上述“张三”、“00256”这两个实例进行关联型查询后,发现正向查询和反向查询均经过了个人信息表,且并从个人信息表中查询到了与第一实例“张三”和第二实例“00256”同时关联的189(例如,189是张三的手机号码)。也即,个人信息表是一个正向查询和反向查询过程中的一个重叠数据表,且从个人信息表查询得到的“189”是“张三”和“00256”同时关联的关联实例,则可以确定“张三”、“00256”这两个实例存在关联性。
S1105、若不存在重叠数据表,则得到第二查询结果,第二查询结果用于指示第一实例和第二实例不关联。
在另一种可实现的方式中,例如,在对“张四”、“00256”这两个实例进行关联型查询后,发现正向查询和反向查询均未经过相同的数据表。也即,在正向查询和反向查询的过程中不存在重叠数据表,则可以确定“张四”、“00256”这两个实例不关联。
上述实例具体讲解了,在起始节点N1和终点节点N2存在最短关联路径的前提下,是如何基于各分词结果、目标数据表以及至少一个关联数据表,得到查询结果。另外,当最短关联路径得到的查询结果不够准确时,用户可以切换至除最短关联路径外的其它关联路径,通过不同的关联路径,选择较为准确的查询结果。
可选地,本申请还可以对不准确的关联路径进行记录优化。在用户切换关联路径的页面埋点,当用户查询数据的发生关联路径的切换情况,将切换过的关联路径所包含的查询文本及对应输入和输出记为错误记录;对用户最终切换到的关联路径记为上述输入和输出的采纳路径。每日对错误路径和采纳路径进行自动汇总,更新关联路径算法,弃用输入输出错误率超过60%的默认路径,并采用改输入输出要求下采纳率最高的用户路径进行覆盖。
可选地,上述步骤S210:将查询文本输入至预先训练的分词模型,得到所述分词结果之前,包括:使用预先获取的训练样本,训练得到分词模型,训练样本包括:包含标注信息的命名实体以及所述命名实体对应的至少一个实例。
可选地,本申请提供的医疗数据查询方法,还可以根据用户输入的查询文本进行记录并提供查询提示。具体的:记录并汇总每日用户输入的查询文本,另外对一段时期(两周)内的查询文本进行倒排索引记录,实现对查询文本的反查,当用户输入部分查询文本时,将通过查询倒排索引,找出近期用户输入的查询文本中相似度最高的查询文本,并提示在用户查询输入框下方供选择。该推荐方式可以提供较为精确的查询推荐并辅助用户进行快速、规范的查询文本的输入,提高用户的查询效率和准确性。
本发明提供了一种更高效的数据查询交互方式,解决了原有查询产品功能入口多、选择层级多的使用困难问题。本发明针对医疗业务场景进行自然语言相关的分词模型训练,对医疗中文语言进行精确分词和医疗实体对象类别进行合理准确的推测识别;以医疗数据模型、数据间关联信息为基础,揭示一种模型内部数据关联关系的探查方式。
下述对用以执行本申请所提供的医疗数据查询方法对应的装置及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图12为本申请实施例提供的一种语音对话处理装置的结构示意图;如图12所示,该装置包括:
分词模块1201,用于将用户输入的查询文本输入至预先训练的分词模型,得到查询文本的至少一个分词结果;
识别模块1202,用于对分词结果进行命名实体识别,得到各分词结果的实体类别;
处理模块1203,用于根据各实体类别确定与实体类别匹配的目标数据表,并根据各实体类别确定与实体类别关联的关联数据表;
查询模块1204,用于基于各分词结果、目标数据表以及至少一个关联数据表,得到查询结果,输出并显示查询结果。
可选地,其中,目标数据表包括:起点数据表、终点数据表;
处理模块1203,还用于:
根据各实体类别与目标数据表的映射关系,将各实体类别分别映射至对应的数据表,得到与各实体类别匹配的目标数据表;
根据实体类别、分词结果,确定查询文本中的实例以及实体;
将查询文本中的实例对应的目标数据表作为起点数据表,并将查询文本中的实体对应的目标数据表作为终点数据表。
可选地,处理模块1203,还用于:
对关联文档进行解析,得到各目标数据表的属性信息,属性信息包括:表间关系、主外键关系,关联文档用于记录各数据表之间的关联关系;
根据起点数据表、终点数据表、以及各目标数据表的属性信息,得到与实体类别关联的关联数据表;其中,至少一个关联数据表是指处于起点数据表至终点数据表的关联路径中的数据表。
可选地,处理模块1203,还用于:
根据起点数据表、终点数据表以及各目标数据表的属性信息,得到并显示至少一条待选关联路径,各待选关联路径中包括与实体类别关联的至少一个关联数据表;
响应用户的选择操作,确定与实体类别关联的关联数据表。
可选地,处理模块1203,还用于:
根据各数据表的属性信息,确定从起点数据表至终点数据表的初始树结构;
按照初始树结构,将起点数据表、终点数据表分别向外发散,得到起点数据表对应的第一发散树、终点数据表对应的第二发散树;
根据第一发散树、第二发散树,得到至少一条关联路径,将途经关联路径中所有节点的数据表作为关联数据表。
可选地,处理模块1203,还用于:
根据第一发散树和第二发散树的交叠节点个数,得到最短关联路径;其中,最短关联路径是指起点数据表经过交叠节点到终点数据表节点的路径。
可选地,处理模块1203,还用于:
若第一发散树和第二发散树交叠节点个数为零,则可以确定起点数据表、终点数据表不存在关联路径。
可选地,查询模块1204,还用于:
若查询文本中包括实例且包括实体,则将查询文本中的实例输入至起点数据表;
以起点数据表为起始,并以查询文本中的实例作为查询条件,依次查询最短关联路径中的各关联数据表,并将从最短关联路径中的终点数据表中查询到的结果作为查询结果。
可选地,查询模块1204,还用于:
若查询文本包括多个实例且不包括实体,则将查询文本中的第一实例输入至起点数据表,并将查询文本中的第二实例输入至终点数据表;
以起点数据表为起始,以第一实例作为查询条件进行正向查询,正向查询用于从起点数据表开始依次查询最短关联路径中的各关联数据表,并以终点数据表为起始,以第二实例作为查询条件进行反向查询,反向查询用于从终点数据表开始依次查询最短关联路径中的各关联数据表;
判断是否存在重叠数据表,正向查询和反向查询均经过重叠数据表,且重叠数据表中存在第一实例和第二实例同时关联的关联实例;
若存在重叠数据表,则得到第一查询结果,第一查询结果用于指示第一实例和第二实例关联;
若不存在重叠数据表,则得到第二查询结果,第二查询结果用于指示第一实例和第二实例不关联。
可选地,该装置还包括:
训练模块,用于使用预先获取的训练样本,训练得到分词模型,训练样本包括:包含标注信息的命名实体以及命名实体对应的至少一个实例。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (13)
1.一种医疗数据查询方法,其特征在于,包括:
将用户输入的查询文本输入至预先训练的分词模型,得到所述查询文本的至少一个分词结果;
对所述分词结果进行命名实体识别,得到各所述分词结果的实体类别;
根据各所述实体类别确定与所述实体类别匹配的目标数据表,并根据各所述实体类别确定与所述实体类别关联的关联数据表;
基于各所述分词结果、所述目标数据表以及所述至少一个关联数据表,得到查询结果,输出并显示所述查询结果。
2.根据权利要求1所述的方法,其特征在于,其中,所述目标数据表包括:起点数据表、终点数据表;
所述根据各所述实体类别确定与所述实体类别匹配的目标数据表,包括:
根据各所述实体类别与所述目标数据表的映射关系,将各所述实体类别分别映射至对应的数据表,得到与各所述实体类别匹配的所述目标数据表;
根据所述实体类别、所述分词结果,确定所述查询文本中的实例以及实体;
将所述查询文本中的实例对应的目标数据表作为所述起点数据表,并将所述查询文本中的实体对应的目标数据表作为所述终点数据表。
3.根据权利要求2所述的方法,其特征在于,所述根据各所述实体类别确定与所述实体类别关联的关联数据表,包括:
对关联文档进行解析,得到各所述目标数据表的属性信息,所述属性信息包括:表间关系、主外键关系,所述关联文档用于记录各数据表之间的关联关系;
根据所述起点数据表、所述终点数据表、以及各所述目标数据表的属性信息,得到与所述实体类别关联的关联数据表;其中,所述至少一个关联数据表是指处于所述起点数据表至终点数据表的关联路径中的数据表。
4.根据权利要求2所述的方法,其特征在于,根据各所述实体类别确定与所述实体类别关联的关联数据表,包括:
根据所述起点数据表、所述终点数据表以及各所述目标数据表的属性信息,得到并显示至少一条待选关联路径,各待选关联路径中包括所述与所述实体类别关联的至少一个关联数据表;
响应用户的选择操作,确定与所述实体类别关联的关联数据表。
5.根据权利要求3所述的方法,其特征在于,所述根据所述起点数据表、所述终点数据表、以及各所述数据表的属性信息,得到与所述实体类别关联的关联数据表,包括:
根据各所述数据表的属性信息,确定从所述起点数据表至所述终点数据表的初始树结构;
按照所述初始树结构,将所述起点数据表、所述终点数据表分别向外发散,得到所述起点数据表对应的第一发散树、所述终点数据表对应的第二发散树;
根据所述第一发散树、所述第二发散树,得到所述至少一条关联路径,将途经所述关联路径中所有节点的数据表作为所述关联数据表。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一发散树、所述第二发散树,得到所述至少一条关联路径,包括:
根据所述第一发散树和所述第二发散树的交叠节点个数,得到最短关联路径;其中,所述最短关联路径是指所述起点数据表经过所述交叠节点到所述终点数据表节点的路径。
7.根据权利要求5所述的方法,其特征在于,所述得到所述起点数据表对应的第一发散树、所述终点数据表对应的第二发散树之后,还包括:
若所述第一发散树和所述第二发散树交叠节点个数为零,则可以确定所述起点数据表、所述终点数据表不存在关联路径。
8.根据权利要求6所述的方法,其特征在于,所述基于各所述分词结果、所述目标数据表以及所述至少一个关联数据表,得到查询结果,包括:
若所述查询文本中包括实例且包括实体,则将所述查询文本中的实例输入至所述起点数据表;
以所述起点数据表为起始,并以所述查询文本中的实例作为查询条件,依次查询所述最短关联路径中的各关联数据表,并将从所述最短关联路径中的所述终点数据表中查询到的结果作为所述查询结果。
9.根据权利要求6所述的方法,其特征在于,所述基于各所述分词结果、所述目标数据表以及所述至少一个关联数据表,得到查询结果,还包括:
若所述查询文本包括多个实例且不包括实体,则将所述查询文本中的第一实例输入至所述起点数据表,并将所述查询文本中的第二实例输入至所述终点数据表;
以所述起点数据表为起始,以所述第一实例作为查询条件进行正向查询,所述正向查询用于从所述起点数据表开始依次查询所述最短关联路径中的各关联数据表,并以所述终点数据表为起始,以所述第二实例作为查询条件进行反向查询,所述反向查询用于从所述终点数据表开始依次查询所述最短关联路径中的各关联数据表;
判断是否存在重叠数据表,所述正向查询和所述反向查询均经过所述重叠数据表,且所述重叠数据表中存在所述第一实例和所述第二实例同时关联的关联实例;
若存在所述重叠数据表,则得到第一查询结果,所述第一查询结果用于指示所述第一实例和所述第二实例关联;
若不存在所述重叠数据表,则得到第二查询结果,所述第二查询结果用于指示所述第一实例和所述第二实例不关联。
10.根据权利要求1-9中任一项所述的方法,其特征在于,所述将查询文本输入至预先训练的分词模型,得到所述分词结果之前,包括:
使用预先获取的训练样本,训练得到所述分词模型,所述训练样本包括:包含标注信息的命名实体以及所述命名实体对应的至少一个实例。
11.一种医疗数据查询装置,其特征在于,所述装置包括:
分词模块,用于将用户输入的查询文本输入至预先训练的分词模型,得到所述查询文本的至少一个分词结果;
识别模块,用于对所述分词结果进行命名实体识别,得到各所述分词结果的实体类别;
处理模块,用于根据各所述实体类别确定与所述实体类别匹配的目标数据表,并根据各所述实体类别确定与所述实体类别关联的关联数据表;
查询模块,用于基于各所述分词结果、所述目标数据表以及所述至少一个关联数据表,得到查询结果,输出并显示所述查询结果。
12.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-10任一所述方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-10任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110860558.7A CN113569012B (zh) | 2021-07-28 | 2021-07-28 | 医疗数据查询方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110860558.7A CN113569012B (zh) | 2021-07-28 | 2021-07-28 | 医疗数据查询方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113569012A true CN113569012A (zh) | 2021-10-29 |
CN113569012B CN113569012B (zh) | 2023-12-26 |
Family
ID=78168722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110860558.7A Active CN113569012B (zh) | 2021-07-28 | 2021-07-28 | 医疗数据查询方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113569012B (zh) |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2540241A1 (en) * | 2003-09-26 | 2005-04-07 | University Of Ulster | Computer aided document retrieval |
EP1612701A2 (en) * | 2004-06-30 | 2006-01-04 | Microsoft Corporation | Automated taxonomy generation |
US20070192301A1 (en) * | 2006-02-15 | 2007-08-16 | Encirq Corporation | Systems and methods for indexing and searching data records based on distance metrics |
US20090168768A1 (en) * | 2007-12-26 | 2009-07-02 | Nortel Netowrks Limited | Tie-Breaking in Shortest Path Determination |
US20090319521A1 (en) * | 2008-06-18 | 2009-12-24 | Microsoft Corporation | Name search using a ranking function |
WO2010055399A1 (en) * | 2008-11-12 | 2010-05-20 | Nokia Corporation | Method and apparatus for representing and identifying feature descriptors utilizing a compressed histogram of gradients |
US20110320496A1 (en) * | 2010-06-28 | 2011-12-29 | Microsoft Corporation | Concurrency control for confluent trees |
CN103064954A (zh) * | 2011-12-30 | 2013-04-24 | 微软公司 | 基于实体的搜索和解析 |
CN103279514A (zh) * | 2013-05-22 | 2013-09-04 | 河海大学 | 一种推断xml关键字查询目标节点类型的方法 |
CN104239340A (zh) * | 2013-06-19 | 2014-12-24 | 北京搜狗信息服务有限公司 | 搜索结果筛选方法与装置 |
CN107992511A (zh) * | 2017-10-18 | 2018-05-04 | 东软集团股份有限公司 | 医疗数据表的索引建立方法、装置、存储介质及电子设备 |
CN109933672A (zh) * | 2019-02-12 | 2019-06-25 | 北京百度网讯科技有限公司 | 处理查询的方法、装置、电子设备和计算机可读存储介质 |
CN110866046A (zh) * | 2019-10-28 | 2020-03-06 | 北京大学 | 一种可扩展的分布式查询方法及装置 |
CN110990448A (zh) * | 2019-10-28 | 2020-04-10 | 北京大学 | 一种支持容错的分布式查询方法及装置 |
CN111291158A (zh) * | 2020-01-22 | 2020-06-16 | 北京猎户星空科技有限公司 | 一种信息查询方法、装置、电子设备及存储介质 |
CN111291137A (zh) * | 2020-01-22 | 2020-06-16 | 奇安信科技集团股份有限公司 | 基于实体关系的搜索方法和系统 |
CN112417144A (zh) * | 2019-08-22 | 2021-02-26 | 中国移动通信有限公司研究院 | 一种数据处理方法、装置、设备及存储介质 |
US20210089822A1 (en) * | 2019-09-23 | 2021-03-25 | Dropbox, Inc. | Content type embeddings |
CN112685544A (zh) * | 2020-12-25 | 2021-04-20 | 中国联合网络通信集团有限公司 | 电信信息的查询方法、装置、设备和介质 |
-
2021
- 2021-07-28 CN CN202110860558.7A patent/CN113569012B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2540241A1 (en) * | 2003-09-26 | 2005-04-07 | University Of Ulster | Computer aided document retrieval |
EP1612701A2 (en) * | 2004-06-30 | 2006-01-04 | Microsoft Corporation | Automated taxonomy generation |
US20070192301A1 (en) * | 2006-02-15 | 2007-08-16 | Encirq Corporation | Systems and methods for indexing and searching data records based on distance metrics |
US20090168768A1 (en) * | 2007-12-26 | 2009-07-02 | Nortel Netowrks Limited | Tie-Breaking in Shortest Path Determination |
US20090319521A1 (en) * | 2008-06-18 | 2009-12-24 | Microsoft Corporation | Name search using a ranking function |
WO2010055399A1 (en) * | 2008-11-12 | 2010-05-20 | Nokia Corporation | Method and apparatus for representing and identifying feature descriptors utilizing a compressed histogram of gradients |
US20110320496A1 (en) * | 2010-06-28 | 2011-12-29 | Microsoft Corporation | Concurrency control for confluent trees |
CN103064954A (zh) * | 2011-12-30 | 2013-04-24 | 微软公司 | 基于实体的搜索和解析 |
CN103279514A (zh) * | 2013-05-22 | 2013-09-04 | 河海大学 | 一种推断xml关键字查询目标节点类型的方法 |
CN104239340A (zh) * | 2013-06-19 | 2014-12-24 | 北京搜狗信息服务有限公司 | 搜索结果筛选方法与装置 |
CN107992511A (zh) * | 2017-10-18 | 2018-05-04 | 东软集团股份有限公司 | 医疗数据表的索引建立方法、装置、存储介质及电子设备 |
CN109933672A (zh) * | 2019-02-12 | 2019-06-25 | 北京百度网讯科技有限公司 | 处理查询的方法、装置、电子设备和计算机可读存储介质 |
CN112417144A (zh) * | 2019-08-22 | 2021-02-26 | 中国移动通信有限公司研究院 | 一种数据处理方法、装置、设备及存储介质 |
US20210089822A1 (en) * | 2019-09-23 | 2021-03-25 | Dropbox, Inc. | Content type embeddings |
CN110866046A (zh) * | 2019-10-28 | 2020-03-06 | 北京大学 | 一种可扩展的分布式查询方法及装置 |
CN110990448A (zh) * | 2019-10-28 | 2020-04-10 | 北京大学 | 一种支持容错的分布式查询方法及装置 |
CN111291158A (zh) * | 2020-01-22 | 2020-06-16 | 北京猎户星空科技有限公司 | 一种信息查询方法、装置、电子设备及存储介质 |
CN111291137A (zh) * | 2020-01-22 | 2020-06-16 | 奇安信科技集团股份有限公司 | 基于实体关系的搜索方法和系统 |
CN112685544A (zh) * | 2020-12-25 | 2021-04-20 | 中国联合网络通信集团有限公司 | 电信信息的查询方法、装置、设备和介质 |
Non-Patent Citations (2)
Title |
---|
DARÍO GARIGLIOTTI: "Knowledge Graphs and Semantics in Text Analysis and Retrieval", 《KNOWLEDGE GRAPHS AND SEMANTICS IN TEXT ANALYSIS AND RETRIEVAL》, vol. 22, pages 285 * |
何天宇: "关系数据库关键词查询处理关键技术研究", 《中国优秀硕士学位论文全文数据库 信息科技》, pages 138 - 191 * |
Also Published As
Publication number | Publication date |
---|---|
CN113569012B (zh) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363698B (zh) | 兴趣点关系识别方法及装置 | |
US8965872B2 (en) | Identifying query formulation suggestions for low-match queries | |
US7788278B2 (en) | Querying target databases using reference database records | |
US20180150557A1 (en) | Systems and methods for computation of a semantic representation | |
US20160275148A1 (en) | Database query method and device | |
CN111417940B (zh) | 用于生成问题答案的方法、系统和介质 | |
CN111475623A (zh) | 基于知识图谱的案件信息语义检索方法及装置 | |
CN109033244B (zh) | 搜索结果排序方法和装置 | |
CN102314452B (zh) | 一种通过输入法平台进行导航的方法及系统 | |
JP7324058B2 (ja) | 文章解析方法、文章解析プログラム、および文章解析システム | |
US10037379B2 (en) | Voice input and output database search method and device | |
KR101446468B1 (ko) | 자동완성 질의어 제공 시스템 및 방법 | |
CN110543484A (zh) | 提示词的推荐方法及装置、存储介质和处理器 | |
CN117851575A (zh) | 一种大语言模型问答优化方法、装置、电子设备及存储介质 | |
CN111611471B (zh) | 一种搜索方法、装置及电子设备 | |
US10216792B2 (en) | Automated join detection | |
CN109508390B (zh) | 基于知识图谱的输入预测方法、装置和电子设备 | |
KR101602342B1 (ko) | 의미 태깅된 자연어 질의의 의도에 부합하는 정보 추출 및 제공 방법 및 시스템 | |
CN113128224A (zh) | 一种中文纠错方法、装置、设备以及可读存储介质 | |
CN114706841B (zh) | 查询内容库构建方法、装置、电子设备及可读存储介质 | |
CN113569012B (zh) | 医疗数据查询方法、装置、设备及存储介质 | |
JP2018156552A (ja) | 計算機システム及び文章データの検索方法 | |
CN112989011A (zh) | 数据查询方法、数据查询装置和电子设备 | |
CN113742447A (zh) | 基于查询路径生成的知识图谱问答方法、介质和设备 | |
CN113704422A (zh) | 一种文本推荐方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |