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.
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
BoostSRL Wiki | Group Website | Downloads Page | Datasets
Questions?
Contact Sriraam Natarajan: natarasr(at)indiana(dot)edu