ABLkit
ABLkit is an efficient Python toolkit for Abductive Learning (ABL).
ABL is a novel paradigm that integrates machine learning and logical reasoning in a unified framework. It is suitable for tasks where both data and (logical) domain knowledge are available.
Key Features of ABLkit:
High Flexibility: Compatible with various machine learning modules and logical reasoning components.
Easy-to-Use Interface: Provide data, model, and knowledge, and get started with just a few lines of code.
Optimized Performance: Optimization for high performance and accelerated training speed.
ABLkit encapsulates advanced ABL techniques, providing users with an efficient and convenient toolkit to develop dual-driven ABL systems, which leverage the power of both data and knowledge.
Installation
Install from PyPI
The easiest way to install ABLkit is using pip
:
pip install ablkit
Install from Source
Alternatively, to install from source code, sequentially run following commands in your terminal/command line.
git clone https://github.com/AbductiveLearning/ABLkit.git
cd ABLkit
pip install -v -e .
(Optional) Install SWI-Prolog
If the use of a Prolog-based knowledge base is necessary, the installation of SWI-Prolog is also required:
For Linux users:
sudo apt-get install swi-prolog
For Windows and Mac users, please refer to the SWI-Prolog Install Guide.
References
For more information about ABL, please refer to: Zhou, 2019 and Zhou and Huang, 2022.
@article{zhou2019abductive,
title = {Abductive learning: towards bridging machine learning and logical reasoning},
author = {Zhou, Zhi-Hua},
journal = {Science China Information Sciences},
volume = {62},
number = {7},
pages = {76101},
year = {2019}
}
@incollection{zhou2022abductive,
title = {Abductive Learning},
author = {Zhou, Zhi-Hua and Huang, Yu-Xuan},
booktitle = {Neuro-Symbolic Artificial Intelligence: The State of the Art},
editor = {Pascal Hitzler and Md. Kamruzzaman Sarker},
publisher = {{IOS} Press},
pages = {353--369},
address = {Amsterdam},
year = {2022}
}