1 : Apparatus for maintaining unrestricted natural language discourse with humans and interacting with third party application programs comprising: a plurality of user interfaces for allowing humans to input natural language phrases selected from the group consisting of speech and written text, a processor, storage means for storing data on a storage medium and having groups of executable instructions stored therein and, wherein said processor is configured to execute said groups of executable instructions stored in memory, and said groups of executable instructions further comprise: a. program logic responsive to said natural language phrases input and configured to generate a semantic representation for each of the natural language phrases and to identify whether said semantic representation is a fuzzy request, or a precise request b. program logic responsive to said fuzzy request and configured to process said fuzzy request speculatively and returning an approximated answer c. program logic responsive to said precise request and configured to process said precise request precisely and returning one of the following: an answer that precisely answers said human's request a confirmation a follow up prompt for specifying further information d. program logic responsive to said semantic representation and configured to: identify said semantic representation as a spontaneous request in the context of a dialog process said semantic representation as a spontaneous request and, reply to said spontaneous request e. program logic responsive to said semantic representation and configured to identify an expected human phrase that is a reply to a prompt previously made by said system and, to request further information from said human user, but not precluding potential interruptions by spontaneous human made requests