1. A method of generating irredundant features optimal to a particular dataset and classifier, comprising: a. inputting a dataset of messages; b. inputting a classifier; c. encoding an algebra of computable features capable of describing the dataset through expression trees; and d. applying a genetic algorithm to select a resulting feature which maximizes accuracy of the classifier given a validation set.