1. A method for interacting with a user, the method performed by a computer having access to an electronic knowledge database, the method comprising: automatically with the computer (a) generating a structured representation of a received user input; (b) comparing the structured representation of the received user input with each of a plurality of expected user statement fields that are entries in the electronic knowledge database, and are associated with respective action fields specifying at least one action; and (c) when one of the plurality of expected user statements fields matches the structured representation of the received user inputs, causing the at least one action specified by the action field associated with the matching one of the plurality of expected user statement fields to be performed; the method further comprising: (i) when a match is identified in part (c), generating a second structural representation of a second received user input; and (ii) comparing the second structured representation of the second received user input with a second plurality of expected user statement fields that are entries in the electronic knowledge database and are associated with respective actions fields specifying at least one action: (A) wherein the entries of the knowledge database are arranged in a hierarchical structure; (B) wherein each entry in the electronic knowledge database also comprises an associated identification field indicative of a position in the hierarchical structure; and (C) wherein all the positions indicated by the identification fields associated with the second plurality of expected user statement fields substantially match; and (iii) when one of the second plurality of expected user statements fields matches the second structured representation of the second received user input, causing the at least one action specified by the action field associated with the matching one of the second plurality of expected user statement fields to be performed.