« High Quality Examples of Errors in XBRL-based Financial Reports | Main | Processing Complex Logical Information or Structured Knowledge »

World's First Expert System for Creating Financial Reports 

Remember when I posted that I had created the world's first machine-readable financial reporting checklist?  Well, I now have a machine that can read that checklist.

I believe that a software developer and myself have created what I can honestly call the world's first expert system for creating financial reports (as far as I am aware). 

But what is even more interesting is that what drives this expert system is a global standard XBRL-based general purpose business reporting expert system.  The system is both in the form of a tool that is very approachable by business professionals and an API interface. 

There are many sources for defining what an expert system or what people are now tending to call "knowledge based systems".  This web site points out two very important things.  First, the components of an expert system.  Secondly, which is even more interesting, is a discussion of a notion of a general purpose expert system.  Imagine an expert system where the syntax of the fact database and knowledge base is a global standard: XBRL

The diagram at the bottom of this post explains the components of an expert system.  Here is how we implemented those expert system components in our software:

  • Knowledge acquisition: The domain knowledge which was represented represented in the form of machine-readable business rules were created manually (i.e. not via machine learning). And so, the application has interfaces for creating business rules.
  • Knowledge base of rules: The knowledge base of rules is represented 100% using the XBRL technical syntax.  The knowledge base of rules includes an XBRL taxonomy schema, XBRL linkbases, and XBRL Formulas.  I defined some XBRL arcroles that are used in the XBRL definition relations to represent specific types of relationships.
  • Fact Database:   The fact database is an XBRL instance or set of XBRL instances.  My fact database can be from ONE XBRL instance such as a single financial report, all the different periodic reports of one entity, the reports for some set of economic entities that report, or all the way up to every XBRL instance that makes up the SEC EDGAR database.
  • Reasoning, Inference, Rules Engine:  The reasoning/inference/rules engine is an XBRL processor + and XBRL Formula processor + additional processing that overcomes specific deficiencies in the XBRL Formula specification.  The primary deficiencies relate to a lack of chaining (we support forward chaining, a lack of inference logic to derive new facts using the rules of logic, and deficiencies in specific types of problem solving logic (which we added via the XBRL arcrole definitions).
  • Justification and Explanation Mechanism:  The justification and explanation mechanism provides information, generally in a controlled natural language type format, which is very readable and understandable to business professionals and an "audit trail" that enables a business professional to trace any piece of information all the way back to its origin within a financial report fact or knowledge base business rule.

Using the notion of "profiles", the application supports US GAAP-based financial reporting, IFRS-based financial reporting, what I call a "general profile" that provides an architecture and any business reporting scheme simply has to supply the metadata for that reporting scheme.  Here is a brief initial video that I have created to help show the GUI.

Here is a document that helps you understand the current validation capabilities of the application. Why is this important to understand?  Because it helps you understand the knowledge that is in the applications knowledge base of rules and the capabilities of the reasoning/inference/rules engine.

In my view the approach that we took to create this application is very interesting and provides insight that would help others leverage the XBRL global standard.  We are very happy to help others who want to understand what we believe we have created.  If you want additional information, please contact me.  Additional information will also be provided on my blog


Components of an Expert System:

(Click image for larger view)

Posted on Thursday, April 27, 2017 at 12:42PM by Registered CommenterCharlie | CommentsPost a Comment

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
All HTML will be escaped. Hyperlinks will be created for URLs automatically.