Systems and methods for expediting rule-based data processing
Abstract
A system includes one or more memory devices storing instructions, and one or more processors configured to execute the instructions to perform steps of a method for generating a data tree structure for expediting rule-based decision-making. The system may receive a rules file having a plurality of rules, where each rule has one or more conditions and one or more actions. The system may generate a plurality of condition frequency counts that represent the total number of rules having a condition of a particular unique condition type. The system may then generate a tree structure based on the plurality of rules and the plurality of condition frequency counts, where the tree structure includes a root node and one or more node branches, where each node branch includes a first-level node and zero or more second-level nodes that each include a node condition and zero or more node actions.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system for generating a data tree structure for expediting rule-based decision-making, the system comprising:
one or more processors; and a memory in communication with the one or more processors and storing instructions that, when executed by the one or more processors, are configured to cause the system to:
receive a rules file comprising a plurality of rules, each rule of the plurality of rules comprising one or more conditions and one or more actions, wherein each condition is associated with a condition type;
generate a plurality of condition frequency counts, each condition frequency count (i) being associated with a respective unique condition type and (ii) indicating a total number of rules having a condition associated with the respective unique condition type;
generate, based on the plurality of rules and the plurality of condition frequency counts, the data tree structure comprising a root node and one or more node branches, each node branch comprising a respective first-level node and one or more respective second-level nodes, each respective node of a given node branch having a respective first shared node condition, and at least some of the first-level nodes and second-level nodes being associated with a node action; and
provide the data tree structure for rule-based decision-making.
2 . The system of claim 1 , wherein generating the data tree structure further comprises generating, for a first node branch of the one or more node branches based on the plurality of rules and the plurality of condition frequency counts, one or more node sub-branches, each node sub-branch comprising a second-level node of the respective one or more second-level nodes and respective one or more third-level nodes, each of the one or more respective second-level nodes and the one or more respective third-level nodes of a given node sub-branch having the respective first shared node condition and a respective second shared node condition, and at least some of the second-level nodes and third-level nodes being associated with a node action.
3 . The system of claim 1 , wherein at least one first-level node is formed from a single rule of the plurality of rules.
4 . The system of claim 1 , wherein at least one first-level node is formed from two or more rules of the plurality of rules.
5 . The system of claim 1 , wherein the data tree structure is a hierarchy of singly linked nodes.
6 . The system of claim 1 , wherein the condition types comprise one or more of line-of-business in, tier in, and version.
7 . The system of claim 1 , wherein the instructions, when executed by the one or more processors, are configured to further cause the system to:
receive an input request comprising one or more input conditions; based on the one or more input conditions, traverse each first-level node of the one or more node branches; determine a subset of the first-level nodes having conditions that are satisfied by one or more input conditions of the input request; traverse to each second-level node of the one or more node branches that is linked to a node of the subset of the first-level nodes, bypassing each second-level node of the one or more node branches that is not linked to a node of the subset of the first-level nodes; and execute one or more node actions associated with at least some of the traversed nodes.
8 . The system of claim 7 , wherein the instructions, when executed by the one or more processors, are configured to further cause the system to:
identify a sub-group of traversed nodes, wherein each traversed node of the sub-group has a condition that is met by the one or more input conditions of the input request; and execute the one or more node actions associated with at least some traversed nodes of the sub-group of traversed nodes.
9 . The system of claim 8 , wherein:
one or more of the node actions have a respective associated priority, and the instructions, when executed by the one or more processors, are configured to further cause the system to:
responsive to determining that two or more of the node actions associated with the sub-group conflict with one another, prioritize execution of the two or more conflicting node actions based on their respective associated priorities.
10 . The system of claim 1 , wherein generating the data tree structure comprises:
generating a root node; prioritizing the condition types based on a magnitude of each condition type's respective frequency count; processing a first first-rule condition of a first rule by generating a first child node to the root node, the first first-rule condition having a condition type of the highest priority and the first child node having the first first-rule condition; processing one or more first-rule conditions of the first rule in order of their condition type priority by, for each first-rule condition, creating a first-rule child node including the first-rule condition, where the first-rule child node is a child node of a previously created first-rule node, and for the last processed condition, incorporating one or more actions into the last created first-rule child node; and processing a second rule by:
responsive to determining that a first second-rule condition is not included in the first child node to the root node, generating a second child node to the root node incorporating the first second-rule condition, wherein the first second-rule condition has a condition type of the highest priority; and
responsive to determining that the first second-rule condition is included in the first child node to the root node and that a child node of the first child node to the root node does not include a second second-rule condition, creating a second-rule child node including the second-rule condition, the second-rule child node being a child of the first child node to the root node.
11 . A computer-implemented method for generating a data tree structure to be used for expediting rule-based decision-making, the method comprising:
receiving a rules file comprising a plurality of rules, each rule of the plurality of rules comprising one or more conditions and one or more actions, wherein each condition is associated with a condition type; generating a plurality of condition frequency counts, each condition frequency count (i) being associated with a respective unique condition type and (ii) indicating a total number of rules having a condition associated with the respective unique condition type; generating, based on the plurality of rules and the plurality of condition frequency counts, the data tree structure comprising a root node and one or more node branches, each node branch comprising a respective first-level node and one or more respective second-level nodes, each of the first-level nodes and the one or more second-level nodes of a given node branch having a respective first shared node condition, and at least some of the first-level nodes and second-level nodes being associated with a node action; and providing the data tree structure for rule-based decision-making.
12 . The method of claim 11 , wherein generating the data tree structure comprises generating, for a first node branch of the one or more node branches and based on the plurality of rules and the plurality of condition frequency counts, one or more node sub-branches, each node sub-branch comprising a second-level node of the respective one or more second-level nodes and one or more respective third-level nodes, each of the one or more respective second-level nodes and the one or more respective third-level nodes of a given node sub-branch having the respective first shared node condition and a respective second shared node condition, and at least some of the second-level nodes and third-level nodes being associated with a node action.
13 . The method of claim 11 further comprising:
receiving an input request comprising one or more input conditions;
based on the input conditions, traversing each first-level node of the one or more node branches;
determining a subset of the first-level nodes having conditions that are satisfied by one or more input conditions of the input request;
traversing to each second-level node of the one or more node branches that is linked to a node of the subset of the first-level nodes, bypassing each second-level node of the one or more node branches that is not linked to a node of the subset of the first-level nodes; and
executing one or more node actions associated with at least some of the traversed nodes.
14 . The method of claim 11 further comprising:
identifying a sub-group of traversed nodes, wherein each traversed node of the sub-group includes a condition that is met by the one or more input conditions of the input request; and
executing the one or more node actions associated with at least some traversed nodes of the sub-group of traversed nodes.
15 . The method of claim 11 , wherein at least one first-level node is formed from one rule.
16 . The method of claim 11 , wherein at least one first-level node is formed from two rules.
17 . A non-transitory computer-readable medium storing instructions for generating a data tree structure to be used for expediting rule-based decision-making that, when executed by one or more processors, cause a system to:
receive a rules file comprising a plurality of rules, each rule of the plurality of rules comprising one or more conditions and one or more actions, wherein each condition is associated with a condition type; generate a plurality of condition frequency counts, each frequency count (i) being associated with a respective unique condition type and (ii) indicating a total number of rules having a condition associated with the respective unique condition type; generate, based on the plurality of rules and the plurality of condition frequency counts, the data tree structure comprising a root node and one or more node branches, each node branch comprising a respective first-level node and one or more respective second-level nodes, each of the respective first-level nodes and the one or more respective second-level nodes of a given node branch having a respective first shared node condition, and at least some of the respective first-level nodes and respective second-level nodes being associated with a node action; and provide the data tree structure for rule-based decision-making.
18 . The non-transitory computer-readable medium of claim 17 , wherein the data tree structure is a hierarchy of singly linked nodes.
19 . The non-transitory computer-readable medium of claim 17 , wherein condition types comprise one or more of line-of-business in, tier in, and version.
20 . The non-transitory computer-readable medium of claim 17 , wherein the instructions, when executed by the one or more processors, further cause the system to:
receive an input request comprising one or more input conditions; based on the one or more input conditions, traverse each first-level node of the one or more node branches; determine a subset of the first-level nodes having conditions that are satisfied by one or more input conditions of the input request; traverse to each second-level node of the one or more node branches that is linked to a node of the subset of the first-level nodes, bypassing each second-level node of the one or more node branches that is not linked to a node of the subset of the first-level nodes; and execute one or more node actions associated with at least some of the traversed nodes.Join the waitlist — get patent alerts
Track US2020175403A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.