Skip to main content

A library provides integration between Domain Knowledge and Deep Learning.

Project description

DomiKnowS: Declarative Knowledge Integration with Deep Neural Models

DomiKnowS is a Python library that facilitates the integration of domain knowledge in deep learning architectures. With DomiKnowS, you can express the structure of your data symbolically via graph declarations and seamlessly add logical constraints over outputs or latent variables to your deep models. This allows you to define domain knowledge explicitly, improving your models' explainability, performance, and generalizability, especially in low-data regimes.

While several approaches for integrating symbolic and sub-symbolic models have been introduced, no generic library facilitates programming for such integration with various underlying algorithms. DomiKnowS aims to simplify the programming for knowledge integration in training and inference phases while separating the knowledge representation from learning algorithms.

Branch Status

Branch CI Status
main CI
develop-CLEVER-relations CI

Contents

  • Getting Started: Provides detailed instructions on how to get started with DomiKnowS, including installation, setting up the environment, and basic usage.
  • Example Tasks: Contains examples that demonstrate the usage of DomiKnowS for various tasks, such as image classification, sequence modeling, and reinforcement learning. ( For more example see Examples Branch )
  • Documentation: Provides comprehensive documentation on the DomiKnowS, including classes, methods, and their usage.
  • Contributing: Explains how you can contribute to the development of DomiKnowS, including reporting issues, suggesting enhancements, and submitting pull requests.
  • License: Contains information about the license of DomiKnowS and its terms of use.
  • DomiKnowS Website: Contains documentation, example links, and an introductory video to DomiKnowS

Quick Start

  1. Install DomiKnowS using pip install DomiKnowS.
  2. Install Gurobi following the instructions here.
  3. Refer to the Getting Started documentation for detailed instructions on how to define graph declarations, model declarations, initialize programs, and compose and execute programs using DomiKnowS.

Publications

Acknowledgements

DomiKnowS is developed and maintained by HLR. We would like to acknowledge the contributions of the open-source community and express our gratitude to the developers of Gurobi for their excellent optimization solver.

Citation

If you use DomiKnowS in your research or work, please cite our paper:

@inproceedings{rajaby-faghihi-etal-2021-domiknows,
    title = "{D}omi{K}now{S}: A Library for Integration of Symbolic Domain Knowledge in Deep Learning",
    author = "Rajaby Faghihi, Hossein  and
      Guo, Quan  and
      Uszok, Andrzej  and
      Nafar, Aliakbar  and
      Kordjamshidi, Parisa",
    booktitle = "Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing: System Demonstrations",
    month = nov,
    year = "2021",
    address = "Online and Punta Cana, Dominican Republic",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2021.emnlp-demo.27",
    doi = "10.18653/v1/2021.emnlp-demo.27",
    pages = "231--241",
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

domiknows-1.0.0.tar.gz (262.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

domiknows-1.0.0-py3-none-any.whl (198.4 kB view details)

Uploaded Python 3

File details

Details for the file domiknows-1.0.0.tar.gz.

File metadata

  • Download URL: domiknows-1.0.0.tar.gz
  • Upload date:
  • Size: 262.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.1

File hashes

Hashes for domiknows-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7e0f66861dfe303c161db0847fed25b92882f7c43bd754d27036719dc85d6aff
MD5 add7d763bb0e74b422d54b5037951bae
BLAKE2b-256 4e17ee07480f48bb39885bf1f3a942bbce6de8acae4f044bd60d9634c7b283c5

See more details on using hashes here.

File details

Details for the file domiknows-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: domiknows-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 198.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.1

File hashes

Hashes for domiknows-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 12fbc6ee40dd0443d0098b923531430937645cf172fa7ec6fce7985df9826aba
MD5 a9232d671a7627d29c0d71e34ffa4ee7
BLAKE2b-256 d258e0e0a2509c6410e979b2e13b3d971078f8858d9a6055976540e540bf6c84

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page