Developed by Jude Shavlik, Tushar Khot, Sriraam Natarajan, and members of the StARLinG Lab.

release img license img

As with the standard gradient-boosting approach, our approach turns the model-learning problem to learning a sequence of regression models. The key difference to the standard approaches is that we learn relational regression models (i.e. regression models that operate on relational data). We assume the data to be in predicate-logic format and the output are essentially first-order regression trees where the inner nodes contain conjunctions of logical predicates.

Getting Started

Prerequisites:

  • Java (tested with openjdk 1.8.0_144)

Installation:

  • Download stable jar file and auc.jar for measuring performance.
  • Download stable source with git.
    git clone -b master https://github.com/boost-starai/BoostSRL.git
  • Nightly builds with git.
    git clone -b development https://github.com/boost-starai/BoostSRL.git

Basic Usage

Basic file structure for the Cora dataset which BoostSRL assumes for most operations.

BoostSRL assumes that data are contained in files with data structured in predicate-logic format.

Positive Examples:

father(harrypotter,jamespotter).
father(ginnyweasley,arthurweasley).
father(ronweasley,arthurweasley).
...

Negative Examples:

father(harrypotter,mollyweasley).
father(harrypotter,lilypotter).
father(harrypotter,ronweasley).
...

Facts:

male(harrypotter).
male(jamespotter).
siblingof(ronweasley,fredweasley).
siblingof(ronweasley,georgeweasley).
childof(jamespotter,harrypotter).
childof(lilypotter,harrypotter).
...

Learning a Relational Dependency Network:

[~/BoostSRL/]$ java -jar v1-0.jar -l -train train/ -target father -trees 10

Inference with the Relational Dependency Network:

[~/BoostSRL/]$ java -jar v1-0.jar -i -model train/models/ -test test/ -target father -aucJarPath . -trees 10

Acknowledgements

We would like to thank our users, our supporters, and Professor Natarajan.