Scala Java JavaScript HTML CSS Python
Switch branches/tags
Nothing to show
Clone or download
kordjamshidi Merge pull request #481 from Abi1024/master
Added MultilayerPerceptron
Latest commit 8ef29a3 Jul 17, 2017
Permalink
Failed to load latest commit information.
project
saul-core fixed formatting error Jul 13, 2017
saul-examples
saul-webapp Make the tmp folder agnostic to operating systems (#438) Oct 20, 2016
.gitignore
.travis.yml adding format testing to travis Oct 28, 2015
LICENSE add the license file. Jul 3, 2016
README.md
appveyor.yml
build.sbt
scaladoc.sh
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.