Litcius/Paper detail

Scallop: A Language for Neurosymbolic Programming

Ziyang Li, Jiani Huang, Mayur Naik

2023Proceedings of the ACM on Programming Languages33 citationsDOIOpen Access PDF

Abstract

We present Scallop, a language which combines the benefits of deep learning and logical reasoning. Scallop enables users to write a wide range of neurosymbolic applications and train them in a data- and compute-efficient manner. It achieves these goals through three key features: 1) a flexible symbolic representation that is based on the relational data model; 2) a declarative logic programming language that is based on Datalog and supports recursion, aggregation, and negation; and 3) a framework for automatic and efficient differentiable reasoning that is based on the theory of provenance semirings. We evaluate Scallop on a suite of eight neurosymbolic applications from the literature. Our evaluation demonstrates that Scallop is capable of expressing algorithmic reasoning in diverse and challenging AI tasks, provides a succinct interface for machine learning programmers to integrate logical domain knowledge, and yields solutions that are comparable or superior to state-of-the-art models in terms of accuracy. Furthermore, Scallop's solutions outperform these models in aspects such as runtime and data efficiency, interpretability, and generalizability.

Topics & Concepts

Computer scienceDatalogScallopArtificial intelligenceProgramming languageSuiteAutomated reasoningInterpretabilityInductive logic programmingRecursion (computer science)Theoretical computer scienceNatural language processingHistoryArchaeologyEcologyBiologyMachine Learning in Materials ScienceScientific Computing and Data ManagementExplainable Artificial Intelligence (XAI)