An anticipated meaning natural language interface system for computer applications. A knowledge engineer anticipates the general meaning of each sentence that a user is likely to enter and builds a structure of general meaning nodes. For each node, the knowledge engineer enters one or more typical sentences to represent the general meaning. A knowledge engineer abstracts the typical sentences and stores the abstractions in a knowledge base. When a user enters a sentence, it is abstracted by the system and compared to abstracted typical sentences in the knowledge base. This information, and other available information, is used by an algorithm to determine which of the general meaning nodes is intended by the user.