Skip to content

BoostSRL: "Boosting for Statistical Relational Learning." A gradient-boosting based approach for learning different types of SRL models.

License

Notifications You must be signed in to change notification settings

rodrigoazs/BoostSRL

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BoostSRL Version 1.0

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


This algorithm was modified to perform Transfer Learning/Theory Revision in Boosted RDNs.

Basic Usage

Transfer learning is done by creating a file named transfer.txt in the same root as background.txt

source: actor(person).
source: movie(movie,person).
source: female(person).
source: workedunder(person,person).
source: genre(person,genre).
source: director(person).
target: sameproject(project,project).
target: projectmember(project,person).
target: yearsinprogram(person,year).
target: courselevel(course,level).
target: publication(title,person).
target: professor(person).
target: tempadvisedby(person,person).
target: student(person).
target: hasposition(person,faculty).
target: sameperson(person,person).
target: samecourse(course,course).
target: advisedby(person,person).
target: inphase(person,prequals).
target: ta(course,person,quarter).
setMap: workedunder(A,B)=advisedby(A,B).
setMap: recursion_workedunder(A,B)=recursion_advisedby(A,B).
setParam: searchArgPermutation=true.
setParam: searchEmpty=false.
setParam: allowSameTargetMap=false.

Source should contain the predicates to be transferred from source domain among with their respective types. Target are for predicates from the target domain. The mapping procedure will find a mapping respecting the type constraints. The setMap will define already known mappings for the predicates.

Three search bias to conduct the way the algorithm performs the mapping are included. The first one, called ssearchArgPermutation, allows searching for the permutation of all arguments in the target predicate to check if one of them makes the source and target predicates compatible. It allows for example, the mapping of a source predicate with the inverse relation of a target predicate (e.g.wokedunder(A,B) -> advises(B,A), which is the same as advisedby(A,B)). The second search bias, named searchEmpty, allows generating an additional "empty" mapping even if there is a compatible target predicate to map the source predicate. The last one, named allowSameTargetMap, allows mapping distinct source predicates to the same target predicate. If this bias is not used, the algorithm finds a one-to-one correspondence between source and target predicates (except for ”empty mapping).

Theory Revision/Refinement or Parameter Learning is done through the file refine.txt

0;;advisedby(A, B) :- student(A), professor(B).;true;true
0;true;publication(C, A), publication(C, B).;true;true
0;false;student(A).;true;true
0;false,false;professor(B).;true;true

Each part of the code has the following meaning:

TREE_ID;TREE_PATH;CLAUSE;LEFT EXPANDING;RIGHT EXPANDING

Source code for BoostSRL

BoostSRL Wiki | Group Website | Downloads Page | Datasets

Questions?

Contact Sriraam Natarajan: natarasr(at)indiana(dot)edu

About

BoostSRL: "Boosting for Statistical Relational Learning." A gradient-boosting based approach for learning different types of SRL models.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.2%
  • Other 0.8%