人工智能 - 理想的算法方法 - 规则引擎/决策树和一些学习逻辑



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

详细说,我的问题是——

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

它变得具有挑战性的一点是——

1)标记为蓝色的日志条目

最终必须标记为红色/绿色,基于后续日志条目,我们希望在其中获得更详细的信息,因此需要记住一些工作。等待的确切时间事先不知道,但有一个最大限制。当然,在任何给定的时间点,都有数十万个条目被标记为蓝色。

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

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

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

这听起来像复杂事件处理 (CEP),您可以在其中使用规则并使用时间计算的能力,例如事件 X 在事件 y 之后 2 分钟内

爪哇地区,Drools Fusion(或Drools Expert)可以很好地处理这个问题(虽然我有偏见)。在C++土地上...好吧,也许您可以设置一个drools-camel-server并通过XML与之通信。

最新更新