Gibt es Implementierungen von Produktionsregelsystemen, die out of core betreiben?
Ich habe die Open-Source-Implementierungen wie CLIPS und Jess , aber diese funktionieren nur im Speicher, so dass sie dazu neigen, beim Tauschen von Fakten und Regeln (z. B. in Billionen / Billionen) zu stürzen oder Festplatten auszutauschen.
Ich spiele mit der Idee herum, eine einfache Regel-Engine, wie Pychinko , in eine SQL zu portieren Backend, mit Djangos ORM. Die Funktionalität von CLIPS zu unterstützen, wäre jedoch sehr unpraktisch und ich möchte das Rad nicht neu erfinden.
Gibt es Alternativen zum Hochskalieren eines Produktionsregelsystems?
Dies ist keine direkte Antwort auf Ihre Frage, aber es kann Ihnen eine Angriffslinie auf das Problem geben.
In den 80er und 90er Jahren haben wir ein Information-Retrieval-System eingerichtet, das eine sehr große Anzahl von ständigen Anfragen ermöglichte. Konkret hatten wir Systeme mit 64MB Speicher (was zu dieser Zeit ein buttload war), die mehr als eine Million Nachrichten pro Tag aufnahmen und 10.000 bis 100.000 stehende Abfragen gegen diesen Stream anwendeten.
>Wenn wir nur jede stehende Anfrage iterativ auf die neuesten Dokumente angewendet hätten, wären wir totgegossen. Was wir getan haben, war eine Art Inversion der Abfragen durchzuführen, insbesondere das < em> muss haben und können Begriffe in der Abfrage haben. Wir haben dann die Begriffsliste aus dem Dokument verwendet, um diejenigen Abfragen zu finden, die irgendwie erfolgreich waren. Der Kunde lernte, Abfragen mit starken Unterschieden zu erstellen. Daher mussten manchmal nur 10 oder 20 Abfragen vollständig ausgewertet werden.
Ich kenne Ihren Datensatz nicht, und ich weiß nicht, wie Ihre Regeln aussehen, aber es könnte etwas Ähnliches geben, das Sie ausprobieren könnten.
Tags und Links python machine-learning rule-engine rules