In the execution mode of a trained processor, query key functions are compared with reference key functions stored in a memory array to select a desired response. During the comparison operation, a criterion is imposed to indicate when reference key functions corresponding to a given group of trained responses can not be an appropriate response for an encountered untrained point, wherein an untrained point is a query key for which no corresponding reference key exists. In response, search of some stored reference key functions is waived. In the multi-criteria search procedure of this invention a plurality of criteria may be imposed in an expanded search operation to waive search of specific stored reference key functions.
In an automatic telephone information retrieval system, each subscriber entry is encoded according to primary name, secondary name, primary address, secondary address, generic occupation and specific occupation. The entire contents of a local telephone directory may be electronically stored at memory addresses based upon the above encoding. Statistical methods are used to ensure a workable distribution of subscriber entries over the available memory addresses. The information is retrieved from memory by successively dividing the memory into "divided down" portions. Division points, which are boundaries between neighboring divisions, are designated in a form directly convertible into address coordinates of a random access core storage to speed information retrieval. Electronic calculating and comparing circuits automatically search the memory as a function of the division points, and also provide rapid and automatic address range computations. The system is geared to operate with incomplete subscriber entry data, and in many instances corrects operator errors.
In an automatic telephone information retrieval system, each subscriber entry is encoded according to primary name, secondary name, primary address, secondary address, generic occupation and specific occupation. The entire contents of a local telephone directory may be electronically stored at memory addresses based upon the above encoding. Statistical methods are used to ensure a workable distribution of subscriber entries over the available memory addresses. The information is retrieved from memory by successively dividing the memory into "divided down" portions. Division points, which are boundaries between neighboring divisions, are designated in a form directly convertible into address coordinates of a random access core storage to speed information retrieval. Electronic calculating and comparing circuits automatically search the memory as a function of the division points, and also provide rapid and automatic address range computations. The system is geared to operate with incomplete subscriber entry data, and in many instances corrects operator errors.
A definition-based expert system and expert system shell. The expert system shell creates a knowledge base consisting of terms and their definitions, the definitions making up a hierarchy of definitions in which each definition depends only on terms defined at lower levels in the hierarchy or on term-independent values. Expert responses are obtained from the system by evaluating the terms. When a term is evaluated, all of the term-independent values and the values of all of the terms in its definition are obtained. The definitions include operators specifying operations which are to be performed when the defined term is evaluated. The operators include causing other systems operable in the digital computer system in which the expert system is operating to operate. The definitions further include table operators. Base table operators define terms representing tables and columns in the tables and permit loading of the tables. Query table operators define terms representing tables defined from base tables or other query tables. Column operators permit operations involving all of the fields of a column. The expert system is further able to respond to "don't know" values in a fashion which depends on the significance of the "don' t know" value for the definition of the term.
An expert system shell and expert systems created thereby. The expert system shell creates a knowledge base consisting of terms and their definitions, the definitions making up a hierarchy of definitions in which each definition depends only on definitions at lower levels in the hierarchy or on values obtained from sources external to the knowledge base. The expert system shell creates the knowledge base by asking the expert to define a given term and then asking him to define all undefined terms which appear in the definition of the given term. Because the hierarchy is created in this fashion, the definitions are guaranteed to be complete and non-contradictory. Expert systems created using the expert system shell employ an inferencing engine which determines the value of a given term by evaluating its definition. In the course of the evaluation, the definitions of terms required to define the given term are evaluated and external values required for the evaluation of the definitions are obtained. Users of the expert system may inquire of the system why it is seeking a given external value and how it obtained the results it did.
A document generation system which employs a definition-based expert system and an editor to produce an output document from a template document and expert system responses. The knowledge base of the expert system consists of a hierarchy of terms and their definitions. To produce an expert response, an inference engine component of the expert system evaluates a term by evaluating all of the definitions for the terms which are in that term's hierarchy of definitions. In the document generation system, the terms include fragment terms which are defined as portions of the template document.