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:
Reader Comments