1. A computer implemented method comprising: preparing a query tree having a plurality of query nodes, each query node including a query, branching criteria and predetermined keywords; prompting a user to respond to the query from a first one of the query nodes; receiving a user response to the query; analyzing the user response to identify a branching criteria and one or more user keywords; and comparing the one or more user keywords with the predetermined keywords from one or more of the query nodes.