CN115169295B - 基于模型的界面交互方法、装置、系统和介质 - Google Patents
基于模型的界面交互方法、装置、系统和介质 Download PDFInfo
- Publication number
- CN115169295B CN115169295B CN202210362139.5A CN202210362139A CN115169295B CN 115169295 B CN115169295 B CN 115169295B CN 202210362139 A CN202210362139 A CN 202210362139A CN 115169295 B CN115169295 B CN 115169295B
- Authority
- CN
- China
- Prior art keywords
- rule
- input
- model
- user
- attribute
- 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.)
- Active
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000009471 action Effects 0.000 claims abstract description 78
- 238000012544 monitoring process Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 243
- 238000012545 processing Methods 0.000 claims description 39
- 238000010276 construction Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 17
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013499 data model Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 5
- 239000000203 mixture Substances 0.000 abstract description 3
- 238000009472 formulation Methods 0.000 abstract description 2
- 230000014509 gene expression Effects 0.000 description 18
- 230000001960 triggered effect Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008520 organization Effects 0.000 description 7
- 125000004122 cyclic group Chemical group 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000004308 accommodation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于模型的界面交互方法、装置、系统和介质,其中,所述方法包括如下步骤:预先构建规则引导词库和对象模型库;响应于用户的操作请求,显示所述用户交互界面,并监听用户在所述用户交互界面内的输入;接收到用户在所述规则编辑区内依次输入的第一规则引导词、条件集合、第二规则引导词和动作集合,将所述第一规则引导词和所述条件集合进行组合得所述规则内容的条件部分,将所述第二规则引导词和所述动作集合进行组合得到所述规则内容的动作部分。本发明能够方便地实现规则内容的制定,有助于提高规则的有效性和准确性。
Description
技术领域
本发明涉及规则引擎技术领域,特别涉及一种基于模型的界面交互方法、装置、系统和计算机可读存储介质。
背景技术
规则引擎由推理引擎发展而来,是一种嵌在业务系统中的组件,通过预定义语义编写业务规则,接收输入的业务数据,根据业务规则做出相应的决策。规则引擎是为了将复杂多变的业务规则从系统代码中解放出来,以规则脚本的形式存放至文件或特定的存储介质中(例如存放在数据库中),使得业务规则的变更不再需要修改代码或重启服务器就可以在线上环境立即生效。
现有的规则引擎所采用的界面交互方法,大部分基于自有的框架和语法来描述规则,通常需要规则编辑人员具备较高的软件技术知识,同时还需要规则编辑人员熟悉相关的语法、算法原理并了解相关的程序变量含义,才能理解和配置规则,而普通业务人员一般不具有这些技术能力,并且由此得到的规则内容对于普通业务人员仍然不够友好、不够直观。这样的界面交互方法需要直接调用系统代码中的数据对象,例如基于Java语言开发的开源规则引擎Drools,在进行规则编写时通常需要先创建实体类对象,这些实体类对象的属性难以动态改变,而且这些实体类对象的创建和维护则需要具备软件开发能力的人员来完成,普通业务人员也无法完成这样的工作。
发明内容
基于上述现状,本发明的主要目的在于提供一种基于模型的界面交互方法、系统和计算机可读存储介质,通过预先构建可用于规则内容的规则引导词库和对象模型库,并通过动态显示输入提示的方式选择可用的规则引导词和对象模型作为规则内容,一方面由此得到的规则语句与自然语言相仿,另一方面该规则语句符合预定义语义并可供规则引擎直接执行。
为实现上述目的,本发明采用的技术方案如下:
本发明的第一方面提供了一种基于模型的界面交互方法,用于供用户在用户交互界面制定规则,
所述用户交互界面包括规则编辑区和能够动态显示的输入提示框;所述规则的规则内容包括条件部分和动作部分;
所述方法包括如下步骤:
预先构建规则引导词库和对象模型库,其中:所述规则引导词库包括若干用于所述条件部分和/或所述动作部分的规则引导词;所述对象模型库包括若干用于所述条件部分和/或所述动作部分的对象模型,每个所述对象模型包括若干属性;
响应于用户的操作请求,显示所述用户交互界面,并监听用户在所述用户交互界面内的输入,其中:在监听用户输入时,将用户输入的内容和预设的输入提示条件进行匹配,根据匹配结果触发所述输入提示框,并在所述输入提示框内显示由所述规则引导词库得到的规则引导词列表、或者由所述对象模型库得到的对象模型列表、或者由所述对象模型库得到的某个对象模型的属性列表,并将用户选择的规则引导词、对象模型或属性作为已识别的规则内容显示在所述规则编辑区的当前输入位置;
接收到用户在所述规则编辑区内依次输入的第一规则引导词、条件集合、第二规则引导词和动作集合,将所述第一规则引导词和所述条件集合进行组合得所述规则内容的条件部分,将所述第二规则引导词和所述动作集合进行组合得到所述规则内容的动作部分,其中:所述条件集合用于对一个或者多个所述属性进行判断并得到布尔类型返回值;所述动作集合用于对一个或者多个所述对象模型或所述属性进行操作。
优选地,所述输入提示条件包括:分别用于规则引导词提示、对象模型提示和属性提示的第一输入提示符、第二输入提示符、第三输入提示符;其中,
若所述用户输入的内容与所述第一输入提示符匹配,则从所述规则引导词库中得到规则引导词列表并显示在所述输入提示框内,并将用户从所述规则引导词列表中选择的规则引导词作为已识别规则引导词显示在所述规则编辑区内的当前输入位置;
若所述用户输入的内容与所述第二输入提示符匹配,则从所述对象模型库中得到与所述用户输入关联的对象模型列表并显示在所述输入提示框内,并将用户从所述对象模型列表中选择的对象模型作为已识别对象模型显示在所述规则编辑区内的当前输入位置;
若所述用户输入的内容与所述第三输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别对象模型,则从所述对象模型库中得到所述已识别对象模型的属性列表并显示在所述输入提示框内,并将所述第三输入提示符和用户从所述属性列表中选择的属性作为已识别属性显示在所述规则编辑区内的当前输入位置。
优选地,所述方法还包括如下步骤:
预先构建函数模型库,所述函数模型库包括若干第一函数,将每个所述第一函数与一个或者多个所述对象模型进行关联,用于所述第一函数对其所关联的对象模型进行操作;
所述输入提示条件还包括:用于第一函数提示的第四输入提示符;
若所述用户输入的内容与所述第四输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别对象模型,则从所述函数模型库中得到与所述已识别对象模型关联的第一函数列表并显示在所述输入提示框内,并将所述第四输入提示符和用户从所述第一函数列表中选择的第一函数作为该所述已识别对象模型的第一目标函数显示在所述规则编辑区内的当前输入位置。
优选地,所述方法还包括如下步骤:
预先构建函数模型库,所述函数模型库包括若干第二函数,将每个所述第二函数与一个或者多个所述属性进行关联,用于所述第二函数对其所关联的属性进行操作;
所述输入提示条件还包括:用于第二函数提示的第五输入提示符;
若所述用户输入的内容与所述第五输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,则从所述函数模型库中得到与所述已识别属性关联的第二函数列表并显示在所述输入提示框内,并将所述第五输入提示符和用户从所述第二函数列表中选择的第二函数作为该所述已识别属性的第二目标函数显示在所述规则编辑区内的当前输入位置。
优选地,所述预先构建对象模型库包括如下步骤:在所述对象模型中对每个所述属性进行数据类型的定义;
所述预先构建函数模型库包括如下步骤:所述将每个所述第二函数与一个或者多个所述属性进行关联之后,进行函数模型校验,以使所述第二函数的返回值类型和与其关联的所述属性的数据类型一致。
优选地,所述输入提示条件还包括:用于系统变量提示的第六输入提示符;
若所述用户输入的内容与所述第六输入提示符匹配,则获取系统变量列表并显示在所述输入提示框内,并将所述第六输入提示符和用户从所述系统变量列表中选择的系统变量作为已识别系统变量显示在所述规则编辑区内的当前输入位置。
优选地,所述方法还包括如下步骤:
预先构建字典模型库,所述字典模型库包括若干字典,所述字典包括信息项键和信息项值;
所述预先构建对象模型还包括:当所述属性的数据类型设置为文本类型时,将所述属性的数据源与所述字典模型库中的某个字典进行关联;
所述输入提示条件还包括:用于字典提示的第八输入提示符;
若所述用户输入的内容与所述第八输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,且所述已识别属性的数据类型为文本,则从所述字典模型库中得到与所述已识别属性关联的字典并将所述字典包括的信息项键和/或信息项值显示在所述用户交互界面。
优选地,所述方法还包括如下步骤:
预先构建量纲模型库,所述量纲模型库包括若干量纲,所述量纲包括若干单位及其之间的换算关系;
所述预先构建对象模型还包括:当所述属性的数据类型设置为数值类型时,将所述属性与所述量纲模型库中的某个量纲进行关联;
所述输入提示条件还包括:用于量纲提示的第九输入提示符;
若所述用户输入的内容与所述第九输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,且所述已识别属性的数据类型为数值,则从所述量纲模型库中得到与所述已识别属性关联的量纲并将所述量纲的若干单位及其之间的换算关系显示在所述用户交互界面。
优选地,所述方法还包括:
在所述规则编辑区完成若干条规则的编辑后,对所述若干条规则进行冲突检查和/或语义检查。
优选地,所述对象模型包括表单模型,所述表单模型包括若干子表模型;
在所述规则编辑区允许使用第三规则引导词和第四规则引导词与某所述子表模型进行关联;
若所述条件部分依次包括所述第三规则引导词和该子表模型,则在后续的规则内容中使用所述第四规则引导词以指代该子表模型。
优选地,所述第一规则引导词为“如果”、“当”、“假如”的其中一者;和/或,
所述第二规则引导词为“那么”、“则”的其中一者;和/或,
所述第三规则引导词为“某”;和/或,
所述第四规则引导词为“该”。
本发明的第二方面提供了一种基于模型的界面交互装置,用于供用户在用户交互界面制定规则,所述用户交互界面包括规则编辑区和能够动态显示的输入提示框;所述规则的规则内容包括条件部分和动作部分;
所述装置包括:
第一构建单元,能够构建规则引导词库和对象模型库,其中:所述规则引导词库包括若干用于所述条件部分和/或所述动作部分的规则引导词;所述对象模型库包括若干用于所述条件部分和/或所述动作部分的对象模型,每个所述对象模型包括若干属性;
第一处理单元,能够响应于用户的操作请求,并显示所述用户交互界面,并监听用户在所述用户交互界面内的输入,其中:在监听用户输入时,能够将用户输入的内容和预设的输入提示条件进行匹配,并根据匹配结果触发所述输入提示框,并在所述输入提示框内显示由所述规则引导词库得到的规则引导词列表、或者由所述对象模型库得到的对象模型列表、或者由所述对象模型库得到的某个对象模型的属性列表,并将用户选择的规则引导词、对象模型或属性作为已识别的规则内容显示在所述规则编辑区的当前输入位置;
第二处理单元,能够接收到用户在所述规则编辑区内依次输入的第一规则引导词、条件集合、第二规则引导词和动作集合,并将所述第一规则引导词和所述条件集合进行组合得所述规则内容的条件部分,并将所述第二规则引导词和所述动作集合进行组合得到所述规则内容的动作部分,其中:所述条件集合用于对一个或者多个所述属性进行判断并得到布尔类型返回值;所述动作集合用于对一个或者多个所述对象模型或所述属性进行操作。
优选地,所述输入提示条件包括:分别用于规则引导词提示、对象模型提示和属性提示的第一输入提示符、第二输入提示符、第三输入提示符;
所述第一处理单元能够:
在所述用户输入的内容与所述第一输入提示符匹配时,从所述规则引导词库中得到规则引导词列表并显示在所述输入提示框内,并将用户从所述规则引导词列表中选择的规则引导词作为已识别规则引导词显示在所述规则编辑区内的当前输入位置;
在所述用户输入的内容与所述第二输入提示符匹配时,从所述对象模型库中得到与所述用户输入关联的对象模型列表并显示在所述输入提示框内,并将用户从所述对象模型列表中选择的对象模型作为已识别对象模型显示在所述规则编辑区内的当前输入位置;
在所述用户输入的内容与所述第三输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别对象模型时,从所述对象模型库中得到所述已识别对象模型的属性列表并显示在所述输入提示框内,并将所述第三输入提示符和用户从所述属性列表中选择的属性作为已识别属性显示在所述规则编辑区内的当前输入位置。
优选地,所述第一构建单元还能够构建函数模型库,所述函数模型库包括若干第一函数,并能够将每个所述第一函数与一个或者多个所述对象模型进行关联,用于所述第一函数对其所关联的对象模型进行操作;
所述输入提示条件还包括:用于第一函数提示的第四输入提示符;
所述第一处理单元还能够:
在所述用户输入的内容与所述第四输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别对象模型时,从所述函数模型库中得到与所述已识别对象模型关联的第一函数列表并显示在所述输入提示框内,并将所述第四输入提示符和用户从所述第一函数列表中选择的第一函数作为该所述已识别对象模型的第一目标函数显示在所述规则编辑区内的当前输入位置。
优选地,所述第一构建单元还能够构建函数模型库,所述函数模型库包括若干第二函数,并能够将每个所述第二函数与一个或者多个所述属性进行关联,用于所述第二函数对其所关联的属性进行操作;
所述输入提示条件还包括:用于第二函数提示的第五输入提示符;
所述第一处理单元还能够:
在所述用户输入的内容与所述第五输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性时,从所述函数模型库中得到与所述已识别属性关联的第二函数列表并显示在所述输入提示框内,并将所述第五输入提示符和用户从所述第二函数列表中选择的第二函数作为该所述已识别属性的第二目标函数显示在所述规则编辑区内的当前输入位置。
优选地,所述第一构建单元还能够在所述对象模型中对每个所述属性进行数据类型的定义,并在将每个所述第二函数与一个或者多个所述属性进行关联之后,进行函数模型校验,以使所述第二函数的返回值类型和与其关联的所述属性的数据类型一致。
优选地,所述输入提示条件还包括:用于系统变量提示的第六输入提示符;
所述第一处理单元还能够:
在所述用户输入的内容与所述第六输入提示符匹配时,获取系统变量列表并显示在所述输入提示框内,并将所述第六输入提示符和用户从所述系统变量列表中选择的系统变量作为已识别系统变量显示在所述规则编辑区内的当前输入位置。
优选地,所述第一构建单元还能够构建字典模型库,所述字典模型库包括若干字典,所述字典包括信息项键和信息项值,并能够在所述属性的数据类型设置为文本类型时,将所述属性的数据源与所述字典模型库中的某个字典进行关联;
所述输入提示条件还包括:用于字典提示的第八输入提示符;
所述第一处理单元还能够:
在所述用户输入的内容与所述第八输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,且所述已识别属性的数据类型为文本时,从所述字典模型库中得到与所述已识别属性关联的字典并将所述字典包括的信息项键和/或信息项值显示在所述用户交互界面。
优选地,所述第一构建单元还能够构建量纲模型库,所述量纲模型库包括若干量纲,所述量纲包括若干单位及其之间的换算关系,并能够在所述属性的数据类型设置为数值类型时,将所述属性与所述量纲模型库中的某个量纲进行关联;
所述输入提示条件还包括:用于量纲提示的第九输入提示符;
所述第一处理单元还能够:
在所述用户输入的内容与所述第九输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,且所述已识别属性的数据类型为数值时,从所述量纲模型库中得到与所述已识别属性关联的量纲并将所述量纲的若干单位及其之间的换算关系显示在所述用户交互界面。
优选地,所述装置还包括:
第三处理单元,能够在所述规则编辑区完成若干条规则的编辑后,对所述若干条规则进行冲突检查和/或语义检查。
优选地,所述对象模型包括表单模型,所述表单模型包括若干子表模型;
所述第二处理单元还能够:
在所述规则编辑区允许使用第三规则引导词和第四规则引导词与某所述子表模型进行关联;
若所述条件部分依次包括所述第三规则引导词和该子表模型,则在后续的规则内容中使用所述第四规则引导词以指代该子表模型。
优选地,所述第一规则引导词为“如果”、“当”、“假如”的其中一者;和/或,
所述第二规则引导词为“那么”、“则”的其中一者;和/或,
所述第三规则引导词为“某”;和/或,
所述第四规则引导词为“该”。
本发明的第三方面提供了一种规则制定系统,包括用户交互界面和如上述第二方面所述的基于模型的界面交互装置。
本发明的第四方面提供了一种电子设备,包括:
处理器;以及
存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,能够实现如上述第一方面的基于模型的界面交互方法。
本发明的第五方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于运行以实现如上述第一方面所述的基于模型的界面交互方法。
本发明的基于模型的界面交互方法,通过预先构建的规则引导词库和对象模型库,并通过输入提示的方式从规则引导词库和对象模型库中选择可用的规则引导词和对象以完成规则内容的编辑,构建类似自然语言的规则语句。其中,用于条件集合和动作集合的数据对象直接按照模型化的数据结构进行描述,因而不需要再将这部分的文本内容转换为以模型为基础数据结构的文本内容,即可由规则引擎直接读取、解释并进行相应的操作。由此,一方面,这样的界面交互方法对于业务人员来说更为友好、直观,另一方面,该方法也能保证规则内容的准确性和有效性,有助于提高规则的可执行性,真正地实现业务规则和系统代码的解耦和联动。而且,本发明完全能够支持中文的用户交互界面,并为用户提供必要的内容提示信息,使得规则编辑过程更为友好、直观,并能保证由此得到的规则的可执行性。
本发明的基于模型的界面交互装置,易于使用,尤其适用于普通业务人员,能够方便地实现规则内容的制定,规则内容符合预定义语义,可由规则引擎直接调用。
本发明的规则制定系统,通过包括上述第二方面所述的界面交互装置,使得规则制定更为方便、有效,提高规则制定的工作效率。
本发明的电子设备,能够实现上述第一方面所述的基于模型的界面交互方法,适用于业务人员制定规则,且能保证规则内容的准确性和有效性。
本发明的计算机可读存储介质,其上存储的计算机程序能够实现上述第一方面所述的基于模型的界面交互方法,由此得到的规则内容符合预定义语义要求,可供规则引擎直接使用。
本发明的其他有益效果,将在具体实施方式中通过具体技术特征和技术方案的介绍来阐述,本领域技术人员通过这些技术特征和技术方案的介绍,应能理解所述技术特征和技术方案带来的有益技术效果。
附图说明
以下将参照附图对根据本发明的基于模型的界面交互方法的优选实施方式进行描述。图中:
图1为本发明的基于模型的界面交互方法的一种优选实施方式的流程示意图;
图2为本发明的用户交互界面的规则引导词提示的界面示意图;
图3为本发明的用户交互界面的对象模型提示的界面示意图;
图4为本发明的用户交互界面的属性提示的界面示意图;
图5为本发明的用户交互界面的第一函数提示用于条件部分的界面示意图;
图6为本发明的用户交互界面的第一函数提示用于动作部分的界面示意图;
图7为本发明的用户交互界面的第二函数提示的界面示意图;
图8为本发明的基于模型的界面交互装置的一种优选实施方式的结构示意图。
具体实施方式
参见图1,本发明提供了一种基于模型的界面交互方法,用于供用户在用户交互界面制定规则,所述用户交互界面包括规则编辑区和能够动态显示的输入提示框,所述规则的规则内容包括条件部分和动作部分,所述方法包括如下步骤:
S100,预先构建规则引导词库和对象模型库,其中:所述规则引导词库包括若干用于所述条件部分和/或所述动作部分的规则引导词;所述对象模型库包括若干用于所述条件部分和/或所述动作部分的对象模型,每个所述对象包括若干属性。
S200,响应于用户的操作请求,显示所述用户交互界面,并监听用户在所述用户交互界面内的输入,其中:在监听用户输入时,将用户输入的内容和预设的输入提示条件进行匹配,根据匹配结果触发所述输入提示框,并在所述输入提示框内显示由所述规则引导词库得到的规则引导词列表、或者由所述对象模型库得到的对象模型列表、或者由所述对象模型库得到的某个对象模型的属性列表,并将用户选择的规则引导词、对象模型或属性作为已识别的规则内容显示在所述规则编辑区的当前输入位置。
S300,接收到用户在所述规则编辑区内依次输入的第一规则引导词、条件集合、第二规则引导词和动作集合,将所述第一规则引导词和所述条件集合进行组合得所述规则内容的条件部分,将所述第二规则引导词和所述动作集合进行组合得到所述规则内容的动作部分,其中:所述条件集合用于对一个或者多个所述属性进行判断并得到布尔类型返回值;所述动作集合用于对一个或者多个所述对象模型或所述属性进行操作。
通过上述步骤,本发明的基于模型的界面交互方法,通过预先构建的规则引导词库和对象模型库,并通过动态显示输入提示的方式从规则引导词库或对象模型库中选择可用的规则引导词、对象模型或某个对象模型的属性作为规则内容以用于生成规则,不仅适用于业务人员,易于操作且友好、直观,而且能保证规则内容的准确性和有效性,有助于提高规则执行的计算效率。
具体地,在步骤S100中,
关于规则引导词,用于定义规则内容的规则框架,其中,第一规则引导词用于引出规则内容的条件部分,第一规则引导词可以是“如果”、“当”、“假如”等其中一者;第二规则引导词用于引出规则内容的动作部分,第二规则引导词可以是“那么”、“则”等其中一者。
关于对象模型,是指可由规则引擎直接解释和调用的数据模型。对象模型可以是对业务流程中涉及的人员、岗位和/或组织进行统一描述的数据模型,即用于描述业务流程中与人相关的各种实体对象。具体地,对象模型可以包括人员模型、岗位模型、组织模型。人员模型用于对人员进行统一描述,其属性可以包括姓名、账号、性别、手机号码、邮箱、岗位ID等。岗位模型用于对岗位进行统一描述,其属性可以包括岗位名称、岗位描述、岗位ID等。组织模型用于对组织进行统一描述,其属性可以包括组织节点名称、上级组织节点名称、关联岗位ID集合、组织节点负责人等。对象模型也可以是对业务流程中涉及的表单、文件和/或实物进行统一描述的数据模型,即用于描述业务流程中与物相关的各种实体对象。具体的,对象模型可以包括表单模型、文件模型和实物模型。表单模型用于对表单进行统一描述,其属性可以包括表单ID、表单分类ID、创建时间、创建人以及各种自定义属性,自定义属性用于描述每个表单各自具有的属性,例如合同表单模型可以包括合同金额、项目编号等属性。文件模型用于对文件进行统一描述,其属性可以包括文档名称、文档路径、文档类型、文件大小、创建时间、创建人、文档ID等。实物模型用于对实物进统一描述,这里的实物主要用于定义业务流程中涉及的产品、物资、设备等的结构和/或组成,例如产品的属性可以包括材料、价格。另外,对象模型支持分类管理,下一级的对象模型可以继承上一级的对象模型的若干属性。对象模型可以通过json文件等进行描述,并存储在数据库中。
具体地,在步骤S200中,通过监听用户输入的内容,当用户输入的内容和预设的输入提示条件匹配时,则在输入提示框内显示相应的提示内容供用户选择,由于提示内容是从规则引导词库或者从对象模型库中检索得到的,可保证用户输入的内容符合规则内容的要求,并且是能够被规则引擎直接解释和调用的,有助于提高规则执行的计算效率和准确性。
具体地,在步骤S300中,基于用户在步骤S200中的输入提示内容中选取的规则引导词、对象模型或属性,并根据在规则编辑区接收到用户根据预定义语义格式要求依次输入的内容得到规则内容。根据产生式(或称产生式规则)的基本形式:IF<前件>THEN<后件>,其中,前件是该规则可否使用的先决条件,前件由单个事实或者多个事实的逻辑组合构成,后件是一组结论或操作,即当前件满足的时候,应该推出的结论或应该执行的操作,由此,规则的规则内容按照预定义语义格式包括条件部分和动作部分,预定义语义格式可以表示如下:
{第一规则引导词}
条件组合
{第二规则引导词}
动作组合
同时,考虑到用于规则引擎的规则内容需要具备精确的、可描述的、数学基础定义的特征,由此,规则内容的条件部分包括第一规则引导词和条件集合,条件集合可以是一个布尔表达式,也可以是多个布尔表达式的组合,其组合结果仍然是一个布尔类型返回值,运算方式是对这多个布尔表示式的结果进行交集运算或者并集运算,每个布尔表达式是对某个属性的状态进行判断,若状态存在则返回“真”,若状态不存在则返回“假”;规则内容的动作部分包括第二规则引导词和动作集合,动作集合可以是一个动作,也可以是多个动作的组合,每个动作是对某个对象模型或者某个属性进行操作,这里的操作包括新建、修改等操作,其中,修改通常是针对某个属性并对其进行赋值操作。
具体地,规则内容按照预定义语义格式可以表示如下:
{如果}
第一对象模型名称.属性名称比较运算符字面量
{那么}
第二对象模型名称.属性名称赋值运算符字面量
其中,比较运算符包括但不限于{>,<,>=,<=,!=,==},其中,“!=”为“不等于”,“==”为“等于”;赋值运算符包括但不限于{=,+=,-=},其中“+=”为“增加”,“-=”为“减少”;字面量一般用于表达一个固定值,字面量支持文本、整数、小数、时间戳(例如毫秒)、布尔类型、区间、标量集合、引用集合等。需要说明的是,上述各运算符符号仅作为示例,并非对上述预定义语义格式的限定。
另外,规则可以通过json文件等方式存储在数据库中。
作为可选的实施例,所述步骤S200中,所述输入提示条件包括:分别用于规则引导词提示、对象模型提示和属性提示的第一输入提示符、第二输入提示符、第三输入提示符;其中,
若所述用户输入的内容与所述第一输入提示符匹配,则从所述规则引导词库中得到规则引导词列表并显示在所述输入提示框内,并将用户从所述规则引导词列表中选择的规则引导词作为已识别规则引导词显示在所述规则编辑区内的当前输入位置;
若所述用户输入的内容与所述第二输入提示符匹配,则从所述对象模型库中得到与所述用户输入关联的对象模型列表并显示在所述输入提示框内,并将用户从所述对象模型列表中选择的对象模型作为已识别对象模型显示在所述规则编辑区内的当前输入位置;
若所述用户输入的内容与所述第三输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别对象模型,则从所述对象模型库中得到所述已识别对象模型的属性列表并显示在所述输入提示框内,并将所述第三输入提示符和用户从所述属性列表中选择的属性作为已识别属性显示在所述规则编辑区内的当前输入位置。
其中,用户进行输入的方式可以是通过鼠标、键盘直接进行文本输入,也可以是通过语音录入转换成文字,再通过识别文字中的模型和规则对规则内容进行整理。
例如,第一输入提示符设置为对应于键盘上“Ctrl键”的字符串,当监听到用户输入的内容是“Ctrl键”,则相应地触发输入提示框,同时从规则引导词库中检索到所有的规则引导词并生成规则引导词列表,然后通过输入提示框显示在用户交互界面上,参见图2,接着,等待用户从规则引导词列表中选取需要的规则引导词,并根据用户的选择将相应的规则引导词作为已识别规则引导词显示在规则编辑区的当前输入位置,已识别规则引导词是规则内容的一部分。
例如,第二输入提示符设置为26个英文字母,当监听到用户输入的内容为某个英文字母时,则相应地触发输入提示框,同时从对象模型库中检索到与该英文字母关联的所有的对象模型并生成对象模型列表,然后通过输入提示框显示在用户交互界面上,接着,等待用户从对象模型列表中选取需要的对象模型,并根据用户的选择将相应的对象模型作为已识别对象模型显示在规则编辑区的当前输入位置,已识别对象模型是规则内容的一部分。其中,与该英文字母关联的所有的对象模型可以是以该英文字母开头的所有的对象模型,参见图3,用户输入为“x”,则在输入提示框内显示出以x开头的所有的对象模型,具体为:行程明细、销售合同主表、销售合同明细表、行程汇总明细、行程汇总表,以供用户进行选择。
例如,第三输入提示符设置为“.”,当监听到用户输入的内容为“.”时,并且规则编辑区的当前输入位置,即光标所在的位置,该位置的上文内容为已识别对象模型,则相应地触发输入提示框,同时从对象模型库中检索到该已识别对象模型的所有属性并生成属性列表,然后通过输入提示框显示在用户交互界面上,参见图4,用户在上述示例中选择“行程汇总明细”后输入“.”,则从对象模型库中检索到“行程汇总明细”这个对象模型的所有属性并显示在输入提示框内,接着,等待用户从属性列表中选取需要的属性,并根据用户的选择将相应的属性作为已识别属性显示在规则编辑区的当前输入位置,已识别属性是规则内容的一部分。
通过上述步骤,分别为规则引导词、对象模型和属性设置相应的输入提示符,当监听到用户输入的内容与这些输入提示符匹配时,则相应地触发输入提示框,并根据输入提示符生成相应的可供用户选择的列表,再将用户选择的规则引导词、对象模型或属性作为规则内容的一部分,由此用户选择的内容都是实时地从规则引导词库或对象模型库中调取的有效内容,因而可确保执行规则时数据对象的准确性和有效性,使得规则引擎可以直接读取这些内容并进行相应的判断或操作,既能让业务人员直接对规则内容进行创建和维护,也无需再转换成规则引擎可读的形式,有助于提高规则引擎的工作效率。
作为可选的实施例,所述方法的步骤S100还包括如下步骤:
S110,预先构建函数模型库,所述函数模型库包括若干第一函数,将每个所述第一函数与一个或者多个对象模型进行关联,用于第一函数对其所关联的对象模型进行操作;并且,
所述输入提示条件还包括:用于函数提示的第四输入提示符;
若所述用户输入的内容与所述第四输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别对象模型,则从所述函数模型库中得到与所述已识别对象模型关联的第一函数列表并显示在所述输入提示框内,并将所述第四输入提示符和用户从所述第一函数列表中选择的第一函数作为该所述已识别对象模型的第一目标函数显示在所述规则编辑区内的当前输入位置。
例如,第四输入提示符设置为“&”,当监听到用户输入的内容为“&”时,并且规则编辑区的当前输入位置,即光标所在的位置,该位置的上文内容为已识别对象模型,则相应地触发输入提示框,同时从函数模型库中检索到与该已识别对象模型关联的所有第一函数并生成第一函数列表,然后通过输入提示框显示在用户交互界面上,参见图5,用户在选择“行程汇总明细”后输入“&”,则从函数模型库中检索到与“行程汇总明细”关联的所有第一函数并显示在输入提示框内,接着,等待用户从第一函数列表中选取需要的第一函数,并根据用户的选择将相应的第一函数作为已识别对象模型的第一目标函数显示在规则编辑区的当前输入位置,第一目标函数是规则内容的一部分。
其中,函数也被称为方法,例如调用对象本身的一个动作,可以通过编程方法内置在对象中,也可以通过编写规则的方式进行封装。具体地,第一函数用于对某个对象模型进行预定义的操作,第一函数可以用于条件部分,以实现对某个对象模型进行操作并通过判断函数返回值以得到布尔类型返回值,参见图5,“行程汇总明细”是一个表单模型,通过引用“按日分摊住宿费用”这个函数对该表单模型进行每日住宿费用的计算,然后对计算结果进行判断以得到布尔类型返回值。第一函数也可以用于动作部分,以实现对某个对象模型进行操作以获得所需要的计算结果,参见图6,“发票”也是一个表单模型并包含多个子表以表示不同的发票单据,通过引用“根据字段排序”这个函数对该表单模型按照时间顺序进行相应的排序,由此得到的计算结果可用于后续的计算过程。
又如,假如对象模型为用于描述实物的产品模型,则针对产品模型的第一函数可以包括“发布()”、“废止()”等,其中“()”内可以是具体的产品模型名称,以实现对该产品模型的具体操作。另外,针对产品模型的第一函数也可以包括“查询()”等,其中“()”内可以是一个或者是多个输入参数,参数中间用逗号分隔。
通过上述步骤,能对预先构建的对象模型实现不同的操作或者计算,使得规则内容的条件部分和动作部分的表达形式更为灵活、表达内容更为丰富,可满足不同的规则内容需求,以适应各种应用场景。
作为可选的实施例,所述方法的步骤S100还包括如下步骤:
S120,预先构建函数模型库,所述函数模型库包括若干第二函数,将每个所述第二函数与一个或者多个属性进行关联,用于第二函数对其所关联的属性进行操作;并且,
所述输入提示条件还包括:用于第二函数提示的第五输入提示符;
若所述用户输入的内容与所述第五输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,则从所述函数模型库中得到与所述已识别属性关联的第二函数列表并显示在所述输入提示框内,并将所述第五输入提示符和用户从所述第二函数列表中选择的第二函数作为该所述已识别属性的第二目标函数显示在所述规则编辑区内的当前输入位置。
其中,第五输入提示符可与第四输入提示符相同,通过对规则编辑区的当前输入位置的上文内容进行判断,如是已识别对象模型,则由输入提示框显示该已识别对象模型的第一函数列表,如是已识别属性,则由输入提示框显示该已识别属性的第二函数列表。
例如,第五输入提示符设置为“&”,当监听到用户输入为“&”时,并且规则编辑区的当前输入位置,即光标所在的位置,该位置的上文内容为已识别属性,则相应地触发输入提示框,同时从函数模型库中检索到与该已识别属性关联的所有第二函数并生成第二函数列表,然后通过输入提示框显示在用户交互界面上,参见图7,用户在“行程汇总表.出差城市列表”后输入“&”,则从函数模型库中检索到与“行程汇总表.出差城市列表”关联的所有第二函数并显示在输入提示框内,接着,等待用户从第二函数列表中选取需要的第二函数,并根据用户的选择将相应的第二函数作为已识别属性的第二目标函数显示在规则编辑区的当前输入位置,第二目标函数是规则内容的一部分。
同样地,第二函数可用于条件部分,也可用于动作部分。
通过上述步骤,能过对预先构建的对象模型的若干属性实现不同的操作或者计算,使得规则内容的条件部分和动作部分的表达形式更为灵活、表达内容更为丰富,可满足不同的规则内容需求,以适应各种应用场景。
作为可选的实施例,所述步骤S100中,所述预先构建对象模型库包括如下步骤:在所述对象模型中对每个所述属性进行数据类型的定义;
并且,所述步骤S120中,所述预先构建函数模型库包括如下步骤:所述将每个所述第二函数与一个或者多个所述属性进行关联之后,进行函数模型校验,以使所述第二函数的返回值类型和与其关联的所述属性的数据类型一致。
具体地,属性的数据类型可以包括文本、整数、小数、时间戳(例如毫秒)、布尔类型、区间、标量集合、引用集合等。其中,函数模型校验主要是对第二函数的返回值类型和与该第二函数关联的属性的数据类型进行校验,例如,某第二函数为“时间转换()”必须关联的是数据类型为时间类型的属性,否则系统提示函数模型校验异常。规则内容在编辑时,对输入的内容进行动态检查,以及时提醒用户所输入的内容存在属性和第二函数的数据类型不匹配的问题,以及时纠正规则内容所存在的语义错误。
另外,函数模型校验还可以包括针对函数模型自身的语法校验等。
通过上述步骤,在对属性进行函数引用的时候,能够确保规则内容符合预定义语义要求,避免规则内容出现不必要的错误,有助于提高规则内容的可解释性和可执行性。
作为可选的实施例,所述步骤S200中,所述输入提示条件还包括:用于系统变量提示的第六输入提示符;
若所述用户输入的内容与所述第六输入提示符匹配,则获取系统变量列表并显示在所述输入提示框内,并将所述第六输入提示符和用户从所述系统变量列表中选择的系统变量作为已识别系统变量显示在所述规则编辑区内的当前输入位置。
其中,系统变量可以包括全局变量和内部变量,全局变量是系统内置的可被引用的系统变量,例如当前时间、当前登录人、当前任务、当前活动等,内部变量是规则体内部定义的变量,例如内部变量“旅程时间差”,可以通过对象模型“火车票”的属性“到达时间”和“出发时间”计算得到,即:
旅程时间差=火车票.到达时间–火车票.出发时间
例如,第六输入提示符设置为“$”,当监听到用户输入为“$”,则相应地触发输入提示框,同时从系统中检索到所有的系统变量并生成系统变量列表,然后通过输入提示框显示在用户交互界面上,接着,等待用户从系统变量列表中选择需要的系统变量,并根据用户的选择将相应的系统变量作为已识别系统变量显示在规则编辑区的当前输入位置,已识别系统变量是规则内容的一部分。
通过上述步骤,编辑规则时可在规则内容中根据需要对系统变量进行引用,能使规则的表达内容更加丰富,表达方式更加灵活,从而使得规则能够实现的功能更为强大。
作为上述实施例的进一步改进,所述函数模型库还可以包括第三函数,将每个第三函数与一个或者多个系统变量进行关联,用于第三函数对其所关联的系统变量进行操作;
所述输入提示条件还包括:用于函数提示的第七输入提示符;
若所述用户输入的内容与所述第七输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别系统变量,则从所述函数模型库中得到与所述已识别系统变量关联的第三函数列表并显示在所述输入提示框内,并将所述第七输入提示符和用户从所述第三函数列表中选择的第三函数作为该所述已识别系统变量的第三目标函数显示在所述规则编辑区内的当前输入位置。
其中,第七输入提示符可与第四输入提示符或第五输入提示符相同。
作为可选的实施例,所述方法的步骤S100还包括如下步骤:
S130,预先构建字典模型库,所述字典模型库包括若干字典,所述字典包括信息项键和信息项值;并且,
所述步骤S100中,所述预先建对象模型还包括:当所述属性的数据类型设置为文本时,将所述属性的数据源与所述字典模型库中的某个字典进行关联;并且,
所述输入提示条件还包括:用于字典提示的第八输入提示符;
若所述用户输入的内容与所述第八输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,且所述已识别属性的数据类型为文本类型,则从所述字典模型库中得到与所述已识别属性关联的字典并将所述字典包括的信息项键和/或信息项值显示在所述用户交互界面。
通过上述步骤,在规则内容的编辑过程中,能够通过在用户交互界面显示与当前属性相关的字典的内容提示信息,以方便用户选择合适的信息项值,并有助于提高字面量赋值的准确性,以确保规则内容的合规性和一致性,便于规则引擎对规则内容的解释和执行。
作为可选的实施例,所述方法的步骤S100还包括如下步骤:
S140,预先构建量纲模型库,所述量纲模型库包括若干量纲,所述量纲包括若干单位及其之间的换算关系;并且,
所述步骤S100中,所述预先构建对象模型还包括:当所述属性的数据类型设置为数值时,将所述属性与所述量纲模型库中的某个量纲进行关联;并且,
所述输入提示条件还包括:用于量纲提示的第九输入提示符;
若所述用户输入的内容与所述第九输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容依次包括所述已识别属性、比较运算符和数值,且所述已识别属性的数据类型为数值类型,则从所述量纲模型库中得到与所述已识别属性关联的量纲并将所述量纲的若干单位及其之间的换算关系显示在所述用户交互界面。
其中,所关联的量纲信息可以显示在输入提示框内,也可以显示在用户交互界面中预设的位置。
例如,第九输入提示符设置为空格,当监听到用户输入为空格时,并且规则编辑区的当前输入位置,即光标所在的位置,该位置的上文内容依次包括某已识别属性、比较运算符和一个具体数值,并且该已识别属性的数据类型为数值类型,则相应地触发输入提示框,同时从系统中检索到该已识别属性关联的量纲并生成量纲列表,然后通过输入提示框将量纲列表显示在输入提示框内,接着,等待用户从量纲列表中选择需要的量纲,并根据用户的选择将相应的量纲作为已识别量纲显示在规则编辑区的当前输入位置,已识别量纲是规则内容的一部分。
其中,量纲可以包括个、长度、金额、件、距离、时间、排序。例如,某个量纲为金额量纲,该量纲的单位可以包括元、角(毛)、分,并设置该量纲的默认单位为元,且元、角(毛)、分的换算比例均为1:10。数值类型可以包括整数和小数。
通过上述步骤,对于数值类型的属性,通过量纲模型能确保其数值含义的清晰和精准,消除了规则中数组的模糊性,有助于提高规则的严密性和可执行性。
作为可选的实施例,所述方法还包括如下步骤:
S400,在所述规则编辑区完成若干条规则的编辑后,对所述若干条规则进行冲突检查和/或语义检查。
具体地,在规则编辑区完成所有规则的规则内容的编辑后,可以通过预设的菜单按钮进行保存,在点击该菜单按钮时触发冲突检查和/或语义检查的操作,用于实现对所有规则内容可能存在的冲突或者语义错误进行检查,并提示用户进行必要的修改和调整。
具体的,将所有规则的规则内容组成规则集合,并对其进行冲突检查,所述冲突检查包括:
选取任意两条规则作为第一规则和第二规则,
若所述第一规则的条件部分和所述第二规则的条件部分的交集不为空,且所述第一规则的动作部分和所述第二规则的动作部分完全相同;或者,若所述第一规则的条件部分和所述第二规则的条件部分完全相同,且所述第一规则的动作部分和所述第二规则的动作部分的交集不为空,则所述第一规则和所述第二规则为部分包含关系;
若所述第一规则的条件部分和所述第二规则的条件部分局部相同,且所述第一规则的动作部分和所述第二规则的动作部分的交集为空,则所述第一规则和所述第二规则为冲突关系;
重复上述步骤,直至完成对所有规则的冲突检查。
作为上述实施例的进一步改进,所述冲突检查还包括:
选取任意一条规则作为第三规则;
若所述第三规则的条件部分受前序规则的限制,且条件部分的判断对象为空时,则所述第三规则为无效规则;
若所述第三规则的动作部分存在循环套用,则所述第三规则为循环规则。
具体地,所述语义检查包括:规则引导词的使用是否正确、对象模型、属性和/或关联的函数模型是否存在、属性和函数模型的数据类型是否一致、字面量赋值和字典模型是否一致、字面量赋值是否包括量纲模型等。
通过上述步骤,能够确保规则内容的合规性和一致性,易于规则引擎进行解释,有助于提高规则内容的精准性和规则执行的效率。并且,在规则内容需要保存的时候进行冲突检查和/或语义检查,有利于及时发现问题并纠正错误。
作为可选的实施例,所述对象模型包括表单模型,所述表单模型包括若干子表模型;
在所述规则编辑区允许使用第三规则引导词和第四规则引导词与某所述子表模型进行关联;
若所述条件部分依次包括所述第三规则引导词和该子表模型,则在后续的规则内容中使用所述第四规则引导词以指代该子表模型。
其中,表单模型通常用于定义在业务系统中流转的数据信息,表单模型可以包括子表模型,第三规则引导词用于关联某个子表模型,从而实现该子表模型的循环使用,再通过第四规则引导词来指代第三规则引导词所关联的该子表模型。第三规则引导词可以是“某”,第四规则引导词可以是“该”。
例如,对象模型包括:表单模型“报销单”,表单模型“报销单”包括子表模型“火车票”;
数据具体如下:
火车票-1:{坐席:软卧,金额(元):148};
火车票-2:{坐席:无座,金额(元):368};
火车票-3:{坐席:硬卧,金额(元):80}。
规则如下:
如果
某火车票.坐席=无座
该火车票.金额>200(元)
那么
报销单.差旅补助+=100(元)
由此,将对“报销单”中所有的“火车票”进行循环,某火车票和该火车票在规则中指的是同一火车票记录,需要逐一遍历上述所有的“火车票”。具体地,“火车票-2”满足上述规则的条件部分,因此将执行上述规则的动作部分,即在“报销单”的“差旅补助”增加数额100元。另外,括号内的“元”是所对应属性的量纲定义。
需要说明的是,第三规则引导词关联的只能是子表模型,如果关联的是表单模型(即主表类型),则认为语义错误。
由此,当对象模型为表单模型且包括子表模型,可以通过使用预定义的规则引导词实现子表模型的循环使用,能使对表单模型的数据读取更为方便和灵活。
作为可选的实施例,所述条件集合中使用第五规则引导词表示交集运算;所述条件集合中使用第六规则引导词表示并集运算。第五规则引导词可以是“并且”、“且”等其中一者,第六规则引导词可以是“或者”、“或”等其中一者。例如,规则内容可以表示如下:
{如果}
第一对象模型名称.属性名称比较运算符字面量
{并且}
第二对象模型名称.属性名称比较运算符字面量
{那么}
第三对象模型名称.属性名称赋值运算符字面量
作为可选的实施例,所述第一规则引导词为“如果”、“当”、“假如”的其中一者;和/或,
所述第二规则引导词为“那么”、“则”的其中一者;和/或,
所述第三规则引导词为“某”;和/或,
所述第四规则引导词为“该”。
具体地,可以将上述规则引导词作为操作按钮预先设置在用户交互界面中,在编写规则内容时能够便于调用。
由此,通过设定上述规则引导词,能够对规则内容的规则框架进行清晰定义,并且规则引导词通过中文表达能够便于业务人员完成规则制定,有助于提高工作效率。
参见图8,本发明还提供了一种基于模型的界面交互装置,用于供用户在用户交互界面制定规则,所述用户交互界面包括规则编辑区和能够动态显示的输入提示框;所述规则的规则内容包括条件部分和动作部分。
所述装置包括:
第一构建单元,能够构建规则引导词库和对象模型库,其中:所述规则引导词库包括若干用于所述条件部分和/或所述动作部分的规则引导词;所述对象模型库包括若干用于所述条件部分和/或所述动作部分的对象模型,每个所述对象模型包括若干属性。
第一处理单元,能够响应于用户的操作请求,并显示所述用户交互界面,并监听用户在所述用户交互界面内的输入,其中:在监听用户输入时,能够将用户输入的内容和预设的输入提示条件进行匹配,并根据匹配结果触发所述输入提示框,并在所述输入提示框内显示由所述规则引导词库得到的规则引导词列表、或者由所述对象模型库得到的对象模型列表、或者由所述对象模型库得到的某个对象模型的属性列表,并将用户选择的规则引导词、对象模型或属性作为已识别的规则内容显示在所述规则编辑区的当前输入位置。
第二处理单元,能够接收到用户在所述规则编辑区内依次输入的第一规则引导词、条件集合、第二规则引导词和动作集合,并将所述第一规则引导词和所述条件集合进行组合得所述规则内容的条件部分,并将所述第二规则引导词和所述动作集合进行组合得到所述规则内容的动作部分,其中:所述条件集合用于对一个或者多个所述属性进行判断并得到布尔类型返回值;所述动作集合用于对一个或者多个所述对象模型或所述属性进行操作。
由此,通过第一构建单元预先构建规则引导词库和对象模型库,通过第一处理单元监听用户输入并提供相应的提示内容,以方便普通业务人员进行制定规则内容,并且能确保规则内容的准确性和可执行性。
作为可选的实施例,所述输入提示条件包括:分别用于规则引导词提示、对象模型提示和属性提示的第一输入提示符、第二输入提示符、第三输入提示符;
所述第一处理单元能够:
在所述用户输入的内容与所述第一输入提示符匹配时,从所述规则引导词库中得到规则引导词列表并显示在所述输入提示框内,并将用户从所述规则引导词列表中选择的规则引导词作为已识别规则引导词显示在所述规则编辑区内的当前输入位置。
在所述用户输入的内容与所述第二输入提示符匹配时,从所述对象模型库中得到与所述用户输入关联的对象模型列表并显示在所述输入提示框内,并将用户从所述对象模型列表中选择的对象模型作为已识别对象模型显示在所述规则编辑区内的当前输入位置。
在所述用户输入的内容与所述第三输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别对象模型时,从所述对象模型库中得到所述已识别对象模型的属性列表并显示在所述输入提示框内,并将所述第三输入提示符和用户从所述属性列表中选择的属性作为已识别属性显示在所述规则编辑区内的当前输入位置。
由此,分别为规则引导词、对象模型和属性设置相应的输入提示符,并通过第一处理单元监听用户输入的内容和相应地触发输入提示框,使得普通业务人员能够输入提示框显示的内容选择所需要的规则引导词、对象模型或属性以作为规则内容的一部分,既能方便地、直接地对规则内容进行创建和维护,也无需再转换成规则引擎可读的形式,有助于提高规则引擎的工作效率。
作为可选的实施例,所述第一构建单元还能够构建函数模型库,所述函数模型库包括若干第一函数,并能够将每个所述第一函数与一个或者多个所述对象模型进行关联,用于所述第一函数对其所关联的对象模型进行操作。
所述输入提示条件还包括:用于第一函数提示的第四输入提示符。
所述第一处理单元还能够:
在所述用户输入的内容与所述第四输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别对象模型时,从所述函数模型库中得到与所述已识别对象模型关联的第一函数列表并显示在所述输入提示框内,并将所述第四输入提示符和用户从所述第一函数列表中选择的第一函数作为该所述已识别对象模型的第一目标函数显示在所述规则编辑区内的当前输入位置。
由此,通过为对象模型引入函数模型,能对预先构建的对象模型实现不同的操作或者计算,使得规则内容的条件部分和动作部分的表达形式更为灵活、表达内容更为丰富,可满足不同的规则内容需求,以适应各种应用场景。
作为可选的实施例,所述第一构建单元还能够构建函数模型库,所述函数模型库包括若干第二函数,并能够将每个所述第二函数与一个或者多个所述属性进行关联,用于所述第二函数对其所关联的属性进行操作。
所述输入提示条件还包括:用于第二函数提示的第五输入提示符。
所述第一处理单元还能够:
在所述用户输入的内容与所述第五输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性时,从所述函数模型库中得到与所述已识别属性关联的第二函数列表并显示在所述输入提示框内,并将所述第五输入提示符和用户从所述第二函数列表中选择的第二函数作为该所述已识别属性的第二目标函数显示在所述规则编辑区内的当前输入位置。
其中,第五输入提示符可与第四输入提示符相同,通过对规则编辑区的当前输入位置的上文内容进行判断,如是已识别对象模型,则由输入提示框显示该已识别对象模型的第一函数列表,如是已识别属性,则由输入提示框显示该已识别属性的第二函数列表。
由此,通过为对象模型的属性引入函数模型,能过对预先构建的对象模型的若干属性实现不同的操作或者计算,使得规则内容的条件部分和动作部分的表达形式更为灵活、表达内容更为丰富,可满足不同的规则内容需求,以适应各种应用场景。
作为可选的实施例,所述第一构建单元还能够在所述对象模型中对每个所述属性进行数据类型的定义,并在将每个所述第二函数与一个或者多个所述属性进行关联之后,进行函数模型校验,以使所述第二函数的返回值类型和与其关联的所述属性的数据类型一致。
由此,对象模型的属性在进行函数引用的时候,能够确保规则内容符合预定义语义要求,避免规则内容出现不必要的错误,有助于提高规则内容的可解释性和可执行性。
作为可选的实施例,所述输入提示条件还包括:用于系统变量提示的第六输入提示符。
所述第一处理单元还能够:
在所述用户输入的内容与所述第六输入提示符匹配时,获取系统变量列表并显示在所述输入提示框内,并将所述第六输入提示符和用户从所述系统变量列表中选择的系统变量作为已识别系统变量显示在所述规则编辑区内的当前输入位置。
由此,编辑规则时可在规则内容中根据需要对系统变量进行引用,能使规则的表达内容更加丰富,表达方式更加灵活,从而使得规则能够实现的功能更为强大。
作为上述实施例的进一步改进,所述函数模型库还可以包括第三函数,将每个第三函数与一个或者多个系统变量进行关联,用于第三函数对其所关联的系统变量进行操作;
所述输入提示条件还包括:用于函数提示的第七输入提示符。
所述第一处理单元还能够:
若所述用户输入的内容与所述第七输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别系统变量,则从所述函数模型库中得到与所述已识别系统变量关联的第三函数列表并显示在所述输入提示框内,并将所述第七输入提示符和用户从所述第三函数列表中选择的第三函数作为该所述已识别系统变量的第三目标函数显示在所述规则编辑区内的当前输入位置。
其中,第七输入提示符可与第四输入提示符或第五输入提示符相同。
作为可选的实施例,所述第一构建单元还能够构建字典模型库,所述字典模型库包括若干字典,所述字典包括信息项键和信息项值,并能够在所述属性的数据类型设置为文本类型时,将所述属性的数据源与所述字典模型库中的某个字典进行关联。
所述输入提示条件还包括:用于字典提示的第八输入提示符。
所述第一处理单元还能够:
在所述用户输入的内容与所述第八输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,且所述已识别属性的数据类型为文本时,从所述字典模型库中得到与所述已识别属性关联的字典并将所述字典包括的信息项键和/或信息项值显示在所述用户交互界面。
由此,在规则内容的编辑过程中,能够通过在用户交互界面显示与当前属性相关的字典的内容提示信息,以方便用户选择合适的信息项值,并有助于提高字面量赋值的准确性,以确保规则内容的合规性和一致性,便于规则引擎对规则内容的解释和执行。
作为可选的实施例,所述第一构建单元还能够构建量纲模型库,所述量纲模型库包括若干量纲,所述量纲包括若干单位及其之间的换算关系,并能够在所述属性的数据类型设置为数值类型时,将所述属性与所述量纲模型库中的某个量纲进行关联。
所述输入提示条件还包括:用于量纲提示的第九输入提示符。
所述第一处理单元还能够:
在所述用户输入的内容与所述第九输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,且所述已识别属性的数据类型为数值时,从所述量纲模型库中得到与所述已识别属性关联的量纲并将所述量纲的若干单位及其之间的换算关系显示在所述用户交互界面。
由此,对于数值类型的属性,通过量纲模型能确保其数值含义的清晰和精准,消除了规则中数组的模糊性,有助于提高规则的严密性和可执行性。
作为可选的实施例,所述装置还包括:
第三处理单元,能够在所述规则编辑区完成若干条规则的编辑后,对所述若干条规则进行冲突检查和/或语义检查。
具体的,将所有规则的规则内容组成规则集合,并对其进行冲突检查,所述冲突检查包括:
选取任意两条规则作为第一规则和第二规则,
若所述第一规则的条件部分和所述第二规则的条件部分的交集不为空,且所述第一规则的动作部分和所述第二规则的动作部分完全相同;或者,若所述第一规则的条件部分和所述第二规则的条件部分完全相同,且所述第一规则的动作部分和所述第二规则的动作部分的交集不为空,则所述第一规则和所述第二规则为部分包含关系;
若所述第一规则的条件部分和所述第二规则的条件部分局部相同,且所述第一规则的动作部分和所述第二规则的动作部分的交集为空,则所述第一规则和所述第二规则为冲突关系;
重复上述步骤,直至完成对所有规则的冲突检查。
作为上述实施例的进一步改进,所述冲突检查还包括:
选取任意一条规则作为第三规则;
若所述第三规则的条件部分受前序规则的限制,且条件部分的判断对象为空时,则所述第三规则为无效规则;
若所述第三规则的动作部分存在循环套用,则所述第三规则为循环规则。
具体地,所述语义检查包括:规则引导词的使用是否正确、对象模型、属性和/或关联的函数模型是否存在、属性和函数模型的数据类型是否一致、字面量赋值和字典模型是否一致、字面量赋值是否包括量纲模型等。
由此,能够确保规则内容的合规性和一致性,易于规则引擎进行解释,有助于提高规则内容的精准性和规则执行的效率。并且,在规则内容需要保存的时候进行冲突检查和/或语义检查,有利于及时发现问题并纠正错误。
作为可选的实施例,所述对象模型包括表单模型,所述表单模型包括若干子表模型。
所述第二处理单元还能够:
在所述规则编辑区允许使用第三规则引导词和第四规则引导词与某所述子表模型进行关联;
若所述条件部分依次包括所述第三规则引导词和该子表模型,则在后续的规则内容中使用所述第四规则引导词以指代该子表模型。
由此,当对象模型为表单模型且包括子表模型,可以通过使用预定义的规则引导词实现子表模型的循环使用,能使对表单模型的数据读取更为方便和灵活。
作为可选的实施例,所述第一规则引导词为“如果”、“当”、“假如”的其中一者;和/或,
所述第二规则引导词为“那么”、“则”的其中一者;和/或,
所述第三规则引导词为“某”;和/或,
所述第四规则引导词为“该”。
由此,通过设定上述规则引导词,能够对规则内容的规则框架进行清晰定义,并且规则引导词通过中文表达能够便于业务人员完成规则制定,有助于提高工作效率。
本发明还提供了一种规则制定系统,包括用户交互界面和上述实施例所述的基于模型的界面交互装置。
本发明还提供了一种电子设备,包括处理器;以及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,能够实现上述实施例所述的基于模型的界面交互方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于运行以实现上述实施例所述的基于模型的界面交互方法。
本领域的技术人员能够理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。
应当理解,上述的实施方式仅是示例性的,而非限制性的,在不偏离本发明的基本原理的情况下,本领域的技术人员可以针对上述细节做出的各种明显的或等同的修改或替换,都将包含于本发明的权利要求范围内。
Claims (21)
1.一种基于模型的界面交互方法,用于供用户在用户交互界面制定规则,其特征在于,
所述用户交互界面包括规则编辑区和能够动态显示的输入提示框;所述规则的规则内容包括条件部分和动作部分;
所述方法包括如下步骤:
预先构建规则引导词库和对象模型库,其中:所述规则引导词库包括若干用于所述条件部分和/或所述动作部分的规则引导词;所述对象模型库包括若干用于所述条件部分和/或所述动作部分的对象模型,每个所述对象模型包括若干属性;其中,对象模型包括对业务流程中涉及的人员、岗位和/或组织进行统一描述的数据模型,即用于描述业务流程中与人相关的各种实体对象,对象模型也包括对业务流程中涉及的表单、文件和/或实物进行统一描述的数据模型,即用于描述业务流程中与物相关的各种实体对象;
响应于用户的操作请求,显示所述用户交互界面,并监听用户在所述用户交互界面内的输入,其中:在监听用户输入时,将用户输入的内容和预设的输入提示条件进行匹配,根据匹配结果触发所述输入提示框,并在所述输入提示框内显示由所述规则引导词库得到的规则引导词列表、或者由所述对象模型库得到的对象模型列表、或者由所述对象模型库得到的某个对象模型的属性列表,并将用户选择的规则引导词、对象模型或属性作为已识别的规则内容显示在所述规则编辑区的当前输入位置;
接收到用户在所述规则编辑区内依次输入的第一规则引导词、条件集合、第二规则引导词和动作集合,将所述第一规则引导词和所述条件集合进行组合得到所述规则内容的条件部分,将所述第二规则引导词和所述动作集合进行组合得到所述规则内容的动作部分,其中:所述条件集合用于对一个或者多个所述属性进行判断并得到布尔类型返回值;所述动作集合用于对一个或者多个所述对象模型或所述属性进行操作;
所述输入提示条件包括:分别用于规则引导词提示、对象模型提示和属性提示的第一输入提示符、第二输入提示符、第三输入提示符;其中,
若所述用户输入的内容与所述第一输入提示符匹配,则从所述规则引导词库中得到规则引导词列表并显示在所述输入提示框内,并将用户从所述规则引导词列表中选择的规则引导词作为已识别规则引导词显示在所述规则编辑区内的当前输入位置;
若所述用户输入的内容与所述第二输入提示符匹配,则从所述对象模型库中得到与所述用户输入关联的对象模型列表并显示在所述输入提示框内,并将用户从所述对象模型列表中选择的对象模型作为已识别对象模型显示在所述规则编辑区内的当前输入位置;
若所述用户输入的内容与所述第三输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别对象模型,则从所述对象模型库中得到所述已识别对象模型的属性列表并显示在所述输入提示框内,并将所述第三输入提示符和用户从所述属性列表中选择的属性作为已识别属性显示在所述规则编辑区内的当前输入位置;
预先构建量纲模型库,所述量纲模型库包括若干量纲,所述量纲包括若干单位及其之间的换算关系;
所述预先构建对象模型库还包括:当所述属性的数据类型设置为数值类型时,将所述属性与所述量纲模型库中的某个量纲进行关联;
所述输入提示条件还包括:用于量纲提示的第九输入提示符;
若所述用户输入的内容与所述第九输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,且所述已识别属性的数据类型为数值,则从所述量纲模型库中得到与所述已识别属性关联的量纲并将所述量纲的若干单位及其之间的换算关系显示在所述用户交互界面。
2.如权利要求1所述的基于模型的界面交互方法,其特征在于,所述方法还包括如下步骤:
预先构建函数模型库,所述函数模型库包括若干第一函数,将每个所述第一函数与一个或者多个所述对象模型进行关联,用于所述第一函数对其所关联的对象模型进行操作;
所述输入提示条件还包括:用于第一函数提示的第四输入提示符;
若所述用户输入的内容与所述第四输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别对象模型,则从所述函数模型库中得到与所述已识别对象模型关联的第一函数列表并显示在所述输入提示框内,并将所述第四输入提示符和用户从所述第一函数列表中选择的第一函数作为该所述已识别对象模型的第一目标函数显示在所述规则编辑区内的当前输入位置。
3.如权利要求1所述的基于模型的界面交互方法,其特征在于,所述方法还包括如下步骤:
预先构建函数模型库,所述函数模型库包括若干第二函数,将每个所述第二函数与一个或者多个所述属性进行关联,用于所述第二函数对其所关联的属性进行操作;
所述输入提示条件还包括:用于第二函数提示的第五输入提示符;
若所述用户输入的内容与所述第五输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,则从所述函数模型库中得到与所述已识别属性关联的第二函数列表并显示在所述输入提示框内,并将所述第五输入提示符和用户从所述第二函数列表中选择的第二函数作为该所述已识别属性的第二目标函数显示在所述规则编辑区内的当前输入位置。
4.如权利要求3所述的基于模型的界面交互方法,其特征在于,
所述预先构建对象模型库包括如下步骤:在所述对象模型中对每个所述属性进行数据类型的定义;
所述预先构建函数模型库包括如下步骤:所述将每个所述第二函数与一个或者多个所述属性进行关联之后,进行函数模型校验,以使所述第二函数的返回值类型和与其关联的所述属性的数据类型一致。
5.如权利要求1所述的基于模型的界面交互方法,其特征在于,所述输入提示条件还包括:用于系统变量提示的第六输入提示符;
若所述用户输入的内容与所述第六输入提示符匹配,则获取系统变量列表并显示在所述输入提示框内,并将所述第六输入提示符和用户从所述系统变量列表中选择的系统变量作为已识别系统变量显示在所述规则编辑区内的当前输入位置。
6.如权利要求1所述的基于模型的界面交互方法,其特征在于,所述方法还包括如下步骤:
预先构建字典模型库,所述字典模型库包括若干字典,所述字典包括信息项键和信息项值;
所述预先构建对象模型还包括:当所述属性的数据类型设置为文本类型时,将所述属性的数据源与所述字典模型库中的某个字典进行关联;
所述输入提示条件还包括:用于字典提示的第八输入提示符;
若所述用户输入的内容与所述第八输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,且所述已识别属性的数据类型为文本,则从所述字典模型库中得到与所述已识别属性关联的字典并将所述字典包括的信息项键和/或信息项值显示在所述用户交互界面。
7.如权利要求1所述的基于模型的界面交互方法,其特征在于,所述方法还包括:
在所述规则编辑区完成若干条规则的编辑后,对所述若干条规则进行冲突检查和/或语义检查。
8.如权利要求1所述的基于模型的界面交互方法,其特征在于,所述对象模型包括表单模型,所述表单模型包括若干子表模型;
在所述规则编辑区允许使用第三规则引导词和第四规则引导词与某所述子表模型进行关联;
若所述条件部分依次包括所述第三规则引导词和该子表模型,则在后续的规则内容中使用所述第四规则引导词以指代该子表模型。
9.如权利要求8所述的基于模型的界面交互方法,其特征在于,
所述第一规则引导词为“如果”、“当”、“假如”的其中一者;和/或,
所述第二规则引导词为“那么”、“则”的其中一者;和/或,
所述第三规则引导词为“某”;和/或,
所述第四规则引导词为“该”。
10.一种基于模型的界面交互装置,用于供用户在用户交互界面制定规则,其特征在于,所述用户交互界面包括规则编辑区和能够动态显示的输入提示框;所述规则的规则内容包括条件部分和动作部分;
所述装置包括:
第一构建单元,能够构建规则引导词库和对象模型库,其中:所述规则引导词库包括若干用于所述条件部分和/或所述动作部分的规则引导词;所述对象模型库包括若干用于所述条件部分和/或所述动作部分的对象模型,每个所述对象模型包括若干属性;其中,对象模型包括对业务流程中涉及的人员、岗位和/或组织进行统一描述的数据模型,即用于描述业务流程中与人相关的各种实体对象,对象模型也包括对业务流程中涉及的表单、文件和/或实物进行统一描述的数据模型,即用于描述业务流程中与物相关的各种实体对象;
第一处理单元,能够响应于用户的操作请求,并显示所述用户交互界面,并监听用户在所述用户交互界面内的输入,其中:在监听用户输入时,能够将用户输入的内容和预设的输入提示条件进行匹配,并根据匹配结果触发所述输入提示框,并在所述输入提示框内显示由所述规则引导词库得到的规则引导词列表、或者由所述对象模型库得到的对象模型列表、或者由所述对象模型库得到的某个对象模型的属性列表,并将用户选择的规则引导词、对象模型或属性作为已识别的规则内容显示在所述规则编辑区的当前输入位置;
第二处理单元,能够接收到用户在所述规则编辑区内依次输入的第一规则引导词、条件集合、第二规则引导词和动作集合,并将所述第一规则引导词和所述条件集合进行组合得所述规则内容的条件部分,并将所述第二规则引导词和所述动作集合进行组合得到所述规则内容的动作部分,其中:所述条件集合用于对一个或者多个所述属性进行判断并得到布尔类型返回值;所述动作集合用于对一个或者多个所述对象模型或所述属性进行操作;
所述输入提示条件包括:分别用于规则引导词提示、对象模型提示和属性提示的第一输入提示符、第二输入提示符、第三输入提示符;
所述第一处理单元能够:
在所述用户输入的内容与所述第一输入提示符匹配时,从所述规则引导词库中得到规则引导词列表并显示在所述输入提示框内,并将用户从所述规则引导词列表中选择的规则引导词作为已识别规则引导词显示在所述规则编辑区内的当前输入位置;
在所述用户输入的内容与所述第二输入提示符匹配时,从所述对象模型库中得到与所述用户输入关联的对象模型列表并显示在所述输入提示框内,并将用户从所述对象模型列表中选择的对象模型作为已识别对象模型显示在所述规则编辑区内的当前输入位置;
在所述用户输入的内容与所述第三输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别对象模型时,从所述对象模型库中得到所述已识别对象模型的属性列表并显示在所述输入提示框内,并将所述第三输入提示符和用户从所述属性列表中选择的属性作为已识别属性显示在所述规则编辑区内的当前输入位置;
所述第一构建单元还能够构建量纲模型库,所述量纲模型库包括若干量纲,所述量纲包括若干单位及其之间的换算关系,并能够在所述属性的数据类型设置为数值类型时,将所述属性与所述量纲模型库中的某个量纲进行关联;
所述输入提示条件还包括:用于量纲提示的第九输入提示符;
所述第一处理单元还能够:
在所述用户输入的内容与所述第九输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,且所述已识别属性的数据类型为数值时,从所述量纲模型库中得到与所述已识别属性关联的量纲并将所述量纲的若干单位及其之间的换算关系显示在所述用户交互界面。
11.如权利要求10所述的基于模型的界面交互装置,其特征在于,所述第一构建单元还能够构建函数模型库,所述函数模型库包括若干第一函数,并能够将每个所述第一函数与一个或者多个所述对象模型进行关联,用于所述第一函数对其所关联的对象模型进行操作;
所述输入提示条件还包括:用于第一函数提示的第四输入提示符;
所述第一处理单元还能够:
在所述用户输入的内容与所述第四输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别对象模型时,从所述函数模型库中得到与所述已识别对象模型关联的第一函数列表并显示在所述输入提示框内,并将所述第四输入提示符和用户从所述第一函数列表中选择的第一函数作为该所述已识别对象模型的第一目标函数显示在所述规则编辑区内的当前输入位置。
12.如权利要求10所述的基于模型的界面交互装置,其特征在于,所述第一构建单元还能够构建函数模型库,所述函数模型库包括若干第二函数,并能够将每个所述第二函数与一个或者多个所述属性进行关联,用于所述第二函数对其所关联的属性进行操作;
所述输入提示条件还包括:用于第二函数提示的第五输入提示符;
所述第一处理单元还能够:
在所述用户输入的内容与所述第五输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性时,从所述函数模型库中得到与所述已识别属性关联的第二函数列表并显示在所述输入提示框内,并将所述第五输入提示符和用户从所述第二函数列表中选择的第二函数作为该所述已识别属性的第二目标函数显示在所述规则编辑区内的当前输入位置。
13.如权利要求12所述的基于模型的界面交互装置,其特征在于,所述第一构建单元还能够在所述对象模型中对每个所述属性进行数据类型的定义,并在将每个所述第二函数与一个或者多个所述属性进行关联之后,进行函数模型校验,以使所述第二函数的返回值类型和与其关联的所述属性的数据类型一致。
14.如权利要求10所述的基于模型的界面交互装置,其特征在于,所述输入提示条件还包括:用于系统变量提示的第六输入提示符;
所述第一处理单元还能够:
在所述用户输入的内容与所述第六输入提示符匹配时,获取系统变量列表并显示在所述输入提示框内,并将所述第六输入提示符和用户从所述系统变量列表中选择的系统变量作为已识别系统变量显示在所述规则编辑区内的当前输入位置。
15.如权利要求10所述的基于模型的界面交互装置,其特征在于,所述第一构建单元还能够构建字典模型库,所述字典模型库包括若干字典,所述字典包括信息项键和信息项值,并能够在所述属性的数据类型设置为文本类型时,将所述属性的数据源与所述字典模型库中的某个字典进行关联;
所述输入提示条件还包括:用于字典提示的第八输入提示符;
所述第一处理单元还能够:
在所述用户输入的内容与所述第八输入提示符匹配,且所述规则编辑区的当前输入位置的上文内容为所述已识别属性,且所述已识别属性的数据类型为文本时,从所述字典模型库中得到与所述已识别属性关联的字典并将所述字典包括的信息项键和/或信息项值显示在所述用户交互界面。
16.如权利要求10所述的基于模型的界面交互装置,其特征在于,所述装置还包括:
第三处理单元,能够在所述规则编辑区完成若干条规则的编辑后,对所述若干条规则进行冲突检查和/或语义检查。
17.如权利要求10所述的基于模型的界面交互装置,其特征在于,所述对象模型包括表单模型,所述表单模型包括若干子表模型;
所述第二处理单元还能够:
在所述规则编辑区允许使用第三规则引导词和第四规则引导词与某所述子表模型进行关联;
若所述条件部分依次包括所述第三规则引导词和该子表模型,则在后续的规则内容中使用所述第四规则引导词以指代该子表模型。
18.如权利要求17所述的基于模型的界面交互装置,其特征在于,
所述第一规则引导词为“如果”、“当”、“假如”的其中一者;和/或,
所述第二规则引导词为“那么”、“则”的其中一者;和/或,
所述第三规则引导词为“某”;和/或,
所述第四规则引导词为“该”。
19.一种规则制定系统,其特征在于:包括用户交互界面和如权利要求10至18任一项所述的基于模型的界面交互装置。
20.一种电子设备,其特征在于:
包括处理器;以及
存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,能够实现如权利要求1至9任一项所述的基于模型的界面交互方法。
21.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序用于运行以实现如权利要求1至9任一项所述的基于模型的界面交互方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210362139.5A CN115169295B (zh) | 2022-04-07 | 2022-04-07 | 基于模型的界面交互方法、装置、系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210362139.5A CN115169295B (zh) | 2022-04-07 | 2022-04-07 | 基于模型的界面交互方法、装置、系统和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115169295A CN115169295A (zh) | 2022-10-11 |
CN115169295B true CN115169295B (zh) | 2023-05-05 |
Family
ID=83483644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210362139.5A Active CN115169295B (zh) | 2022-04-07 | 2022-04-07 | 基于模型的界面交互方法、装置、系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115169295B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110837362A (zh) * | 2019-11-01 | 2020-02-25 | 无锡数信互融科技发展有限公司 | 向导式可视的图形模块化的规则编辑方法、系统及编辑器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8131663B1 (en) * | 2007-10-12 | 2012-03-06 | Bonamy Taylor | Apparatus for generating software logic rules by flowchart design |
CN109445842B (zh) * | 2018-09-26 | 2024-08-23 | 中国平安人寿保险股份有限公司 | 规则生成方法、装置、计算机设备和存储介质 |
CN109144374A (zh) * | 2018-09-27 | 2019-01-04 | 范若愚 | 基于可视化规则引擎的业务处理方法、系统及相关设备 |
CN110196719B (zh) * | 2019-05-20 | 2023-08-15 | 中国工商银行股份有限公司 | 一种基于自然语言处理的业务规则生成方法与系统 |
-
2022
- 2022-04-07 CN CN202210362139.5A patent/CN115169295B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110837362A (zh) * | 2019-11-01 | 2020-02-25 | 无锡数信互融科技发展有限公司 | 向导式可视的图形模块化的规则编辑方法、系统及编辑器 |
Also Published As
Publication number | Publication date |
---|---|
CN115169295A (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11823074B2 (en) | Intelligent communication manager and summarizer | |
US20170337261A1 (en) | Decision Making and Planning/Prediction System for Human Intention Resolution | |
CN112631997B (zh) | 数据处理方法、装置、终端及存储介质 | |
JP4451435B2 (ja) | 言語理解装置、言語理解方法、及び、コンピュータプログラム | |
US9489625B2 (en) | Rapid development of virtual personal assistant applications | |
CN1495609B (zh) | 在计算机生成文档中提供语境感测工具和帮助内容的方法 | |
US7840891B1 (en) | Method and system for content extraction from forms | |
JP2923552B2 (ja) | 組織活動データベースの構築方法,それに使用する分析シートの入力方法及び組織活動管理システム | |
US20150286943A1 (en) | Decision Making and Planning/Prediction System for Human Intention Resolution | |
JP2018516420A (ja) | 自然言語により機能アーキテクチャ文書及びソフトウェア設計・解析仕様書を自動的に生成するプロセス及びシステム | |
US11429253B2 (en) | Integrated drill down within a natural language interface for visual analysis | |
CN115390821B (zh) | 一种面向自然语言无代码编程的软件应用构建方法 | |
KR20040102071A (ko) | 자연어 인식 애플리케이션 구축을 위한 통합 개발 툴 | |
CN111625226B (zh) | 一种基于原型的人机交互设计实现方法及系统 | |
WO2005098663A1 (ja) | 情報管理装置 | |
CN115344666A (zh) | 政策匹配方法、装置、设备与计算机可读存储介质 | |
CN115714002A (zh) | 抑郁风险检测模型训练方法、抑郁症状预警方法及相关设备 | |
CN115169295B (zh) | 基于模型的界面交互方法、装置、系统和介质 | |
CN117389538A (zh) | 页面组件内容开发方法、装置、设备以及存储介质 | |
CN109891410B (zh) | 用于新的会话对话系统的数据收集 | |
JP3758282B2 (ja) | 情報検索装置 | |
WO2005098698A1 (ja) | 文書処理装置 | |
CN115167826B (zh) | 中文业务规则引擎的实现方法及装置、服务端、存储介质 | |
Tomić et al. | An explanation facility framework for rule-based systems | |
JPH06195379A (ja) | 事例ベース及びその入力・蓄積装置 |
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 |