1. A computer-implemented method of responding to a user query, said method comprising: receiving said user query from a user; matching said user query to stored responses to obtain an initial set of matched responses; calculating a confidence metric indicating the likelihood of said initial set of matched responses satisfying said user query; in response to determining said confidence metric indicating the likelihood of said initial set of matched responses satisfying said user query to be below a specified threshold, supplementing said user query with a plurality of contextual data comprising at least one of 1) a count of previously received user queries from said user, 2) a count of responses in said initial set of matched responses, 3) a count of words in said user query, 4) a total count of databases in which responses are stored, and 5) a count of databases selected by said user in which responses are stored and further matching said user query, supplemented by said plurality of contextual data, to stored responses by applying a plurality of disparate matching techniques to obtain a further set of matched responses; for each matched response in said further set of matched responses, calculating a degree-of-match metric indicating a quality of match between that matched response and said user query, said calculating taking into account said plurality of contextual data; and presenting at least one matched response of said initial set of matched responses and said further set of matched responses to said user, wherein at least one of said plurality of disparate matching techniques differs from techniques used to obtain said initial set of matched responses.