知识库的查询方法、装置、计算机设备和存储介质与流程

文档序号:31014578发布日期:2022-08-05 18:23阅读:65来源:国知局
知识库的查询方法、装置、计算机设备和存储介质与流程

1.本技术涉及自然语言处理技术领域,尤其涉及一种知识库的查询方法、装置、计算机设备和存储介质。


背景技术:

2.知识库是知识工程中的结构化、易操作、易利用、全面有组织的知识集群。相关技术中,通常基于模板分类对知识库进行查询,具体是将待查询的语句与模板进行匹配,基于匹配的模板获取查询结果。
3.但是,基于模板分类的知识库查询方法,其查询结果完全依赖于模板,如果没有与待查询的语句匹配的模板,则无法进行查询。并且,需要算法工程人员进行大量的自然语言到模板的设计,并随时进行模板扩充,人工成本高,耗时长。


技术实现要素:

4.本技术提出一种知识库的查询方法、装置、计算机设备和存储介质。
5.本技术一方面实施例提出了一种知识库的查询方法,包括:
6.获取待查询的原语句;
7.对所述原语句进行解析处理,以获取所述原语句对应的图查询语句模板;
8.根据所述原语句和所述图查询语句模板,生成图查询语句;
9.利用所述图查询语句对知识库进行查询,以获取所述原语句对应的查询结果。
10.本技术另一方面实施例提出了一种知识库的查询装置,包括:
11.第一获取模块,用于获取待查询的原语句;
12.第二获取模块,用于对所述原语句进行解析处理,以获取所述原语句对应的图查询语句模板;
13.生成模块,用于根据所述原语句和所述图查询语句模板,生成图查询语句;
14.查询模块,用于利用所述图查询语句对知识库进行查询,以获取所述原语句对应的查询结果。
15.本技术另一方面实施例提出了一种计算机设备,包括处理器和存储器;
16.其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上述一方面实施例所述的知识库的查询方法。
17.本技术另一方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述一方面实施例所述的知识库的查询方法。
18.本技术另一方面实施例提出了一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现上述一方面实施例所述的知识库的查询方法。
19.本技术实施例的知识库的查询方法、装置、计算机设备和存储介质,通过获取待查询的原语,对原语句进行解析处理,以获取原语句对应的图查询语句模板,并根据原语句和图查询语句模板,生成图查询语句,利用图查询语句对知识库进行查询,以获取原语句对应
的查询结果。由此,通过根据原语句和图查询语句模板,生成图查询语句,利用图查询语句进行知识库查询,相比基于模板的知识库查询方法,查询语句更加丰富多元,大大提高了知识库查询的灵活性,也进一步提升了准确率,并且节省了人力成本和时间。
20.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
21.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
22.图1为本技术实施例提供的一种知识库的查询方法的流程示意图;
23.图2为本技术实施例提供的另一种知识库的查询方法的流程示意图;
24.图3为本技术实施例提供的另一种知识库的查询方法的流程示意图;
25.图4为本技术实施例提供的另一种知识库的查询方法的流程示意图;
26.图5为本技术实施例提供的一种知识库查询的示意图;
27.图6为本技术实施例提供的一种知识库的查询装置的结构示意图。
具体实施方式
28.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
29.下面参考附图描述本技术实施例的知识库的查询方法、装置、计算机设备和存储介质。
30.图1为本技术实施例提供的一种知识库的查询方法的流程示意图。
31.本技术实施例的知识库的查询方法,可由本技术实施例提供的知识库的查询装置执行,该装置可配置于计算机设备中,以实现利用图查询语句对知识库进行查询。
32.如图1所示,该知识库的查询方法包括:
33.步骤101,获取待查询的原语句。
34.本技术中,用户可文字输入要查询的语句,由此,计算机设备可以获取待查询的原语句。或者,用户也可通过语音形式输入,计算机设备在采集到语音数据后,进行语音识别,获取待查询的原语句。
35.步骤102,对原语句进行解析处理,以获取原语句对应的图查询语句模板。
36.在获取到待查询的原语句后,可对原语句进行解析处理,获取原语句对应的图查询语句模板。由于知识库中包括实体、实体之间的关系即实体关系等,其中,实体是对客观个体的抽象,比如人名、地名、机构名等。那么,可通过对原语句进行解析处理,获取原语句中包含的实体、实体关系等,并根据获取的实体、实体关系等,获取原语句对应的图查询语句模板。
37.可选地,在对原语句进行解析处理时,可利用预设的神经网络模型对原语句进行处理,根据处理结果获取原语句对应的图查询语句模板。
38.其中,图查询语句模板中包含图查询语句进行知识库查询时需要用的规定语言。
比如,图查询语句模板可以是gremlin查询语句模板。其中,gremlin语言是图数据库的一种查询语言,,可用来遍历属性图。
39.比如,原语句为“a的家乡在什么地方”(字母a为具体的人名、别称等,如张三),利用预设的神经网络模型对原语句进行处理,确定该原语句的语句类型为查询语句,及确定原语句中的实体“a”与知识库中匹配的实体类型为“name”及对应的属性条件(has),原语句中的实体关系“家乡”与知识库中匹配的边类型为“家乡”及对应的边属性(out)。之后,根据实体类型“name”及对应的属性条件(has),和边类型“家乡”及对应的边属性(out),结合语句类型为查询语句,生成gremlin查询语句模板“gt_nlp_asm_kg.v().has('name',).out('家乡').order().by('stock_flag',decr).dedup()”。
40.步骤103,根据原语句和图查询语句模板,生成图查询语句。
41.本技术中,由于图查询语句模板中不包含进行知识库查询时所需的实体等,可根据原语句对图查询语句模板进行填充,生成图查询语句。
42.步骤104,利用图查询语句对知识库进行查询,以获取原语句对应的查询结果。
43.在获取图查询语句后,可利用图查询语句对知识库进行查询,获取原语句对应的查询结果。比如,可根据图查询语句中包含的实体,在知识库中查找到该实体,从该实体指向的实体中查找到查询结果。
44.本技术实施例的知识库的查询方法,通过获取待查询的原语,对原语句进行解析处理,以获取原语句对应的图查询语句模板,并根据原语句和图查询语句模板,生成图查询语句,利用图查询语句对知识库进行查询,以获取原语句对应的查询结果。由此,通过根据原语句和图查询语句模板,生成图查询语句,利用图查询语句进行知识库查询,相比基于模板的知识库查询方法,查询语句更加丰富多元,大大提高了知识库查询的灵活性,也进一步提升了准确率,并且节省了人力成本和时间。
45.在本技术的一个实施例中,可通过图2所示的方式,获取图查询语句模板。图2为本技术实施例提供的另一种知识库的查询方法的流程示意图。
46.如图2所示,上述对原语句进行解析处理,以获取图查询语句模板,包括:
47.步骤201,对原语句进行类型解析,以获取原语句的语句类型。
48.在实际应用中,用户在进行知识库查询时,输入的语句可能是查询语句,也可能是判断语句。比如,用户输入的原语句为查询语句“a的家乡在什么地方”。又如,用户输入的原语句为判断语句“a的家乡是m市吗”。
49.由于不同的语句类型对应不同的图查询语句模板也不同,那么在获取待查询的原语句后,可对原语句进行类型解析,获取原语句的语句类型。其中,语句类型可包括查询语句、判断语句等。
50.作为一种实现方式,可对原语句进行分词处理,获取原语句中包含的各个分词,判断原语句包含的分词中,是否存在与每个语句类型的预设分词匹配的分词。若原语句包含的分词中存在与某语句类型匹配的分词,可以认为原语句的语句类型为该语句类型。
51.比如,原语句为“b毕业于哪所学校”,查询语句的预设分词可包括“什么”、“哪”、“哪里”等。经过分析,原语句中包含查询语句的预设分词“哪”,可认为该原语句的语句类型为查询语句。
52.作为另一种可能的实现方式,可将原语句输入至预先训练得到的语句类型识别模
型中,利用语句类型识别模型,确定原语句的语句类型。由此,通过模型确定原语句的语句类型,可提高语句类型识别的准确性。
53.步骤202,对原语句进行实体检测,以确定原语句中是否包含与指定的实体类型匹配的实体。
54.本技术中,可对原语句进行实体检测,获取原语句中包含的实体,并计算原语句中包含的每个实体与指定的实体类型之间的匹配度,以确定原语句中是否包含与指定的实体类型匹配的实体。其中,指定的实体类型是指待查询的知识库中的实体类型。比如,某知识库中包含的实体类型有“人物”、“学校”、“单位”等。
55.若原语句中包含的任一实体与指定的实体类型之间的匹配度超过预设阈值,可认为确定原语句中包含与指定的实体类型匹配的实体。若原语句中包含的实体与每个指定的实体类型之间的匹配度均小于或等于预设阈值,可确定原语句中不包括与指定的实体类型匹配的实体。
56.步骤203,在原语句中包含与任一指定的实体类型匹配的实体的情况下,获取与语句类型及任一指定的实体类型对应的图查询语句模板。
57.作为一种可能的实现方式,在原语句中包含与任一指定的实体类型匹配的实体的情况下,说明原语句中包含有实体,那么可以确定图查询语句中对实体进行的操作,那么基于该操作以及原语句的语句类型,可生成对应的图查询语句模板。
58.以生成gremlin图查询模板为例,若原语句中包含有实体,可以确定对该实体进行的操作为“has”或者说原语句用到的属性条件有“has”,基于“has”和原语句的语句类型,可生成对应的图查询语句模板。
59.在实际应用中,知识库中实体类型之间的边的属性不同,对应的图查询语句也不同。其中,边属性可包括出边(out)、入边(in)、in&out等。作为另一种可能的实现方式,预设有图查询语句模板库,每个实体类型可具有对应的图查询语句模板。比如,知识库中有a

b,a的实体类型对应的包含一个实体的图查询语句模板、包含一个实体和一个边类型的图查询语句模板、包含两个实体和一个边类型的图查询语句模板等。
60.在原语句中包含与任一指定的实体类型匹配的实体的情况下,可先获取与任一指定的实体类型对应的图查询语句模板,并筛选出与语句类型对应的图查询语句模板。
61.作为再一种可能的实现方式,预设有图查询语句模板库,图查询语句模板库中可包括大量的图查询语句模板,每个图查询语句模板中包含的实体数量不同,或者包含的边类型数量不同,或者边属性不同。其中,边属性可包括出边(out)、入边(in)、in&out等。
62.在获取图查询语句模板时,可获取原语句的实体数量、实体关系数量对应的图查询语句模板,根据原语句中实体关系,确定实体关系的边属性,筛选出与边属性匹配的图查询语句模板,并根据原语句的语句类型,进一步筛选出与语句类型对应的图查询语句模板。
63.本技术实施例的知识库的查询方法,在获取图查询语句模板时,可通过对对原语句进行类型解析,以获取原语句的语句类型,并对原语句进行实体检测,以确定原语句中是否包含与指定的实体类型匹配的实体,在原语句中包含与任一指定的实体类型匹配的实体的情况下,获取与语句类型及任一指定的实体类型对应的图查询语句模板,根据获取的图查询语句模板和原语句,生成图查询语句。由此,利用获取的图查询语句进行知识库查询,相比基于模板的知识库查询方法,查询语句更加丰富多元,避免了因不存在与原语句匹配
的模板无法查询的情况,大大提高了知识库查询的灵活性,也进一步提升了准确率,并且节省了人力成本和时间。
64.在实际应用中,待查询的原语句中可能还包含有实体之间的关系即实体关系。基于此,在本技术的一个实施例中,可利用图3所示的方式,获取图查询语句模板。图3为本技术实施例提供的另一种知识库的查询方法的流程示意图。如图3所示,上述对原语句进行解析处理,以获取图查询语句模板包括:
65.步骤301,对原语句进行类型解析,以获取原语句的语句类型。
66.步骤302,对原语句进行实体检测,以确定原语句中是否包含与指定的实体类型匹配的实体。
67.本技术中,步骤301-步骤302与上述步骤201-步骤202类似,故在此不再赘述。
68.步骤303,在原语句中包含与任一指定的实体类型匹配的实体的情况下,对原语句进行实体关系检测,以确定原语句中是否包含与指定的边类型匹配的实体关系。
69.在原语句中包含与任一指定的实体类型匹配的实体的情况下,可对原语句进行实体关系检测,比如可根据原语句中两实体之间的分词,获取两实体之间的实体关系,或者根据位于原语句中实体后的分词,确定原语句包含的实体关系。比如,原语句为“a的家乡在什么地方”,原语句包含的实体为“a”,根据位于a后的分词“的”及“家乡”,可确定该原语句包含的实体关系为“家乡”。
70.在获取原语句中包含的实体关系后,计算原语句包含的实体关系与指定的边类型之间的匹配度。其中,指定的边类型是指待查询的知识库中包含的边类型。比如,某知识库中包含的边类型有“家乡”、“毕业于”、“就职于”、“发表”。
71.若原语句中包含的实体关系与指定的边类型之间的匹配度大于阈值时,可确定原语句中包含与指定的边类型匹配的实体关系。若原语句中包含的实体关系与每个指定的边类型之间的匹配度均小于预设阈值,可确定原语句中不包含与指定的边类型匹配的实体关系。
72.步骤304,在原语句中包含与任一指定的边类型匹配的实体关系的情况下,获取与语句类型、任一指定的实体类型及任一指定的边类型对应的图查询语句模板。
73.在原语句中包含与任一指定的实体类型匹配的实体的情况下,以及在原语句中包含与任一指定的边类型匹配的实体关系的情况下,说明原语句中包含与指定的实体类型匹配的实体,也包含与指定的边类型匹配的实体关系。
74.本技术中,可通过对原语句进行解析,获取原语句中与任一指定的边类型匹配的实体关系的边属性,根据任一指定的实体类型、任一指定的边类型匹配和边属性,可确定图查询语句模板中对实体类型的查询操作及对边类型的查询操作,之后结合原语句的语句类型,生成图查询语句模板。
75.比如,原语句为“a的家乡在什么地方”,该原语句中包含的实体“a”与指定的实体类型“name”匹配,原语句包含的实体关系“家乡”与指定的边类型“家乡”匹配。由于原语句中包含与指定的实体类型匹配的实体,那么图查询语句模板中包含对实体的操作为“has”,且原语句包含的边属性为出边(out),图查询语句模板包含对边类型的“家乡”的操作“out”,结合该原语句为查询语句,可生成gremlin查询语句模板“gt_nlp_asm_kg.v().has('name',).out('家乡').order().by('stock_flag',decr).dedup()”。
76.可选地,也可利用神经网络模型,获取图查询语句模板。具体地,可将原语句输入预先训练的神经网络模型中,以获取对实体类型的操作和边类型及对应的边属性,并结合原语句的语句类型,生成图查询语句模板。可以理解的是,边属性对应图查询语句模板中对边类型的操作。
77.本技术实施例的知识库的查询方法,在获取与语句类型及任一指定的实体类型对应的图查询语句模板时,还可对原语句进行实体关系检测,以确定原语句中是否包含与指定的边类型匹配的实体关系,在原语句中包含与任一指定的边类型匹配的实体关系的情况下,获取与语句类型、任一指定的实体类型及任一指定的边类型对应的图查询语句模板。由此,还可在原语句包含实体关系时,获取原语句对应的图查询语句模板,使得查询语句更加丰富多元,提高了知识库查询的灵活性和准确性。
78.在本技术的一个实施例中,图查询语句模板中包含待填充的实体,可通过4的方式生成图查询语句,利用图查询语句对知识库进行查询。图4为本技术实施例提供的另一种知识库的查询方法的流程示意图。
79.如图4所示,该知识库的查询方法包括:
80.步骤401,获取待查询的原语句。
81.步骤402,对原语句进行解析处理,以获取原语句对应的图查询语句模板。
82.本技术中,步骤401-步骤402可参见上述实施例,故在此不再赘述。
83.步骤403,对原语句进行实体抽取,以获取原语句对应的实体集合。
84.在获取图查询语句模板后,可通过基于规则与词典的方法或者机器学习方法等对原语句进行实体抽取,获取原语句中包含的实体,根据原语句中包含的实体得到原语句对应的实体集合。可以理解的是,实体集合中包括原语句中包含的实体。
85.步骤404,利用实体集合中的实体,对图查询语句模板进行实体填充,以生成图查询语句。
86.由于图查询语句模板中包含待填充的实体,那么在生成图查询语句时,可利用原语句对应的实体集合中的实体,对图查询语句模板进行实体填充,从而生成图查询语句。
87.本技术中,可从实体集合中确定出与图查询语句模板中待填充的实体的类型匹配的实体,将与图查询语句模板中待填充的实体的类型匹配的实体充至图查询语句模板中,从而生成图查询语句。由此,利用与待填充的实体的类型匹配的实体进行填充,提高了图查询语句的准确性,从而提高了后续知识库查询的准确性。
88.比如,原语句“a的家乡在什么地方”对应的图查询语句模板中待填充的实体的类型为“name”,可将实体集合中与待填充的实体的类型“name”匹配的实体“a”填充至图查询语句模板中,生成图查询语句“gt_nlp_asm_kg.v().has('name','a').out('家乡').order().by('stock_flag',decr).dedup()”。
89.若待填充的实体有多个,可获取实体集合与图查询语句模板中每个待填充的实体的类型匹配的实体,并将匹配的实体填充至图查询语句模板中待填充的实体位置。
90.在实际应用中,从原语句中抽取到的实体可能与知识库中的实体表示不一致。进一步地,为了提高查询的准确率,在利用实体集合中的实体,对图查询语句模板进行实体填充,生成图查询语句之前,可通过对实体集合中的各个实体与知识库中的实体进行链接,以确定知识库中与实体集合中各个实体对应的各个实体,为了便于区分称为各个目标实体。
从而,确定从原语句中抽取的实体在知识库中的标准表示。在利用实体集合中的实体,对图查询语句模板进行实体填充时,可利用获取各个目标实体,对图查询语句模板进行实体填充,生成图查询语句。由此,利用包含有知识库中实体标准表示的图查询语句,对知识库进行查询,可以大大提高查询的准确率。
91.步骤405,利用图查询语句对知识库进行查询,以获取原语句对应的查询结果。
92.本技术中,步骤405可参见上述实施例,在此不再赘述。
93.本技术实施例的知识库的查询方法,图查询语句模板中包含待填充的实体,在根据原语句和图查询语句模板,生成图查询语句时,可通过对原语句进行实体抽取,以获取原语句对应的实体集合,利用实体集合中的实体,对图查询语句模板进行实体填充,以生成图查询语句。由此,通过根据原语句中的实体对图查询语句模板进行填充,生成图查询语句,使得图查询语句不依赖于待查询语句的模板,提高了知识库查询的灵活性。
94.在本技术的一个实施例中,在利用实体集合中的实体,对图查询语句模板进行实体填充,以生成图查询语句时,还可通过如下方法生成图查询语句。
95.本技术中,可分别利用实体集合中各个实体,对图查询语句模板中待填充的实体进行填充,生成多个候选图查询语句。在获取多个候选图查询语句后,可计算每个候选图查询语句与原语句的匹配度,根据每个候选图查询语句与原语句的匹配度,从多个候选图查询语句中选取图查询语句。
96.在选取图查询语句时,可将匹配度最高的候选图查询语句作为原语句对应的图查询语句,或者也可选取匹配度最高的多个候选图查询语句,作为原语句对应的图查询语句等。
97.比如,原语句对应的实体集合中包含3个实体,图查询语句模板中待填充的实体的数量为2,可分别利用实体集合中的3个实体,对图查询语句模板中待填充的实体进行填充,得到6个候选图查询语句,根据候选图查询语句与原语句的匹配度,可从6个候选图查询语句中选取匹配度最高的候选图查询语句,作为原语句的图查询语句。
98.可选地,在实体集合包括多个实体时,也可根据图查询语句模板中待填充的实体的数量,对实体集合中的各个实体进行排列,并计算每个排列结果与原语句的匹配度,从多个排列结果中选取匹配度最高的目标排列结果,并将目标排列结果的中各个实体,依次填充至图查询语句模板中待填充的实体位置,得到图查询语句。
99.比如,原语句对应的实体集合中包含3个实体,图查询语句模板中待填充的实体的数量为2,那么可从实体集合中抽取两个实体进行排列,得到个排列结果,计算每个排列结果与原语句的匹配度,可选取匹配度最高的排列结果,将匹配度最高的排列结果中的各个实体,对应填充至对图查询语句模板中需要填充实体的位置,得到图查询语句,即将匹配度最高的排列结果中的第1个实体,填充至图查询语句模板中第1个需要待填充实体的位置,将排列结果中的第2个实体填充至图查询语句模板中第2个需要填充实体的位置。
100.本技术实施例的知识库的查询方法,在利用实体集合中的实体,对图查询语句模板进行实体填充,以生成图查询语句时,可根据利用实体集合中的各个实体对图查询语句模板进行填充,得到多个候选图查询语句,并根据每个候选图查询语句与原语句的匹配度,从多个候选图查询语句中选出原语句的图查询语句,从而使得生成的图查询语句与原语句的匹配度较高,提高了知识库查询的准确性。
101.下面结合图5,以利用神经网络模型将原语句转换为gremlin查询语句为例,对本技术实施例的知识库的查询方法进行说明。图5为本技术实施例提供的一种知识库查询的示意图。
102.如图5所示,将原语句进行编码后,需要完成三个分类任务,其中,第一个是语句类型的分类,以确定原语句是查询还是判断;第二个分类任务是属性条件的分类,包括has、in、out、in&out共4个分类(或者也可加上“空”这一分类),其中,has表示实体的属性,in、out、in&out为边属性,通过该分类任务确定原语句中用到的属性条件有哪些;第三个分类任务,分类数量与知识库中包含的实体类型和边类型的数量相同,通过该分类任务,以确定原语句中包含的实体对应的知识库中的实体类型,和实体关系对应的知识库中的边类型等。
103.图5中,利用roberta对原语句为“a的家乡在什么地方”进行编码得到编码向量,对编码向量进行处理,得到原语句的语句类型为查询语句,原语句中用到的属性条件为“has”和“out”,以及指定的6个实体类型和边类型中与原语句中实体匹配的实体类型“name”和与原语句中实体关系匹配的边类型“家乡”。在获取三个分类结果后,可根据得到的三个分类结果进行融合,得到gremlin查询语句模为“gt_nlp_asm_kg.v().has('name',).out('家乡').order().by('stock_flag',decr).dedup()”。
104.图5中,“cond_jud_op”对相应的向量进行处理,得到原语句的语句类型为查询语句;“ask_chose_op”是对第二个分类任务的结果和第三分类任务结果进行融合,具体是,确定实体及其对应的属性条件和边类型及对应的边属性。再根据实体及对应的属性条件和边类型及对应的边属性,和原语句的语句类型查询语句,得到gremlin查询语句模板。
105.在获取gremlin查询语句模板后,对gremlin查询语句模板和原语句进行解码,对原语句进行实体抽取,对各个实体进行排列,并确定与原语句匹配度最高的排列结果,利用“gen_op”对gremlin查询语句模板和与原语句匹配度最高的排列结果进行组合,即将排列结果中的实体填充到模板中的相应位置,生成gremlin查询语句“gt_nlp_asm_kg.v().has('name','a').out('家乡').order().by('stock_flag',decr).dedup()”。在获取gremlin查询语句后,对知识库进行查询,获取知识库中name为a的节点边类型“家乡”的出边对应的节点为“m市”,即获取原语句“a的家乡在什么地方”的查询结果“m市”。
106.为了实现上述实施例,本技术实施例还提出一种知识库的查询装置。图6为本技术实施例提供的一种知识库的查询装置的结构示意图。
107.如图6所示,该知识库的查询装置600包括:第一获取模块610、第二获取模块620、生成模块630和查询模块640。
108.第一获取模块610,用于获取待查询的原语句;
109.第二获取模块620,用于对原语句进行解析处理,以获取原语句对应的图查询语句模板;
110.生成模块630,用于根据原语句和图查询语句模板,生成图查询语句;
111.查询模块640,用于利用图查询语句对知识库进行查询,以获取原语句对应的查询结果。
112.可选地,第二获取模块620,包括:
113.解析单元,用于对原语句进行类型解析,以获取原语句的语句类型;
114.确定单元,用于对原语句进行实体检测,以确定原语句中是否包含与指定的实体类型匹配的实体;
115.获取单元,用于在原语句中包含与任一指定的实体类型匹配的实体的情况下,获取与语句类型及任一指定的实体类型对应的图查询语句模板。
116.可选地,获取单元,用于:
117.对原语句进行实体关系检测,以确定原语句中是否包含与指定的边类型匹配的实体关系;
118.在原语句中包含与任一指定的边类型匹配的实体关系的情况下,获取与语句类型、任一指定的实体类型及任一指定的边类型对应的图查询语句模板。
119.可选地,图查询语句模板中包含待填充的实体,生成模块630,包括:
120.实体抽取单元,用于对原语句进行实体抽取,以获取原语句对应的实体集合;
121.生成单元,用于利用实体集合中的实体,对图查询语句模板进行实体填充,以生成图查询语句。
122.可选地,生成单元,用于:
123.将实体集合中与图查询语句模板中待填充的实体的类型匹配的实体填充至图查询语句模板,以生成图查询语句。
124.可选地,生成单元,用于:
125.分别利用实体集合中的各个实体,对图查询语句模板进行填充,以获取多个候选图查询语句;
126.确定每个候选图查询语句与原语句的匹配度;
127.根据匹配度,从多个候选图查询语句中选取图查询语句。
128.可选地,装置还可包括:
129.确定模块,用于确定知识库中与实体集合中各个实体对应的各个目标实体;
130.生成单元,还用于根据各个目标实体、对图查询语句模板进行实体填充,以生成图查询语句。
131.需要说明的是,上述对知识库的查询方法实施例的解释说明,也适用于该实施例的知识库的查询方法装置,故在此不再赘述。
132.本技术实施例的知识库的查询装置,通过获取待查询的原语,对原语句进行解析处理,以获取原语句对应的图查询语句模板,并根据原语句和图查询语句模板,生成图查询语句,利用图查询语句对知识库进行查询,以获取原语句对应的查询结果。由此,通过根据原语句和图查询语句模板,生成图查询语句,利用图查询语句进行知识库查询,相比基于模板的知识库查询方法,查询语句更加丰富多元,大大提高了知识库查询的灵活性,也进一步提升了准确率,并且节省了人力成本和时间。
133.为了实现上述实施例,本技术实施例还提出一种计算机设备,包括处理器和存储器;
134.其中,处理器通过读取存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上述实施例所述的知识库的查询方方法。
135.为了实现上述实施例,本技术实施例还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例所述的知识库的查询方
法。
136.为了实现上述实施例,本技术实施例还提出一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现上述一方面实施例所述的知识库的查询方法。
137.在本说明书的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
138.尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1