KETL

Knowledge Engineering Toolkit & Language

The Knowledge Engineering Toolkit & Language (KETL) is a representation language and inference engine being developed to support a broad range of knowledge-management tasks. The logic-based representation language provides expressive power similar to CycL, with 2nd-order syntax and 1st-order semantics. Assertions are fully represented objects. Contexts are supported for assertions (similar to Microtheories in CycL). The inference engine is relatively primitive but provides basic inference capabilities and is being extended. It currently supports transitive binary predicates (e.g., subClass), extension predicates (e.g., isa), inheritance, with emerging support for rules and prototypes, truth maintenance, and explanations.

KETL has been used in five applications:

  • Appraising textual contributions during human collaboration: The first application provides basic ontology and reasoning support for managing textual contributions in the collaboration tool Angler, a web-services tool that supports collaboration among participants on some focus topic . KETL was used to implement a manually-developed ontology relevant to a library of collaboration comments about nuclear assets in Pakistan. This ontology was then used to semantically index and reason about these collaboration comments. For example, the application determines which existing comments are most similar to a new comment. The application also identifies concepts of the ontology that are not "covered" by any of the existing collaboration comments, promoting suggesting possible topics for the collaborators to consider in subsequent comments.
  • Knowledge sharing during data analytics: The second application provides support for sharing query data and results among a set of data-analysis tools, including finding patterns in very large data sets. KETL was used to implement PHERL, an interlingua that supports the translations of query patterns and results between the native languages of the data-analysis tools. This application leveraged the expressive language of KETL to capture properties of assertions (e.g., to indicate that a given query pattern contains a particular atomic formula).
  • Conflict detection and resolution during data fusion: The third application integrates fragments of a situation description provided by multiple sensors, identifying and resolving subtle conflicts among the fragments, in order to provide a single, coherent situation description. KETL was used to capture background domain knowledge. Various fragments describing a given situation were then added into a single integration context. The background knowledge was applied to elaborate the integration context. Meta-level reasoning was used to identify conflicts in the elaboration. Explanations of conflicting beliefs were used to identify candidate repairs for the conflicts (i.e., hypothesized changes to the emerging situation description that would resolve the conflicts).
  • Anaphora resolution during natural language understanding: The fourth application resolves anaphora ambiguities in natural language. KETL was used to implement simple background knowledge in the domain. The explicit contents of the parsed natural language is then captured in a comprehension context, using distinct sub-contexts to capture alternative anaphora meaning. Then background knowledge was applied to elaborate the comprehension context, revealing tacit content that identifies the intended meaning of anaphora.
  • A personal assistant that understands and performs voiced requests: The fifth application accepts, understands, and performs a request voiced in English to email a document. The KETL interface, enabled with Google Voice, was used to capture the voiced request as text. A simple English grammar and comprehension heuristics then translate the text into KETL action specifications. Homophones captured in the knowledge base enable recovering from ambiguities in the voice input that produce mistakes in the text translation. Captured knowledge about how to perform actions (e.g., how to send an email) enables completing the user's request.
  • KETL is implemented using Allegro Common Lisp.

    For additional information, see KETL.

Copyright © 2014 Franz Inc., All Rights Reserved | Privacy Statement
Delicious Google Buzz Twitter Google+