The BOOLRULE Procedure

Overview: BOOLRULE Procedure

The BOOLRULE procedure is a SAS Viya procedure that enables you to extract Boolean rules from large-scale transactional data.

The BOOLRULE procedure can automatically generate a set of Boolean rules by analyzing a text corpus that has been processed by the TEXTMINE procedure and is represented in a transactional format. For example, the following rule set is generated for documents that are related to bank interest:

   (cut ^ rate ^ bank ^ percent ^ ~sell)       or
   (market ^ money ^ ~year ^ percent ^ ~sale)  or
   (repurchase ^ fee)                          or
   (rate ^ prime rate)                         or
   (federal ^ rate ^ maturity)

In this example, ^ indicates a logical "and," and ~ indicates a logical negation. The first line of the rule set says that if a document contains the terms "cut," "rate," "bank," and "percent," but does not contain the term "sell," it belongs to the bank interest category.

The BOOLRULE procedure has three advantages when you use a supervised rule-based model to analyze your large-scale transactional data. First, it focuses on modeling the positive documents in a category. Therefore, it is more robust when the data are imbalanced.[1] Second, the rules can be easily interpreted and modified by a human expert, enabling better human-machine interaction. Third, the procedure adopts a set of effective heuristics to significantly shrink the search space for search rules, and its basic operations are set operations, which can be implemented very efficiently. Therefore, the procedure is highly efficient and can handle very large-scale problems.



[1] A data table is imbalanced if it contains many more negative samples than positive samples, or vice versa.

Last updated: November 11, 2020