1

我的要求可能接近人们对“专家系统”的期望。并寻找最简单的解决方案,它可以为我提供实时或接近实时的推理,并具有一些离线(非实时)学习能力。

详细地说,我的问题是——

观看实时更新的日志,并将每个条目分类为红色、绿色和蓝色。红、绿、蓝的分类是基于编码为生产规则的逻辑(就像我今天想象的那样)。

它变得具有挑战性的地方是——

1)标记为蓝色的日志条目最终必须标记为红色/绿色,基于后续的日志条目,我们希望有更详细的信息,所以有一点记住要做。等待的确切持续时间事先不知道,但有一个最大限制。当然,在任何给定时间点,都可能有数十万个条目被标记为蓝色。

2) 确定红色和绿色的规则并不完美,因此有时会出现标签错误。因此,偶尔的人工审核会发现这些错误。我的主要挑战是看看我是否可以用最少的编程工作来自动化规则更新的某些部分。

我的(继续研究)表明基于 RETE 算法的规则引擎可能会为我的分类和标记服务,包括重新标记。如果可行,我仍然需要弄清楚如何自动化“从错误中学习”的部分?可以采取一种统计方法 - 贝叶斯分类吗?此外,对于我已经充分手动训练系统的初始分类,是否可以完全采用贝叶斯分类而不是规则引擎?贝叶斯方法似乎通过“信任统计”方法“简化”了维护一组正确规则的任务,尤其是在这些定期手动审计的情况下。

PS> 我的主要应用程序是用 C++ 编写的(如果重要的话)。

4

1 回答 1

2

这听起来像复杂事件处理(CEP),其中您有规则并且能够使用事件 X 等时间计算是在事件 y 之后的 2 分钟内

Java领域,Drools Fusion(或 Drools Expert)会处理得非常好(不过我有偏见)。在C++领域......也许你可以设置一个drools-camel-server并通过 XML 与它通信。

于 2011-05-24T06:59:01.367 回答