Python 核心外规则引擎

Python 核心外规则引擎,python,machine-learning,rules,rule-engine,Python,Machine Learning,Rules,Rule Engine,是否有任何生产规则系统的实现可以运行 我已经检查过像和这样的开源实现,但它们只在内存中运行,因此在操作大量事实和规则(例如,数十亿/万亿)时,它们往往会崩溃或强制进行大量磁盘交换 我正在考虑使用Django的ORM移植一个简单的规则引擎,比如SQL后端。然而,支持剪辑中的功能级别是非常重要的,我不想重新发明轮子 是否有其他方法可用于扩展生产规则系统?您可以检查和类似的RDF规则引擎,这些引擎设计用于处理非常大的事实数据库。这不是对您的问题的直接回答,但它可能会给您一条针对该问题的攻击路线 早在8

是否有任何生产规则系统的实现可以运行

我已经检查过像和这样的开源实现,但它们只在内存中运行,因此在操作大量事实和规则(例如,数十亿/万亿)时,它们往往会崩溃或强制进行大量磁盘交换

我正在考虑使用Django的ORM移植一个简单的规则引擎,比如SQL后端。然而,支持剪辑中的功能级别是非常重要的,我不想重新发明轮子


是否有其他方法可用于扩展生产规则系统?

您可以检查和类似的RDF规则引擎,这些引擎设计用于处理非常大的事实数据库。

这不是对您的问题的直接回答,但它可能会给您一条针对该问题的攻击路线

早在80年代和90年代,我们就部署了一个信息检索系统,允许进行大量的长期查询。具体地说,我们的系统有64MB的内存(在当时是一个无用的负载),每天接收超过一百万条消息,并对该流应用10000到100,00多个长期查询

如果我们所做的只是对最近的文档迭代地应用每个长期查询,那么我们将是死肉。我们所做的是执行一种查询,特别是识别查询中的必有和可有术语。然后,我们使用文档中的术语列表来查找那些有可能成功的查询。客户学会了创建具有强大差异性的查询,因此,有时只需对10或20个查询进行全面评估


我不知道您的数据集,也不知道您的规则是什么样子的,但是您可以尝试类似的方法。

“是否有其他方法可以扩展生产规则系统?”是的,更多的RAM!给一个算法一些额外的内存,并修复它一天。将算法更改为不使用RAM,并永久修复它。我的评论当然是开玩笑的。我根本不知道你的问题的答案。愚蠢的问题,但你究竟是如何管理/定义数十亿和/或万亿条规则的?耶拿将其规则存储在内存中。据我所知,所有RDF规则引擎都是相同的方式。大型事实数据库!=超出核心规则。