一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种问答方法及系统与流程

2022-06-11 14:55:24 来源:中国专利 TAG:


1.本技术涉及互联网技术(internet technology,it)领域,尤其涉及一种问答方法及系统。


背景技术:

2.参见图1,在在线客服场景中,电子设备可接收用户输入的提问,如图1中的提问“荣耀60的屏幕尺寸有多大”,并对提问自动分析处理,得到提问的答案。然后电子设备将答案反馈给用户,如反馈图1中的答案“6.67英寸”。从而可以提升问答的智能性。例如,任何时候都可以回答用户的提问,而不会仅限于在客服人员的上班时间内解答用户的提问。
3.一种典型的对提问分析处理的技术为常见提问问答(frequently-asked questions,faq)技术:采用faq技术,可以在语料库中存储各种常见问题的标准提问及其答案。例如,语料库中存储有标准提问“荣耀60的屏幕尺寸有多大”及其答案“6.67英寸”,标准提问“荣耀60的电池容量有多大”及其答案“4800mah”。在对提问分析处理时,电子设备则可以将用户输入的提问与语料库中的标准提问匹配,然后将匹配到的标准提问的答案作为用户输入的提问的答案,即得到提问的答案。
4.但是实际中,若用户输入提问时表达不准确(如过于简略)或者表达过于口语化,则可能导致采用faq技术无法准确确定相匹配的标准提问,从而无法识别用户的提问意图。示例性的,语料库中的标准提问包括“荣耀60的屏幕尺寸有多大”和“荣耀60的电池容量有多大”,而用户输入的提问为“荣耀60有多大”,提问过于简略。采用faq技术无法准确的识别用户的提问意图是查询荣耀60的屏幕尺寸还是电池容量。最终导致无法准确反馈用户想要的答案。
5.在一些改进的faq技术中,可以在语料库中进一步存储各种标准提问的扩展提问。例如,对应标准提问“荣耀60的屏幕尺寸有多大”,还存储有“荣耀60的屏幕尺寸”,“荣耀60的屏幕多大”,“荣耀60的屏幕尺寸是多少”,以及“荣耀60有多大”等扩展提问。采用该改进的faq技术,在接收到用户输入的提问后,则可以更准确的识别用户的意图。例如,用户输入的提问为“荣耀60有多大”时,则可以识别出用户的提问意图是查询荣耀60的屏幕尺寸,而不是查询荣耀60的电池容量,从而可以将标准提问“荣耀60的屏幕尺寸有多大”的答案反馈给用户。但是,这种改进的faq技术需要维护大量的标准提问及其扩展提问,才能达到准确识别用户的提问意图的效果。示例性的,扩展提问需要尽可能覆盖用户针对常见问题的所有可能的提问描述。从而导致数据维护量大,维护难度高。


技术实现要素:

6.有鉴于此,本技术提供了一种问答方法及系统,可以在降低数据维护量和维护难度的前提下,识别提问意图,得到提问的答案。
7.第一方面,本技术实施例提供一种问答方法,应用于电子设备。该方法包括:电子设备接收第一提问,第一提问中仅有一个第一实体,且第一提问中不包括属性。电子设备响
应于接收到第一提问,显示至少一个第二实体,至少一个第二实体包括知识图谱中与第一实体的上位词构成三元组的实体。电子设备接收用户对第三实体的选择操作,第三实体是至少一个第二实体中的一个。电子设备响应于用户对第三实体的选择操作,显示第四实体,第四实体包括与第一实体具有第一关系的实体,第一关系是知识图谱中第一实体的上位词与第三实体之间的关系。
8.其中,第一提问中仅有一个实体,而不包括属性,如第一提问为“荣耀60”,则表明该第一提问意图不明确。采用本技术实施例的方法,针对这种意图不明确的情况,可以先向用户推送与该实体相关的实体(即第二实体),以明确用户想要查询的类别。从而可以通过推送概括性强、且数量较少的实体来明确用户的提问意图。在获取用户想要查询的类别之后,进一步针对用户想要查询的类别推送答案。从而准确推送用户需要的答案。
9.在第一方面一种可能的设计方式中,至少一个第二实体不包括第一实体。如此,可以避免将第一提问中实体再次推送给用户。
10.在第一方面另一种可能的设计方式中,上述显示至少一个第二实体,包括:电子设备显示至少一个第一选项,至少一个第一选项与至少一个第二实体一一对应,每个第一选项上显示对应的第二实体的文本。其中,用户对第三实体的选择操作,包括:用户对第二选项的选择操作,第二选项是至少一个第一选项中的一个,第二选项对应第三实体。
11.由此可见,采用本实施例的方法,可以选项的形式来显示第二实体,然后响应于用户对选项的选择操作即可选中对应的实体。而无需用户输入文本来实现选择,从而可以提高人机交互的效率。
12.在第一方面另一种可能的设计方式中,上述第四实体指示第一实体的第一属性。相应的,方法还包括:电子设备响应于用户对第三实体的选择操作,显示第一实体的第一属性的属性值。
13.由此可见,采用本实施例的方法,可以在第四实体指示属性时,将属性的属性值也显示给用户。从而可以提升答案的完整性。
14.在第一方面另一种可能的设计方式中,上述电子设备响应于接收到第一提问,显示至少一个第二实体,包括:电子设备响应于接收到第一提问,若在知识图谱中,第一实体有上位词、但无下位词,电子设备显示至少一个第二实体。可见,在第一实体仅有上位词时,可以通过显示第二实体的方式来确认用户的提问意图。
15.或者,若在知识图谱中,第一实体有上位词和下位词,且第一实体的下位词的数量超过第一预设数量,电子设备显示至少一个第二实体。在第一实体的下位词很多时,若将下位词推送给用户选择,则会使推送的答案不简洁,影响智能问答的交互效率。基于此,通过显示第二实体的方式来确认用户的提问意图,从而避免将过多的下位词推送给用户,提升交互效率。
16.在第一方面另一种可能的设计方式中,电子设备响应于接收到第一提问,若在知识图谱中,第一实体无上位词、但有下位词,或者,若在知识图谱中,第一实体有上位词和下位词,且第一实体的下位词的数量未超过第一预设数量,电子设备显示多个第五实体,第五实体包括知识图谱中、第一实体的下位词。电子设备接收用户对第六实体的选择操作,第六实体是多个第五实体中的一个。电子设备响应于用户对第六实体的选择操作,若在知识图谱中,第六实体无下位词,电子设备显示第六实体的属性和属性值。
17.由此可见,采用本实施例的方法,在第一实体只有下位词,或者下位词数量较少时,则可以将下位词推送给用户。从而可以逐步推送更下位的答案,以明确用户的提问意图,最终可以将准确的答案提供给用户。
18.在第一方面另一种可能的设计方式中,电子设备响应于接收到第一提问,若在知识图谱中,第一实体无上位词和下位词,电子设备显示第一实体的属性和属性值。
19.由此可见,采用本实施例的方法,在第一实体既没有上位词、也没有下位词时,可以将第一实体的属性及属性值提供给用户,从而可以使用户获取到第一实体的相关属性信息。
20.第二方面,本技术实施例提供一种问答方法,应用于服务器,服务器中包括知识图谱。方法包括:服务器接收第一提问,第一提问中仅有一个第一实体,且第一提问中不包括属性。服务器响应于接收到第一提问,从知识图谱中查询与第一实体的上位词构成三元组的至少一个第二实体。服务器生成第一答案,第一答案中包括至少一个第二实体。服务器接收第一消息,第一消息指示选择第一答案中的第三实体,第三实体是至少一个第二实体中的一个。服务器响应于接收到第一消息,从知识图谱中查询与第一实体具有第一关系的第四实体,第一关系是知识图谱中第一实体的上位词与第三实体之间的关系。服务器生成第二答案,第二答案中包括第四实体。
21.在第二方面一种可能的设计方式中,在上述从知识图谱中查询与第一实体具有第一关系的第四实体之后,方法还包括:若第四实体指示第一实体的第一属性,服务器从知识图谱中查询第一属性的属性值。其中,第二答案中包括第一实体的第一属性的属性值。
22.在第二方面另一种可能的设计方式中,方法还包括:服务器响应于接收到第一提问,从知识图谱中查询第一实体的上位词和第一实体的下位词,得到查询结果。上述服务器从知识图谱中查询与第一实体的上位词构成三元组的至少一个第二实体,包括:若查询结果指示第一实体有上位词、但无下位词,或者,查询结果指示第一实体有上位词和下位词,且第一实体的下位词的数量超过第一预设数量,服务器从知识图谱中查询与第一实体的上位词构成三元组的至少一个第二实体。
23.在第二方面另一种可能的设计方式中,在上述服务器从知识图谱中查询第一实体的上位词和第一实体的下位词,得到查询结果之后,方法还包括:若查询结果指示第一实体有上位词和下位词,且第一实体的下位词的数量未超过第一预设数量,或者,查询结果指示第一实体无上位词、但有下位词,服务器生成第三答案,第三答案中包括多个第五实体,多个第五实体是知识图谱中、第一实体的下位词。服务器接收第二消息,第二消息指示选择第三答案中的第六实体,第六实体是多个第五实体中的一个。服务器响应于接收到第二消息,从知识图谱中查询第六实体的属性和属性值。服务器生成第四答案,第四答案中包括第六实体的属性和属性值。
24.在第二方面另一种可能的设计方式中,方法还包括:若查询结果指示第一实体无上位词和下位词,服务器从知识图谱中查询第一实体的属性和属性值。服务器生成第五答案,第五答案中包括第一实体的属性和属性值。
25.关于上述第二方面及其可能的设计方式所能达到的有益效果,可参考第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
26.第三方面,本技术实施例提供一种问答方法,应用于电子设备。方法包括:电子设
备接收第一提问,第一提问中包括第一实体和第一属性,在知识图谱中,第一实体不具有第一属性。电子设备响应于接收到第一提问,显示第一答案,第一答案中包括第一实体和第二实体,在知识图谱中,第二实体具有第一属性,第二实体为概念。电子设备接收用户对第三实体的选择操作,第三实体为第一实体和第二实体中的一个。电子设备响应于用户对第三实体的选择操作,显示第二答案,第二答案与知识图谱中,第三实体、第三实体的上位词和/或第三实体的下位词相关。
27.综上,采用本技术实施例的方法,针对提问中包括毫无关联的第一实体和第一属性的情况,电子设备可以先推送包括该第一属性的第二实体和提问中的第一实体给用户,以供用户确认想要查询的实体。然后,在用户选择要查询的第三实体后,则进一步根据该第三实体在知识图谱中的上下位关系来推送答案。从而可以准确推送用户需要的答案。
28.在第三方面一种可能的设计方式中,显示第一答案,包括:电子设备显示多个第一选项,多个第一选项与第一实体和第二实体一一对应,每个第一选项上显示对应的第一实体或者第二实体的文本。其中,用户对第三实体的选择操作,包括:用户对第二选项的选择操作,第二选项是多个第一选项中的一个,第二选项对应第三实体。
29.由此可见,采用本实施例的方法,可以选项的形式来显示第一实体和第二实体,然后响应于用户对选项的选择操作即可选中对应的实体。而无需用户输入文本来实现选择,从而可以提高人机交互的效率。
30.在第三方面另一种可能的设计方式中,上述电子设备响应于接收到第一提问,显示第一答案,包括:电子设备响应于接收到第一提问,若第四实体的数量超过第二预设数量,电子设备显示第一答案,在知识图谱中,第四实体具有第一属性,第四实体为概念之外的实体。
31.由此可见,采用本实施例的方法,在具有第一属性的非概念的实体较多时,则将第一实体和第二实体推送给用户,从而可以推送概括性强、且数量少的实体给用户。
32.在第三方面另一种可能的设计方式中,方法还包括:电子设备响应于接收到第一提问,若第四实体的数量未超过第二预设数量,电子设备显示第三答案,第三答案中包括第一实体和第四实体。电子设备接收用户对第五实体的选择操作,第五实体为第一实体和第四实体中的一个。电子设备响应于用户对第五实体的选择操作,显示第四答案,第四答案与知识图谱中,第五实体、第五实体的上位词和/或第五实体的下位词有关。
33.由此可见,采用本实施例的方法,在具有第一属性的非概念的实体较少时,则将第一实体和第二实体推送给用户,从而可以推送针对性强的实体给用户。从而可以逐步推送更下位的答案,以明确用户的提问意图,最终可以将准确的答案提供给用户。
34.第四方面,本技术实施例提供一种问答方法,应用于服务器,服务器中包括知识图谱。方法包括:服务器接收第一提问,第一提问中包括第一实体和第一属性,且在知识图谱中,第一实体不具有第一属性。服务器响应于接收到第一提问,从知识图谱中查询第二实体,在知识图谱中,第二实体具有第一属性,第二实体为概念。服务器生成第一答案,第一答案中包括第一实体和第二实体。服务器接收第一消息,第一消息指示选择第一答案中的第三实体,第三实体为第一实体和第二实体中的一个。服务器响应于接收到第一消息,生成第二答案,第二答案与第三实体、第三实体的上位词和/或第三实体的下位词相关。
35.在第四方面一种可能的设计方式中,在上述生成第一答案之前,方法还包括:服务
器从知识图谱中查询第四实体,在知识图谱中,第四实体具有第一属性,第四实体为概念之外的实体。服务器确定第四实体的数量超过第二预设数量。
36.在第四方面另一种可能的设计方式中,方法还包括:若第四实体的数量未超过第二预设数量,服务器生成第三答案,第三答案中包括第一实体和第四实体。服务器接收第二消息,第二消息指示选择第三答案中的第五实体,第五实体为第一实体和第四实体中的一个。服务器响应于接收到第二消息,生成第四答案,第四答案与知识图谱中,第五实体、第五实体的上位词和/或第五实体的下位词有关。
37.关于上述第四方面及其可能的设计方式所能达到的有益效果,可参考第三方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
38.第五方面,本技术实施例还提供一种电子设备,所述电子设备包括显示屏、存储器和一个或多个处理器,所述存储器与所述处理器耦合;其中,所述存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令。当所述计算机指令被所述处理器执行时,使得所述电子设备执行如第一方面及其任一种可能的设计方式所述的方法;或者,当所述计算机指令被所述处理器执行时,使得所述电子设备执行如第三方面及其任一种可能的设计方式所述的方法。
39.第六方面,本技术实施例提供一种芯片系统,该芯片系统应用于包括显示屏和存储器的电子设备;所述芯片系统包括一个或多个接口电路和一个或多个处理器;所述接口电路和所述处理器通过线路互联;所述接口电路用于从所述电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括所述存储器中存储的计算机指令。当所述处理器执行所述计算机指令时,所述电子设备执行如第一方面及其任一种可能的设计方式所述的方法。或者,当所述处理器执行所述计算机指令时,所述电子设备执行如第三方面及其任一种可能的设计方式所述的方法。
40.第七方面,本技术实施例提供一种服务器,其特征在于,所述服务器中存储有知识图谱,所述服务器包括存储器和一个或多个处理器,所述存储器与所述处理器耦合;其中,所述存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述处理器执行时,使得所述服务器执行如第二方面及其任一种可能的设计方式所述的方法。或者,当所述计算机指令被所述处理器执行时,使得所述服务器执行如第四方面及其任一种可能的设计方式所述的方法。
41.第八方面,本技术提供一种计算机存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如第一方面及其任一种可能的设计方式所述的方法。或者,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如第三方面及其任一种可能的设计方式所述的方法。
42.第九方面,本技术提供一种计算机存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在服务器上运行时,使得所述服务器执行如第二方面及其任一种可能的设计方式所述的方法。或者,当所述计算机指令在服务器上运行时,使得所述服务器执行如第四方面及其任一种可能的设计方式所述的方法。
43.第十方面,本技术提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如第一方面、第二方面、第三方面、第四方面及其任一种可能的设计方式所述的方法。
44.第十一方面,本技术提供一种问答系统,其特征在于,所述问答系统包括一个或多个上述第五方面所述的电子设备,和上述第七方面所述的服务器。
45.可以理解地,上述提供的第五方面所述的电子设备,第六方面所述的芯片系统,第七方面所述的服务器,第八方面和第九方面所述的计算机存储介质,第十方面所述的计算机程序产品,以及第十一方面所述的问答系统所能达到的有益效果,可参考第一方面、第二方面、第三方面、第四方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
附图说明
46.图1为本技术实施例提供的手机界面图之一;图2为本技术实施例提供的知识图谱的组成示意图之一;图3为本技术实施例提供的知识图谱的组成示意图之二;图4为本技术实施例提供的知识图谱的组成示意图之三;图5为本技术实施例提供的知识图谱的组成示意图之四;图6为本技术实施例提供的一种问答系统的构成示意图;图7为本技术实施例提供的问答方法的信令交互图之一;图8为本技术实施例提供的手机600和服务器610的软件架构图;图9为本技术实施例提供的自动构建知识图谱的过程示意图;图10为本技术实施例提供的问答方法的信令交互图之二;图11为本技术实施例提供的手机界面图之二;图12为本技术实施例提供的手机界面图之三;图13为本技术实施例提供的知识图谱的组成示意图之五;图14为本技术实施例提供的问答方法的信令交互图之三;图15为本技术实施例提供的手机界面图之四;图16为本技术实施例提供的手机界面图之五;图17为本技术实施例提供的手机界面图之六;图18为本技术实施例提供的问答方法的信令交互图之四;图19为本技术实施例提供的知识图谱的组成示意图之六;图20为本技术实施例提供的手机界面图之七;图21为本技术实施例提供的一种芯片系统的组成示意图。
具体实施方式
47.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
48.采用faq技术对用户输入的提问分析处理时,需要在语料库中维护大量的提问(包括标准提问和扩展提问),然后电子设备才能准确的识别用户的提问意图,反馈准确的答案给用户。
49.以产品的知识问答为例,假设有n款产品(如手机、笔记本、平板、智能电视等产
品),每款产品有m个常见问题,如产品参数(屏幕尺寸、电池容量等参数)、产品功能(通话、拍照、手机分身等功能)、产品参与的活动(双十一、年中大促等活动),每个常见问题的查询对应1个标准提问和z个扩展提问。那么,针对一款产品的一个常见问题,需要维护1 z个提问。其中,m、n和z均为大于或等于1的整数。通常情况下,m和n会远远大于1。
50.参见表1,以产品为表1中的荣耀60,常见问题为屏幕尺寸为例,并假设z=4,则需要为荣耀60的屏幕尺寸维护1个标准提问,如表1中的标准提问“荣耀60的屏幕尺寸有多大”。以及,需要为荣耀60的屏幕尺寸维护4个扩展提问,如表1中的扩展提问“荣耀60的屏幕尺寸”、“荣耀60的屏幕多大”、“荣耀60的屏幕尺寸是多少”以及“荣耀60有多大”。即需要为荣耀60的屏幕尺寸维护5个提问。
51.表1相应的,每款产品有m个常见问题,则需要维护m*(1 z)个提问,n款产品则需维护置n*m*(1 z)个提问。
52.以n=100,m=200,z=9为例,则需要维护的提问总数量为100*200*(1 9)=20万。很显然,采用faq技术,若要准确识别用户的提问意图,则需要维护大量的提问,会导致数据维护量大,维护难度高。
53.并且,即使维护了大量的提问,采用faq技术也只能针对一些意图相对模糊的提问,完成提问意图的准确识别,并反馈准确的答案。例如,提问为“荣耀60有多大”,采用faq技术可以识别出是在查询荣耀60的屏幕尺寸。然而,针对一些意图完全不清楚的提问,仍然无法准确的识别,从而无法反馈准确的答案。例如,提问中仅有一个名词,如“荣耀60”,意图完全不清楚,此时采用faq技术根本无法识别用户想要查询荣耀60的什么信息。
54.基于上述采用faq技术实现智能问答所存在的技术问题,本技术实施例提供一种问答方法,该方法可以应用于在线客服、智能语音交互、知识获取(如微信

公众号)等场景中。应用该方法,可在降低数据维护量和维护难度的前提下,当用户的问意图不明确时,准确的识别提问意图并反馈答案。
55.并且,该方法可以用于各领域知识的智能问答,如人物知识、电商知识、金融知识、医疗知识等。本文中,主要以3c领域的知识为例,来说明本技术实施例的方案。3c领域是指计算机(computer)、通讯(communication)和电子消费品(electronic consumer goods)三大领域。
56.在介绍本技术实施例提供的问答方法之前,先在此对该方法中涉及的相关术语做简单说明:1.知识图谱(knowledge graph)。
57.参见图2中的(a),知识图谱是由节点和边组成的结构化的知识库。图2中的(a)所示的圆圈即为节点,节点之间的箭头即为边,并且,图2中的(a)所示的节点表示实体,边表示实体之间的语义关系。知识图谱的基本构成单位主要有两种形式:
一种是“实体-关系-实体”三元组,该三元组可以表示物理世界中两个事务及其相互关系。如图2中的(a)所示,“荣耀60”和“活动1”两个实体及其之间的关系“参与”可以构成一个三元组,该三元组可以表示“荣耀60参与了活动1”。“荣耀60”和“活动2”两个实体及其之间的关系“参与”可以构成另一个三元组,该三元组可以表示“荣耀60参与了活动2”。
58.另一种是实体及其属性和属性值。知识图谱中每个实体都可以具有一些属性,属性是指该实体不会随着时间、空间的变化而变化的特性,例如,产品的颜色、上市时间、产品编号等特性。实体的属性和属性值可以绑定在实体上。如图2中的(a)所示,实体“荣耀60”绑定有颜色属性和属性值(如白色、黑色)以及上市时间属性和属性值(如2021.12)。
59.在一些场景中,实体可能具有很多属性,例如“荣耀60”除了具有颜色属性和上市时间属性之外,还具有屏幕尺寸、cpu型号、电池容量等大量的参数属性,以及具有通话、拍照等大量的功能属性。针对这种情况,若将属性和属性值都绑定在相应的节点上,则可能导致节点需要绑定的信息过多,不利于维护。基于此,在一些实施例中,参见图2中的(b),可以将实体的部分或者全部属性和属性值也以三元组的形式存储。如图2中的(b)所示的“荣耀60”的屏幕尺寸、cpu型号、电池容量等参数属性及其属性值都是以三元组的形式存储的,“荣耀60”为三元组中的一个实体,屏幕尺寸、cpu型号、电池容量等参数属性为三元组中的另一个实体,两个实体之间的关系为属性关系(如用“的”表示),属性关系从实体指向实体的属性,并且在两个实体对应的两个节点之间的边上还记录有属性值。如图2中的(b)所示,“荣耀60”对应的节点和“屏幕尺寸”对应的节点之间的边上记录有荣耀60的屏幕尺寸属性的属性值,即6.67英寸。“荣耀60”对应的节点和“cpu型号”对应的节点之间的边上记录有荣耀60的cpu型号属性的属性值,即骁龙

778。“荣耀60”对应的节点和“电池容量”对应的节点之间的边上记录有荣耀60的电池容量属性的属性值,即4800mah。如此,一方面可以减少节点绑定的信息,另一方面,当其他实体也具有相同的属性时,直接建立与其他实体与相应属性的三元组即可。从而利于维护。
60.在知识图谱中,以结构化的知识来表示事物及其相互关系,则针对一个产品的一个常见问题,仅需使用一个三元组或者实体及其属性和属性值的形式来表示即可,而无需维护多个问题。从而可以简化需要维护的数据。并且,随着产品和/或常见问题的增加,也仅需新增少量的维护数据即可。
61.示例性的,随着产品数量的增多,仅需在知识图谱中增加产品对应的节点,然后建立该节点与知识图谱中其他节点之间的关联即可。例如,新增了手机产品荣耀magic4,并且荣耀magic4也参与活动1,那么,如图3中的(a)所示,可以在图2中的(a)的基础上,增加节点“荣耀magic4”,并在“荣耀magic4”和“活动1”之间添加边,表示“荣耀magic4参与了活动1”。另外,荣耀magic4自身也具有一定的属性,如图3中的(a)中的颜色属性和属性值(如白色、流金色)以及上市时间属性和属性值(如2022.3)。
62.又示例性,随着产品的常见问题的增多,仅需在知识图谱中增加常见问题对应的节点,然后建立该节点与其他节点之间的关系即可。例如,荣耀magic4新增了刷新率调节功能,那么,如图3中的(b)所示,可以在图3中的(a)的基础上,增加节点“刷新率调节功能”,并在“荣耀magic4”和“刷新率调节功能”之间添加边,表示“荣耀magic4支持刷新率调节功能”。
63.2.知识图谱中的上位词和下位词。
64.在知识图谱中,一类节点表示实体,还有一类节点表示概念。概念是对实体的归类。实体及其所属的概念之间的关系为类属关系,可用isa表示。实体及其所属的概念和类属关系同样可以以三元组的形式表示。其中,实体和实体所属的概念为三元组中的两个实体,该两个实体之间的关系为类属关系,并且类属关系的箭头从实体指向实体所属的概念。参见图4中的(a),
ꢀ“
活动1”和“活动2”为两个实体,“活动1”和“活动2”所属的概念为“线上活动”,“活动1”和“线上活动”可以构成一个三元组中的两个实体,“活动1”和“线上活动”之间的关系为isa关系,并且箭头从“活动1”指向“线上活动”。“活动2”和“线上活动”可以构成另一个三元组中的两个实体,“活动2”和“线上活动”之间的关系也为isa关系,并且箭头从“活动2”指向“线上活动”。
65.在上述具有类属关系的实体和概念中,实体是其所属的概念的下位词,概念是其涵盖的实体的上位词。如图4中的(a)所示的“线上活动”是“活动1”和“活动2”的上位词,“活动1”和“活动2”是“线上活动”的下位词。
66.并且,在知识图谱中,一个概念还可以是另一个概念的子类。相反,后者则是前者的父类。该互为父子类的两个概念之间的关系为父子类关系,也可称为subclass-of关系。互为父子类关系的两个概念和父子类关系同样可以以三元组的形式表示。其中,互为父子类关系的两个概念为三元组中的两个实体,该两个实体之间的关系为父子类关系,并且父子类关系的箭头从子类指向父类。参见图4中的(b),“线上活动”和“线下活动”是“活动”的子类,“活动”是“线上活动”和“线下活动”的父类,“线上活动”和“活动”可以构成一个三元组中的两个实体,“线上活动”和“活动”之间的关系为父子类关系,并且箭头从“线上活动”指向“活动”。“线下活动”和“活动”可以构成另一个三元组中的两个实体,“线下活动”和“活动”之间的关系也为父子类关系,并且箭头从“线下活动”指向“活动”。
67.在上述具有父子类关系的两个概念中,父类是子类的上位词,子类是父类的下位词。如图4中的(b)中的“活动”是“线上活动”和“线下活动”的上位词,“线上活动”和“线下活动”是“活动”的下位词。
68.需要在此说明的是,概念也可以理解为一种抽象的实体。为了方便说明,在下文中,若无特殊说明,实体则包括前文中的概念和实体,而概念仅仅是概念。
69.3.实体之间的关系数量。
70.参见图5,在知识图谱中,构成三元组的实体与实体之间可以仅存在一种关系。如图5中的“荣耀60”和“手机”之间仅存在isa关系,表示“荣耀60所属的类是手机”。“手机”和“活动”之间仅存在参与的关系,表示“手机参与活动”。或者,实体与实体之间也可以存在多种关系。如图5中的“手机”和“发票”之间存在开具的关系,表示“手机发票的开具”,“手机”和“发票”之间还存在获取的关系,表示“手机发票的获取”。
71.本技术实施例提供的问答方法,可以应用于本技术实施例提供的问答系统。问答系统可以包括一个或多个电子设备和服务器。其中,电子设备中可以安装支持智能问答的应用(记为目标应用),如手机商城应用。服务器中包括图数据库,图数据库用于存储知识图谱。电子设备可以与服务器交互,将目标应用接收到的提问发送给服务器。服务器在接收到提问后,对提问分析处理,并查询图数据库得到答案,将答案发送给电子设备。电子设备在接收到答案后,可以将答案提供(如显示)给用户。
72.示例性的,上述电子设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔
记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,pda)、增强现实(augmented reality,ar)\虚拟现实(virtual reality,vr)设备等可以安装支持智能问答的应用的设备。例如,手机中的手机商城应用中可以提供智能客服的服务,即可以支持智能问答,则电子设备可以是手机。本技术实施例对该电子设备的具体形态不作特殊限制。
73.上述服务器可以是电子设备的生产商的服务器,该服务器可以是一个集群,也可以是多个集群,或者可以包括一类或多类服务器。通常情况下,该服务器是知识图谱的维护方的服务器。
74.参见图6和图7,以上述问答系统中的电子设备是图6所示的手机600,服务器是图6所示的服务器610为例,本技术实施例的问答方法包括:手机600接收用户输入的提问(可记为提问1),将提问1发送给服务器610。服务器610在接收到提问1后,检测提问1是否满足意图不明确的预设条件,例如,提问1是否仅由一个实体构成,或者提问1是否由毫不相关的实体和属性构成等,若满足,则可确定意图不明确。针对意图不明确的情况,服务器610可以查询知识图谱,获得提问1涉及的实体的上位词和下位词,根据查询结果得到答案,并将答案返回给手机600。最后手机600将答案提供(如显示)给用户。
75.综上所述,本技术实施例的方法,针对提问意图不明确的情况,可以借助知识图谱中提问1涉及的实体的上位词和下位词来识别提问意图,而无需依赖大量的提问(如标准提问和扩展提问)来识别。从而可以在降低数据维护量和维护难度的前提下,识别提问意图。并且,只要提问中有实体,就可以查询上位词和下位词,从而识别到提问意图,因此针对一些意图完全不明确的提问,也可以识别到相应的提问意图。
76.本技术实施例中,手机600和服务器610的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构或云架构。下文实施例,将主要以分层架构为例,示例性说明手机600和服务器610的软件架构。
77.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,参见图8,手机600的软件系统可以包括应用程序层,应用程序框架层,系统库以及内核层。
78.应用程序层中可以安装各种应用(application,app),如通话、备忘录、浏览器、联系人等应用。本技术实施例中,应用程序层中还安装有支持智能问答的应用(可记为目标应用)。例如,手机商城、支付宝

等提供智能客服服务的应用。该支持智能问答的应用可以接收用户输入的提问(如提问1),并展示提问的答案。
79.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。在一些实施例中,应用程序框架层中包括预设api,目标应用调用预设api可以向服务器610请求获得提问的答案。
80.系统库可以包括多个功能模块。例如:图层整合器(surfaceflinger),媒体库(media libraries),三维(3d)图形处理库(例如:opengl es),二维(2d)图形处理库(例如:sgl)等。surfaceflinger用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如: mpeg4,h.264,mp3,aac,amr,jpg,png等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2d图形处理库是2d绘图
的绘图引擎。
81.内核层是硬件和软件之间的层。内核层至少包含摄像头驱动,音频驱动等,本技术实施例对此不做任何限制。
82.继续参见图8,服务器610的软件系统可以包括语义解析层、kbqa服务层和数据层。
83.语义解析层中包括语义解析引擎,语义解析引擎可以接收来自手机600的目标应用的提问,并对提问执行标注处理,如去除停用词、替换同义词等处理。
84.在一些实施例中,在标注处理完成后,语义解析引擎还可以对提问分类,确定提问的分类,例如,提问的分类包括查询价格、查询参数、查询功能等。该分类结果可用于在得到答案后,将答案封装成相应分类的样式,然后提供给用户。
85.kbqa服务层可以根据语义解析引擎执行标注处理的结果,查询知识图谱,得到提问的答案,并将答案反馈给手机600中的目标应用。
86.在一些实施例中,kbqa服务层还可以根据语义解析引擎对提问的分类,对答案封装,例如,添加引导语,生成模板化的答案。
87.示例性的,kbqa服务层包括识别模块、实体链接模块和推理查询模块。其中,识别模块可以根据标注处理的结果,抽取提问中的实体、属性和/或关系。实体链接模块可以将抽取的实体中有歧义的实体消解掉,并建立剩余的实体和知识图谱中的对应实体(可记为标准实体)的链接,即将剩余的实体和知识图谱中的实体对应上。推理查询模块用于检测提问意图是否明确,若明确,则根据标准实体以及提问中的属性和/或关系查询知识图谱,生成答案。若不明确,则从知识图谱中查询提问中涉及的实体(如标准实体)的上位词和下位词,根据查询结果来得到答案。并且,推理查询模块还可以将答案反馈给手机600中的目标应用。
88.数据层包括知识库和知识图谱。知识库用于存储3c领域专属的产品知识。例如,当有新产品上线时,可以将新产品的产品文档存储在知识库中。知识图谱中则是以结构化的形式存储知识库中的产品知识,为kbqa服务层(如推理查询模块)提供查询数据。参见图9,从知识库中的产品知识中识别出实体、属性以及关系,然后对其结构化,则可自动构建得到知识图谱。也就是说,本技术实施例中的知识图谱可以依据知识库自动构建得到,构建效率高。而在faq技术中,必须由人工依据知识库中的产品知识来穷尽用户各种可能的提问方式,得到标准提问和扩展提问,从而构建预料库用于实现智能问答,构建效率低。
89.至此,需要说明的是,上述图8对服务器610的软件功能的划分仅为示例性的,实际实施时,也可以增加功能模块、减少功能模块等。例如,可以将kbqa服务层中推理查询模块划分为两个模块,一个用于提问意图明确时的处理,另一个用于意图不明确时的处理。又例如,可以省去kbqa中的实体链接模块。本技术实施例对此不作具体限定。
90.下面,将以图8所述手机600和服务器610的软件架构为例,来说明本技术实施例的方法。
91.参见图10,本技术实施例提供的问答方法包括以下步骤:s1001、手机600中的目标应用接收提问1(也可以称为第一提问)。
92.以目标应用是手机商城应用为例,在用户使用手机商城的在线客服服务时,可以在图11中的(a)所示的文本编辑框中输入提问1,如
ꢀ“
荣耀60参与的活动有哪些”。然后,目标应用响应于用户确认提问的操作,如点击发送按钮1101的操作,则可以接收到提问1,并
且可以在目标应用中显示提问1,如图11中的(b)所示的对话框中显示有提问1“荣耀60参与的活动有哪些”。
93.应理解,提问的形式并不限于文本。在一些实施例中,也可以通过语音、图片等形式来输入提问。例如,在手机的语音助手应用中,用户可以以语音形式输入提问。
94.s1002、目标应用向服务器610中的语义解析引擎发送提问1。
95.目标应用可以调用预设api,向服务器610的语义解析引擎发送提问1,以供语义解析引擎完成对提问1的标注和/或分类等处理。
96.s1003、语义解析引擎对提问1进行标注处理,得到标注结果。
97.标注处理可以包括去除停用词。停用词是指应用十分广泛,但是却没有实际含义的词语,去除提问1中的停用词,可以避免后续查询时受到停用词的干扰,提升查询的性能。标注处理也可以包括替换同义词。用户在输入提问时,能够想到的词语是非常有限的,而且这些词语并不一定能和知识图谱中的相应实体和/或属性完全对应。替换同义词,则可以将提问1中一些词语用其同义词来替换表达,后续在查询知识图谱时,则不会受限制于提问1中的用词。标注处理也可以包括分词处理。分词处理是将以自然语言表达的提问1拆分为词语,方便后续识别实体、属性、关系等。
98.在一些实施例中,在完成标注处理后,语义解析引擎还可以对提问1分类,确定提问1所属的分类,例如,提问1所属的分类包括查询价格、查询参数、查询功能等。该分类结果可用于在得到答案后,将答案封装成相应分类的样式,然后提供给用户。示例性的,不同分类的提问的答案中包括不同的答案引导语。例如,查询价格的提问,其答案中包括引导语“您查询的产品的价格如下”;查询参数的提问,其答案模板中包括引导语
“……
产品的如下功能不可错过”。
99.s1004、语义解析引擎向服务器610中的识别模块发送标注结果。
100.s1005、识别模块根据标注结果抽取提问1中的实体、属性和/或关系,得到抽取结果。
101.其中,抽取结果中包括提问1中的实体、属性和/或关系。
102.识别模块可采用词典匹配、相似度匹配和/或机器学习模型匹配等技术从提问1中抽取实体、属性和/或关系。以机器学习模型匹配为例,首先通过已有的样本数据训练抽取实体、属性和关系的机器学模型,然后将提问的标注结果输入到该模型中,即可输出该提问中的实体、属性和/或关系。
103.s1006、识别模块向服务器610中的实体链接模块发送抽取结果。
104.s1007、实体链接模块将抽取出的实体与知识图谱中对应的标准实体(可记为实体1)链接,得到更新后的抽取结果。
105.示例性的,从提问1中抽取出的实体包括:“荣耀60”和“处理器”。实体链接模块可以将“荣耀60”链接到知识图谱,如图2中的(b)所示的标准实体“荣耀60”,将“处理器”链接到知识图谱,如图2中的(b)所示的标准实体“cpu型号”。从而使得从提问1中抽取出的实体可以与知识图谱中的标准实体对应,便于后续查询得到提问1的答案。
106.其中,更新后的抽取结果中包括提问1中的属性和/或关系,还包括提问1涉及的标准实体(即实体1),即:知识图谱中对应提问1中的实体的标准实体。
107.s1008、实体链接模块向服务器610中的推理查询模块发送更新后的抽取结果。
108.在另一些实施例,也可以省略上述s1006-s1008的步骤,识别模块在得到抽取结果后,则可以直接将抽取结果发送给推理查询模块,然后推理查询模块则可以根据识别模块的抽取结果来执行后续查询提问1的答案的步骤。本技术实施例对此不作具体限定。下文中,主要以推理查询模块根据实体链接模块更新后的抽取结果来执行后续查询提问1的答案的步骤为例来说明。应理解,若替换为根据识别模块的抽取结果来执行后续查询提问1的答案的步骤,那么仅需将下文中的实体1替换为s1005中从提问1中抽取出的实体即可。
109.通常情况下,只要提问1中的语义表达清楚,推理查询模块则可以明确用户的提问意图。例如,提问1是图11中的“荣耀60参与的活动有哪些”,则可以很明确用户的提问意图是查询荣耀60可以参与哪些活动。若提问1中的语义表达不准确,例如,提问1中仅有一个实体构成,过于简略,则可能导致推理查询模块难以识别用户的提问意图。
110.基于此,在本技术实施例中,推理查询模块在接收到更新后的抽取结果后,首先检提问意图是否明确,具体如下s1009所示:s1009、推理查询模块检测更新后的抽取结果是否满足意图不明确的预设条件。
111.示例性的,提问1为图12中的(a)所示的“荣耀60”,相应的,更新后的抽取结果中可能既没有属性,也没有关系,而仅有一个实体1,即“荣耀60”。很显然,类似图12中的(a)所示的场景(记为场景1),即:更新后的抽取结果中仅有一个实体1(也可以称为第一实体),但是没有关系和属性时,不清楚用户想要查询该实体的什么内容,提问意图不明确。因此,在一些实施例中,预设条件可以包括:更新后的抽取结果中的实体1仅有一个,但是没有关系和属性。在本实施例中,当推理查询模块检测出更新后的抽取结果的实体1仅有一个,但是没有关系和属性时,则可以识别为提问意图不明确的场景。
112.又示例性的,提问1为图12中的(b)所示的“荣耀60的有效时间”,相应的,更新后的抽取结果中可能有一个实体1,即“荣耀60”,和一个属性,即“有效时间”,然而在知识图谱中,如图4中的(b)所示的知识图谱中,“荣耀60”不具有“有效时间”的属性。很显然,类似图12中的(b)所示的场景(记为场景2),即:更新后的抽取结果中有一个实体1和属性,但是实体1并不具有该属性时,不清楚用户想要查询什么内容,提问意图不明确。基于此,在一些实施例中,预设条件可以包括:更新后的抽取结果中有一个实体1和属性,但是实体1并不具有该属性。在本实施例中,当推理查询模块检测出更新后的抽取结果中有一个实体1和属性,但是实体1并不具有该属性时,则可以识别为提问意图不明确的场景。
113.应注意,上述列举的仅为几种意图不明确的典型示例。实际实施时,并不以此为限。示例性的,提问1为图12中的(c)所示的“手机的发票”,相应的,更新后的抽取结果中可能与两个实体1,即“手机”和“发票”,但是却不包括该两个实体1的关系,而在知识图谱中,如图5所示的知识图谱中,“手机”和“发票”两个实体之间有多种关系,该情况下则不清楚用户想要查询“手机”和“发票”之间的什么关系,意图不明确。因此,当推理查询模块检测出更新后的抽取结果中有两个实体1,但是没有两个实体1之间的关系,同时知识图谱中该两个实体1之间有多种关系时,则可以识别为提问意图不明确的场景。本技术实施例在此不一一列举所有意图不明确的情况。
114.反之,若更新后的抽取结果不满足意图不明确的预设条件,则识别为提问意图明确的场景。
115.进一步的,若推理查询模块识别出提问意图明确,则可以按照提问意图查询知识
图谱,得到提问1的答案。例如,从更新后的抽取结果中包括两个实体1,分别为“荣耀60”和“活动”,以及包括关系为参与,意图很明确,推理查询模块可以查询知识图谱,如图5中所示的知识图谱,得到荣耀60参与的活动有活动1和活动2。本技术实施例中对该种情况不作详细说明。若推理查询模块识别出提问意图不明确,则执行下文s1010及其后续步骤,以得到准确的答案。
116.s1010、推理查询模块从知识图谱中查询实体1的上位词和下位词,得到查询结果1。
117.其中,推理查询模块可以从知识图谱中查询与实体1有关的isa关系和/或父子类关系,从而实现查询实体1的上位词和下位词。
118.若该实体1与知识图谱中的实体2具有isa关系,并且实体2是实体1所属的类,那么实体2是实体1的上位词。例如,实体1是图13中的“荣耀60”,“荣耀60”与“手机”具有isa关系,即实体2是“手机”。在isa关系中,箭头从实体指向实体所属的类,则图13中“手机”是“荣耀60”所属的类,那么“手机”是“荣耀60”的上位词。或者,实体1是实体2所属的类,那么实体2是实体1的下位词。例如,实体1是图13中的“手机”,采用类似的方法可以确定“荣耀60”是实体2,并且“荣耀60”是“手机”的下位词。
119.若该实体1与知识图谱中的实体3具有父子类关系,并且实体3是实体1的父类,那么实体3是实体1的上位词。例如,实体1是图13中的“线上活动”,“线上活动”与“活动”具有父子类关系,即实体3是“活动”。在父子类关系中,箭头从子类指向父类,则图13中的“活动”是“线上活动”的父类,那么“活动”是“线上活动”的上位词。或者,实体3是实体1的子类,那么实体3是实体1的下位词。例如,实体1是图13中的“活动”,采用类似的方法可以去确定“线上活动”是实体3,并且“线上活动”是“活动”的下位词。
120.除此之外,若在知识图谱中,既没有与实体1相关的isa关系,也没有与实体1相关的父子类关系,那么实体1既没有上位词,也没有下位词。例如,实体1是图13中的“真伪”,图13中既没有与“真伪”相关的isa关系,也没有与“真伪”相关的父子类关系,那么“真伪”既没有上位词,也没有下位词。
121.查询实体1的上位词和下位词得到的查询结果1中可以包括实体1是否具有上位词和/或下位词的指示信息。示例性的,指示信息1指示实体1有上位词和下位词;指示信息2指示实体1有上位词,无下位词;指示信息3指示实体1有下位词,无上位词;指示信息4指示实体1无上位词,无下位词。进一步的,若实体1具有上位词和/或下位词,查询结果1中还可以包括实体1的上位词和/或下位词。具体地,查询结果1中包括指示信息1,则查询结果1中还包括实体1的上位词和下位词;查询结果1中包括指示信息2,则查询结果1中还包括实体1的上位词;查询结果1中包括指示信息3,则查询结果1中还包括实体1的下位词。
122.以实体1是图4中的(b)中的“荣耀60”为例,则查询结果1可以为“1,上位词:手机;下位词:无”。其中,1为指示信息2,用于指示“荣耀60”有上位词,无下位词。
123.s1011、推理查询模块根据查询结果1生成答案。
124.相较于实体1:实体1的下位词的针对性更强。示例性的,实体1是图13中的“线上活动”,“线上活动”的下位词包括“活动1”和“活动2”,很显然,“活动1”和“活动2”是指具体的活动,针对性更强。基于此,在一些实施例中,若查询结果1中包括实体1的下位词,推理查询模块可以根据下位词生成答案。例如,针对提问1“线上活动”,则可以生成答案“您想要查询
活动1还是活动2”。从而可以生成包括针对性更强的实体的答案。
125.以及,相较于实体1:实体1的上位词的概括性通常更强。并且,相较于与实体1有关系1的实体:与实体1的上位词有关系1的实体的概括性也更强。也就是说,与实体1的上位词有关系1的实体可以囊括与实体1有关系1的一个或多个实体。
126.示例性的,实体1是图13中的实体“荣耀60”,“荣耀60”的上位词是图13中的“手机”。很显然,“手机”比“荣耀60”的概括性更强。图13中“手机”与“参数”之间的关系为属性关系(可用“的”表示),“荣耀60”与“屏幕尺寸”、“cpu型号”以及“电池容量”之间的关系也为属性关系,即关系1为属性关系。很显然,“参数”比“屏幕尺寸”、“cpu型号”、“电池容量”的概括性更强。也就是说,“参数”可以囊括“屏幕尺寸”、“cpu型号”、“电池容量”。以及,图13中“手机”与“活动”之间的关系为参与关系,“荣耀60”与“活动1”以及“活动2”之间的关系也为参与关系,即关系1为参与关系。很显然,“活动”比“活动1”、“活动2”的概括性更强。也就是说,“活动”可以囊括“活动1”、“活动2”。
127.那么,与实体1的上位词有关系的实体的数量,则通常少于与实体1有关系的实体的数量。仍以实体1是图13中的“荣耀60”为例,与“荣耀60”有关系的实体有“屏幕尺寸”、“cpu型号”、“电池容量”、“活动1”以及“活动2”,数量为5,实际中通常有更多。而与“荣耀60”的上位词,即“手机”有关的实体仅有“参数”和“活动”,数量为2,少于5。基于此,在一些实施例中,若查询结果1中包括实体1的上位词,推理查询模块可以根据与该上位词有关系的实体生成答案。例如,针对提问1“荣耀60”,则可以生成答案“您想要查询荣耀60的参数还是查询荣耀60参与的活动”,而无需将“荣耀60”相关的大量实体都用于生成答案。从而可以生成包括概括性更强、且数量较少的实体的答案。
128.除此之外,若查询结果1指示实体1既没有上位词,也没有下位词,则表明无法更概括的、或者更有针对性的去预测用户的提问意图。基于此,在一些实施例中,若查询结果1指示实体1既没有上位词,也没有下位词,推理查询模块可以根据实体1的属性来生成答案。从而可以得到包括实体1的相关属性的答案。
129.应注意,推理查询模块在生成答案时,可以根据语义解析引擎对提问1的分类,将答案封装成相应分类的样式,例如,添加引导语,得到封装后的答案。
130.s1012、推理查询模块向目标应用返回答案。
131.s1013、目标应用将答案提供给用户。
132.目标应用可以显示和/或语音播报答案,实现将答案提供给用户。下文中,主要以显示答案的方式为例来说明本技术方案。
133.综上所述,采用本技术实施例的方法,针对提问意图不明确的情况,可以借助知识图谱中提问1涉及的实体的上位词和下位词来识别提问意图,而无需依赖大量的提问(如标准提问和扩展提问)来识别。从而可以在降低数据维护量和维护难度的前提下,识别提问意图。并且,相较于faq技术中,在提问意图极其不清楚时,例如,提问中仅包括一个实体时,即使维护有大量的提问,也无法得到准确的答案:本技术实施例中依据实体的上位词和下位词,则只要提问中涉及实体,均可以得到相关的答案,从而可以进一步提升问答的智能性。
134.下面将以场景1和场景2为例,来详细说明在得到查询结果1后得到答案并提供给用户的具体实现。
135.在场景1中,更新后的抽取结果中有一个实体1,但是没有关系和属性。
136.在一些情况中,查询结果1指示实体1既没有上位词,也没有下位词。参见图14中的情况一,针对该情况,上述s1011进一步包括s1411和s1412,s1012进一步包括s1413,s1013进一步包括s1414:s1411、若查询结果1指示实体1没有上位词和下位词,推理查询模块查询实体1的属性及属性值,得到查询结果2。
137.示例性的,实体1是图13中的“真伪”,查询结果1指示实体1没有上位词和下位词,此时推理查询模块可以查询“真伪”的属性以及属性值。
138.其中,查询结果2包括实体1的属性和属性值。
139.在一些实施例中,推理查询模块可以查询知识图谱中实体1对应的节点绑定的属性和属性值,得到查询结果2。仍以实体1是图13中的“真伪”为例,“真伪”对应的节点绑定的属性有“鉴定依据”和“鉴定流程”,并且“鉴定依据”的属性值为“防伪标识”,“鉴定流程”的属性值为“步骤1
……
;步骤2
……
;步骤3
……”
。那么,查询结果2中可以包括“鉴定依据”属性及其属性值“防伪标识”,“鉴定流程”属性及其属性值“步骤1
……
;步骤2
……
;步骤3
……”

140.在另一些实施例中,实体的属性和属性值也可以以三元组的形式来存储(可参见前文关于术语“知识图谱”的介绍)。在本实施例中,推理查询模块可以查询与实体1具有属性关系(如以“的”表示的关系)、且属性关系从实体1指出的实体(可记为实体0)作为实体1的属性,以及查询实体1与实体0之间的边上的属性值作为相应属性的属性值,得到查询结果2。
141.应注意,实体1的一部分属性可以以实体及其属性和属性值的形式存储,另一部分属性可以以三元组的形式存储。因此,推理查询模块在查询实体1的属性及属性值时,可以结合上述两种实施例的方式来查询。
142.s1412、推理查询模块根据查询结果2生成答案1(也可以称为第五答案),答案1中包括实体1的属性和属性值。
143.推理查询模块可以直接将查询结果2作为答案1。或者,推理查询模块也可以将查询结果2处理为预设样式,例如添加预设的引导语“您查询的信息如下”,得到答案1。
144.示例性的,查询结果2为:鉴定依据,防伪标识;鉴定流程,步骤1
……
;步骤2
……
;步骤3
……
。那么,推理查询模块可以直接将该查询结果2作为答案1。
145.s1413、推理查询模块向目标应用返回答案1。
146.s1414、目标应用显示答案1。
147.示例性的,针对图15所示的提问1“真伪”,目标应用可以显示图15所示的答案1501,答案1501中包括“真伪”的属性和属性值,即答案1501是答案1。
148.采用本实施例的方法,针对情况一,可以将实体1的属性及属性值提供给用户,从而可以使用户获取到实体1的相关属性信息。
149.在另一些情况中,查询结果1指示实体1有下位词、但没有上位词。该情况主要出现在针对知识图谱中的顶级概念提问的情形下。示例性的,图13中的“活动”、“手机”、“参数”等虚线圆圈表示的实体为概念,并且这些概念之上已无更宽泛的概念,即为顶级概念。若提问1是针对这些顶级概念提问,那么极有可能会出现有下位词,无上位词的情况。应注意,本文附图(如图13)所示的知识图谱中的虚线圆圈和实线圆圈仅用于示意概念和非概念的实
体,实际的知识图谱中可能并不以这种形式来区分。例如,在实际的知识图谱中,可能不同的节点有不同的标签,用于指示节点表示的是概念还是非概念的实体。
150.参见图14中的情况二,针对该情况,上述s1011进一步包括s1421以及s1426-s1428,s1012进一步包括s1422和s1429,s1013进一步包括s1423和s1430,并且,问答方法还包括s1424-s1425:s1421、若查询结果1指示实体1仅有下位词,推理查询模块根据实体1的多个下位词1(也可以称为第五实体)生成答案2(也可以称为第三答案),答案2中包括多个下位词1。
151.推理查询模块可以直接将多个下位词1作为答案1。或者,推理查询模块也可以为多个下位词1完成添加引导语等封装处理,生成答案2。
152.示例性的,提问1“活动”,则实体1可以是“活动”,查询结果1指示“活动”的两个下位词2分别为图13中的“线上活动”和“线下活动”,推理查询模块可以生成如下答案2:您想要查询哪种类型的活动:线上活动或线下活动。
153.在答案2中,多个下位词1可以以文本的形式存在,例如,上述举例中的下位词2为“线上活动”和“线下活动”,相应的,答案2中包括文本“线上活动或线下活动”。或者,答案2中包括多个选项1,多个选项1与多个下位词1一一对应,每个选项1上有对应的下位词1的提示文本。仍以多个下位词1为“线上活动”和“线下活动”为例,答案2中则可以包括两个选项1(如选项a和选项b),选项a上有“线上活动”的提示文本,对应下位词1“线上活动”,选项b上有“线下活动”的提示文本,对应下位词1“线下活动”。下文中,将主要以选项形式为例来说明本技术实施例的方案。
154.s1422、推理查询模块向目标应用返回答案2。
155.s1423、目标应用显示答案2。
156.示例性的,针对图16中的(a)所示的提问1“活动”,若多个下位词1包括“线上活动”和“线下活动”,则答案2可以为图16中的(a)所示的答案1601。答案1601中包括两个选项1,分别为按钮16011和按钮16012,按钮16011上显示有提示文本“线上活动”,对应下位词2“线上活动”,按钮16012上显示有提示文本“线下活动”,对应下位词2“线下活动”。
157.目标应用显示答案2后,则可以为用户提供多个下位词2供选择。并且,相较于实体1,下位词2为更具有针对性的实体。用户选择多个下位词2中的任一个(可记为下位词2,也可以称为第六实体),则表示用户想要查询该下位词2相关的信息。从而可以更明确用户的提问意图。例如,用户点击图16中的(a)中所示的按钮16012,表示用户想要查询“线下活动”的相关信息,即下位词2是“线下活动”。
158.s1424、目标应用接收用户对下位词2的选择操作,下位词2是多个下位词1中的一个。
159.其中,选择操作可以是用户对选项2的点击或者长按等操作,选项2是多个选项1中的一个,选项2对应下位词2。例如,下位词2是“线下活动”,选择操作可以是用户对图16中的(a)所示的按钮16012的点击操作。或者,选择操作可以是用户输入(包括文本或者语音输入)下位词2的操作。例如,下位词2是“线下活动”,选择操作可以是用户在图16中的(a)所示的文本框中输入文本“线下活动”的操作。
160.s1425、目标应用向推理查询模块发送通知1(也可以称为第二消息),通知1指示用户选择下位词2。
161.s1426、推理查询模块响应于接收到通知1,查询下位词2的下位词,得到查询结果3。
162.示例性的,下位词2是“线上活动”,推理查询模块从知识图谱,如图13所示的知识图谱,查询“线上活动”的下位词,可以查询到“线上活动”有两个下位词,分别为“活动1”和“活动2”。
163.又示例性的,下位词2是“线下活动”,推理查询模块从知识图谱,如图13所示的知识图谱,查询“线下活动”的下位词,可以查询到“线下活动”没有下位词。
164.查询结果3中包括用于指示下位词2是否有下位词的指示信息,示例性的,指示信息5知识下位词2有下位词,指示信息6指示下位词2没有下位词。以及,若下位词2有下位词,则查询结果3中还包括下位词2的多个下位词3。以下位词2为“线上活动”,“线上活动”有两个下位词3,分别为“活动1”和“活动2”为例,那么查询结果3可以为“1,下位词:活动1、活动2”,其中1为指示信息5,用于指示“线上活动”有下位词。
165.s1427、若查询结果3指示下位词2没有下位词,推理查询模块查询下位词2的属性及属性值,得到查询结果4。
166.关于查询属性及属性值的具体实现,可参见前文s1411的说明,具体仅需将其中的实体1替换为下位词2即可,此处不再赘述。
167.其中,查询结果4中包括下位词2的属性及属性值。
168.示例性的,下位词2是图13中的“线下活动”,“线下活动”的属性包括简介属性和活动形式属性(图13中未示出),那么查询结果4中包括“线下活动”的简介属性及属性值,和活动形式属性及属性值。
169.s1428、推理查询模块根据查询结果4生成答案3(也可以称为第四答案),答案3中包括下位词2的属性和属性值。
170.推理查询模块可以直接将查询结果4作为答案3。或者,推理查询模块也可以对查询结果4完成添加引导语等封装处理,得到答案3。
171.s1429、推理查询模块向目标应用返回答案3。
172.s1430、目标应用显示答案3。
173.示例性的,对应图16中的(a)所示的提问1“活动”,若下位词2为图16中的(a)所示的按钮16012对应的“线下活动”,则答案3可以是图16中的(b)所示的答案1602,答案1602中包括“线下活动”的简介属性及属性值,如“线下活动是指
……”
,以及包括活动形式属性及属性值,如“商场促销、发放到店消费的优惠券等”。
174.与上述s1427-s1429不同的是:若查询结果3指示下位词2有下位词,则与查询结果1指示实体1仅下位词类似,可以采用类似s1421-s1426的流程来继续为用户提供更具有针对性的实体,如下位词2的下位词,并在接收到用户的选择后继续查询更下位的实体。此处不再赘述。如此循环往复,直至用户选择的下位词不具有更下位的词语,则不再继续类似s1421-s1426的流程,而是采用类似s1427-s1429的流程,将用户选择的下位词的属性及属性值推送给用户。
175.采用本实施例的方法,针对情况二,即针对知识图谱中的顶级概念提问的情形,可以逐步向用户推送更下位的实体,以明确用户的提问意图,最终将准确的答案提供给用户。
176.在另一些情况中,查询结果1指示实体1有上位词、但没有下位词。该情况主要出现
在针对知识图谱中非概念的实体提问的情形下。非概念的实体即知识图谱中除概念之外的实体。示例性的,图13中的“荣耀60”、“活动1”、“活动2”等实线圆圈表示的实体是非概念的实体。若提问1是针对这些实线圆圈表示的实体提问,那么极有可能出现有上位词、无下位词的情况。
177.参见图14中的情况三,针对该情况,上述s1011进一步包括s1431-s1432以及s1437-s1438,上述s1012进一步包括s1433和s1439,上述s1013进一步包括s1434和s1440,并且,问答方法还包括s1435和s1436。
178.s1431、若查询结果1指示实体1仅有上位词,推理查询模块则查询与该上位词具有关系1的实体4(也可以称为第二实体),得到查询结果5。
179.其中,关系1可以是所有的关系。那么,查询与该上位词具有关系1的实体4是指:查询知识图谱中与该上位词构成三元组的所有实体。或者,关系1可以是除isa关系和父子类关系之外的关系,如此,可以排除掉实体1本身,还可以避免引入与实体1关系较远的实体。下文实施例中,将主要以关系1是除isa关系和父子类关系之外的关系为例来说明。查询结果5中包括实体4,实体4可以有一个或者多个。
180.示例性的,实体1是“荣耀60”,查询结果1指示“荣耀60”有上位词“手机”,那么推理查询模块从知识图谱中,如图13所示的知识图谱中,可以查询到与“手机”具有关系1的实体4包括“参数”和“活动”,则查询结果5中可以包括“参数”和“活动”。很显然,实体4中并未包括实体1本身,即“荣耀60”,也未包括与“手机”有isa关系的实体(如除荣耀60之外的手机实体,图中未示出)以及与“手机”有父子类关系的实体(图中未示出),从而可以使得到的实体4与实体1的关系都较为紧密。
181.s1432、推理查询模块根据查询结果5生成答案4(也可以称为第一答案),答案4中包括实体4。
182.推理查询模块可以直接将查询结果5作为答案4。或者,推理查询模块也可以对查询结果5完成添加引导语等封装处理,得到答案4。示例性的,若实体4的数量为一个,推理查询模块可以为查询结果5添加引导语1,如“您是要查询(实体4)吗”,得到答案4;若实体4的数量为多个,推理查询模块可以为查询结果5添加引导语2,如“您想要查询如下哪项信息”,得到答案4。
183.与前文答案2中的多个下位词1类似的,在答案4中,实体4可以以文本的形式存在。或者,答案4中包括选项3(也可以称为第一选项),选项3与实体4一一对应,每个选项3上有对应的实体4的提示文本。应理解,若实体4有一个,则选项3有一个,若实体4有多个,则选项3有多个。示例性的,有两个实体4,分别为“参数”和“活动”,则答案4中可以包括两个选项3(如选项c和选线d),选项c上有“参数”的提示文本,对应实体4“参数”,选项d上有“活动”的提示文本,对应实体4“活动”。
184.s1433、推理查询模块向目标应用返回答案4。
185.s1434、目标应用显示答案4。
186.示例性的,对应图17中的(a)所示的提问1“荣耀60”,若实体4为“活动”,那么答案4可以为图17中的(a)所示的答案1701。答案1701中包括两个选项3,分别为按钮17011和按钮17012,按钮17011上显示有提示文本“参数”,对应实体4“参数”,按钮17012上显示有提示文本“活动”,对应实体4“活动”。
187.目标应用显示答案4后,则可以提供实体4供选择确认。例如,“荣耀60”具有各种参数,如屏幕尺寸、cpu类型等,“荣耀60”还可以参与各种活动,如活动1、活动2等。显然,与“荣耀60”相关的实体有很多。而显示答案4,则可以提供这些与实体1相关的实体的类别,如参数、活动给用户选择。即提供概括性更强、且数量较少的实体供用户选择。用户选择实体4中的一个(可记为实体5,也可称为第三实体),则表示用户想要查询实体5的相关信息。例如,用户选择图17中的(a)所示的按钮17012,表示用户想要查询荣耀60的活动信息,即实体5是“活动”。
188.s1435、目标应用接收用户对实体5的选择操作,实体5属于实体4。
189.其中,选择操作可以是用户对选项4(也可以称为第二选项)的点击或者长按等操作,选项4属于选项3,选项4对应实体5。例如,实体5是“活动”,选择操作可以是用户对图17中的(a)所示的按钮17012的点击操作。或者,选择操作可以是用户输入(包括文本或者语音输入)实体5的操作。
190.s1436、目标应用向推理查询模块发送通知2(也可以称为第一消息),通知2指示用户选择实体5。
191.s1437、推理查询模块响应于接收到通知2,查询与实体1具有关系2(也可以称为第一关系)的实体6(也可以称为第四实体),得到查询结果6,关系2是实体1的上位词和实体5之间的关系。
192.示例性的,实体1是图13中的“荣耀60”,实体1的上位词是图13中的“手机”,实体5是图13中的“活动”,则关系2为“手机”和“活动”之间的关系,即关系2为参与关系。推理查询模块在接收到通知2之后,则可以查询图13所示的知识图谱,得到与“荣耀60”具有参与关系的实体6有“活动1”和“活动2”。
193.其中,查询结果6中可以包括实体6。例如,实体6有“活动1”和“活动2”,则查询结果6中可以包括“活动1”和“活动2”。
194.s1438、推理查询模块根据查询结果6生成答案5(也可以称为第二答案),答案5中包括实体6。
195.推理查询模块可以直接将查询结果6作为答案5。或者,推理查询模块也可以对查询结果6完成添加引导语等封装处理,得到答案5。示例性的,实体1为“荣耀60”,查询结果6中包括两个实体6,分别为“活动1”和“活动2”,推理查询模块可以生成如下答案5“荣耀60参与的活动有活动1和活动2”。
196.s1439、推理查询模块向目标应用返回答案5。
197.s1440、目标应用显示答案5。
198.示例性的,对应图17中的(a)所示的提问1“荣耀60”,若实体5是图17中的(a)所示的按钮17012对应的实体“活动”,查询结果6中包括两个实体6,分别为“活动1”和“活动2”,那么在接收到用户对图17中的(a)所示的按钮17012的点击操作后,目标应用显示的答案5可以是图17中的(b)所示的答案1702,该答案1702中包括“活动1”和“活动2”两个实体。
199.采用本实施例的方法,针对情况三,即针对知识图谱中非概念的实体提问的情形,可以先向用户推送与该实体相关的实体的类别,以明确用户想要查询的类别。从而可以通过推送概括性强、且数量较少的实体来明确用户的提问意图。在获取用户想要查询的类别之后,进一步针对用户想要查询的类别推送答案。从而准确推送用户需要的答案。
200.进一步的,在一些场景中,可以三元组的形式存储实体(如实体1)及其属性和属性值(可参见前文关于术语“知识图谱”的介绍)。示例性的,实体1是图13中的“荣耀60”,其屏幕尺寸属性、cpu型号属性、电池容量属性都是以实体存在的,属性关系(如可用“的”表示)和属性值都记录在“荣耀60”与属性对应的实体相连的边上。例如,屏幕尺寸属性的属性值“6.67英寸”记录在“荣耀60”和“屏幕尺寸”相连的边上。
201.基于此,在情况三的一些实施例中,s1437进一步包括:若关系2为属性关系,推理查询模块响应于接收到通知2,需要查询与实体1具有关系2的实体6,该实体6即为实体1的属性(也可以称为第一属性)。还需要查询实体1在实体6指示的属性上的属性值。其中,该属性值在实体1和实体6相连的边上。查询结果6中不仅包括实体6(即实体1的属性),还包括实体1在实体6指示的属性的属性值。相应的,s1438进一步包括:推理查询模块根据查询结果6生成答案5,答案5中不仅包括实体6(即实体1的属性),还包括实体1在实体6指示的属性上的属性值。那么,最终目标应用显示的答案5中也包括实体6(即实体1的属性),以及实体1在实体6指示的属性上的属性值。如此,可以在关系2为属性关系时,将属性和属性值完整的提供给用户。
202.示例性的,实体1是图13中的“荣耀60”,实体1的上位词是图13中的“手机”,实体5是图13中的“参数”,“手机”与“参数”之间的关系为属性关系,即关系2是属性关系。推理查询模块在接收到通知2之后,需要查询与“荣耀60”具有属性关系的实体6,如有“屏幕尺寸”、“cpu型号”和“电池容量”,还需要查询“荣耀60”在屏幕尺寸、cpu型号和电池容量该三种属性的属性值,得到屏幕尺寸属性的属性值6.67英寸,cpu型号属性的属性值骁龙

778,电池容量属性的属性值4800mah。因此,查询结果6可以为:屏幕尺寸,6.67英寸;cpu型号,骁龙

778;电池容量,4800mah。那么,在接收到用户对图17中的(c)所示的按钮17013(对应实体5“参数”)的点击操作后,目标应用显示的答案5可以是图17中的(d)所示的答案1703,答案1703中包括屏幕尺寸、cpu型号和电池容量,还包括荣耀60在屏幕尺寸、cpu型号和电池容量该三种属性的属性值。
203.在另一些情况中,查询结果1指示实体1既有上位词,又有下位词。该情况主要出现在针对知识图谱中非顶级概念提问的情况下。示例性的,图13中的“线上活动”是“活动1”和“活动2”所属的类,即“线上活动”是概念。与此同时,“线上活动”是“活动”的子类,则“线上活动”不是顶级的概念,即为非顶级概念。若提问1是针对非顶级概念提问,那么极有可能会出现既有上位词,又有下位词的情况。
204.参见图14中的情况四,针对该情况,问答方法还包括:s1441、若查询结果1指示实体1有上位词和下位词,检测下位词的数量是否超过预设数量1(也可以称为第一预设数量)。若是,则采用前述针对情况三的流程来得到答案并显示;若否,则采用前述针对情况二的流程来得到答案并显示。
205.通常情况下,在知识图谱中,实体的上位词最多有一个,但是下位词可以有多个。以图13中的“线上活动”为例,其上位词仅有一个,即“活动”,但是下位词有多个,即“活动1”,“活动2”,并且随着开展的活动不断增多,“线上活动”的下位词还可能更多,例如增加“活动3”、“活动4”等。
206.相较于实体1的上位词而言,实体1的下位词可以对应更有针对性的提问意图。仍以实体1是“线上活动”为例,其下位词“活动1”可以具体针对查询活动1的提问意图,其下位
词“活动2”可以具体针对查询活动2的提问意图,但是其上位词“活动”只能对应于查询宽泛的活动概念的提问意图。但是,当实体1的下位词过多时,若将实体1的过多下位词同时推送给用户选择,则会使推送的答案不简洁,影响智能问答的交互效率。
207.基于此,针对情况四,推理查询模块在得到查询结果1后,可以检测查询结果1中实体1的下位词的数量是否超过预设数量1,如预设数量1为3、5、10等。若实体1的下位词的数量超过预设数量1,则采用针对有上位词、无下位词的情况(即前述情况三)的流程来得到答案并显示。从而避免将过多的下位词推送给用户,提升交互效率。具体实现可参见前述针对情况三的说明,此处不再赘述。反之,若实体1的下位词的数量未超过预设数量1,则采用针对有下位词、无上位词的情况(即前述情况二)的流程来得到答案并显示。从而可以逐步推送更下位的答案,以明确用户的提问意图,最终可以将准确的答案提供给用户。具体实现可参见前述针对情况二的说明,此处不再赘述。
208.在前文关于情况四的说明中,根据下位词的数量来确定显示的答案。但在实际实施时,并不以此为限。在另一些实施例中,针对情况四,也可以直接采用类似情况三的流程来处理,即先提供上位词供用户选择,然后根据用户的选择来进一步推送答案。如此,可以省略检测下位词的数量的过程,简化智能问答的处理流程。
209.在场景2中,更新后的抽取结果中有一个实体1(也可以称为第一实体)和一个属性(可记为属性1,也可以称为第一属性),但是实体1并不具有属性1。例如,提问1为图20中的(a)所示的“荣耀60有效时间”,则更新后的抽取结果可能有实体1“荣耀60”和属性1“有效时间”,但是在知识图谱中,“荣耀60”并不具有“有效时间”的属性。
210.参见图18,在识别出场景2之后,即识别出更新后的抽取结果中有一个实体1和一个属性1,但是实体1并不具有属性1的属性之后,在根据查询结果1得到答案并显示之前,问答方法还包括:s1801、推理查询模块查询具有属性1的实体7。
211.推理查询模块可以查询知识图谱中各个实体的属性,确定具有属性1的实体7。关于查询属性的具体实现,可参见前文s1411中的说明,此处不再赘述。
212.示例性的,属性1是有效时间属性,假设活动和优惠券都有具有有效时间属性,查询如图19所示的知识图谱可以得到“活动”、“线上活动”、“活动1”、“活动2”、“活动3”、“线下活动”、“活动4”、“活动5”、“活动6”、“活动7”、“优惠券”、“优惠券1”、“优惠券2”以及“优惠券3”共14个实体7。
213.s1802、推理查询模块检测实体7中非概念的实体8(也可以称为第四实体)的数量是否超过预设数量2(也可以称为第二预设数量)。若是,则执行s1803;若否,则执行s1809。
214.其中,关于概念,可参见前文中关于术语“知识图谱中的上位词和下位词”的介绍,此处不再赘述。
215.示例性的,实体7包括图19中的“活动”、“线上活动”、“活动1”、“活动2”、“活动3”、“线下活动”、“活动4”、“活动5”、“活动6”、“活动7”、“优惠券”、“优惠券1”、“优惠券2”以及“优惠券3”。其中,“活动”是“线上活动”和“线下活动”的父类,则“活动”是概念。“线上活动”是“活动1”、“活动2”、“活动3”所属的类,则“线上活动”是概念。“线下活动”是“活动4”、“活动5”、“活动6”、“活动7”所属的类,则“线下活动”是概念。“优惠券”是“优惠券1”、“优惠券2”以及“优惠券3”所属的类,则“优惠券”是概念。而剩余的“活动1”、“活动2”、“活动3”、“活动
4”、“活动5”、“活动6”、“活动7”、“优惠券1”、“优惠券2”以及“优惠券3”则是非概念的实体。因此,实体7中的“活动1”、“活动2”、“活动3”、“活动4”、“活动5”、“活动6”、“活动7”、
ꢀ“
优惠券1”、“优惠券2”以及“优惠券3”是实体8,共10个。
216.应理解,相较于概念:非概念的实体8描述的事物更具体,可以更有针对性的对应到提问意图。但是,若在实体8的数量过多的情况下,将多个实体8推送给用户,会使推送的答案不简洁,影响智能问答的交互效率。
217.基于此,在场景2中,推理检测模块可以检测实体8的数量是否超过预设数量2,如3、5、8、10等。若超过预设数量2,则表明实体8的数量过多,不便于直接提供给用户选择。该情况下,则执行s1803,以提供更少的选择给用户。反之,若未超过预设数量2,则表明实体8的数量并不多。该情况下,则执行s1809,从而将实体8提供给用户选择。
218.s1803、若实体8的数量超过预设数量2,推理查询模块根据实体7中的实体9(也可以称为第二实体)和实体1生成答案6(也可以称为第一答案),答案6中包括实体9和实体1,实体9是概念。
219.也就是说,实体9是实体7除实体8之外的实体。实体9通常是相应的实体8的上位词。一个上位词可以有多个对应的下位词,因此,实体9的数量通常少于实体8的数量。仍以s1802中的举例来说,实体9有“活动”、“线上活动”、“线下活动”以及“优惠券”共4个,少于实体8的数量,即10个。
220.在一些场景中,两个实体9之间也可能存在父子类的关系。例如,实体9包括“活动”、“线上活动”和“线下活动”,其中,“活动”是“线上活动”和“线下活动”的父类,父类“活动”表示的范围与两个子类“线上活动”和“线下活动”表示的范围是重复的。基于此,在一些实施例中,为了避免答案中包括重复的信息,对于具有父子类关系的实体9,推理查询模块可以仅保留子类或者父类。下文中,将以保留子类,删除父类为例来说明。例如,将“线上活动”和“线下活动”保留,而将“活动”删除。
221.推理查询模块在生成答案6时,可以直接将实体9和实体1作为答案6。或者,推理查询模块对实体9和实体1完成添加引导语等封装处理后,得到答案6。示例性的,实体1为“荣耀60”,实体9为“线上活动”、“线下活动”以及“优惠券”,那么得到的答案6可以为“您想要查询下列哪项信息:荣耀60、线上活动、线下活动或者优惠券。
222.与前文答案2中的多个下位词1类似的,在答案6中,实体9和实体1可以以文本的形式存在。或者,答案6中包括多个选项5(也可以称为第一选项),多个选项5与实体9和实体1一一对应,每个选项5上有对应的实体9或者实体1的提示文本。此处不再赘述。
223.s1804、推理查询模块向目标应用返回答案6。
224.s1805、目标应用显示答案6。
225.示例性的,对应图20中的(a)所示的提问1“荣耀60有效时间”,若实体1为“荣耀60”,实体9为“活动”、“线上活动”、“线下活动”以及“优惠券”,那么答案6可以是图20中的(a)所示的答案2001,答案2001中包括对应实体1“荣耀60”的选项20011,对应实体9“线上活动”的选项20012,对应实体9“线下活动”的选项20013,以及对应实体9“优惠券”的选项20014。也就是说,选项20011-选项20014是四个选项5。
226.目标应用显示答案6后,则可以提供实体1和实体9供选择,方便进一步明确用户想要查询的实体。用户选择实体1和实体9中的一个(可记为实体10,也可以称为第三实体),则
表示用户想要查询该实体10的相关信息。例如,用户选择图20中的(a)所示的选项20014,表示用户想要查询“优惠券”的相关信息,即实体10是“优惠券”。
227.s1806、目标应用接收用户对实体10的选择操作,实体10是实体1和实体9中的一个。
228.其中,选择操作可以是用户对选项6(也可以称为第二选项)的点击或者长按等操作,选项6是多个选项5中的一个,选项6对应实体10。或者,选择操作可以是用户输入(包括文本或者语音输入)实体10的操作。
229.s1807、目标应用向推理查询模块发送通知3(也可以称为第一消息),通知3指示用户选择实体10。
230.推理查询模块在接收到通知3后,若确定通知3中指示选择的实体10是实体1,表明用户想要查询实体1的相关信息。此时,则可以根据查询结果1的四种情况,采用场景1中对应情况的流程来得到答案。也就是说,若查询结果1指示实体1没有上位词和下位词,则可以采用场景1中情况一对应的流程来得到答案。若查询结果1指示实体1有下位词,但没有上位词,则可以采用场景1中情况二对应的流程来得到答案。若查询结果1指示实体1有上位词,但没有下位词,则可以采用场景1中情况三对应的流程来得到答案。若查询结果1指示实体1既有上位词,也有下位词,则可以采用场景1中情况四对应的流程来得到答案。
231.若通知3中指示选择的实体10不是实体1,即为实体9,则需要进一步查询实体10的上位和下位词,并根据查询结果来得到答案。具体如下s1808所示:s1808、响应于接收到通知3,若实体10是实体9,推理查询模块则查询实体10的上位词和下位词,得到查询结果7。
232.查询实体10的上位词和下位词的具体实现,可参见前文s1010中查询实体1的上位词和下位词的说明,此处不再赘述。
233.其中,与查询结果1类似,查询结果7可以包括四种情况:情况一,指示实体10没有上位词和下位词。情况二,指示实体10有下位词,但没有上位词。情况三,指示实体10有上位词,但没有下位词。情况四,指示实体10既有上位词,也有下位词。
234.在得到查询结果7之后,同样可以根据查询结果7的四种情况,采用场景1中类似的情况对应的流程来得到答案。应注意,需要将场景1中的查询结果1替换为查询结果7,将实体1替换为实体10。此处不再赘述。
235.也就是说,推理查询模块在接收到通知3之后,则根据实体10、实体10的上位词和/或实体10的下位词来得到答案(也可以称为第二答案)。换言之,推理查询模块在接收到通知3之后,得到的答案与实体10、实体10的上位词和/或实体10的下位词相关。
236.s1809、若实体8的数量未超过预设数量2,推理查询模块根据实体8和实体1生成答案7(也可以称为第三答案),答案7中包括实体8和实体1。
237.s1810、推理查询模块向目标应用返回答案7。
238.s1811、目标应用显示答案7。
239.示例性的,对应图20中的(b)所示的提问1“荣耀60有效时间”,若实体1为“荣耀60”,实体8为“优惠券1”、“优惠券2”和“优惠券3”,那么答案7可以是图20中的(b)所示的答案2002,答案2002中包括对应实体1“荣耀60”的选项,对应实体8“优惠券1”的选项,对应实体8“优惠券2”的选项,和对应实体8“优惠券3”的选项。
240.s1812、目标应用接收用户对实体11(也可以称为第五实体)的选择操作,实体11是实体1和实体8中的一个。
241.s1813、目标应用向推理查询模块发送通知4(也可以称为第二消息),通知4指示用户选择实体11。
242.关于s1809-s1813对应实体8的数量未超过预设数量2的情况的具体实现,可参见前文s1803-s1808对应实体8的数量超过预设数量2的情况的说明,仅需将其中的实体9替换为实体8,将答案6替换为答案7,将实体10替换为实体11即可,此处不再赘述。
243.推理查询模块在接收到通知4后,若确定通知4中指示选择的实体11是实体1,表明用户想要查询实体1的相关信息。此时,同样可以根据查询结果1的四种情况,采用场景1中对应情况的流程来得到答案。
244.若通知4中指示选择的实体11不是实体1,即为实体8,则需要进一步查询实体11的上位和下位词,并根据查询结果来得到答案。具体如下s1814所示:s1814、响应于接收到通知4,若实体11是实体8,则查询实体11的上位词和下位词,得到查询结果8。
245.查询实体11的上位词和下位词的具体实现,可参见前文s1010中查询实体1的上位词和下位词的说明,此处不再赘述。
246.其中,与查询结果1类似,查询结果8也可以包括四种情况:情况一,指示实体11没有上位词和下位词。情况二,指示实体11有下位词,但没有上位词。情况三,指示实体11有上位词,但没有下位词。情况四,指示实体11既有上位词,也有下位词。
247.在得到查询结果8之后,同样可以根据查询结果8的四种情况,采用场景1中类似的情况对应的流程来得到答案。应注意,需要将场景1中的查询结果1替换为查询结果8,将实体1替换为实体11。此处不再赘述。
248.也就是说,推理查询模块在接收到通知4之后,则根据实体11、实体11的上位词和/或实体11的下位词来得到答案(也可以称为第四答案)。换言之,推理查询模块在接收到通知4之后,得到的答案与实体11、实体11的上位词和/或实体11的下位词相关。
249.前述关于场景2的说明中,需要先检测实体8的数量是否超过预设数量2,然后根据检测的不同结果来得到不同的答案并推送。在另一些实施例中,也可以省略检测实体8的数量是否超过数量2的步骤,而直接根据实体9和实体1来得到答案并推送,即采用s1803-s1808对应的流程来得到答案并推送。
250.采用本实施例的方法,针对场景2,在用户对不相关的实体和属性提问时,也可以逐级明确用户的提问意图,从而推送准确的答案。
251.前文实施例中,以手机600仅用于接收用户的输入(如提问、选择操作),将用户的输入发送给服务器610,然后由服务器610来完成有关提问的所有处理(如标注处理、提问分类、实体识别、查询知识图谱生成答案等),最后将处理结果返回给手机600显示为例来说明本技术方案。在另一些实施例,手机600也可以完成一些有关提问的处理工作,例如,完成标注处理、提问分类、对答案封装等处理。本技术实施例对此不作具体限定。
252.本技术实施例还提供一种电子设备,该电子设备可以包括:存储器和一个或多个处理器。存储器和处理器耦合。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。当处理器执行计算机指令时,电子设备可执行上述方法实施例中电子设备执
行的各个功能或者步骤。
253.本技术实施例还提供一种芯片系统,如图21所示,该芯片系统2100包括至少一个处理器2101和至少一个接口电路2102。处理器2101和接口电路2102可通过线路互联。例如,接口电路2102可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路2102可用于向其它装置(例如处理器2101)发送信号。示例性的,接口电路2102可读取存储器中存储的指令,并将该指令发送给处理器2101。当所述指令被处理器2101执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本技术实施例对此不作具体限定。
254.本实施例还提供一种服务器,所述服务器中存储有知识图谱,所述服务器包括存储器和一个或多个处理器,所述存储器与所述处理器耦合;其中,所述存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述处理器执行时,服务器可执行上述方法实施例中服务器执行的各个功能或者步骤。
255.本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的问答方法。当该计算机指令在服务器上运行时,使得服务器执行上述相关方法步骤实现上述实施例中的问答方法。
256.本实施例还提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的问答方法。
257.另外,本技术的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的问答方法。
258.其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
259.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
260.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
261.该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
262.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
263.该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
264.最后应说明的是,以上实施例仅用以说明本技术的技术方案而非限制,尽管参照较佳实施例对本技术进行了详细说明,本领域的普通技术人员应当理解,可以对本技术的技术方案进行修改或等同替换,而不脱离本技术技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献