首页 / 专利库 / 软件 / 共享初始过滤规则集 / 用于可外化推理部件的系统及方法

用于可外化推理部件的系统及方法

阅读:602发布:2020-07-05

专利汇可以提供用于可外化推理部件的系统及方法专利检索,专利查询,专利分析的服务。并且提供用于管理(1210)可外化推理部件的技术。该技术允许由分别的部件动态构造推理,并且允许用于控 制动 态可构造推理的数据的外化。实现的一个重要优点是能够综合和匹配各种外化的推理部件以形成新的推理;换言之,能够通过以新的方式组合(重用)和实践各种部件来导出新知识。提供能够以许多不同方式组合的可插式推理部件,以满足不同应用的需要。这允许推理部件被独立开发并且高度可移植。,下面是用于可外化推理部件的系统及方法专利的具体信息内容。

1.一种用于部署计算机基础设施的方法,包括将计算机可读代 码集成到计算系统中,其中所述与计算系统结合的代码能够执行步骤:
识别程序的推理特征;和
提供所识别的推理特征作为推理部件,其中推理部件是可外化 的。
2.如权利要求1所述的方法,其中提供步骤包括使外化的算法 和数据与推理部件的每个相关。
3.如权利要求2所述的方法,其中所述数据被存储在永久存储 器中。
4.如权利要求1所述的方法,其中所识别的推理特征包括触发 点,短期事实,推理规则,推理引擎,静态变量映射,传感器,效应 器,长期事实和结论中的至少一种。
5.如权利要求1所述的方法,其中推理部件包括触发点部件、 短期事实部件、推理规则集部件、推理引擎部件、静态映射部件、传 感器部件、效应器部件、长期事实部件和结论部件中的至少一种。
6.如权利要求2所述的方法,其中每个推理部件均是由推理部 件提供的数据的用户、由推理部件提供的数据的提供者、和两者的组 合中的一种。
7.如权利要求1所述的方法,进一步包括使至少一个触发点推 理部件与至少一个应用程序相关的步骤。
8.如权利要求4所述的方法,其中触发点同步或异步地操作。
9.如权利要求1所述的方法,其中至少一个推理部件是使用至 少一个其它推理部件的主推理部件。
10.如权利要求1所述的方法,其中至少一个推理部件使用推理 引擎。
11.如权利要求1所述的方法,其中至少一个推理部件被组织成 至少一个推理子部件。
12.如权利要求11所述的方法,其中所述组织是数组、聚集、 散列表、迭代结构、列表、分区、集合、堆栈、树、向量、和它们的 组合中的一种。
13.如权利要求1所述的方法,其中至少一个推理部件由至少一 个推理子部件构成。
14.如权利要求13所述的方法,其中所述组成是数组、聚集、 散列表、迭代结构、列表、分区、集合、堆栈、树、向量、和它们的 组合中的一种。
15.如权利要求2所述的方法,其中每个推理部件具有唯一标识 符、意图、名称、位置、文件夹、开始时间、结束时间、优先级、分 类、引用、描述、启动位置、启动参数、以及初始化参数、实现程序、 就绪标记、和自由格式数据中的至少一种。
16.如权利要求1所述的方法,其中至少一个推理部件被至少一 个其它推理部件所引用共享。
17.如权利要求2所述的方法,其中至少一个算法执行推理部件 创建,推理部件检索,推理部件更新,和推理部件删除中的至少一种。
18.如权利要求2所述的方法,其中至少一个算法被多个推理部 件所共享。
19.如权利要求2所述的方法,其中每个算法是执行触发点算法, 返回数据算法,联合数据算法,过滤数据算法,翻译数据算法,分类 选择算法,随机选择算法,循环选择算法,推理引擎预处理器,和推 理引擎后处理器,推理引擎启动装置,接收数据算法,发送数据算法, 存储数据算法,和获取数据算法之一。
20.如权利要求1所述的方法,其中提供步骤使用推理部件管理 设备来管理推理部件,所述管理包括创建,检索,更新和删除操作。
21.如权利要求1所述的方法,其中至少一个推理部件由多个推 理子部件组成。
22.如权利要求21所述的方法,其中所述组成以静态,动态, 和两者结合中的一种的方式进行。
23.如权利要求21所述的方法,其中所述组成使用推理部件管 理设备来进行。
24.一种用于提供外化的业务逻辑的系统,包括:
识别部件,被设置成识别应用程序中的至少一个变化性点;和
外化部件,被设置成为所识别的至少一个变化性点提供外化的业 务逻辑,所述外化的业务逻辑包括推理部件。
25.如权利要求24所述的系统,其中推理部件包括外化的算法 和数据。
26.如权利要求25所述的系统,进一步包括永久存储器部件, 其被设置成永久存储数据。
27.如权利要求24所述的系统,进一步包括用于使用至少一个 虚拟机执行外化的算法的执行部件。
28.如权利要求24所述的系统,其中推理部件由多个推理子部 件组成。
29.如权利要求28所述的系统,其中所述组成动态地进行。
30.如权利要求28所述的系统,其中所述组成静态地进行。
31.如权利要求28所述的系统,其中所述组成部分地以静态方 式进行,其余部分以动态方式进行。
32.如权利要求24所述的系统,其中所识别的至少一个变化性 点包括触发点,短期事实,推理规则,推理引擎,静态变量映射,传 感器,效应器,长期事实和结论中的至少一种。
33.一种机器可读的程序存储设备,其有形地体现可在机器上执 行的指令程序,以执行用于管理多个推理部件的方法步骤,所述方法 步骤包括:
识别程序的推理特征;和
提供所识别的推理特征作为推理部件,其中推理部件是可外化 的。

说明书全文

技术领域

发明涉及软件工程,尤其涉及用于采用可外化推理部件 (externalizable inferencing component)的技术,包括规定、应用以及 管理可外化推理部件。

背景技术

已经开发出多种方案来外化(externalizing)推理数据(inferencing data)。在Landers的美国专利申请NO.5136523,“用于从正向链或反 向链推理循环内的固定数据库管理系统自动和透明地映射规则和对象 的系统”中,描述了被永久地存储在一数据库中的对象和规则数据。在 Moore等人的美国专利申请NO.5446885,“具有存储在关系数据库中 的基于规则的应用程序结构的事件驱动管理信息系统”中,也将推理信 息永久地存储。但是,现有技术并未公开可外化推理部件的使用。

发明内容

根据本发明的一个方面,提供一种用于管理多个可外化推理部件 的方法。所述方法包括识别程序的推理特征,以及提供所识别的推理 特征作为推理部件。外化的算法和数据(可被永久存储)可以与推理 部件相关。
识别的推理特征可包括触发点(trigger point)、短期事实、推理规 则、推理引擎、静态变量映射、传感器、效应器、长期事实和结论。 推理部件可包括触发点部件、短期事实部件、推理规则集部件、推理 引擎部件、静态映射部件、传感器部件、效应器部件、长期事实部件 和结论部件。
推理部件可以是由推理部件提供的数据的用户(consumer),推理 部件提供的数据的提供者,或者两者皆是。
所述方法还可包括使至少一个触发点推理部件与至少一个应用 程序相关。触发点可同步或者异步地操作。
推理部件可以是主推理部件,其使用至少一个其它推理部件。推 理部件可以使用推理引擎。进一步地,推理部件可被组织成至少一个 推理子部件。推理部件还可被至少一个其它推理部件引用共享。
推理部件的组织/组成可以是数组、聚集、散列表、迭代结构 (iterator)、列表、分区、集合、堆栈、树、向量和它们的组合。
推理部件可以包括唯一识别符、意图(intention)、名称、位置、 文件夹、开始时间、结束时间、优先级、分类、引用(reference)、描 述、启动位置、启动参数、初始化参数、实现程序(implementor)、就 绪标记、自由格式数据和它们的组合。
算法可以执行推理部件创建,推理部件检索,推理部件更新和推 理部件删除。此外,算法可以被至少两个推理部件共享。
算法可以是执行触发点算法,返回数据算法,联合数据算法,过 滤数据算法,翻译数据算法,分类选择算法,随机选择算法,循环选 择算法,推理引擎前处理器,推理引擎后处理器,推理引擎启动装置, 接收数据算法,发送数据算法,存储数据算法,获取数据算法,和它 们的组合。
推理部件可以由至少两个推理子部件组成,其形成一个新推理实 体。所述组成可以静态或者动态地发生(或者以它们的组合)。
为了利于创建、检索、更新和删除推理部件,可使用推理部件管 理设备。
根据本发明的另一个方面,提供一种用于提供业务逻辑的系统。 该系统包括识别部件和外化部件。识别部件被设置成识别应用程序中 的至少一个变化性点(point of variability),外化部件被设置成为所识 别的至少一个变化性点提供外化的业务逻辑。外化的业务逻辑包括推 理部件。所述推理部件可包括外化的算法和数据。
系统也可包括执行部件,用以使用至少一个虚拟机(例如,JAVA 虚拟机(JVM))执行外化的算法。
通过结合附图阅读,本发明的这些及其它方面、特征和优点将因 下述优选实施方案的详细说明而更加明显。

附图说明

图1是基于本发明的图解实施例、可应用本发明的计算机处理系 统100的框图
图2是基于本发明的一个优选实施方案,图解具有应用推理部件 的触发点的示例性应用程序的框图;
图3是基于本发明的一个优选实施方案,图解推理部件体系结构 的框图;
图4是基于本发明的一个优选实施方案,图解示例性推理部件交 互的框图;
图5是基于本发明的一个优选实施方案,图解示例性推理规则集 部件交互的框图;
图6是基于本发明的一个优选实施方案,图解示例性推理静态映 射部件交互的框图;
图7是基于本发明的一个优选实施方案,图解示例性推理规则集 部件和推理静态映射部件组合的框图;
图8是基于本发明的一个优选实施方案,图解示例性推理规则集 部件和动态映射部件(传感器和效应器)组合的框图;
图9是基于本发明的一个优选实施方案,图解示例性推理长期事 实部件交互的框图;
图10是基于本发明的一个优选实施方案,图解示例性推理短期 事实部件交互的框图;
图11是基于本发明的一个优选实施方案,图解示例性推理结论 部件交互的框图;
图12是基于本发明的一个优选实施方案,图解示例性推理部件 管理设备交互的框图。

发明内容

对于编制应用程序行为来说,业务规则的外化和触发点的外化是 公知技术。例如,Degenaro等人于2001年9月20日申请的美国专利 申请NO.09/956644,“用于使用外化、可动态配置、可超高速缓存的 触发点的系统和方法”,描述了一种用于在逻辑流程中利用触发点的技 术,这里完整地参考引用了该文献。通常的想法是将正常嵌入应用程 序内的逻辑替代为触发点,该触发点则请求外部机构执行期望的处理。 于是这样设计的应用程序的变化性可以被容易地和动态地操纵,而不 用改变规则驱动的应用程序本身。在应用程序的各个层中的触发点的 布局允许进行相应层次的规则抽象。可外化逻辑和数据的集中提高了 可理解性、一致性、重用和可管理性的可能性,同时相应减少了企业 中利用触发点和规则的各种应用程序的维护成本。
在外化的语境中,“规则”并非通常与人工智能界相关的规则,而 是用于做出日常“业务”决定的规则。所使用的技术的面向结构特性胜 过声明性特性,并且所使用的规则通常是直接的。一般地,不探索新 知识,而是容易地管理时间和位置变化性。
例如,一航空公司的应用可基于频繁飞行者在一年内飞行的英里 数而把他们看作是质、质和金质客户。随着时间推移以及累计更 多的英里数,一个频繁飞行者的状态可从铜质转为银质,或者从银质 转为金质。此外,需要被分类为铜质、银质或者金质的英里数可随着 时间推移分别从10000、20000、30000改变到15000、25000、50000。 或者对哪些在一个日历年度内至少航行了75000英里的客户增加一新 的白金分类。
在外化技术之前,将客户归类到某一类别可能是经过内插(in-line) 编码的。但是在使用可外化触发点和规则时,用于执行分类的逻辑和 数据会在适当应用程序之外。通过使做出这种确定的算法和对所述确 定进行参数化的数据被外化,可以达到对行为变化性的更高可管理性。
可选地,推理系统经常利用推理技术,例如正向链和反向链,以 及Rete网络来导出新知识。这些系统通常包括三个主要元素:知识, 通常是if/then规则和事实的形式;工作存储器,包括导出的事实;以 及推理引擎,用来处理知识和工作存储器。
在正向链期间,推理引擎检查推理规则和确定哪些推理规则适合 被触发的事实。使用冲突解决技术选出的一个推理规则被触发。这可 能导致动作发生或者新事实的生成。继续迭代进行推理规则的选择和 触发,直到再没有合适的推理规则。当完成时,可获得0个或者更多 个结论。
在反向链期间,推理引擎检查事实和数据来确定是否已经达到了 目标。中间目标被加入和移走,直至原始目标可被证明为真或假的时 候。每个目标是一个推理规则,当用有关数据来评价时,该推理规则 被证明为真,证明为假,或者指向一个或多个其它必须首先证明为真 或假的推理规则。
Rete算法是一种优化推理方法。利用一个节点网络来保证只针对 任何推理规则测试新事实。
通常,基于推理或者知识的系统可被用于学习新事实。例如,可 以学习到,当在中国的人购买了一个相机时,他们经常也购买一个相 机包;在法国的人在购买相机外可能还购买电池
这两种不同的面向规则的编程模型,即外化和推理,均其自身的 长处和短处。每一个都可应用于同样的问题集,其中根据具体情况, 一个模型在关键方面通常比另一个具有优势。例如,当所利用的规则 频繁改变时,或者当确定结果是如何获得的并不重要时,或者当规则 冲突可在运行时解决时,或者当所涉及的规则的数量非常大时,或者 当不需要高性能时,推理可变得更加有利。在相反情况下,例如在规 则集规则较小,规则改变不太频繁,高性能并不重要,等等的情况下, 外化会是更加有利的。
一个关键问题在于如何有利地将外化和推理同时利用以享有它 们两者全部的好处并且避免它们的缺点。在一些情况下,外化技术自 身可以满足需求;在另一些情况下,推理技术自己就足够了;在另一 些情况下,这两个不同但是互补的方法的某种组合提供了最适合的方 式。
另一个关键问题在于如何组织推理系统和它们的相关数据。可以 设想,应用程序可能期望使用版本略有不同的推理。例如,或许一个 推理规则集在性质上是通用的,但是它的一些或全部变量在一个应用 中根据一个情况相关的上下文来映射,或者一次一个地来映射。或许 两个不同的应用共同具有其期望推理规则集的部分。或许两个或者更 多不同推理的结论需要组合为针对一个或多个其它推理的输入。
应当理解,本发明可以硬件、软件、固件、专用处理器或者它们 的组合的各种形式来实现。优选地,本发明以软件来实现,所述软件 是一种在程序存储设备上有形地体现的应用程序。所述应用程序可以 加载到包括任何适合的体系结构的机器,以及由其来执行。优选地, 所述机器在具有硬件,例如一个或者多个中央处理单元(CPU)、随机 存取存储器、输入/输出(I/O)接口的计算机平台上实现。计算机平台也 包括操作系统和微指令代码。这里所描述的各种处理和功能可以是微 指令代码的一部分,或者是应用程序的一部分(或者它们的组合), 其通过操作系统来执行。另外,各种其它外围设备可以连接到计算机 平台,例如附加的数据存储设备。
还应当理解,因为在附图中描述的系统组成部件可以通过软件来 实现,在系统部件之间的实际连接可因本发明的编程方式的不同而有 所不同。通过这里给出的教导,本领域的普通技术人员将能够想到本 发明的这些以及类似的实现或者配置。
图1是根据本发明的示例性实施例,可应用本发明的计算机处理 系统100的框图。计算机处理系统100包括至少一个处理器(CPU) 120,它通过系统总线110在操作中连接到其它部件。只读存储器 (ROM)130,随机存取存储器(RAM)140,I/O适配器150,用户 接口适配器160,显示适配器170,以及网络适配器180在操作中连接 到系统总线110。
盘存储设备(例如,磁盘或光盘存储设备)151通过I/O适配器 150在操作中连接到系统总线110。
鼠标161和键盘162通过用户接口适配器160在操作中连接到系 统总线110。鼠标161和键盘162可用来向/从计算机处理系统100输 入/输出信息。
显示设备171通过显示适配器170在操作中连接到系统总线110。 网络181通过网络接口适配器180在操作中连接到系统总线100。
虽然在此针对上述单元描述了计算机处理系统100,然而应当理 解,可对其进行添加、删除和替代。就是说,通过这里给出的本发明 的教导,本领域的普通技术人员能够想到计算机处理系统100的单元 的这个以及各种其它配置,同时保持本发明的精神和范围。
本发明提供一种方法和系统,用于规定、应用和管理数据处理应 用中的可外化推理部件。除其它之外,本发明解决了这样的关键问题, 即如何有利地将外化和推理同时利用以享有所有其组合优势,但避免 它们的缺点;以及如何组织推理系统和它们的相关数据。
本发明允许在利用可外化推理部件(EIC)的应用程序内布置触 发点。通常,应用程序会将上下文和参数信息传递给触发点,触发点 则动态地识别和利用EIC。通常,EIC考虑输入,相应执行推理有关 的任务,并且返回结果到触发点。换句话说,触发点可异步地操作, 从而应用程序启动触发点以提供上下文和参数输入,作为回应接收可 被用于在之后的时间检查结果的关键字(key);或者应用程序可额外地 向触发点提供用于线程的关键字,其中一旦异步推理处理完成,所述 线程将接收具有任何结果的控制。
尽管全部的可外化数据和算法可被包括在一个单独的EIC中, 然而通常一个EIC包括将其与一个或者多个其它EIC关联的主部件。 通常,主部件编成期望的推理。它采集并预处理事实和规则,映射变 量,触发推理引擎,以及后处理和分布任何结果。子部件处理专的 任务,例如准备将由推理引擎使用的规则集;将变量映射到静态值或 者可变函数;过滤要返回给应用程序的结论;等等。
图2根据本发明的一个优选实施例图解了系统部件,其中示例性 应用程序210包括使用可外化推理部件230的触发点220。在运行时 刻期间,应用程序210提供上下文和参数信息给触发点220,触发点 220则使用EIC 230。EIC 230执行一些推理计算并且返回结果到触发 点220,触发点220传播所述结果给应用程序210。例如,应用程序 210可提供“计算折扣”的上下文和“购物车”的参数给触发点220,触发 点220则利用合适的EIC 230来用给定购物车信息进行折扣推理计算, 该信息被应用程序210返回给触发点220以便进行考虑。
本领域的普通技术人员能够预料到很多种触发点220和EIC 230 的组合。例如,一个单独的应用程序210可使用几个触发点220;一 个单独的触发点220可利用几个EIC 230;多个应用程序210可共享 使用一个或者多个触发点220;以及多个触发点220可共享使用一个 或者多个EIC 230。
图3根据本发明的一个优选实施例图解了示例性的推理部件体系 结构。EIC 310可独立工作(未图解),或者与执行各自任务的其它 EIC结合。在后面的情况中,触发点通常使用主EIC来协调一个或者 多个从EIC的活动。下面参考图4来讨论这个方面。每个EIC 310包 括算法320和数据330。数据330永久地保存在存储设备350上。虚 拟机340执行算法。虚拟机340可从永久存储器350载入算法320。
例如,EIC算法320可以是由Java虚拟机(JVM)处理的Rete 推理引擎,并且数据33可以是由Rete推理引擎在存在触发点所传送 的参数时进行解释,以执行“计算折扣”推理的规则集合。通过将算法 320和数据330外化,尤其提供了灵活性,可理解性和可管理性的好 处。一个重要的好处在于对数据330或算法320的改变是在期望推理 服务的应用程序之外进行的,因此在应用程序与这些改变之间提供缓 冲。继续上述的实例,一个新规则可被加入到包括要被算法320解释 的数据330的规则集中;另外(或者替代地)。一个正向链推理引擎 可被Rete推理引擎代替以作为算法320。在各种环境下,相关的应用 程序改变会是不必要的,因此促进了应用程序的稳定性
主EIC 310可使用其它的EIC 310来执行特定任务,例如数据聚 集、数据传播、数据翻译、并行逻辑计算,等等。关键可外化推理部 件将在下文中详细描述。在运行时刻期间,数据和/或控制可在多个 EIC之间双向流动。一个EIC可使用0或者更多个EIC。
EIC可使用可重用的算法来:执行触发点,返回数据,联合数据, 过滤数据,翻译数据,按类选择,随机选择,循环选择,按日期选择, 推理引擎预处理器,推理引擎后处理器,推理引擎启动装置,接收数 据,发送数据,存储数据,获取数据,以及其它。
EIC可使用外化的数据,包括:唯一标识符,意图,名称,位置, 文件夹,起始时间,结束时间,调度,周期,持续时间,优先级,分 类,引用,说明,启动位置,启动参数,初始化参数,实现程序,就 绪标记,自由格式数据,以及其它。例如,实现程序可以是正向链推 理引擎,初始化参数可以是要解释的规则集合。
图4根据本发明的一个优选实施例图解了示例性可外化推理部 件。可外化推理部件引擎410可以是使用其它可外化推理部件来执行 特定任务的主部件。可选地,主部件可以在没有其它EIC(未图解) 的帮助的情况下执行全部的任务。EIC引擎410通常使用的主要被雇 佣的EIC是:短期事实420,规则集430,静态映射440,长期事实 450,结论460,传感器470,和效应器480。这些的每一个将参考图5 -11在下文中详细描述。从EIC可在没有支持的情况下工作,或者它 自己可以是使用从EIC的主部件。主部件可使用0或者更多类型的从 EIC,并且可使用0或者更多个每种类型的EIC。
EIC可以各种方式组织或组成。例如主EIC可由一个或者多个 从EIC组成为数组;聚集;散列表;迭代结构;分区;集合;堆栈; 树;向量;以及其它;或者各种表示的某种组合。所述组织基于针对 算法和相关数据的组合的设计。
更加具体地,主EIC可由长期事实部件的向量,以及短期事实 部件的数组,规则集部件的树,和结论部件构成。
EIC引擎410的主要任务是对事实和规则执行推理以导出新的事 实。EIC范例(paradigm)的一个关键好处在于事实和规则已经以规则 化的方式被外化和部件化,这大大地利于重用和共享。例如,用于“计 算折扣”的规则集可被多个EIC引擎410使用,即使从输入数据到规 则集变量的映射在一些情况下可以不同。或者多个EIC引擎410可以 使用相同的规则集但是产生出不同的结论。或者多个EIC引擎410可 以使用不同的规则集,但是使用从输入数据到规则集变量的相同映射。 本领域的普通技术人员能够想到构成共享其它EIC 400的EIC引擎 410的无数可能性。
EIC引擎410,如同所有EIC,包括数据和算法组成部分,如前 面参考图3所述的。算法执行预推理活动,启动推理引擎,接着执行 后推理活动。预推理和后推理活动基于相关外化数据和算法。在没有 从EIC的单个EIC引擎410的情况下,推理引擎所需的数据通过预推 理阶段从所提供的输入,或者相关的EIC引擎数据,或者它们的某些 衍生数据中采集;为了各种目的,例如记录新导出的事实,执行其它 处理等等,推理引擎所产生的数据可能经历后推理阶段。
通常,EIC引擎将使用其它EIC来实现特定任务。例如作为预 处理阶段的一部分,EIC引擎410可使用EIC短期事实420来验证和 过滤所提供的输入数据,所述数据将由它的推理引擎来使用;它可使 用EIC规则集430来获得将由其推理引擎来使用的规则;它可使用 EIC静态映射440来将事实映射到规则变量以供推理引擎使用;它可 使用EIC传感器470和效应器480来将事实获得者和设定者映射到规 则变量以供推理引擎使用;它可使用EIC长期事实450来采集在先导 出的事实以供推理引擎使用;等等。作为后推理阶段的部分,EIC引 擎410可使用EIC长期事实450来记录其推理引擎新生成的事实;它 可使用EIC结论460来过滤,重构(recast),或修饰(embellish)要返回 给请求方应用程序的由推理引擎产生的事实;等等。
推理部件400的一个有趣方面在于它们可以彼此检查、更新、创 建和删除。例如,特定EIC引擎410的目的可以是通过添加、删除或 者改变数据(推理规则)来更新EIC规则集430,因此使用修订的规 则集430执行EIC 410的操作。本领域的普通技术人员可以想到推理 部件关系的许多组合。
图5根据本发明的一个优选实施例图解了示例性可外化规则集推 理部件。规则集部件(RSC)510有两个推理规则,即“规则:1”和“规 则:2”,其每个分别对单独的变量,即“a”和“b”进行操作。RSC 510 的算法是“返回”。当被请求时,RSC 510将提供它的两个推理规则作 为响应。RSC 510、520和530全都使用相同的算法,并且全部(一致 地)具有两个推理规则作为数据。注意,在这个实例中,RSC 520与 RSC 510共同具有一个推理规则,即“规则:2”,并且与RSC 530共 同具有一个规则,即“规则:3”。
RSC 540有一个“联合”算法。它的数据并非所图解的4个推理规 则,而是对RSC 510和RSC 520的引用。当被调用时,RSC 540的算 法向RSC 510和RSC 520请求推理规则来形成它自己的推理规则集。 联合算法简单地累积由RSC提供的、由其引用但不涉及内容的数据。 在本实例中,这导致在其推理规则集中具有均出现一次的“规则:1” 和“规则:3”,以及出现两次的“规则:2”的RSC 540。
RSC 550有一个“无重复”算法。它的数据不是所示的4个推理规 则,而是对RSC 530和540的引用。当被调用时,RSC 540的算法向 RSC 530和540请求推理规则以形成它自己的推理规则集。无重复算 法简单地累积由RSC提供的、由其引用和重复的数据。在本实例中, 这导致各有一个“规则:1”,“规则:2”,“规则:3”和“规则:4”的RSC 550。注意,“规则:2”由RSC 540提供两次,但是仅在RSC 550的推 理规则集中出现一次。相似地,“规则:3”被提供给RSC 550两次, 从RSC 530和RSC 540各提供一次,但是它在结果推理规则集中仅出 现一次。
通过使其能够分割为更小,可管理,可重用的,规则集部件范 例对于管理大规则集是重要的。本领域的普通技术人员能够想到很多 推理规则集的有用组合,以作为由推理引擎最终使用的数据,以及直 接或者通过引用来作用于推理规则集数据的相关算法。
注意,推理规则通常是“如果条件是’条件x’,则结果是’结果x’” 的形式的语句。“规则:1(a)”表示“如果条件是’条件a’,则结果是’ 结果a’”。相似地,“规则:2(b)”表示“如果条件是’条件b’,则结 果是’结果b’”。
图6根据本发明的一个优选实施例图解了示例性可外化静态映射 推理部件。静态映射部件(SMC)610和640均具有一个作为数据的 映射,分别是“a->a1”和“a->a2”。SMC 620有两个作为数据的映射, “b->b1”和“c->c1”。SMC 630有两个作为数据的映射,“c->c1”和 “d->d1”。SMC 610,620,630和640均共享相同的算法,即“返回”。 当每一个被调用时,SMC 610-640将简单地返回所包含的映射数据。
SMC 650有一个“联合”算法。它的数据并非所示的5个静态映 射,而是对SMC 610,620和630的引用。当被调用时,SMC 650的 算法向其引用的SMC 610,620和630请求静态映射以形成它自己的 静态映射集。在本实例中,这导致在其静态映射中具有均出现一次的 “a->a1”,“b->b1”和“d->d1”,以及出现两次的“c->c1”的SMC 650。
SMC 660具有“无重复”算法。它的数据不是所示的4个静态映 射,而是对SMC 610,620和630的引用。当被调用时,SMC 660的 算法向SMC 620到640请求静态映射以形成它自己的静态映射集。在 本实例中,这导致各具有一个“a->a2”,“b->b1”,“c->c1”和“d->d1”的 SMC 660。注意,“c->c1”被向SMC 660提供两次,每次分别来自SMC 620和SMC 630,但是它仅在SMC 660的结果静态规则集中出现一次。
由规则集部件享有的算法可以被静态映射部件和/或其它部件共 享,反之亦然。代码和数据重用是本发明的一个重要优点。因此,在 图5和6表示的实例中,算法“返回”对于RSC和SMC是共同的,“联 合”和“无重复”算法也是一样。
通过使其能够分割为更小,可管理,可重用的块,静态映射部件 范例对于管理大映射集是重要的。本领域的普通技术人员能够想到很 多推理规则集的有用组合,以作为由推理引擎最终使用的数据,以及 直接或者通过引用来作用于推理规则集数据的相关算法。
注意,推理静态映射通常是“用’值’替换‘变量‘”的形式的语句。 映射“a->a1”表示“用’值a1’替换’变量a’”。相似地,映射“a->a2”表示 “用’值a2’替换’变量a’”。
图7根据本发明的一个优选实施例图解了示例性可外化规则集和 静态映射推理部件。图解了两种不同类型的提供者EIC,即RSC 710 和SMC 720,730。两个组成的EIC 740、750由提供者RSC和SMC 的组合构成。本实例示出了本发明的一个重要优点,其中部件被共同 用来组成推理引擎可使用的新实体。EIC 740是一规则集和一静态映 射的组合。EIC 750是具有不同静态映射的相同规则集的组合。每种 都显示了本发明的另一个重要优点:部件重用。在本实例中,与提供 者部件相关的算法仅仅是“返回”,与组成的部件相关的算法仅是“联 合”。
主EIC引擎(例如,图4中的410)可利用从EIC,例如EIC 750, 作为引用,其产生具有根据需要分别被替代为a1-d1的变量a-d的 规则1-4。假定EIC 710被修改为包括具有变量“a”和“c”的新规则5。 对于这个改变,主EIC引擎在使用EIC 750时将会接收其变量a-d 被a1-d1替代的规则1-5。注意由本发明的本实例表示的部件组成 的重要优点。EIC 740和750都会包括附加的规则5,因为两者都是 EIC 710的用户。EIC 730保持不变,但是依然对产生的EIC 750产生 贡献。
一种组成,例如EIC 740,可以静态(在运行前)发生或者动态 (在运行时)发生。“规则:3(c0)”表示“如果条件是’条件c0’,则 结果是’结果c0’”。相似地,“规则:4(d1)”表示“如果条件是’条件 d1’,则结果是’结果d1’”。
更具体地,“规则:3(c)”可表示“如果用户状态’c’,则给予用 户折扣’c’”;“c->c0”可表示“用’条件:铜质,结果:10%’来替代’c’”; 组合导致:如果用户具有状态“铜质”,则给予用户’10%’的折扣。
图8根据本发明的一个优选实施例图解了示例性可外化规则集和 动态(传感器和效应器)映射推理部件(DMC)。图解了两种不同类 型的提供者EIC,即RSC 810和DMC 820,830。两个组成的EIC 840、 850由提供者RSC和DMC的组合构成。本实例图解了本发明的一个 重要优点,其中部件被一起用来组成推理引擎可使用的新实体。EIC 840是一规则集和一动态映射的组合。EIC 850是具有不同动态映射的 相同规则集的组合。每种都显示了本发明的另一个重要优点:部件重 用。在本实例中,与提供者部件相关的算法仅仅是“返回”,与组成的 部件相关的算法仅仅是“联合”。
主EIC引擎(例如,图4中的410)可利用从EIC,例如EIC 840, 作为引用,该从EIC产生具有根据需要分别被替代为函数p(x0), q(x0),r(y0)和s(y0)的变量a-d的规则1-4。假定EIC 820 被修改以将动态映射“d”改为“t(y3)”。对于这个改变,主EIC引擎 在使用EIC 840时将会接收其变量a-d被函数p(x0),q(x0),r (y0)和t(y3)替代的规则1-4。注意由本发明的本实例表示的部 件组成的重要优点。只有EIC 840包括改变的规则4,因为只有它是 EIC 820的用户。EIC 810保持不变,但是依然对结果EIC 840产生贡 献。
一种组成,例如EIC 840,可以静态(在运行前)发生或者动态 (在运行时)发生。“规则:1(p(x0))”表示“如果条件是’条件函 数p(x0)’,则结果是’结果x0’”。相似地,“规则:2(q(x0))” 表示“如果条件是’条件函数q(x0)’,则结果是’结果x0’”。
更具体地,“规则:3(c)”可表示“如果用户状态’c’,则给予用 户折扣’c’”;“c->r(y0)”可表示“用’条件:铜质,结果:查找百分比 (铜质)’来替代’c’”;组合导致:如果用户具有状态“铜质”,则给予 用户’查找铜质的百分比’的折扣。
图9根据本发明的一个优选实施例图解了示例性可外化长期事实 推理部件(LFC)。图解了两种不同类型的EIC,即EIC引擎910和 LFC 910和LFC 920,921和922。LFC使用以两种模式,接收/存储 和获取/发送来操作的算法。例如LFC 921接收来自EIC引擎910的 数据并且将它作为就绪集(Ready Set)1.0永久存储;它也从永久存储器 中获取就绪集1.0并且将该数据提供给EIC引擎。LFC数据接收和发 送可用推或拉的方式(所有EIC都可如此)操作。本实例显示了本发 明的一个重要优点,其中部件被用来将数据分割为推理部件可用的可 维护块。
多个LFC可提供单个EIC。多个EIC可提供单个LFC(未图解)。 LFC在特定情况下(或EIC在一般情况下)可仅接收自,仅发送到, 或者既接收自又发送到一个或者多个EIC。本领域的普通技术人员可 想到LFC和EIC在接收/存储和获取/发送永久数据的许多种组合。
有趣地,就绪集1.0,2.0和3.0可以分别是关于金质、银质、铜 质状态客户的长期事实。
图10根据本发明的一个优选实施例图解了示例性可外化短期事 实推理部件(SFC)。触发点1010和两种其它不同类型的EIC,即 EIC引擎1020和SFC 1030,被图解。通常,触发点1010在运行时向 EIC引擎1020提供数据。通常,EIC引擎1020使用一个或者多个SFC 1030将由触发点提供的数据转换为短期事实,以供推理引擎使用。类 似于其它EIC,SFC使用被外化的数据参数化的外化的算法。通常在 SFC的情况下,算法的目的在于使用触发点提供的数据和转换成推理 引擎可使用的数据。通常,与LFC相反,SFC并不永久地保持短期 事实自身。在SFC中,转换算法和转换数据可以是共同的或者不同的。
有趣的是,准备(Prepare)1.0和2.0可以是由应用程序内的触发 点提供的数据集,例如“购物车”,其被SFC 1030转换成推理引擎可 使用的短期事实,例如“购物单”。
图11根据本发明的一个优选实施例图解了示例性可外化结论推 理部件(CC)。触发点1110和两种不同类型的EIC,即EIC引擎1120 和CC 1130,被图解。通常,触发点1110在运行时使用来自EIC引 擎1120的结果。通常,EIC引擎1120使用一个或者多个CC 1130将 推理引擎所确定的结果转换为供触发点使用的数据。如同其它EIC一 样,CC使用由外化的数据进行参数化的外化的算法。通常在SFC的 情况下,算法的目的在于使用触发点提供的数据和转换成推理引擎可 使用的数据。通常,与LFC相反,CC并不永久地保持结论自身。在 CC中,转换算法和转换数据可以是共同的或不同的。
有趣的是,安排(Arrange)1.0和2.0可以是由应用程序内的触发 点使用的数据集,例如“折扣结果”,其由CC 1130自短期事实,规则, 长期事实和其它EIC可获得的由推理引擎处理的资源转换而来。
图12根据本发明的一个优选实施例图解了示例性推理部件管理 设备(IMCF)交互。图解了一个ICMF 1210和三个EIC 1220。所述 ICMF用于通过应用程序接口(API)来创建,检索,更新和删除EIC。 例如,通过使用API,可以创建新EIC引擎部件;或者删除现存的 LFC部件;或者检索现存RSC部件来发现它的内容;或者修改现存 RSC以包括更多规则;等等。
尽管已经参考附图描述了上述示例性实施例,然而应当理解,本 系统和方法并不限于这些具体的实施例,本领域的普通技术人员可想 到各种其它变化和修改,而不背离本发明范围和精神。所有这些变化 和修改包括在由所附权利要求定义的本发明的范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈