Explanation-aware Computing
Explanation-aware computing is the vision of complex information
systems being smart in interactions with their users. It is about
improving their explanation capabilities.
The ability to explain reasoning processes and results can
substantially affect the usability and acceptance of a software system.
But since the demise of expert systems research during the “AI winter”
the topic of explanation has not received proper attention. Only
recently explanation is seen as a research topic in its own right
again.
Within the field of knowledge-based systems, explanations are
considered as an important link between humans and machines. Their main
purpose is to increase the confidence of the user in the system’s
result (persuasion) or the system as a whole (satisfaction), by
providing evidence of how the solution was derived (transparency).
Explanations are part of human understanding processes and part of most
dialogues, and, therefore, need to be incorporated into system
interactions.
A helpful tool for designing and developing software systems from
an explanation-aware viewpoint is the following general explanation
scenario with three participants: user, originator, and explainer.
- The user communicates by way of a user interface (UI) with the whole software system and is the recipient of explanations.
- The originator is the tool the user works with to perform tasks and solve problems.
- The explainer can be seen as another tool that helps understanding how the originator works and what knowledge the originator uses.
This scenario is somewhat simplifying in so far as it does not
consider the case where the software system asks the user for
explanations or justifications.
Explainer and originator need to have knowledge about each other.
The originator needs to provide knowledge about its reasoning process
as well as intermediate results and decisions in order to allow the
explainer to generate good explanations. The relationship between
explainer and originator is somewhat asymmetrical regarding the used
knowledge. Whereas the explainer needs to have access to the
originator’s knowledge-base (in addition to its explanation supporting
knowledge-base) this does not hold for the originator. For its
problem-solving task the originator does not need to have access to the
explainer’s knowledge-base, but the originator needs to be aware of it
in order to fill it appropriately.
The described communication scenario guides our explanation-aware design and development of knowledge-based software systems with explanation capabilities.
Links:
On-explanation.net
Explanation researchers
Manifesto
Contact
Dr. Thomas Roth-Berghofer
