Skip to content
Matteo Magnini edited this page Jun 23, 2022 · 17 revisions

Welcome!

This wiki explains what PSyKI is and how to use it.

PSyKI is an acronym for Platform for Symbolic Knowledge Injection. Symbolic knowledge injection (SKI) concerns any algorithmic procedure affecting how sub-symbolic predictors draw their inferences in such a way that predictions are either computed as a function of, or made consistent with, some given symbolic knowledge.

Purpose

PSyKI is a library for SKI algorithms and it offers support to develop new ones. This is still a working project, right now there are just two SKI algorithms implemented but in the near future more will come.

Functionalities

Right now the following features are available:

  • SKI algorithm KINS, knowledge injection via network structuring psyki.ski.injector.NetworkComposer;
  • SKI algorithm KILL, knowledge injection via lambda layer psyki.ski.injector.LambdaLayer;
  • support for parsing textual rules expressed with Datalog formalism psyki.logic.datalog.grammar.adapters.antlr4.get_formula_from_string.
  • parsed rules can be transformed into sub-symbolic object such as neural networks layers or continuous functions psyki.logic.datalog.SubNetworkBuilder and psyki.logic.datalog.Lukasiewicz.

Useful links

  • Pypi project page, you can easily install PSyKI pip install psyki;
  • On the Design of PSyKI, paper of the project;
  • Issues, if you want to help us in the development and maintenance of PSyKI.

Wiki

  • PSyKI gives an overview on the design;
  • KINS detailed explanation of the algorithm and its API;
  • KILL detailed explanation of the algorithm and its API.
Clone this wiki locally