Patent ID: 7302383

Claim:
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 configurable to determine whether said natural language is: i. a precise request if and only if said natural language phrase successfully meets the syntactical rules of a context-free user grammar as defined by a user for a specific application or ii. a fuzzy request if said natural language phrase successfully meets the syntactical rules of a context-free universal grammar for all possible natural language phrases, but does not meet the syntactical rules of a said user grammar 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 natural language phrases and configured to: identify said natural language phrases as a unexpected spontaneous request in the context of a dialog, process said natural language phrases as a unexpected spontaneous request and, reply to said unexpected spontaneous request e. program logic responsive to said natural language phrases 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.