Skip to content
Saul : Declarative Learning-Based Programming
Scala Java JavaScript HTML CSS Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
project Release plugin (#378) Sep 9, 2016
saul-core
saul-examples
saul-webapp
.gitignore
.travis.yml
LICENSE
README.md
_config.yml
appveyor.yml
build.sbt
scaladoc.sh adding api docs. Sep 3, 2016
version.sbt

README.md

Saul: Declarative Learning Based Programming

Build Status Build status

Saul is a modeling language implemented as a domain specific language (DSL) in Scala. The main goal of Saul is to facilitate designing machine learning models with arbitrary configurations for the application programmer, including:

  • Interacting with raw data and setting it in a flexible graph structure (i.e. data model) using the original available data structures.
  • Relational feature extraction by flexible querying from the data model graph.
  • Designing flexible learning models including various configurations in which learners interact.

The flexibility in designing above components helps rapid development of intelligent AI systems with one or more learned functions that interact with each other. Saul offers a convenient, declarative syntax for classifier and constraint definition directly in terms of the objects in the programmer's application. With Saul, the details of feature extraction, learning, model evaluation, and inference are all abstracted away from the programmer, leaving him to reason more directly about his application.

The project contains three modules. See the readme files for each module:

The project's official chat group is at Slack

Tutorial

Visit each link for its content

  1. Introduction
  2. Installation
  3. Programmers workflow
  4. Conceptual structure of a Saul program
  5. Data modeling and feature extraction
  6. Learners and constraints
  7. Model configurations

The api docs are included here.

Credits

This project has been started by Parisa Kordjamshidi and the development has been done in collaboration with Hao Wu, Sameer Singh, Daniel Khashabi, Christos Christodoulopoulos and Bhargav Mangipudi.

If you use this tool, please cite the following paper:

[1] Parisa Kordjamshidi, Dan Roth, and Hao Wu. "Saul: Towards declarative learning based programming." Proceedings of the International Joint Conferences on Artificial Intelligence (IJCAI), 2015.

[2] Parisa Kordjamshidi, Daniel Khashabi, Christos Christodoulopoulos, Bhargav Mangipudi, Sameer Singh and Dan Roth. "Better call Saul: Flexible Programming for Learning and Inference in NLP." International Conference on Computational Linguistics (COLING), 2016.

Licensing

To see the full license for this software, see the LICENSE (in root directory) or visit the download page for this software and press Download. The next screen displays the license.

You can’t perform that action at this time.