当前位置: 首页 > 专利查询>唐旸专利>正文

基于模型的规则生成方法、装置、系统和介质制造方法及图纸

技术编号:35176670 阅读:10 留言:0更新日期:2022-10-12 17:43
本发明专利技术公开了一种基于模型的规则生成方法、装置、系统和介质,其中,所述方法包括如下步骤:预先构建规则引导词库和对象模型库;响应于用户的操作请求,显示所述用户交互界面,并监听用户在所述用户交互界面内的输入;接收到用户在所述规则编辑区内依次输入的第一规则引导词、条件集合、第二规则引导词和动作集合,将所述第一规则引导词和所述条件集合进行组合得所述规则内容的条件部分,将所述第二规则引导词和所述动作集合进行组合得到所述规则内容的动作部分。本发明专利技术能够方便地实现规则内容的制定,有助于提高规则的有效性和准确性。性。性。

【技术实现步骤摘要】
基于模型的规则生成方法、装置、系统和介质


[0001]本专利技术涉及规则引擎
,特别涉及一种基于模型的规则生成方法、装置、系统和计算机可读存储介质。

技术介绍

[0002]规则引擎由推理引擎发展而来,是一种嵌在业务系统中的组件,通过预定义语义编写业务规则,接收输入的业务数据,根据业务规则做出相应的决策。规则引擎是为了将复杂多变的业务规则从系统代码中解放出来,以规则脚本的形式存放至文件或特定的存储介质中(例如存放在数据库中),使得业务规则的变更不再需要修改代码或重启服务器就可以在线上环境立即生效。
[0003]现有的规则引擎所采用的规则生成方法,大部分基于自有的框架和语法来描述规则,通常需要规则编辑人员具备较高的软件技术知识,同时还需要规则编辑人员熟悉相关的语法、算法原理并了解相关的程序变量含义,才能理解和配置规则,而普通业务人员一般不具有这些技术能力,并且由此得到的规则内容对于普通业务人员仍然不够友好、不够直观。这样的规则生成方法需要直接调用系统代码中的数据对象,例如基于Java语言开发的开源规则引擎Drools,在进行规则编写时通常需要先创建实体类对象,这些实体类对象的属性难以动态改变,而且这些实体类对象的创建和维护则需要具备软件开发能力的人员来完成,普通业务人员也无法完成这样的工作。

技术实现思路

[0004]基于上述现状,本专利技术的主要目的在于提供一种基于模型的规则生成方法、系统和计算机可读存储介质,通过预先构建可用于规则内容的规则引导词库和对象模型库,并通过动态显示输入提示的方式选择可用的规则引导词和对象模型作为规则内容,一方面由此得到的规则语句与自然语言相仿,另一方面该规则语句符合预定义语义并可供规则引擎直接执行。
[0005]为实现上述目的,本专利技术采用的技术方案如下:
[0006]本专利技术的第一方面提供了一种基于模型的规则生成方法,用于供用户在用户交互界面制定规则,
[0007]所述用户交互界面包括规则编辑区和能够动态显示的输入提示框;所述规则的规则内容包括条件部分和动作部分;
[0008]所述方法包括如下步骤:
[0009]预先构建规则引导词库和对象模型库,其中:所述规则引导词库包括若干用于所述条件部分和/或所述动作部分的规则引导词;所述对象模型库包括若干用于所述条件部分和/或所述动作部分的对象模型,每个所述对象模型包括若干属性;
[0010]响应于用户的操作请求,显示所述用户交互界面,并监听用户在所述用户交互界面内的输入,其中:在监听用户输入时,将用户输入的内容和预设的输入提示条件进行匹
配,根据匹配结果触发所述输入提示框,并在所述输入提示框内显示由所述规则引导词库得到的规则引导词列表、或者由所述对象模型库得到的对象模型列表、或者由所述对象模型库得到的某个对象模型的属性列表,并将用户选择的规则引导词、对象模型或属性作为已识别的规则内容显示在所述规则编辑区的当前输入位置;
[0011]接收到用户在所述规则编辑区内依次输入的第一规则引导词、条件集合、第二规则引导词和动作集合,将所述第一规则引导词和所述条件集合进行组合得所述规则内容的条件部分,将所述第二规则引导词和所述动作集合进行组合得到所述规则内容的动作部分,其中:所述条件集合用于对一个或者多个所述属性进行判断并得到布尔类型返回值;所述动作集合用于对一个或者多个所述对象模型或所述属性进行操作。
[0012]优选地,所述输入提示条件包括:分别用于规则引导词提示、对象模型提示和属性提示的第一输入提示符、第二输入提示符、第三输入提示符;其中,
[0013]若所述用户输入的内容与所述第一输入提示符匹配,则从所述规则引导词库中得到规则引导词列表并显示在所述输入提示框内,并将用户从所述规则引导词列表中选择的规则引导词作为已识别规则引导词显示在所述规则编辑区内的当前输入位置;
[0014]若所述用户输入的内容与所述第二输入提示符匹配,则从所述对象模型库中得到与所述用户输入关联的对象模型列表并显示在所述输入提示框内,并将用户从所述对象模型列表中选择的对象模型作为已识别对象模型显示在所述规则编辑区内的当前输入位置;
[0015]若所述用户输入的内容与所述第三输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别对象模型,则从所述对象模型库中得到所述已识别对象模型的属性列表并显示在所述输入提示框内,并将所述第三输入提示符和用户从所述属性列表中选择的属性作为已识别属性显示在所述规则编辑区内的当前输入位置。
[0016]优选地,所述方法还包括如下步骤:
[0017]预先构建函数模型库,所述函数模型库包括若干第一函数,将每个所述第一函数与一个或者多个所述对象模型进行关联,用于所述第一函数对其所关联的对象模型进行操作;
[0018]所述输入提示条件还包括:用于第一函数提示的第四输入提示符;
[0019]若所述用户输入的内容与所述第四输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别对象模型,则从所述函数模型库中得到与所述已识别对象模型关联的第一函数列表并显示在所述输入提示框内,并将所述第四输入提示符和用户从所述第一函数列表中选择的第一函数作为该所述已识别对象模型的第一目标函数显示在所述规则编辑区内的当前输入位置。
[0020]优选地,所述方法还包括如下步骤:
[0021]预先构建函数模型库,所述函数模型库包括若干第二函数,将每个所述第二函数与一个或者多个所述属性进行关联,用于所述第二函数对其所关联的属性进行操作;
[0022]所述输入提示条件还包括:用于第二函数提示的第五输入提示符;
[0023]若所述用户输入的内容与所述第五输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,则从所述函数模型库中得到与所述已识别属性关联的第二函数列表并显示在所述输入提示框内,并将所述第五输入提示符和用户从所述第二函数列表中选择的第二函数作为该所述已识别属性的第二目标函数显示在所述规则编辑
区内的当前输入位置。
[0024]优选地,所述预先构建对象模型库包括如下步骤:在所述对象模型中对每个所述属性进行数据类型的定义;
[0025]所述预先构建函数模型库包括如下步骤:所述将每个所述第二函数与一个或者多个所述属性进行关联之后,进行函数模型校验,以使所述第二函数的返回值类型和与其关联的所述属性的数据类型一致。
[0026]优选地,所述输入提示条件还包括:用于系统变量提示的第六输入提示符;
[0027]若所述用户输入的内容与所述第六输入提示符匹配,则获取系统变量列表并显示在所述输入提示框内,并将所述第六输入提示符和用户从所述系统变量列表中选择的系统变量作为已识别系统变量显示在所述规则编辑区内的当前输入位置。
[0028]优选地,所述方法还包括如下步骤:
[0029]预先构建字典模型库,所述字典模型库包括若干字典,所述字典包括信息项键和信息项值;
...

【技术保护点】

【技术特征摘要】
1.一种基于模型的规则生成方法,用于供用户在用户交互界面制定规则,其特征在于,所述用户交互界面包括规则编辑区和能够动态显示的输入提示框;所述规则的规则内容包括条件部分和动作部分;所述方法包括如下步骤:预先构建规则引导词库和对象模型库,其中:所述规则引导词库包括若干用于所述条件部分和/或所述动作部分的规则引导词;所述对象模型库包括若干用于所述条件部分和/或所述动作部分的对象模型,每个所述对象模型包括若干属性;响应于用户的操作请求,显示所述用户交互界面,并监听用户在所述用户交互界面内的输入,其中:在监听用户输入时,将用户输入的内容和预设的输入提示条件进行匹配,根据匹配结果触发所述输入提示框,并在所述输入提示框内显示由所述规则引导词库得到的规则引导词列表、或者由所述对象模型库得到的对象模型列表、或者由所述对象模型库得到的某个对象模型的属性列表,并将用户选择的规则引导词、对象模型或属性作为已识别的规则内容显示在所述规则编辑区的当前输入位置;接收到用户在所述规则编辑区内依次输入的第一规则引导词、条件集合、第二规则引导词和动作集合,将所述第一规则引导词和所述条件集合进行组合得到所述规则内容的条件部分,将所述第二规则引导词和所述动作集合进行组合得到所述规则内容的动作部分,其中:所述条件集合用于对一个或者多个所述属性进行判断并得到布尔类型返回值;所述动作集合用于对一个或者多个所述对象模型或所述属性进行操作。2.如权利要求1所述的基于模型的规则生成方法,其特征在于,所述输入提示条件包括:分别用于规则引导词提示、对象模型提示和属性提示的第一输入提示符、第二输入提示符、第三输入提示符;其中,若所述用户输入的内容与所述第一输入提示符匹配,则从所述规则引导词库中得到规则引导词列表并显示在所述输入提示框内,并将用户从所述规则引导词列表中选择的规则引导词作为已识别规则引导词显示在所述规则编辑区内的当前输入位置;若所述用户输入的内容与所述第二输入提示符匹配,则从所述对象模型库中得到与所述用户输入关联的对象模型列表并显示在所述输入提示框内,并将用户从所述对象模型列表中选择的对象模型作为已识别对象模型显示在所述规则编辑区内的当前输入位置;若所述用户输入的内容与所述第三输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别对象模型,则从所述对象模型库中得到所述已识别对象模型的属性列表并显示在所述输入提示框内,并将所述第三输入提示符和用户从所述属性列表中选择的属性作为已识别属性显示在所述规则编辑区内的当前输入位置。3.如权利要求2所述的基于模型的规则生成方法,其特征在于,所述方法还包括如下步骤:预先构建函数模型库,所述函数模型库包括若干第一函数,将每个所述第一函数与一个或者多个所述对象模型进行关联,用于所述第一函数对其所关联的对象模型进行操作;所述输入提示条件还包括:用于第一函数提示的第四输入提示符;若所述用户输入的内容与所述第四输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别对象模型,则从所述函数模型库中得到与所述已识别对象模型关联的第一函数列表并显示在所述输入提示框内,并将所述第四输入提示符和用户从所述
第一函数列表中选择的第一函数作为该所述已识别对象模型的第一目标函数显示在所述规则编辑区内的当前输入位置。4.如权利要求2所述的基于模型的规则生成方法,其特征在于,所述方法还包括如下步骤:预先构建函数模型库,所述函数模型库包括若干第二函数,将每个所述第二函数与一个或者多个所述属性进行关联,用于所述第二函数对其所关联的属性进行操作;所述输入提示条件还包括:用于第二函数提示的第五输入提示符;若所述用户输入的内容与所述第五输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,则从所述函数模型库中得到与所述已识别属性关联的第二函数列表并显示在所述输入提示框内,并将所述第五输入提示符和用户从所述第二函数列表中选择的第二函数作为该所述已识别属性的第二目标函数显示在所述规则编辑区内的当前输入位置。5.如权利要求4所述的基于模型的规则生成方法,其特征在于,所述预先构建对象模型库包括如下步骤:在所述对象模型中对每个所述属性进行数据类型的定义;所述预先构建函数模型库包括如下步骤:所述将每个所述第二函数与一个或者多个所述属性进行关联之后,进行函数模型校验,以使所述第二函数的返回值类型和与其关联的所述属性的数据类型一致。6.如权利要求1所述的基于模型的规则生成方法,其特征在于,所述输入提示条件还包括:用于系统变量提示的第六输入提示符;若所述用户输入的内容与所述第六输入提示符匹配,则获取系统变量列表并显示在所述输入提示框内,并将所述第六输入提示符和用户从所述系统变量列表中选择的系统变量作为已识别系统变量显示在所述规则编辑区内的当前输入位置。7.如权利要求2至6任一项所述的基于模型的规则生成方法,其特征在于,所述方法还包括如下步骤:预先构建字典模型库,所述字典模型库包括若干字典,所述字典包括信息项键和信息项值;所述预先构建对象模型还包括:当所述属性的数据类型设置为文本类型时,将所述属性的数据源与所述字典模型库中的某个字典进行关联;所述输入提示条件还包括:用于字典提示的第八输入提示符;若所述用户输入的内容与所述第八输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,且所述已识别属性的数据类型为文本,则从所述字典模型库中得到与所述已识别属性关联的字典并将所述字典包括的信息项键和/或信息项值显示在所述用户交互界面。8.如权利要求2至6任一项所述的基于模型的规则生成方法,其特征在于,所述方法还包括如下步骤:预先构建量纲模型库,所述量纲模型库包括若干量纲,所述量纲包括若干单位及其之间的换算关系;所述预先构建对象模型还包括:当所述属性的数据类型设置为数值类型时,将所述属
性与所述量纲模型库中的某个量纲进行关联;所述输入提示条件还包括:用于量纲提示的第九输入提示符;若所述用户输入的内容与所述第九输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,且所述已识别属性的数据类型为数值,则从所述量纲模型库中得到与所述已识别属性关联的量纲并将所述量纲的若干单位及其之间的换算关系显示在所述用户交互界面。9.如权利要求1至6任一项所述的基于模型的规则生成方法,其特征在于,所述方法还包括:在所述规则编辑区完成若干条规则的编辑后,对所述若干条规则进行冲突检查和/或语义检查。10.如权利要求1所述的基于模型的规则生成方法,其特征在于,所述对象模型包括表单模型,所述表单模型包括若干子表模型;在所述规则编辑区允许使用第三规则引导词和第四规则引导词与某所述子表模型进行关联;若所述条件部分依次包括所述第三规则引导词和该子表模型,则在后续的规则内容中使用所述第四规则引导词以指代该子表模型。11.如权利要求1至10任一项所述的基于模型的规则生成方法,其特征在于,所述第一规则引导词为“如果”、“当”、“假如”的其中一者;和/或,所述第二规则引导词为“那么”、“则”的其中一者;和/或,所述第三规则引导词为“某”;和/或,所述第四规则引导词为“该”。12.一种基于模型的规则生成装置,用于供用户在用户交互界面制定规则,其特征在于,所述用户交互界面包括规则编辑区和能够动态显示的输入提示框;所述规则的规则内容包括条件部分和动作部分;所述装置包括:第一构建单元,能够构建规则引导词库和对象模型库,其中:所述规则引导词库包括若干用于所述条件部分和/或所述动作部分的规则引导词;所...

【专利技术属性】
技术研发人员:唐旸
申请(专利权)人:唐旸
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1