BLOG:  Digital Financial Reporting

This is a blog for information relating to digital financial reporting.  This blog is basically my "lab notebook" for experimenting and learning about XBRL-based digital financial reporting.  This is my brain storming platform.  This is where I think out loud (i.e. publicly) about digital financial reporting. This information is for innovators and early adopters who are ushering in a new era of accounting, reporting, auditing, and analysis in a digital environment.

Much of the information contained in this blog is synthasized, summarized, condensed, better organized and articulated in my book XBRL for Dummies and in the chapters of Intelligent XBRL-based Digital Financial Reporting. If you have any questions, feel free to contact me.

Entries in General Information (257)

The Economist: Sweet Little Lies

The Economist published a story, Sweet little lies, How to read between the lines of companies’ accounts in which they describe the corporate earnings season as:

a carnival of confusion, obfuscation and fibbing

This article is worth reading.

Similar article from the New York Times, Fantasy Math Is Helping Companies Spin Losses Into Profits

Posted on Monday, May 2, 2016 at 06:46AM by Registered CommenterCharlie in | CommentsPost a Comment | EmailEmail | PrintPrint

The European Union Officially Recognizes XBRL as a Standard

Posted on Friday, February 5, 2016 at 06:58PM by Registered CommenterCharlie in | CommentsPost a Comment | EmailEmail | PrintPrint

Understanding 'Deep Learning' and 'Neural Networks'

Something that I have been trying to figure out is how good machine can be at figuring something out.  In trying to understand true capabilities I run up against terms such as 'artificial intelligence' and 'deep learning' and 'neural networks'.

Artificial intelligence I already discussed (see the link above).  Basically artificial intelligence is about getting a machine to mimic or simulate the behavior of a human.  For example, a calculator be it mechanical (hardware) or software is a machine that can mimic human behavior.

'Deep learning' and 'neural networks' seem to be related to ways of creating artificial intelligence.  Here are definitions of each of those terms:

  • Deep learning: Wikipedia says: Deep learning (deep machine learning, or deep structured learning, or hierarchical learning, or sometimes DL) is a branch of machine learning based on a set of algorithms that attempt to model high-level abstractions in data by using model architectures, with complex structures or otherwise, composed of multiple non-linear transformations. (O'Reilly Media is publishing a book Fundamentals of Deep Learning)
  • Neural network: A neural network is basically a computer system modeled after how the human brain and nervous system work.

If you look at the last sentence of the first section of the Wikipedia definition of 'deep learning' it says: "Alternatively, deep learning has been characterized as a buzzword, or a rebranding of neural networks."  Also, go look at Chapter 1 of the O'Reilly Media book, the chapter title is "The Neural Network".

This Basic Introduction to Neural Networks provides this explanation which sheds a lot of light on what neural networks are:

What Applications Should Neural Networks Be Used For?

Neural networks are universal approximators, and they work best if the system you are using them to model has a high tolerance to error. One would therefore not be advised to use a neural network to balance one's cheque book! However they work very well for:

•capturing associations or discovering regularities within a set of patterns;
•where the volume, number of variables or diversity of the data is very great;
•the relationships between variables are vaguely understood; or,
•the relationships are difficult to describe adequately with conventional approaches.

It seems to be the case that a 'neural network' is an architecture or approach to getting work done.  It is an alternative or compliment to currently used techniques.

 

People seem to have these delusions related to what you can do with a neural network.  Basically, there seems to be a lot of hype going around.  Slick marketing gimmicks lead you to believe that neural networks will do magical things for you without you having to put in any effort.  Their neural network is best.  But this is only hype.

Which type of network means far, far less than the model that you create and feed the neural network with.  That is the key, the metadata.

This SlideShare presentation, Deep neural networks, discusses the importance of unsupervised pre-training (slide 19) and supervised fine-tuning (slide 26) when constructing a system.

McKinsey published an article Artificial intelligence meets the C-suite.  That article makes the statement,

Many of the jobs that had once seemed the sole province of humans—including those of pathologists, petroleum geologists, and law clerks—are now being performed by computers.

(Don't forget this article about how artificial intelligence will impact law firms.)

Very interesting stuff.  Clearly there is a lot of hype and over-stating what a machine will be capable of doing.  But you cannot write off 100% of what people are purporting.  There is some truth buried in there.  Understanding how to make use of this technology is really important so you don't get fooled by those slick marketing gimmicks.

Stay tuned!

Posted on Thursday, September 17, 2015 at 01:19PM by Registered CommenterCharlie in | CommentsPost a Comment | EmailEmail | PrintPrint

Vision of a Semantic Spreadsheet Getting Clearer

This is the definition of a spreadsheet provided by Wikipedia:

A spreadsheet is an interactive computer application program for organization, analysis and storage of data in tabular form. Spreadsheets developed as computerized simulations of paper accounting worksheets. The program operates on data represented as cells of an array, organized in rows and columns. Each cell of the array is a model–view–controller element that may contain either numeric or text data, or the results of formulas that automatically calculate and display a value based on the contents of other cells.

A spreadsheet is essentially a domain-specific programming language.  What?  A spreadsheet is a programming language???  There are essentially two fundamental pieces to a spreadsheet: (a) the model and the spreadsheet language and maybe (b) macro language that can be used to relate one cell with another cell.  The model is expressed via a modeling language which expresses the rules that outline the structure of a spreadsheet.  The language states things like a workbook is made up of spreadsheets, a spreadsheet is made up of rows and columns which intersect to form cells.  The macro language used for expressing relations between cells and manipulating the values of cells or even the structure of the spreadsheets, columns, rows and cells of a workbook or even set of workbooks.

There are three key things about spreadsheets that one should be aware of:

  • Note the statement "data in tabular form" in the Wikipedia definition of a spreadsheet.
  • Note that "workbook" and "spreadsheet" and "column" and "row" and "cell" are presentation oriented terms and structures.
  • Note that the programming language or macro language specifically understands what a workbook is, what a spreadsheet is, what a column is, what a row is, and what a cell is.  The programming language also has general features such as "if...then" statements, "case" statements, and other such common programming functionality.

This is my definition of a semantic spreadsheet:

A semantic spreadsheet is an interactive computer application program for organization, analysis and storage of multi-dimensional information.  Semantic spreadsheets developed as computerized simulations of set of paper accounting worksheets. The program operates on information represented as cells of an array, which can be visualized in rows and columns of something similar to a dynamic pivot table. Each cell of the array is a model–view–controller element that may contain either numeric or text information.

Unlike a spreadsheet which is connected presentational via the rows, columns, and cells of a sheet which don't have names but rather labels such as "Row 1" or "Column B"; semantic spreadsheets are connected together via the meaning and logic of the information itself.

Unlike a spreadsheet whose cells are manipulated by a programming paradigm that is generally procedural in nature; a semantic spreadsheet is described and verified to be represented correctly against that description using a logic-based programming language. PROLOG is an example of one such logic based language. Procedural and other types of programming paradigms can still be used to manipulate a semantic spreadsheet; but rather than interacting with the row numbers and column letters of the spreadsheet programs interact with the meaning of the information.

The best semantic spreadsheets support the import and export from/to global-standard information exchange formats such as XBRL or OWL 2 DL.  Support for global-standard formats enables the exchange of information between different semantic spreadsheet implementations.

Semantic spreadsheets allow for the use of OLAP-based information but do not require the use of OLAP. Semantic spreadsheets overcome many of the problems of OLAP and problems of presentation-oriented electronic spreadsheets.

While semantic spreadsheets are very powerful and in the class of software deemed to be expert systems; they semantic spreadsheets are also very easy to use for three specific reasons:

  1. Semantic spreadsheets are business domain specific tools rather then general purpose tools.
  2. Business users making the use of semantic spreadsheets interact using business domain terms familiar to their business domain.
  3. Semantic spreadsheets strike an optimal balance between expressive power, reasoning capacity, and the reliability/predictability demanded for many business use cases.

Functionality is achieved by burying most knowledge engineering principles deep within software platforms and software applications used by business professionals (see the law of conservation of complexity). What business professionals loose in terms of the flexibility to solve any problem using general purpose tools; they gain in ease of use by both the absorbing of complexity within software and generous doses of the 80/20 rule

Enterprise-class software extends the sound base established by global-standard semantic spreadsheets enabling business use cases that have additional needs to both leverage the solid foundation, but also extended that foundation to meet additional needs.

A digital financial report is a specific type of semantic spreadsheet and follow their same architecture however metadata is specific to the financial reporting scheme used by the economic entity creating the financial report.

The first semantic spreadsheet tool was created by _____(insert company here)_____ .

 

 

Posted on Monday, July 27, 2015 at 12:15PM by Registered CommenterCharlie in , | CommentsPost a Comment | EmailEmail | PrintPrint

Understanding Semantic Technologies

In order to understand digital financial reporting one needs to understand the capabilities of semantic technologies.  The document Web 3.0 Manifesto: How Semantic Technologies in Products and Services Will Drive Breakthroughs in Capability, User Experience, Performance, and Life Cycle Value, written by Mills Davis, provides a good explanation of semantic technologies.

The entire document is worth reading.  Page 4 of the document provides this concise explanation of what is meant by semantic technologies:

What are Semantic Technologies?
Semantic technologies are digital tools that represent
meanings and knowledge (e.g., knowledge of something,
knowledge about something, and knowledge how to do
something, etc.) separately from content or behavior artifacts
such as documents, data files, and program code.
This knowledge is encoded in a digital form that both
people and machines can access and interpret.
The basic shift in information and communications technology
that is occurring now is from information-centric
to knowledge-centric patterns of computing.
This is made possible by the application of semantic
technologies and open standards that enable people and
machines to connect, evolve, share, and use knowledge
on an unprecedented scale and in new ways that make
our experience of the internet better. Not restricted just
to current Semantic Web standards, the next stage of internet
evolution will encompass a broad range of knowledge
representation and reasoning capabilities including
microformats, semantic html, pattern detection, deep
linguistics, ontology and model based inferencing, analogy
and reasoning with uncertainties, conflicts, causality,
and values.

Semantic technologies will sometimes be used to bolt on additional capabilities onto existing applications and processes.  But semantic technologies will also enable applications and processes to be completely re-thought and re-created.  In other words; sure, semantic technologies will create some incremental changes but more likely than not they will be creating paradigm shifts.

These ideas can be hard to understand if you don't understand how a computer works.  It is just as much a mistake to under-estimate what computers can do as it is to over-estimate what computers can do.  I have summarized what I have learned about how computers work in the document, Knowledge Engineering Basics for Accounting Professionals.  None of these are my ideas.  All I have done is figure out the pieces to the puzzle and try and organize those pieces as best as I can in order to understand how all the pieces fit together.  The primary purpose was for me to understand how to make digital financial reporting work.


This video, The Future Internet: Service Web 3.0, is helpful.

This video, Intro to the Semantic Web, is helpful.

This video, The Next 5000 days of the web, is helpful.  It points out that the internet is really one machine and the devices we have are windows into that single machine. In 5000 days the web will not be "only better", it will be something different.

This video, "Why the Sematic Web Won't Work", is helpful because it explains WAY certain things do not work and what DOES work.

This book, Systematic Introduction to Expert Systems: Knowledge Representations and Problem Solving Methods, helps you understand expert systems.

Posted on Thursday, June 25, 2015 at 06:58AM by Registered CommenterCharlie in , | CommentsPost a Comment | EmailEmail | PrintPrint