Architecture and Technical Approach: ErgoAI Platform
Note: ErgoAI is the new name for Ergo Suite
Introduction
Rulelog and Textual Rulelog
Ergo Reasoner
Ergo Studio
API, Integration, and Standards Support
Diagram and Task Flow
Comparison of ErgoAI vs. Flora-2
Introduction
ErgoAI is an advanced system for representing and reasoning about knowledge. It is a commercially supported, enterprise platform for deep AI reasoning and semantic rules, with a uniquely comprehensive set of capabilities. Developed by Coherent’s team of industry leaders in semantic reasoning, it is based on major advances in these technologies. ErgoAI consists of three major components: ErgoAI Reasoner, ErgoAI Studio, and ErgoAI connectors and interfaces. The reasoner is a reasoning engine. The studio is an Integrated Development Environment for knowledge authoring, querying, testing, and debugging. ErgoAI connectors and interfaces include connectors to standard data formats like XML or JSON plus interfaces to other programming languages like Java and Python.
Rulelog and Textual Rulelog
ErgoAI is based on Rulelog, an advanced logical language for semantic rules. Ever since the advent of relational databases and business rule systems in the 1980’s, researchers in the fields of artificial intelligence and semantic technology sought a computationally affordable logical language with much richer expressiveness than what databases and business rule systems can provide. Rulelog is the culmination of decades of effort including theoretical advances in knowledge representation, algorithm development, and application prototyping that have combined to make this vision a reality.
Rulelog greatly extends the expressiveness and core capabilities of databases and business rule systems, yet is scalable.
Technical features include:
- Higher-order general logical formulas. Strong meta reasoning. Bounded rationality and polynomial complexity. Defaults and argumentation. Common sense reasoning. Probabilistic reasoning. Object-oriented syntax. And more.
- Can integrate closely with natural language and machine learning.
- Overcomes many of the limitations of classical logic and production rules systems.
Background: Complex logical information is often called “structured knowledge” in the fields of artificial intelligence, database management, and semantic technology. A database query, view, or data fact can each be viewed as a simple case of a semantic rule. Almost any ontology in OWL can also be viewed as a set of semantic rules. Likewise, almost any kind of data schema knowledge can be viewed as a set of semantic rules. Some recent semantic systems are based on Datalog, which extends and improves upon database languages such as SQL. Rulelog further extends Datalog – both in terms of expressive power and usability.
Textual Rulelog is a set of techniques for closely combining Rulelog with natural language processing. Its main features are:
- Maps Rulelog to and from English, i.e., interprets and generates text.
- Uses templates and Rulelog itself to interpret and generate English.
ErgoAI is the most complete and highly optimized implementation available for Rulelog and Textual Rulelog.
For more details about Rulelog and Textual Rulelog, including tutorials and case studies, see the Publications page.
ErgoAI Reasoner
ErgoAI Reasoner is a reasoning engine that executes queries to produce answers with explanations, and provides other reasoning services. The reasoner is a sophisticated layer on top of XSB, a well-established commercial open source deductive engine.
Ergo AI Reasoner’s sophisticated algorithms include:
- Caching of conclusions and their incremental maintenance. This efficiently combines the best of both backward and forward chaining.
- Transforms, compiles, indexes, and modularizes knowledge.
- Optimization via subgoal reordering.
- Resolves conflicting information (“defeasibility”).
- Provides bounded rationality, ensuring computational scalability.
- Provides explanations to inferences.
- Transforms between logical syntax and English
ErgoAI Studio
ErgoAI Studio is a user interface (UI) and integrated development environment (IDE) that includes an array of advanced features for querying, editing, and debugging knowledge.
Ergo Studio provides:
- A uniquely powerful and easy-to-use explanation facility, that enables users to drill down to as much detail as desired and understand each step in the chain of reasoning that led to any conclusion. Users can see the knowledge in English, see why – and why not – conclusions were drawn, and see the source and full provenance of the knowledge used in the reasoning.
- Interactive syntax checking
- A fast edit-test loop with an award-winning toolset. (Best system demonstration, at RuleML-2013, the 7th International Web Rule Symposium.)
- Automatic tools to present logical information in English natural language, notably for explanations.
- Visualizations of knowledge as a set of directed graphs, as well as in other ways such as expanding/collapsing trees of explanations in English.
- Automatic tools that increase the productivity of encoding rules/information starting from English documents and text.
Connectors, Interfaces, and Standards Support
Coherent takes an open, standards-based approach that builds on open source components. Overall, ErgoAI is implemented primarily in Java, Rulelog, and C.
- Coherent supports the Rulelog draft industry standard from RuleML (a submission to W3C & Oasis in preparation).
ErgoAI has a set of API’s that enable its components’ services, notably ErgoAI Reasoner, to be embedded in enterprise applications. The API’s provide services for all key functionality, including:
- Creating engine instances.
- Loading knowledge.
- Reasoning to answer queries
- Reasoning to obtain explanations.
ErgoAI can import and export information in standardized fashion to and from other systems such as databases and ontologies, leading enterprise systems, and legacy applications. ErgoAI can translate and exchange knowledge via a variety of interfaces including:
- SQL
- SPARQL
- OWL
- JSON
- CSV
- Java
- Python
- Prolog
- Web services
- C
Diagram and Task Flow
ErgoAI’s components, architecture, and task flow are depicted in the diagram below. (Note: Ergo Suite is now called ErgoAI).
ErgoAI vs. Flora-2
ErgoAI Reasoner is an enterprise, greatly enhanced, version of the open-source Flora-2 system, which was also developed by several members of the Coherent team. Coherent Knowledge supports the Flora-2 effort and contributes greatly to its ongoing maintenance and other development.