Modular Design Patterns for Hybrid Learning and Reasoning Systems: a
  taxonomy, patterns and use cases
  The unification of statistical (data-driven) and symbolic (knowledge-driven)
methods is widely recognised as one of the key challenges of modern AI. Recent
years have seen large number of publications on such hybrid neuro-symbolic AI
systems. That rapidly growing literature is highly diverse and mostly
empirical, and is lacking a unifying view of the large variety of these hybrid
systems. In this paper we analyse a large body of recent literature and we
propose a set of modular design patterns for such hybrid, neuro-symbolic
systems. We are able to describe the architecture of a very large number of
hybrid systems by composing only a small set of elementary patterns as building
blocks.
  The main contributions of this paper are: 1) a taxonomically organised
vocabulary to describe both processes and data structures used in hybrid
systems; 2) a set of 15+ design patterns for hybrid AI systems, organised in a
set of elementary patterns and a set of compositional patterns; 3) an
application of these design patterns in two realistic use-cases for hybrid AI
systems. Our patterns reveal similarities between systems that were not
recognised until now. Finally, our design patterns extend and refine Kautz'
earlier attempt at categorising neuro-symbolic architectures.
