发明内容
为解决上述问题,本发明提供一种规则匹配方法及装置,可以有效提高存储空间的利用率及规则匹配效率。
为了实现上述目的,在第一方面,本发明实施例提供了一种规则匹配方法,该方法应用于电子设备,该电子设备中包括规则库,所述规则库中包括多个规则树,每个规则树的根节点为基础规则,分支节点为附加规则,叶节点为任务结果,该方法包括:
获取文本信息;
对所述文本信息进行语义理解,提取所述文本信息包括的基础词语和附加词语;
从所述规则库中查找根节点与所述基础词语匹配的规则树;
将所述附加词语与查找到的规则树的分支节点进行匹配,将分支节点与所述附加词语均匹配的分支上的叶节点对应的任务结果确定为所述文本信息对应的目标任务结果;
执行所述目标任务结果。
优选的,所述附加规则的权重越高在规则树中的深度越小,并且在规则树同一深度的附加规则优先级越高权重越高。
优选的,所述将所述附加词语与查找到的规则树的分支节点进行匹配,包括:按照深度从小到大的顺序,将所述附加词语与查找到的规则树的分支节点进行匹配;当查找到与所述附加词语不匹配的分支节点时,将所述分支节点所在的分支进行剪枝。
优选的,所述按照深度从小到大的顺序,将所述附加词语与查找到的规则树的分支节点进行匹配,包括:按照深度从小到大且同深度优先匹配权重高的附加规则对应的分支节点的顺序,将所述附加词语与查找到的规则树的分支节点进行匹配。
优选的,所述基础规则包括:应用标识、领域、意图。
在第二方面,本发明实施例提供了一种规则匹配装置,该装置应用于电子设备,该电子设备中包括规则库,所述规则库中包括多个规则树,每个规则树的根节点为基础规则,分支节点为附加规则,叶节点为任务结果,所述装置包括:
获取单元,用于获取文本信息;
提取单元,用于对所述文本信息进行语义理解,提取所述文本信息包括的基础词语和附加词语;
匹配单元,用于从所述规则库中查找根节点与所述基础词语匹配的规则树,将所述附加词语与查找到的规则树的分支节点进行匹配,将分支节点与所述附加词语均匹配的分支上的叶节点对应的任务结果确定为所述文本信息对应的目标任务结果;
执行单元,用于执行所述目标任务结果。
优选的,所述附加规则的权重越高在规则树中的深度越小,并且在规则树同一深度的附加规则优先级越高权重越高。
优选的,所述匹配单元用于将所述附加词语与查找到的规则树的分支节点进行匹配,具体包括:所述匹配单元按照深度从小到大的顺序,将所述附加词语与查找到的规则树的分支节点进行匹配;当查找到与所述附加词语不匹配的分支节点时,将所述分支节点所在的分支进行剪枝。
优选的,所述匹配单元用于按照深度从小到大的顺序,将所述附加词语与查找到的规则树的分支节点进行匹配,具体包括:所述匹配单元按照深度从小到大且同深度优先匹配权重高的附加规则对应的分支节点的顺序,将所述附加词语与查找到的规则树的分支节点进行匹配。
优选的,所述基础规则包括:应用标识、领域、意图。
在第三方面,本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述第一方面所述的规则匹配方法。
在第四方面,本发明实施例提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述第一方面所述的规则匹配方法。
利用本发明提供的规则匹配方法及装置,通过将规则库中的规则配置为根节点为基础规则,分支节点为附加规则,叶节点为任务结果的规则树,将多条基础规则相同的规则合并为一个规则树,使得规则库中不会存在重复基础规则和附加规则,从而节省了存储空间,提高了存储空间的利用率。并且,基于规则树的规则匹配方法,也不会出现重复匹配相同基础规则或附加规则的情况,从而提高规则匹配效率低。
具体实施方式
下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
图2为本申请实施例示出的一种规则匹配方法的流程示意图。该方法可应用于电子设备。在本实施例中,电子设备中包括规则库,该规则库中包括多个规则树,其中,每个规则树的根节点为基础规则,分支节点为附加规则,叶节点为任务结果,基于此,本申请实施例提供的规则匹配方法可包括如下步骤:
步骤201,获取文本信息。
具体的,该文本信息可以由用户利用电子设备输入的文字信息,也可以是由用户利用电子设备输入的语音信息转换而来,相应的,在步骤201可以具体包括:接收语音信息,并将接收到的语音信息转换为文本信息。将语音信息转换为文本信息的过程可采用现有技术实现,本发明对此不作任何限制。
步骤202,对获取到的文本信息进行语义理解,提取该文本信息包括的基础词语和附加词语。
具体的,基础词语对应于基础规则,附加词语对应于附加规则。在一个例子中,基础规则包括:应用标识、领域、意图。相应的,除基础规则之外的规则均认为是附加规则。
步骤203,从规则库中查找根节点与基础词语匹配的规则树。
具体的,由于基础规则在规则树的根节点,且每个规则树的根节点对应的基础规则各不相同,因此基于规则树的结构,在进行规则匹配时,需要先利用基础词语在规则库中查找到根节点与基础词语匹配的规则树。
步骤204,将附加词语与查找到的规则树的分支节点进行匹配,将分支节点与附加词语均匹配的分支上的叶节点对应的任务结果确定为文本信息对应的目标任务结果。
在一个例子中,每个规则树的分支节点对应的附加规则根据每个附加规则预设的权重进行设置,具体的,权重越高在规则树中的深度越小。同一深度的分支节点对应的附加规则的权重可以相同也可以不同,优选的,同一深度的分支节点对应的附加规则优先级越高权重越高。其中,每个附加规则的权重可由技术人员根据经验值进行设置,例如,使用频率越高权重越高。
在一个具体的例子中,针对图1中所示的规则库中的规则1到规则5,在本发明实施例中所提供的规则库中可由一个规则树替代,如图3所示,可以看出,该规则树不仅包括了图1中的规则1-规则5,且没有重复的基础规则和附加规则。
相应的,将附加词语与查找到的规则树的分支节点进行匹配,可以包括:按照深度从小到大的顺序,将附加词语与查找到的规则树的分支节点进行匹配;当查找到与附加词语不匹配的分支节点时,将分支节点所在的分支进行剪枝,即不在需要匹配该分支上的分支节点。这样有利于提升附加规则的匹配效率。
为进一步提高匹配效率,对于同一深度的分支节点优先匹配权重高的分支节点。
步骤205,执行该目标任务结果。
通过利用本发明实施例提供的规则匹配方法,通过将规则库中的规则配置为根节点为基础规则,分支节点为附加规则,叶节点为任务结果的规则树,将多条基础规则相同的规则合并为一个规则树,使得规则库中不会存在重复基础规则和附加规则,从而节省了存储空间,提高了存储空间的利用率。并且,基于规则树的规则匹配方法,也不会出现重复匹配相同基础规则或附加规则的情况,从而提高规则匹配效率低。
本发明实施例提供一种规则匹配装置,图4为该规则匹配装置的结构图。该装置应用于电子设备,该电子设备中包括规则库,该规则库中包括多个规则树,其中,每个规则树的根节点为基础规则,分支节点为附加规则,叶节点为任务结果。该规则匹配装置包括:
获取单元401,用于获取文本信息;
提取单元402,用于对所述文本信息进行语义理解,提取所述文本信息包括的基础词语和附加词语;
匹配单元403,用于从所述规则库中查找根节点与所述基础词语匹配的规则树,将所述附加词语与查找到的规则树的分支节点进行匹配,将分支节点与所述附加词语均匹配的分支上的叶节点对应的任务结果确定为所述文本信息对应的目标任务结果;
执行单元404,用于执行所述目标任务结果。
优选的,所述附加规则的权重越高在规则树中的深度越小,并且在规则树同一深度的附加规则优先级越高权重越高。
优选的,所述匹配单元403用于将所述附加词语与查找到的规则树的分支节点进行匹配,具体包括:所述匹配单元403按照深度从小到大的顺序,将所述附加词语与查找到的规则树的分支节点进行匹配;当查找到与所述附加词语不匹配的分支节点时,将所述分支节点所在的分支进行剪枝。
优选的,所述匹配单元403用于按照深度从小到大的顺序,将所述附加词语与查找到的规则树的分支节点进行匹配,具体包括:所述匹配单元403按照深度从小到大且同深度优先匹配权重高的附加规则对应的分支节点的顺序,将所述附加词语与查找到的规则树的分支节点进行匹配。
优选的,所述基础规则包括:应用标识、领域、意图。
利用本发明提供的规则匹配装置,通过将规则库中的规则配置为根节点为基础规则,分支节点为附加规则,叶节点为任务结果的规则树,将多条基础规则相同的规则合并为一个规则树,使得规则库中不会存在重复基础规则和附加规则,从而节省了存储空间,提高了存储空间的利用率。并且,基于规则树的规则匹配方法,也不会出现重复匹配相同基础规则或附加规则的情况,从而提高规则匹配效率低。
下面,参考图5来描述根据本申请实施例的电子设备11。
如图5所示,电子设备11包括一个或多个处理器111和存储器112。
处理器111可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备11中的其他组件以执行期望的功能。
存储器112可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器111可以运行所述程序指令,以实现上文所述的本申请的各个实施例的规则匹配方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备11还可以包括:输入装置113和输出装置114,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
该输入设备113可以包括例如键盘、鼠标等等。
该输出装置114可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备114可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图5中仅示出了该电子设备11中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备11还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的规则匹配方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的规则匹配方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。