1. A computer-program product tangibly embodied in a non-transitory computer-readable storage medium having instructions stored thereon, the instructions executable to cause a data processing apparatus to perform operations including: accessing a representation of a category or item; accessing a set of multiple transactions (hereinafter “set A”), each of the transactions including a label indicating whether or not the transaction is a member of that category or contains that item; compiling a list of distinct items found in the transactions of set A; computing an information gain metric, wherein each of the information gain metrics represent mutual information of the respective distinct item and the target category or item within set A; ordering the distinct items on the list based on the information gain metrics; and evaluating usefulness of multiple association rules in detection of the category or item within transactions, wherein each of the association rules includes a logical conjunction of the presence or absence of one or more items on the list, wherein evaluating the usefulness of the multiple association rules includes applying each of the association rules to each of the text documents of set A.