1. A method of determining an appropriate response to an input, comprising: linking a plurality of attributes to a plurality of response templates using a plurality of Boolean expressions, each attribute associated with a set of patterns, each pattern within the set of patterns being equivalent; and determining an appropriate response template from the plurality of response templates based on the input.