CN111506715A - 查询方法、装置、电子设备及存储介质 - Google Patents
查询方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111506715A CN111506715A CN202010286268.1A CN202010286268A CN111506715A CN 111506715 A CN111506715 A CN 111506715A CN 202010286268 A CN202010286268 A CN 202010286268A CN 111506715 A CN111506715 A CN 111506715A
- Authority
- CN
- China
- Prior art keywords
- question
- target
- query
- modified
- sentence
- 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
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/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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
- G06F16/3344—Query execution using natural language analysis
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种查询方法、装置、电子设备及存储介质,涉及人工智能技术领域。其中,该方法包括:获得目标问句,并确定目标问句的问句类型和意图类型;若目标问句的问句类型不是特指问句,则根据目标问句的意图类型确定目标问句的待修改信息;修改该待修改信息,使修改后的目标问句的问句类型为特指问句;基于修改后的目标问句得到目标查询结果。如此,可以基于非特指问句进行查询,以获得用户需要的查询结果,减少了对用户输入的问句类型的限制。
Description
技术领域
本申请涉及人工智能技术领域,更具体地,涉及一种查询方法、装置、电子设备及存储介质。
背景技术
随着人工智能技术的飞速发展,人机交互产品逐渐融入人们的生活。例如,智能问答系统可以根据用户输入的问句进行查询,从而给出与问句对应的答案。目前,一些智能问答系统只支持对特定格式的问句进行处理,对用户输入内容的限制较大。
发明内容
有鉴于此,本申请提出了一种查询方法、装置、电子设备及存储介质,用以改善上述问题。
第一方面,本申请实施例提供了一种查询方法,包括:获得目标问句,并确定目标问句的问句类型和意图类型;若目标问句的问句类型不是特指问句,则根据目标问句的意图类型确定目标问句的待修改信息;修改所述待修改信息,使修改后的目标问句的问句类型为特指问句;基于修改后的目标问句得到目标查询结果。
第二方面,本申请实施例提供了一种查询装置,包括确定模块、修改模块和查询模块。其中,确定模块用于获得目标问句,并确定所述目标问句的问句类型和意图类型。修改模块用于当目标问句的问句类型不是特指问句时,根据目标问句的意图类型确定目标问句的待修改信息,并对迭代修改信息进行修改,使修改后的目标问句类型为特指问句。查询模块用于基于修改后的目标问句得到目标查询结果。
可选地,所述装置还可以包括保存模块。所述保存模块用于从所述目标问句中确定并保存所述待修改信息的限制条件。所述查询模块具体可以用于:基于所述修改后的目标问句进行查询,得到初步查询结果;基于所述初步查询结果和所述限制条件得到与所述目标问句匹配的所述目标查询结果。
可选地,所述修改模块根据所述目标问句的意图类型确定所述目标问句的待修改信息的方式可以为:根据所述意图类型确定所述目标问句的查询目标;将所述查询目标确定为所述待修改信息。
可选地,所述修改模块根据所述意图类型确定所述目标问句的查询目标的方式可以为:若所述意图类型为依据实体查找属性,则将所述目标问句中的待查询实体的属性的值确定为查询目标。
可选地,所述修改模块修改所述待修改信息的方式可以为:在所述目标问句中将所述查询目标修改为所述属性的名称。
可选地,所述修改模块根据所述意图类型确定所述目标问句的查询目标的方式可以为:若所述意图类型为依据条件选实体,则将所述目标问句中的待查询实体确定为查询目标。
可选地,所述修改模块修改所述待修改信息的方式可以为:在所述目标问句中将所述查询目标修改为所述待查询实体对应的疑问代词。
可选地,所述修改模块根据所述意图类型确定所述目标问句的查询目标的方式可以为:若所述意图类型为实体对比,则将所述目标问句中的待查询实体确定为所述目标问句的查询目标。
可选地,所述修改模块修改所述待修改信息的方式可以为:根据所述目标问句中包含的待查询实体的数量对所述目标问句进行复制,得到至少两个所述目标问句;分别对每个所述目标问句中的待查询实体进行修改,使得至少两个所述目标问句各自包括一个待查询实体,且各修改后的目标问句包括的待查询实体各不相同。
可选地,所述确定模块确定所述目标问句的问句类型的方式可以为:依次识别所述目标问句是否符合是否问句、特指问句、选择问句及正反问句的句子结构特征;若所述目标问句符合是否问句的句子结构特征,且不符合特指问句、选择问句和正反问句的句子结构特征,则确定所述目标问句的问句类型为是否问句;若所述目标问句符合特指问句的句子结构特征,且不符合选择问句及正反问句的句子结构特征,则确定所述目标问句的问句类型为特指问句;若所述目标问句符合选择问句的句子结构特征,且不符合正反问句的句子结构特征,则确定所述目标问句的问句类型为选择问句;若所述目标问句符合正反问句的句子结构特征,则确定所述目标问句的问句类型为正反问句。
可选地,所述查询模块基于所述修改后的目标问句进行查询,得到初步查询结果的方式可以为:根据所述修改后的目标问句生成有向无环图;从知识库的知识图谱中查找与所述有向无环图匹配的目标图谱,根据所述目标图谱得到所述初步查询结果。
可选地,所述查询模块基于所述初步查询结果和所述限制条件得到与所述目标问句匹配的目标查询结果的方式可以为:判断所述初步查询结果是否符合所述限制条件;将得到的判断结果确定为所述目标查询结果。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个程序,其中所述一个或多个程序被存储在存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有程序代码,该程序代码可被处理器调用执行上述的方法。
本申请提供的方案,在获得目标问句后,确定目标问句的问句类型和意图类型,当目标问句的问句类型不是特指问句时,根据目标问句的意图类型确定目标问句的待修改信息,对该待修改信息进行修改,使修改后的目标问句的问句类型为特指问句,从而可以基于修改后的目标问句得到目标查询结果。如此,减少了对用户输入的问句类型的限制,降低了用户使用智能问答系统所需的学习成本,改善了用户体验,有助于增加用户粘性。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一种适用于本申请实施例的应用环境示意图。
图2示出了本申请第一实施例提供的查询方法的流程示意图。
图3示出了本申请第二实施例提供的查询方法的流程示意图。
图4示出了本申请第三实施例提供的查询方法的流程示意图。
图5示出了本申请第四实施例提供的查询方法的流程示意图。
图6示出了图5所示步骤S406的子步骤示意图。
图7a示出了本申请第四实施例提供的一种有向无环图的示意图。
图7b示出了本申请第四实施例提供的另一种有向无环图的示意图
图8示出了图5所示步骤S407的子步骤示意图。
图9示出了本申请第五实施例提供的查询方法的流程示意图。
图10示出了本申请第六实施例提供的查询方法的流程示意图。
图11示出了本申请第七实施例提供的查询方法的流程示意图。
图12示出了本申请第八实施例提供的查询方法的流程示意图。
图13示出了本申请第九实施例提供的一种查询装置的结构框图。
图14是本申请实施例的用于执行根据本申请实施例的查询方法的电子设备的框图。
图15是本申请实施例的用于保存或者携带实现根据本申请实施例的查询方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
知识问答系统是智能问答系统的一种典型应用。请参照图1,图1示出了一种适用于本申请实施例的应用环境示意图。其中,知识问答系统包括客户端100和服务端200,其中客户端100可以是对话机器人,对话机器人可以是终端设备10中的应用程序,或者可以是终端设备10中应用程序的内置模块。终端设备10可以是任意具有输入功能、数据处理功能和通信功能的电子设备,比如可以是智能手机、平板电脑、个人计算机(Personal Computer,PC)、自助服务终端、可穿戴式电子设备等。服务端200可以是服务器20中的服务程序,用于通过网络与客户端100交互,以向用户提供知识问答服务。服务器20可以是独立的服务器也可以是相互通信连接的多个服务器组成的服务器集群或分布式系统,本申请实施例对此没有限制。
服务端200可以与知识库300通信连接,知识库300可以是不属于服务器20中的数据库,也可以是部署在能够与服务器20通信的其他服务器中的数据库,本实施例对此没有限制。可以理解,图1所示场景为知识库300部署在服务器20之外的其他服务器上的情形。
本申请实施例中,知识库300以三元组的形式来存储知识点。一些例子中,一个知识点可以包括两个实体(entity)及两个实体之间的关系(object properties)。另一些例子中,一个知识点可以包括实体、属性(data properties)及所述实体的所述属性的值。其中,实体可以是现实世界中的事物,比如人、地名、公司、电话、动物等,关系则用来表示不同实体之间的联系。属性则可以理解为实体的固有属性,如,人的年龄、体重、身高、姓名,又如,车辆的价格等。
一个例子中,“将进酒是李白写的”可以视为一个知识点。其中,“李白”和“将进酒”均为实体;“是……写的”表示两个实体的关系,例如可以通过“作者”来表示该关系,则该知识点可以表示成三元组可以是<将进酒,作者,李白>,含义是:将进酒的作者是李白。
另一个例子中,“S90是新能源车”可以视为一个知识点,其中,“S90”是一个实体,表示的车辆品牌或型号。“新能源”是一个具体的能源类型,可以理解为属性“能源类型”的值。因此,该知识点通过三元组表示可以是<S90,能源类型,新能源>。其中,“能源类型”是属性的名称,“新能源”是属性的值。
又一个例子中,“中国的首都是北京”可以视为一个知识点,其中,“中国”和“北京”均为实体,“首都”表示两个实体的关系。对应地,这个知识点以三元组形式表示可以是:<中国,首都,北京>。
再一个例子中,“A的妻子是B”可以视为一个知识点,“A”和“B”是实体,“妻子”则表示两个实体的关系。示例性地,这个知识点以三元组形式表示可以为<A,妻子,B>。类似地,“B的丈夫是A”也可以视为一个知识点,以三元组形式存储可以是<B,丈夫,A>;“A的配偶是B”也可以视为一个知识点,其以三元组形式存储可以是<A,配偶,B>。由于知识点是有方向的,上述的知识点<A,妻子,B>、<B,丈夫,A>、<A,配偶,B>需要分别存储于知识库300中。
再一个例子中,“S90是黑色的”可以视为一个知识点,其中,“S90”是一款车的标识信息,属于一个实体;“黑色”为属性“颜色”的值;该知识点中省略了关系,即属性的名称“颜色”。对应地,这个知识点在知识库300中以三元组形式表示可以是<S90,颜色,黑色>。其中,“颜色”为属性的名称,“黑色”是属性的值。
基于知识库300中的知识点,知识问答系统可以向用户提供知识问答服务。比如,用户可以在客户端100输入问句,该问句可以被客户端100发送给服务端200,服务端200可以对该问句进行识别,并根据识别结果从知识库300中查找问句对应的答案,再将查找到的答案发送至客户端100,由客户端100展示给用户。
由于知识库300中的数据都是以三元组的形式存储的,所以知识库300支持的查询方式是根据三元组中的至少一个信息来查询匹配的三元组,并根据用户输入的问句返回查询结果。该查询结果通常可以是三元组或者三元组中的部分信息。
然而,发明人经过长期的研究发现,基于上述查询方式,只有当用户输入特定格式的问句时,基于用户输入的问句从知识库300中查询并返回的信息才能与用户输入的问句匹配。比如上述的知识点<S90,颜色,黑色>,只有当用户输入的问句是“S90的颜色是什么”等针对三元组中的具体信息提问的问句时,才可能得到与用户输入的问句匹配的查询结果。而当用户输入其他类型的问句,比如,输入“S90的颜色是不是黑色”、“S90全是黑色的吗”等类型的问句时,则无法获得匹配的查询结果。
发明人经过长期的研究,提出了一种查询方法、装置及电子设备,可以实现基于特指问句之外的其他类型问句从知识库查询用户所需信息,减轻了知识问答系统对用户输入的问句类型的限制。下面将对通过具体的实施例对该内容进行描述。
第一实施例
请参照图2,图2示出了本实施例提供的一种查询方法的流程图,该方法可以应用于图1所示的客户端100,即对话机器人。下面对该方法的步骤进行阐述。
S101,获得目标问句,并确定所述目标问句的问句类型和意图类型。
其中,客户端100可以从服务端200获取一输入页面,该输入页面可以设置有输入框,以供用户输入需要问的问题。此外,输入框一侧还可以设置有供用户操作的选项标签,以供用户向服务端200提交在输入框中输入的问题。客户端100在接收用户输入的问题并检测到用户对用于提交问题的选项标签的操作时,可以将接收的问题确定为目标问句。
当获得用户输入的目标问句之后,可以通过语义识别模型获取目标问句的语义信息,得到的语义信息可以包括目标问句中的各个句子成分,比如,每个词的词性、类别标签、位置信息等。所述词性例如可以是名词、动词、形容词、副词等。此外,所述词性还可以是逻辑词。比如,上述的例子“S90的颜色是不是黑色”中,“是不是”属于逻辑词。又比如,上述的例子“S90全是黑色的吗”中,“全是”属于逻辑词。
基于所述语义信息可以识别目标问句的问句类型和意图类型。一种可能的实施方式中,目标问句的问句类型和意图类型可以通过不同的机器学习模型来识别,如,神经网络模型、卷积神经网络模型等。
另一种可能的实施方式中,目标问句的问句类型可以基于配置的不同类型句子的结构特征来识别。
S102,若所述目标问句的问句类型不是特指问句,则根据所述目标问句的意图类型确定所述目标问句的待修改信息。
这里的特指问句又可以称为特殊疑问句。参照上文的三元组示例<A,配偶,B>,可以看出符合知识库300的查询条件的问句均为特指问句,即特殊疑问句。而其他类型的问句,如是否问句、选择问句、正反问句等,当输入的是这些类型的问句时,得到的查询结果通常与用户实际希望获得的查询结果不同。
因此,在确定目标问句的问句类型之后,可以判断目标问句的问句类型是否是特指问句,如果是,表示基于目标问句可以获得用户需要的查询结果,可以直接基于该目标问句进行查询。如果不是,表示基于该目标问句无法获得用户所需的结果。在此情况下,客户端100可以将目标问句修改为特指问句,以使基于修改后的目标问句可以获得用户需要的查询结果。
详细地,本实施例中,问句的意图类型可以包括依据实体查找属性、依据条件选实体、实体对比等,其表征的是问句的内容组成。下面通过不同例子来解释上述的几种意图类型。一个例子中,问句1为“S90是新能源车吗”。问句1需要查询的是“S90”的“能源类型”,那么,问句1的查询目标是“能源类型”,查询依据是“S90”。因而,问句1的意图类型为依据实体查找属性。
另一个例子中,问句2为“红色的车都是S90吗”。问句2需要查询的是“红色的车”是否都是“S90”,可见,问句2的查询依据是“红色的车”,这属于一个条件。查询目标则是“S90”,属于一个实体。因此,问句2的意图类型可以是依据条件选实体。
又一个例子中,问句3为“S90和S60都是30万以上的车吗”。问句3涉及到对两个实体的价格的查询,即针对不同实体的相同属性的查询。因此,可以确定问句3的意图类型为实体对比。换言之,当一个问句涉及到针对不同实体的相同属性的查询时,可以确定这个问句的意图类型为实体对比。
在确定目标问句的意图类型后,客户端100可以确定目标问句的内容组成,从而可以根据该内容组成确定目标问句与特指问句的内容组成上的差异,再基于该差异确定需要对目标问句的哪些信息进行修改,所确定的需要修改的信息即为S120中的待修改信息。
S103,修改所述待修改信息,使修改后的目标问句的问句类型为特指问句。
这里的修改所述待修改信息是指,对目标问句中的待修改信息进行修改。详细地,客户端100可以根据目标问句的内容组成与特指问句的内容组成上的差异,来修改所述待修改信息,从而使得修改后的目标问句的内容组成与特指问句的内容组成是相同的,比如是,根据实体和属性的名称查询属性的值。如此,修改后的目标问句即为特指问句。
S104,基于所述修改后的目标问句得到目标查询结果。
通过执行S103,已经按照目标问句的意图类型将目标问句修改为特指问句,在此情况下,基于修改后的目标问句从知识库300中获得的查询结果是包含用户所需答案的信息。比如,假设目标问句是上述的“S90全是黑色的吗”。如果直接基于这一目标问句中的信息“S90”和“黑色”进行查询,从知识库300中查询到的结果将会是三元组<S90,颜色,黑色>,但这个结果并非是用户真正需要的答案。而通过图2所示流程,可以对该目标问句进行修改,比如将该目标问句中的“黑色”修改为“颜色”,从而使该目标问句成为特指问句。基于修改后的目标问句从知识库300中获得的查询结果是“S90”的所有颜色,这个查询结果已经包含了用户所需的答案,换言之,用户可以基于该查询结果确定自己想要的答案。
因此,通过图2所示流程,可以实现基于非特指问句从知识库中获得用户需要的查询结果,减轻了对用户输入的问句类型的限制,改善了用户体验,可以有效提升用户粘性。
第二实施例
第一实施例中的查询方法也可以应用于服务端200。请参照图3,图3示出了服务端200在实现该查询方法的过程中与客户端100的交互流程。
S201,客户端100接收用户在知识问答系统的输入页面上输入的问句。
S202,发送该问句发送给服务端200。
本实施例中,客户端100在接收到用户输入的问句时,不对该问句进行处理,而是直接将该问句发往服务端200。
S203,服务端200接收客户端100发送的问句,并将该问句确定为目标问句。
本实施例中,服务端200接收的问句是用户输入的原始问句。
S204,服务端200确定所述目标问句的问句类型和意图类型。
S205,服务端200判断所述目标问句的问句类型是否是特指问句。若是,则执行S206;若不是,则执行S207。
S206,根据所述目标问句得到目标查询结果。
S207,根据所述目标问句的意图类型确定所述目标问句的待修改信息。
S208,服务端200修改所述待修改信息,使修改后的目标问句的问句类型为特指问句。
S209,服务端200基于所述修改后的目标问句在知识库300中进行查询,得到目标查询结果。
上述步骤S203-S208的详细实现流程与第一实施例中S101-S104的实现流程类似,详细请参照上文的相关描述,在此不再赘述。
S210,服务端200将所述目标查询结果发送给所述客户端100。
S211,客户端100显示接收的所述目标查询结果。
一种实施方式中,服务端200可以将目标查询结果携带在一个问答结果页面中,并将该问答结果页面返回给客户端100。客户端100可以对该问答结果页面进行渲染,从而可以将问答结果页面展示给用户,该问答结果页面中显示有目标查询结果。另一种实施方式中,服务端200可以直接向客户端100发送目标查询结果,客户端100重新渲染之前的输入页面,并在渲染过程中,将目标查询结果添加至输入页面中。
通过图3所示流程,可以在服务端实现基于用户输入的非特指问句从知识库查询所需信息,减少了对用户输入的问句类型的限制,可以有效地改善用户体验,提升用户粘性。
第三实施例
请参照图4,图4示出了本实施例提供的一种查询方法的流程示意图,通过该方法可以对基于修改后的目标问句直接得到的查询结果进行处理,从而得到与用户输入的问句匹配的查询结果。该方法可以应用于图1所示的客户端100,下面对该方法的步骤进行阐述。
S301,获得目标问句,并确定所述目标问句的问句类型和意图类型。
本实施例中,S301的详细实现流程与前述实施例中的S101类似,在此不再赘述。
实施过程中,在确定目标问句的问句类型不是特指问句,而是其他类型,如是否问句、正反问句、选择问句等时,可以根据目标问句的意图类型从目标问句中确定待修改信息,使得当对该待修改信息进行一定修改后,目标问句可以变成特指问句。
本实施例中,待修改信息可以通过S302确定。
S302,若所述目标问句的问句类型不是特指问句,则根据所述目标问句的意图类型确定所述目标问句的查询目标。
S303,将所述查询目标确定为待修改信息。
经研究发现,非特指问句诸如正反问句、是否问句、选择问句,通常包含了比特指问句更多的条件。因此,可以将非特指问句中的一些句子成分从具体的值修改为一些表泛指的词,或是含义更为宽泛的词,从而使得非特指问句变成特指问句。
在非特指问句中,查询目标通常是具体的值(如,属性值)。因此,本实施例中,可以将查询目标作为待修改信息。详细地,问句的意图类型表示了这个问句的内容组成,该内容组成包括查询依据和查询目标。对应地,客户端100可以根据问句的意图类型来确定目标问句的内容组成,从而得到目标问句的查询目标,并将该查询目标确定为目标问句中需要修改的信息,即所述待修改信息。
比如,是否问句“S90是大于30万的车吗”,其需要查询的是“S90”的价格属性的值是否大于“30万”。即,该问句中与查询目标对应的内容是“30万”,可以将“30万”确定为该问句的待修改信息。
S304,修改所述待修改信息,使修改后的目标问句的问句类型为特指问句。
S305,基于所述修改后的目标问句得到目标查询结果。
其中,S304-S305的详细实现流程与上述的S103-S104类似,在此不再赘述。
通过本实施例提供的查询方法,可以实现基于用户输入的非特指问句从知识库查询所需信息,减少了对用户输入的问句类型的限制,改善了用户体验。
可以理解,本实施例提供的查询方法也可以应用于服务端200,其详细实现过程与图3所示流程基本类似。区别在于,服务端200是从客户端100接收的目标问句,以及在得到目标查询结果后会将目标查询结果返回客户端100进行显示。
第四实施例
请参照图5,图5示出了本实施例提供的一种查询方法的流程示意图,该方法可以应用于客户端100。下面对该方法包括的步骤进行阐述。
S401,获得目标问句,并确定所述目标问句的问句类型和意图类型。
S402,若所述目标问句的问句类型不是特指问句,则根据所述目标问句的意图类型确定所述目标问句的查询目标。
S403,将所述查询目标确定为待修改信息。
其中,S401-S403的详细实现流程与前述实施例中的S301-S303类似,详细描述可以参照上文的相关描述,在此不再赘述。
进一步地,发明人经过研究还发现,对所述待修改信息进行修改所得到的目标问句与用户输入的目标问句之间存在差异,直接基于修改后的目标问句在知识库300中进行查询,所得到的查询结果虽然包含了用户所需的答案,但查询结果与其中包含的答案之间还是存在一定差异,如果直接将查询结果输出供用户查看,对于用户而言,获得的答案可能与需要的答案不符,即,不够拟人化,从而导致用户体验不佳。
比如上述的例子中,对于用户输入的“S90全是黑色的吗”这一问句,此时与用户输入的目标问句匹配的答案应该是“是”或者“否”,而基于修改后的目标问句从知识库300获得的查询结果是知识库300中记载的S90的所有颜色,与用户实际需要的答案存在差异。
另一个例子中,假设用户输入的目标问句是“将进酒的作者是李白吗?”,其被修改成:“将进酒的作者是谁?”,这一修改后的目标问句是特指问句,基于这一修改后的目标问句查询出的结果是“李白”,与用户实际需要的答案“是”或者“否”存在一定差别。
可见,基于修改后的目标问句从知识库300查询得到的查询结果相较于用户所需的查询结果,还存在冗余信息。一些情况下,基于修改后的目标问句直接得到的查询结果包含的冗余信息较少,用户可以快速地从查询结果包含的信息中找到自己需要的信息。而另一些情况下,基于修改后的目标问句直接得到的查询结果包含的冗余信息非常多,用户可能难以找到真正需要的信息。比如上述例子中,基于修改后的目标问句中“S90”和“颜色”这两个信息,找到的是查询结果会包含知识库300中记载的S90的所有颜色。此时,需要用户手动从中查找是否存在“黑色”之外的其他颜色,才能得到其想要的查询结果,会给用户带来不便。
因此,本实施例中,通过确定基于修改后的目标问句从知识库300获得的查询结果,与未经修改的目标问句匹配的查询结果之间的关联,并基于该关联,对基于修改后的目标问句从知识库300获得的查询结果进行处理,从而得到与用户输入的目标问句(即,未经修改的目标问句)匹配的查询结果。详细描述如下。
S404,从所述目标问句中确定并保存所述待修改信息的限制条件。
本实施例中,待修改信息是目标问句的查询目标,因此,目标问句中针对查询目标的限制条件即为所述待修改信息的限制条件。这里的限制条件可以由目标问句中,查询目标前的逻辑词与查询目标组成。比如,问句“S90全是黑色的吗”,其查询目标是“黑色”,“全是”为逻辑词,因此,该问句中的限制条件为“全是黑色”。又如,问句“S90是不是黑色的”,其查询目标是“黑色”,逻辑词为“是不是”,因此该问句中的限制条件是“是不是黑色”。
S405,修改所述待修改信息,使修改后的目标问句的问句类型为特指问句。
本实施例中,S304的详细实现流程与上述的S103、S304类似,在此不再赘述。
S406,基于所述修改后的目标问句进行查询,得到初步查询结果。
本实施例中,S305的详细实现流程与上述的S104类似。但是,这里基于修改后的目标问句从知识库300获得的查询结果是作为初步查询结果,而非用于向用户显示的目标查询结果。
示例性地,步骤S406可以通过图6所示的步骤实现:
S406-1,根据修改后的目标问句生成有向无环图(Directed acylic graph,DAG)。
S406-2,从知识库的知识图谱中查找与所述有向无环图匹配的目标图谱,根据所述目标图谱得到所述初步查询结果。
本实施例中,知识库300中的各三元组信息可以形成一知识图谱。知识图谱是一种基于图的数据结构,由节点(point)和边(edge)组成,每个节点表示一个实体,每条边表示该边所连接的两个实体之间的关系。其中,边是具有方向和标签的,在此情况下,边连接的两个节点中,边的标签可以表示背离该方向的节点的属性的名称,而该方向指向的节点则可以视为该属性的值;或者,边的标签还可以表示边连接的两个节点的关系。例如图7a,其中示出了知识图谱中与三元组<A,配偶,B>对应的有向无环图,其中,实体A和B之间的边的方向是指向B而背离A的,边的标签是“配偶”,表示,A的配偶是B,即B与A的关系是配偶关系。
基于上述数据结构,可以从修改后的目标问句中提出查询条件,例如,从修改后的目标问句“A的配偶是谁”提取的查询条件包含待查询实体“A”及关系“配偶”,则可以生成如图7b所示的有向无环图,再基于该有向无环图从知识库300的知识图谱中查找包含图7b所示有向无环图的结构的图谱,那么,到图7a所示的图可以被确定为目标图谱,从而可以从该目标图谱中获得目标查询结果,即“B”。
S407,基于所述初步查询结果和所述限制条件得到与所述目标问句匹配的所述目标查询结果。
如上述关于S302的描述,对于待修改信息的修改,是将待修改信息从具体值修改为泛指信息。如此,初步查询结果包括该泛指信息对应的至少一个值,而用户真正需要的结果,可以根据所述至少一个值与限制条件的关系来确定。示例性地,S407可以通过图8所示流程实现。
S407-1,判断初步查询结果是否符合所述限制条件。
S407-2,将得到的判断结果确定为所述目标查询结果。
以上述的问句“S90是不是黑色的”,在将其查询目标“黑色”修改为“颜色”之后,可以保存“黑色”的限制条件“是不是黑色”,即“颜色的值是否等于黑色”。对应地,在基于“S90”和“颜色”查询到对应的初步查询结果之后,可以判断初步查询结果是否为黑色,若是,则将“是”作为目标查询结果;若否,则将“否”作为目标查询结果。
通过本实施例提供的查询方法,可以将基于修改后的目标问句从知识库查询到的初步查询结果处理成与用户输入的问句匹配的结果,从而向用户显示其需要的答案,解决了验证类问题回答不明确的问题,避免了用户从大量信息中人工查找所需答案,节约了用户的时间,改善了用户体验。
可以理解,本实施例提供的查询方法也可以应用于服务端200,基本实现流程与图5所示流程类似。在服务端200实现的查询方法中,服务端200是从客户端100接收目标问句的,一些可能的实施方式中,服务端200可以在得到目标查询结果后会向客户端100发送该目标查询结果,以使客户端100向用户显示该目标查询结果。另一些可能的实施方式中,服务端200可以在得到初步查询结果时向客户端100发送该初步查询结果和限制条件,由客户端100通过上述的S407得到目标查询结果,并显示目标查询结果。本实施例对此没有限制。
第五实施例
请参照图9,图9示出了本实施例提供的查询方法的流程示意图,该方法可以应用于图1所示的客户端100。下面对该方法包括的步骤进行阐述。
S501,获得目标问句,确定所述目标问句的意图类型。
本实施例中,S501的详细实现流程与前述实施例中的S101类似,在此不再赘述。目标问句的问句类型则可以通过如下的步骤S502-S506来确定。
可以理解,意图类型和问句类型可以是按照一定顺序先后确定的,也可以是并行确定的,本申请实施例对此没有限制。
S502,依次识别所述目标问句是否是是否问句、特指问句、选择问句及正反问句的句子结构特征。
其中,是否问句又称一般疑问句,其答案通常为“是”或者“否”。是否问句的句型结构为:陈述句+句尾语气助词。本实施例中,客户端100针对是否问句配置的句子结构特征可以包括:(a1)句尾语气助词不是“呢”;(a2)句尾语气助词是“吗”、“吧”或“啊”。其中,句子结构特征(a2)可以为弱特征,即,当目标问句不符合特征(a2)时,依据后续判断结果来确定目标问句是不是是否问句,而不直接做出判断结果。比如,当目标问句符合特征(a1)、不符合特征(a2),且不符合特指问句、选择问句和正反问句的句子结构特征时,可以确定目标问句是是否问句。
特指问句是指用疑问代词代替未知的部分进行提问,以要求应答针对未知的部分做出回答的疑问句。对应地,客户端100针对特指问句配置的句子结构特征可以包括:(b1)包含以下疑问代词中的任意一者:谁,什么,哪里,多少,怎么,为什么,什么事,做什么,怎么做,多少钱,多久,多长时间等;(b2)不能使用以下语气助词:“吗”、“吧”;(b3)使用疑问词:“呢”、“啊”。其中,特征(b3)可以被配置为弱特征,即,当目标问句符合特征(b1)和(b2)、不符合特征(b3)时,可以依据后续的其他判断结果来确定目标问句的类型。比如,当目标问句特征(b1)和(b2)、不符合特征(b3),且不符合选择问句和正反问句的句子结构特征时,可以确定目标问句是特指问句。
选择问句是提出两种或两种以上的情况,让应答方从中进行选择的疑问句。对应地,客户端100针对选择问句配置的句子结构特征可以包括:(c1)句子中包含以下结构中的任意一者:“A还是B”,“是A还是B”;(c2)包含疑问词:“呢”;(c3)不包含疑问词:“吗”、“啊”、“吧”。
正反问句是使用肯定和否定叠合的方式进行提问,希望应答方从肯定和否定的内容中做出选择的疑问句。对应地,客户端100针对正反问句配置的句子结构特征可以包括:(d1)包含以下结构中的任意一者:V不V,V不;其中,V表示句子中的内容,比如,“昨天玩得高兴不高兴”这个句子中,“高兴”可以充当“V不V”中的“V”;又比如,“你根本就没看过书,是不是”这个句子中,“是”可以充当“V不V”中的V;再比如,“你买的东西便宜不”这个句子中,“便宜”可以充当“V不”中的“V”;(d2)不包含疑问代词或者疑问语气词;(d3)包含疑问词“呢”或者“啊”。其中,特征(d2)和(d3)可以被配置成弱特征,即当目标问句符合特征(d1)时,无论是否符合(d2)和(d3)都可以确定目标问句是正反问句。当目标问句不符合特征(d1)时,无论是否符合(d2)和(d3)都可以确定目标问句不是正反问句。本实施例中,特征(d2)和特征(d3)可以用于在特征(d1)的基础上,加强判断结果的可靠性。
基于上述对是否问句、特指问句、选择问句以及正反问句的句子结构特征的描述,可以确定是否问句、特指问句、选择问句及正反问句的句子结构特征的明显程度是按照从弱到强排列的,也就是说,从句子结构特征的明显程度而言,存在这样的关系:是否问句<特指问句<选择问句<正反问句。因此,本实施例中,客户端100是按照句子结构特征的明显程度从弱到强的顺序来依次识别目标问句是否符合相应问句类型的句子结构特征的。如此,可以在目标问句符合某一问句类型(如,类型M1)的句子结构特征的情况下,进一步识别目标问句是否符合句子结构特征比M1更明显的其他句子类型的句子结构特征。如果目标问句在符合M1的句子结构特征的情况下,不符合句子结构特征比M1更明显的其他句子类型的句子结构特征,则可以确定目标问句的问句类型是M1。基于此,对于目标问句的识别结果可以存在S503-S506这几种情形。
S503,若所述目标问句符合是否问句的句子结构特征,且不符合特指问句、选择问句和正反问句的句子结构特征,则确定所述目标问句的问句类型为是否问句。
其中,特指问句、选择问句和正反问句的句子结构特征均比是否问句明显,因此,在目标问句具有是否问句的句子结构特征,而又不具有特指问句、选择问句和正反问句的句子结构特征时,可以确定目标问句是一个是否问句。
S504,若所述目标问句符合特指问句的句子结构特征,且不符合选择问句及正反问句的句子结构特征,则确定所述目标问句的问句类型为特指问句。
其中,选择问句及正反问句的句子结构特征均比特指问句明显,因此,在目标问句具有特指问句的句子结构特征,而又不具有选择问句及正反问句的句子结构特征的情况下,可以确定目标问句是一个特指问句。
可以理解,由于是否问句的句子结构特征是比特指问句的句子结构特征弱的,因此,在S504描述的情形中,对于是否问句的识别结果不会对特指问句的判断结果产生影响。比如,假设对于是否问句、特指问句、选择问句和正反问句的识别结果依次是:符合、符合、不符合、不符合,仍可以确定目标问句是特指问句。
S505,若所述目标问句符合选择问句的句子结构特征,且不符合正反问句的句子结构特征,则确定所述目标问句的问句类型为选择问句。
其中,正反问句的句子结构特征是比选择问句明显的,因此当目标问句具有选择问句的句子结构特征而不具有正反问句的句子结构特征时,可以将目标问句确定为一个选择问句。类似地,由于选择问句的句子结构特征比是否问句和特指问句明显,在S505描述的情形下,针对是否问句和特指问句的识别结果对选择问句的识别结果没有影响。比如,假设对于是否问句、特指问句、选择问句和正反问句的识别结果依次是:符合、符合、符合、不符合,仍可以确定目标问句是选择问句。
S506,若所述目标问句符合正反问句的句子结构特征,则确定所述目标问句的问句类型为正反问句。
其中,正反问句的句子结构特征是最明显的,因此,本实施例中,客户端100在确定目标问句具有正反问句的句子结构特征的情况下,可以确定目标问句是正反问句。
可以理解,上述实施例的方案中,也可以通过S502-S506来实现对目标问句的问句类型的确定,通过该方式可以在没有标注数据的情况下实现较高的分类准确度。可以理解,本申请的各实施例中,目标问句的问句类型也可以通过其他方式确定,比如,在业务需要或者存在有效标注数据的情况下,也可以通过问句分类模型来确定。本申请实施例对此不做限制。
S507,若所述目标问句的问句类型不是特指问句,则根据所述目标问句的意图类型确定所述目标问句的查询目标。
S508,将所述查询目标确定为待修改信息。
S509,从所述目标问句中确定并保存所述待修改信息的限制条件。
S510,修改所述待修改信息,使修改后的目标问句的问句类型为特指问句。
S511,基于所述修改后的目标问句进行查询,得到初步查询结果。
S512,基于所述初步查询结果和所述限制条件得到与所述目标问句匹配的所述目标查询结果。
其中,S507-S512的详细实现流程与前述实施例中的S402-S407类似,具体可以参照上文的相关描述,在此不再赘述。
通过本实施例提供的查询方法,可以快速准确地确定目标问句的问句类型,从而在目标问句不是特指问句时,将目标问句修改为特指问句,再基于修改后的目标问句进行查询以得到初步查询结果,并将初步查询结果处理成与用户输入的问句匹配的目标查询结果。实现了基于非特指问句从知识库查询所需信息,且可以获得符合用户需要的查询结果,减少了对用户输入问句类型的限制,可以有效改善用户体验。
第六实施例
请参照图10,图10示出了本实施例提供的一种查询方法的流程示意图,该方法可以应用于图1所示的客户端100中。下面对该方法的步骤进行阐述。
S601,获得目标问句,并确定所述目标问句的问句类型和意图类型。
步骤S601的实现流程与上述的S101类似,在此不再赘述。
S602,若所述目标问句的问句类型不是特指问句,且意图类型为依据实体查找属性,则将所述目标问句中的待查询实体的属性的值确定为查询目标。
本申请实施例中,问句的意图类型用于表示该问句的内容组成,所述内容组成可以包括查询目标和查询依据。其中,意图类型可以通过预先建立并训练的语义识别模型对目标问句进行处理而得到。
在S602中,当确定目标问句的问句类型不是特指问句时,表示需要对目标问句进行修改。此时,客户端100可以获取目标问句的意图类型,如果获取的意图类型是依据实体查找属性,表示目标问句中,查询依据为实体,查询目标为属性。而在非特指问句中,查询目标通常体现为属性的值而非属性的名称。示例性地,非特指问句通常包含的是待查询实体、针对该待查询实体的限制条件。其中,该限制条件包括待查询实体的属性的值,以及针对该待查询实体的属性的值的限制性描述。该限制条件可以用于指示用户需要的查询结果是什么。比如,限制条件中的限制性描述可以是位于待查询实体的属性的值之前的动词性描述。
因此,客户端100可以在目标问句是非特指问句且意图类型是依据实体查找属性时,将目标问句中待查询实体的属性的值确定为目标问句的查询目标,以便后续将其作为待修改信息。以及,在执行修改前,保存上述的限制条件,以便后续根据保存的显示条件对基于修改后的目标问句得到的初步查询结果进行处理。
一个例子中,问句“S90全是黑色的吗”的意图类型是依据实体查找属性,其中,“S90”是待查询实体,属于查询依据;“黑色”是待查询实体的属性的值,属于查询目标。另一个例子中,问句“S90是大于30万的车吗”的意图类型是依据实体查找属性,其中,“S90”是待查询实体,属于查询依据;“大于30万”中,“30万”是待查询实体的属性“价格”的值,属于查询目标。实施时,可以将“大于30万”中的“30万”确定为查询目标。
S603,将所述查询目标确定为待修改信息。
S604,从所述目标问句中确定并保存所述待修改信息的限制条件。
这里的限制条件可以理解为上述的,针对待查询实体的属性的值的限制条件。例如,上述例子中的“是不是黑色”、“全是黑色”。本实施例中,S603-S604的详细实现流程与前述实施例中的S403-S404类似,在此不再赘述。
S605,在所述目标问句中将所确定的查询目标修改为所述属性的名称。
一些场景中,非特指问句中已经包含了三元组的完整信息,即第一实体、第一实体的属性的名称及第一实体的属性的值,其中第一实体的属性的值为可以视为三元组中的另一实体(如,第二实体)。在此情况下,第一实体为待查询实体,第一实体的属性的值为查询目标,将第一实体的属性的值修改第一实体的属性的名称之后,非特指问句中只包含两个有效信息,即,第一实体和第一实体的属性的名称,其中,第一实体的属性的名称将出现两次。
基于此,在上述场景中,另一种可能的修改方式是,从目标问句中删除第一实体的属性的值。
另一些场景中,基于用户的用语习惯,非特指问句中直接包含的通常是第一实体和第一实体的属性的值。在此情况下,将作为查询目标的第一实体的属性的值修改为第一实体的属性的名称后,修改后的目标问句包含两个有效信息,且每个有效信息只出现一次。
S606,基于修改后的目标问句进行查询,得到初步查询结果。
S607,判断所述初步查询结果是否符合所述限制条件。
S608,将得到的判断结果确定为目标查询结果。
其中,S606-S608的详细实现流程与上述实施例中的S406、S407-1、S407-2类似。比如,上述例子中,假如修改后的目标问句为“S90全是颜色的吗”,则修改后的目标问句被发送至服务端200之后,服务端200可以从中提取出“S90”和“颜色”作为查询条件,从而得到知识库300中的记载的“S90”这一款车所对应的颜色的值,作为初步查询结果。然后,可以将初步查询结果发送给客户端100。
客户端100依据保存的限制条件,判断初步查询结果包括的各个值是否均为“黑色”,若是,则将“是”作为目标查询结果;若为否,则将“否”作为目标查询结果。
另一些情形下,可以首先基于目标问句得到语义识别结果,例如上述的目标问句“S90全是黑色的吗”,其对应的语义识别结果例如可以包括:S90,全是,黑色。然后,可以将基于目标问句得到的语义识别结果修改为:S90,颜色。在此情形下,修改后的语义识别结果也可以理解成修改后的目标问句的语义识别结果。查询过程中,可以基于修改后的语义识别结果进行查询,从而可以得到“S90”这一款车对应的所有颜色的值,即上述的初步查询结果。值得说明的是,本申请的其他实施例中对于目标问句的修改也可以采用这一方式,本申请对此没有限制。
通过本实施例提供的查询方法,可以实现基于意图类型为依据实体查找属性的非特指问句,从知识库查询所需的信息,减少了对用户输入的问句类型的限制,提升了用户粘性。
可以理解,服务端200在目标问句不是特指问句且意图类型是依据实体查找属性时,也可以按照S602来确定目标问句的查询目标。
第七实施例
请参照图11,图11示出了本实施例提供的查询方法的流程示意图,该方法可以应用于图1所示的客户端100。下面对该方法包括的步骤进行阐述。
S701,获得目标问句,并确定所述目标问句的问句类型和意图类型。
步骤S701的实现流程与上述的S101类似,在此不再赘述。
S702,若所述目标问句的问句类型不是特指问句,且意图类型为依据条件选实体,则将所述目标问句中的待查询实体确定为查询目标。
其中,当确定目标问句不是特指问句时,表示需要对目标问句进行修改。此时,客户端100可以获取目标问句的意图类型,如果该意图类型是依据条件选实体,表示目标问句中,查询依据是条件性的描述,查询目标是实体。参照前述实施例中的描述,非特指问句通常包含的是:待查询实体、待查询实体的限制条件。在意图类型是依据条件选实体的情况下,待查询实体的限制条件可以视为查询依据,待查询实体则可以视为查询目标。
一个例子中,问句“黑色的车都是S90吗”的意图类型是依据条件选实体,其查询依据是“黑色的车”,其可以被转换为与知识库300中三元组对应的信息,如,“颜色是黑色”,这属于限制条件;其需要查询的是实体“S90”,属于查询目标。
S703,将所述查询目标确定为待修改信息。
S704,从所述目标问句中确定并保存所述待修改信息的限制条件。
其中,S703-S704的详细实现流程与上述的S403-S404类似,在此不再赘述。
这里的限制条件可以理解为针对待查询实体的限制条件,例如上述例子中的“都是S90”等。
S705,在所述目标问句将所确定的查询目标修改为对应的疑问代词。
本实施例中,在意图类型是依据条件选实体的非特指问句中,作为条件的查询依据通常已经包含了三元组中的两个信息。在此情况下,可以将作为查询目标的待查询实体替换为对应的疑问代词,以将非特指问句修改为针对待查询目标的疑问句,即针对待查询目标的特指问句。比如,上述的例子中,“S90”可以被修改为“哪些车”。
S706,基于修改后的目标问句进行查询,得到初步查询结果。
S707,判断所述初步查询结果是否符合所述限制条件。
S708,将得到的判断结果确定为目标查询结果。
本实施例中,S706-S708的详细实现流程与上述实施例中的S406、S407-1、S407-2类似。参照上述的示例,客户端100在获得修改后的目标问句“颜色是黑色的有哪些车”时,可以将其发送给服务端200。服务端200基于该问句可以查询到知识库300中记载的黑色的车的品牌名称和型号信息,这些品牌名称和型号信息可以理解为初步查询结果。服务端200可以将初步查询结果发送给客户端100,客户端100依据保存的限制条件判断初步查询结果中的每一品牌名称和型号信息的组合是否均为“S90”,若不全是,则将“否”作为目标查询结果;若全是,则将“是”作为目标查询结果。
通过本实施例提供的查询方法,可以实现基于意图类型为依据条件选实体的非特指问句,从知识库中查询所需的信息,减少了对用户输入的问句类型的限制,从而改善用户体验。
第八实施例
请参照图12,图12示出了本实施例提供的查询方法的流程示意图,该方法可以应用于图1所示的客户端100。下面对该方法包括的步骤进行阐述。
S801,获得目标问句,并确定所述目标问句的问句类型和意图类型。
其中,步骤S801的实现流程与上述的S101类似,在此不再赘述。
S802,若所述目标问句的问句类型不是特指问句,且意图类型为实体对比,则将所述目标问句中的待查询实体确定为所述目标问句的查询目标。
其中,当确定目标问句不是特指问句时,表示需要对目标问句进行修改。此时,客户端100可以获取目标问句的意图类型,如果该意图类型是实体对比,表示目标问句中,存在至少两个待查询实体。对应地,意图类型是实体对比的非特指问句通常包含:至少两个待查询实体及针对待查询实体的限制条件。在此情况下,所述至少两个待查询实体均可以被确定为查询目标。
例如,问句“实体K1和实体K2都是大于30万元的车吗”中,存在两个待查询实体K1和K2,及针对待查询实体的限制条件“都是大于30万元”。则其中,实体K1和K2都可以被确定为查询目标。
S803,将所述查询目标确定为待修改信息。
S804,从所述目标问句中确定并保存所述待修改信息的限制条件。
本实施例中,S803-S804的详细实现流程与上述的S403-S404类似,在此不再赘述。
这里的限制条件可以理解为针对所述至少两个待查询实体的限制条件,例如上述例子中的“都是大于30万元”。
S805,根据所述目标问句中包含的待查询实体的数量对所述目标问句进行复制,得到至少两个所述目标问句。
本实施例中,复制得到的目标问问的数量与目标问句包含的待查询实体的数量一致。比如,目标问句包含了两个待查询实体,则可以复制一份目标问句,从而可以得到两个目标问句。又比如,目标问句包含了三个待查询实体,则可以复制两份目标问句,从而可以得到三个目标问句。
S806,分别对每个所述目标问句中的待查询实体进行第一修改处理,使得第一修改处理后的至少两个目标问句各自包括一个待查询实体,且第一修改处理后的各目标问句包括的待查询实体各不相同。
实施时,可以将复制得到的目标问句与所述至少两个待查询实体按照一一对应的关系分组,每组包括一个目标问句和一个待查询实体。对每组内的目标问句进行修改,使得修改后的目标问句只包含该组内的待查询实体。示例性地,对每个目标问句进行修改的方式可以是:从该目标问句中,将除该目标问句所属的组内的待查询实体之外的其他待查询实体删除。如此,每个修改后的目标问句只包括一个待查询实体,且不同的修改后的目标问句中的待查询实体是不同的。
比如,上述的问句“实体K1和实体K2都是大于30万元的车吗”通过S806被修改后,可以得到的问句包括:“实体K1是大于30万元的车吗”以及“实体K2是大于30万元的车吗”。
由于未经修改的目标问句中,除了所述至少两个待查询实体之外,还有针对所述至少两个待查询实体的限制条件,而该限制条件通常是针对所述至少两个待查询实体的相同属性的值的限制条件。那么,修改后的目标问句中,实际上是存在一个待查询实体及该待查询实体的属性的值,其意图类型通常为依据实体查找属性。因此,对于通过S806得到的每个第一修改处理后的目标问句,可以进一步通过S807进行修改。
S807,对每个第一修改处理后的目标问句执行第二修改处理。
本实施例中,客户端100确定每个第一修改处理后的目标问句为非特指问句,且意图类型是依据实体查找属性,因此,可以参照对S602中的目标问句的处理流程,来实现S807。示例性地,上述的第一修改处理后的目标问句“实体K1是大于30万元的车吗”可以通过第二修改处理变成“实体K1大于价格”,其中包括“实体K1”和“价格”两个有效信息,并保存对应的限制条件“大于30万元”;第一修改处理后的目标问句“实体K2是大于30万元的车吗”可以通过第二修改处理变成“实体K2大于价格”,其中包括“实体K2”和“价格”两个有效信息,并保存对应的限制条件“大于30万元”。
对应地,S807的详细实现流程,可以参照上述的S602-S605,在此不再赘述。
S808,分别基于每个第二修改处理后的目标问句进行查询,得到初步查询结果。
这里的第二修改处理后的目标问句,可以理解成按照S602-S605对第一修改处理后的目标问句进行修改所得到的目标问句。S808的实现过程与S406类似,在此不再赘述。
S809,判断得到的每个初步查询结果是否符合所述限制条件。
S810,将得到的判断结果确定为目标查询结果。
本实施例中,S808的实现过程与S407-1类似。比如,上述例子中,第二修改处理后的目标问句“实体K1大于价格”和“实体K2大于价格”均可以被客户端100发送给服务端200。服务端200可以从“实体K1大于价格”提取出“实体K1”和“价格”作为查询条件,基于该查询条件可以从知识库300中查询到实体K1的价格。对应地,服务端200可以从“实体K2大于价格”中提取出“实体K2”和“价格”作为查询条件,基于该查询条件从知识库300中查找到实体K2的价格。服务端200将实体K1的价格和实体K2的价格作为初步查询结果发送给客户端100。
客户端100可以分别判断接收的每个初步查询结果是否符合对应的限制条件,即,可以判断实体K1的价格是否大于30万元,以及判断实体K2的价格是否大于30万元。如果两者都是,则可以将“是”作为目标查询结果;如果上述判断结果不全为是,则可以将“否”作为目标查询结果。
进一步地,本实施例提供的查询方法中,客户端100在得到目标查询结果之后,还可以根据未经修改的目标问句的问句类型来对目标查询结果进行校正,例如,当未经修改的目标问句的问句类型是是否问句或者正反问句时,可以检测目标查询结果是否为“是”和“否”之一,若是,再对目标查询结果进行显示。
又如,当未经修改的目标问句的问句类型是选择问句时,则可以检测目标查询结果是否为某个待查询实体。若不是,则可以获取客户端100对每个初步查询结果的判断结果,将判断结果为是的初步查询结果作为所述目标查询结果。一个例子中,未经修改的目标问句是“S90和S60的价格都大于30万吗”,其可以通过第一修改处理被修改为:(1)“S90的价格大于30万吗”;(2)“S60的价格大于30万吗”。对应地,第一修改处理后的目标问句(1)可以通过第二修改处理被修改成“S90的价格是多少”;第一修改处理后的目标问句(2)可以通过第二修改处理变成“S60的价格是多少”。基于知识库300中的相应三元组,可以查询到第二修改处理后的问句(1)和(2)各自对应的初步查询结果,例如,第二修改处理后的问句(1)对应的初步查询结果是“40万”,第二修改处理后问句(2)对应的初步查询结果是“29万”。那么,第二修改处理后的问句(1)所对应的初步查询结果的判断结果为是,第二修改处理后的问句(2)所对应的初步查询结果的判断结果为否,因此,可以将“否”确定为用户输入的目标问句所对应的目标查询结果。
通过本实施例提供的查询方法,可以基于意图类型是实体对比的非特指问句从知识库查询所需的信息,减少了对用户输入的问句类型的限制,提升了用户体验,提高了用户粘性。
第九实施例
请参照图13,图13示出了本申请实施例提供的一种查询装置的结构框图。该装置1300既可以应用于客户端100,也可以应用于服务端200。该装置1300可以包括:确定模块1310、修改模块1320和查询模块1330。
其中,确定模块1310用于获得目标问句,并确定所述目标问句的问句类型和意图类型。修改模块用于当目标问句的问句类型不是特指问句时,根据目标问句的意图类型确定目标问句的待修改信息,并对迭代修改信息进行修改,使修改后的目标问句类型为特指问句。查询模块用于基于修改后的目标问句得到目标查询结果。
可选地,所述装置1300还可以包括保存模块1320。所述保存模块1320用于从所述目标问句中确定并保存所述待修改信息的限制条件。所述查询模块1330具体可以用于:基于所述修改后的目标问句进行查询,得到初步查询结果;基于所述初步查询结果和所述限制条件得到与所述目标问句匹配的所述目标查询结果。
可选地,所述修改模块1320根据所述目标问句的意图类型确定所述目标问句的待修改信息的方式可以为:根据所述意图类型确定所述目标问句的查询目标;将所述查询目标确定为所述待修改信息。
可选地,所述修改模块1320根据所述意图类型确定所述目标问句的查询目标的方式可以为:若所述意图类型为依据实体查找属性,则将所述目标问句中的待查询实体的属性的值确定为查询目标。在此情况下,所述修改模块1320修改所述待修改信息的方式可以为:在所述目标问句中将所述查询目标修改为所述属性的名称。
可选地,所述修改模块1320根据所述意图类型确定所述目标问句的查询目标的方式可以为:若所述意图类型为依据条件选实体,则将所述目标问句中的待查询实体确定为查询目标。在此情况下,所述修改模块1320修改所述待修改信息的方式可以为:在所述目标问句中将所述查询目标修改为所述待查询实体对应的疑问代词。
可选地,所述修改模块1320根据所述意图类型确定所述目标问句的查询目标的方式可以为:若所述意图类型为实体对比,则将所述目标问句中的待查询实体确定为所述目标问句的查询目标。在此情况下,所述修改模块1320修改所述待修改信息的方式可以为:根据所述目标问句中包含的待查询实体的数量对所述目标问句进行复制,得到至少两个所述目标问句;分别对每个所述目标问句中的待查询实体进行修改,使得至少两个所述目标问句各自包括一个待查询实体,且各修改后的目标问句包括的待查询实体各不相同。
可选地,所述确定模块1310确定所述目标问句的问句类型的方式可以为:依次识别所述目标问句是否符合是否问句、特指问句、选择问句及正反问句的句子结构特征;若所述目标问句符合是否问句的句子结构特征,且不符合特指问句、选择问句和正反问句的句子结构特征,则确定所述目标问句的问句类型为是否问句;若所述目标问句符合特指问句的句子结构特征,且不符合选择问句及正反问句的句子结构特征,则确定所述目标问句的问句类型为特指问句;若所述目标问句符合选择问句的句子结构特征,且不符合正反问句的句子结构特征,则确定所述目标问句的问句类型为选择问句;若所述目标问句符合正反问句的句子结构特征,则确定所述目标问句的问句类型为正反问句。
可选地,所述查询模块1330基于所述修改后的目标问句进行查询,得到初步查询结果的方式可以为:根据所述修改后的目标问句生成有向无环图;从知识库的知识图谱中查找与所述有向无环图匹配的目标图谱,根据所述目标图谱得到所述初步查询结果。
可选地,所述查询模块1330基于所述初步查询结果和所述限制条件得到与所述目标问句匹配的目标查询结果的方式可以为:判断所述初步查询结果是否符合所述限制条件;将得到的判断结果确定为所述目标查询结果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
第十实施例
请参考图14,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备1400例如可以是上述的终端设备10或者是服务器20。本申请中的电子设备1400可以包括一个或多个如下部件:处理器1410、存储器1420、以及一个或多个程序,其中一个或多个程序可以被存储在存储器1420中并被配置为由一个或多个处理器1410执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器1410可以包括一个或者多个处理核。处理器1410利用各种接口和线路连接整个电子设备1400内的各个部分,通过运行或执行存储在存储器1420内的指令、程序、代码集或指令集,以及调用存储在存储器1420内的数据,执行电子设备1400的各种功能和处理数据。可选地,处理器1410可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1410可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1410中,单独通过一块通信芯片进行实现。
存储器1420可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器1420可用于存储指令、程序、代码、代码集或指令集。存储器1420可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备1400在使用中所创建的数据(比如目标问句、修改后的目标问句、不同问句类型的句子结构特征)等。
可以理解,图14所示的结构仅为示意。电子设备1400还可以包括比图14所示更多或者更少的组件,或是可以具有完全不同的配置。比如,电子设备1400作为部署客户端100的终端设备10时,还可以具有输入设备如触摸屏或者实体按键。
第十一实施例
请参考图15,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质1500中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质1500可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质1500包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质1500具有执行上述方法中的任何方法步骤的程序代码1510的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1510可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种查询方法,其特征在于,包括:
获得目标问句,并确定所述目标问句的问句类型和意图类型;
若所述目标问句的问句类型不是特指问句,则根据所述目标问句的意图类型确定所述目标问句的待修改信息;
修改所述待修改信息,使修改后的目标问句的问句类型为特指问句;
基于所述修改后的目标问句得到目标查询结果。
2.根据权利要求1所述的方法,其特征在于,在所述修改所述待修改信息之前,所述方法还包括:
从所述目标问句中确定并保存所述待修改信息的限制条件;
所述基于所述修改后的目标问句得到目标查询结果,包括:
基于所述修改后的目标问句进行查询,得到初步查询结果;
基于所述初步查询结果和所述限制条件得到与所述目标问句匹配的所述目标查询结果。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标问句的意图类型确定所述目标问句的待修改信息,包括:
根据所述意图类型确定所述目标问句的查询目标;
将所述查询目标确定为所述待修改信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述意图类型确定所述目标问句的查询目标,包括:
若所述意图类型为依据实体查找属性,则将所述目标问句中的待查询实体的属性的值确定为查询目标。
5.根据权利要求4所述的方法,其特征在于,所述修改所述待修改信息,包括:
在所述目标问句中将所述查询目标修改为所述属性的名称。
6.根据权利要求3所述的方法,其特征在于,所述根据所述意图类型确定所述目标问句的查询目标,包括:
若所述意图类型为依据条件选实体,则将所述目标问句中的待查询实体确定为查询目标。
7.根据权利要求6所述的方法,其特征在于,所述修改所述待修改信息,包括:
在所述目标问句中将所述查询目标修改为所述待查询实体对应的疑问代词。
8.根据权利要求3所述的方法,其特征在于,所述根据所述意图类型确定所述目标问句的查询目标,包括:
若所述意图类型为实体对比,则将所述目标问句中的待查询实体确定为所述目标问句的查询目标。
9.根据权利要求8所述的方法,其特征在于,所述修改所述待修改信息,包括:
根据所述目标问句中包含的待查询实体的数量对所述目标问句进行复制,得到至少两个所述目标问句;
分别对每个所述目标问句中的待查询实体进行修改,使得至少两个所述目标问句各自包括一个待查询实体,且各修改后的目标问句包括的待查询实体各不相同。
10.根据权利要求1-9中任意一项所述的方法,其特征在于,所述确定所述目标问句的问句类型,包括:
依次识别所述目标问句是否符合是否问句、特指问句、选择问句及正反问句的句子结构特征;
若所述目标问句符合是否问句的句子结构特征,且不符合特指问句、选择问句和正反问句的句子结构特征,则确定所述目标问句的问句类型为是否问句;
若所述目标问句符合特指问句的句子结构特征,且不符合选择问句及正反问句的句子结构特征,则确定所述目标问句的问句类型为特指问句;
若所述目标问句符合选择问句的句子结构特征,且不符合正反问句的句子结构特征,则确定所述目标问句的问句类型为选择问句;
若所述目标问句符合正反问句的句子结构特征,则确定所述目标问句的问句类型为正反问句。
11.根据权利要求2-9中任意一项所述的方法,其特征在于,所述基于所述修改后的目标问句进行查询,得到初步查询结果,包括:
根据所述修改后的目标问句生成有向无环图;
从知识库的知识图谱中查找与所述有向无环图匹配的目标图谱,根据所述目标图谱得到所述初步查询结果。
12.根据权利要求2-9中任意一项所述的方法,其特征在于,所述基于所述初步查询结果和所述限制条件得到与所述目标问句匹配的目标查询结果,包括:
判断所述初步查询结果是否符合所述限制条件;
将得到的判断结果确定为所述目标查询结果。
13.一种查询装置,其特征在于,包括:
确定模块,用于获得目标问句,并确定所述目标问句的问句类型和意图类型;
修改模块,用于当所述目标问句的问句类型不是特指问句时,则根据所述目标问句的意图类型确定所述目标问句的待修改信息,并对所述待修改信息进行修改,使修改后的目标问句的问句类型为特指问句;
查询模块,用于基于所述修改后的目标问句得到目标查询结果。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-12中任意一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-12中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010286268.1A CN111506715B (zh) | 2020-04-13 | 2020-04-13 | 查询方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010286268.1A CN111506715B (zh) | 2020-04-13 | 2020-04-13 | 查询方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111506715A true CN111506715A (zh) | 2020-08-07 |
CN111506715B CN111506715B (zh) | 2021-02-12 |
Family
ID=71863995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010286268.1A Active CN111506715B (zh) | 2020-04-13 | 2020-04-13 | 查询方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506715B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328771A (zh) * | 2020-11-19 | 2021-02-05 | 广州极飞科技有限公司 | 服务信息输出方法、装置、服务器及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503998A (zh) * | 2014-12-05 | 2015-04-08 | 百度在线网络技术(北京)有限公司 | 针对用户查询句的类型识别方法及装置 |
US20170185618A1 (en) * | 2015-08-24 | 2017-06-29 | Lac Co., Ltd. | Management unit existence determination system and management unit existence determination program |
CN109739969A (zh) * | 2018-12-29 | 2019-05-10 | 联想(北京)有限公司 | 答案生成方法和智能会话系统 |
CN110110059A (zh) * | 2019-05-20 | 2019-08-09 | 挂号网(杭州)科技有限公司 | 一种基于深度学习的医疗对话系统意图识别分类方法 |
-
2020
- 2020-04-13 CN CN202010286268.1A patent/CN111506715B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503998A (zh) * | 2014-12-05 | 2015-04-08 | 百度在线网络技术(北京)有限公司 | 针对用户查询句的类型识别方法及装置 |
US20170185618A1 (en) * | 2015-08-24 | 2017-06-29 | Lac Co., Ltd. | Management unit existence determination system and management unit existence determination program |
CN109739969A (zh) * | 2018-12-29 | 2019-05-10 | 联想(北京)有限公司 | 答案生成方法和智能会话系统 |
CN110110059A (zh) * | 2019-05-20 | 2019-08-09 | 挂号网(杭州)科技有限公司 | 一种基于深度学习的医疗对话系统意图识别分类方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328771A (zh) * | 2020-11-19 | 2021-02-05 | 广州极飞科技有限公司 | 服务信息输出方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111506715B (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108021547B (zh) | 一种自然语言的生成方法、自然语言生成装置及电子设备 | |
CN110276023B (zh) | Poi变迁事件发现方法、装置、计算设备和介质 | |
CN110073349B (zh) | 考虑频率和格式化信息的词序建议 | |
US20200134398A1 (en) | Determining intent from multimodal content embedded in a common geometric space | |
WO2021135455A1 (zh) | 语义召回方法、装置、计算机设备及存储介质 | |
CN108509569A (zh) | 企业画像的生成方法、装置、电子设备以及存储介质 | |
CN110673748A (zh) | 输入法中候选长句的提供方法及装置 | |
CN110795541B (zh) | 文本查询方法、装置、电子设备及计算机可读存储介质 | |
WO2021063089A1 (zh) | 规则匹配方法、规则匹配装置、存储介质及电子设备 | |
CN111813903B (zh) | 一种问句匹配方法和计算设备 | |
CN111400458A (zh) | 一种自动泛化方法及其装置 | |
CN112560423A (zh) | 结合rpa和ai的文档处理方法、装置、设备及介质 | |
CN111444313B (zh) | 基于知识图谱的问答方法、装置、计算机设备和存储介质 | |
CN109783589A (zh) | 电子地图解析地址的方法、装置及存储介质 | |
CN111506715B (zh) | 查询方法、装置、电子设备及存储介质 | |
CN107861948A (zh) | 一种标签提取方法、装置、设备和介质 | |
CN111444321A (zh) | 问答方法、装置、电子设备和存储介质 | |
WO2023103943A1 (zh) | 图片处理方法、装置及电子设备 | |
CN112989011B (zh) | 数据查询方法、数据查询装置和电子设备 | |
WO2021135103A1 (zh) | 一种语义分析方法、装置、计算机设备及存储介质 | |
CN112988993A (zh) | 一种问答方法和计算设备 | |
CN114020245A (zh) | 页面构建方法及装置、设备和介质 | |
CN115687704A (zh) | 信息显示方法、装置、电子设备及计算机可读存储介质 | |
CN112836023A (zh) | 一种基于知识图谱的问答方法及装置 | |
CN112685540A (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 |