starling-lab / BoostSRL

BoostSRL: "Boosting for Statistical Relational Learning." A gradient-boosting based approach for learning different types of SRL models.
https://starling.utdallas.edu
GNU General Public License v3.0
32 stars 22 forks source link
artificial-intelligence machine-learning machine-learning-algorithms pattern-classification statistical-learning

BoostSRL - v1.1

BoostSRL (Boosting for Statistical Relational Models) is a gradient-boosting based approach to learning different types of SRL models.

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.

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

Contact: Sriraam.Natarajan@utdallas.edu


Latest Release License Wiki Website Downloads Datasets
BoostSRL Wiki Group Website Downloads Datasets

New in Version 1.1

Getting Started

Prerequisites:

Installation:

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 -trees 10

Contributing

Please refer to CONTRIBUTING.md for documentation on submitting issues and pull requests.

Versioning

We use Semantic Versioning (Major.Minor.Patch) for versioning. See Releases for all stable versions that are available, associated documentation can be found via the changelog.

Acknowledgements

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