foxpsl poster at aaai 2015 spring symposium on krr
TRANSCRIPT
eXtended PSL : FoxPSL language ● Describe individuals and classes: class Person: anna, bob class Party: demo, repub individuals: ufo
● Describe predicates and classes of arguments: predicate: retired(_) predicate: teaches(Professor, Course, Student) ● Certain predicates have special constraints: predicate [Symmetric]: friends(Person, Person) predicate [Functional]: isChildOf(Person, Party) predicate [PartialFunctional]: votes(Person, Party) ● Describe facts and automa8cally infer classes of individuals: fact [truthValue = 0.8]: friends(anna, carl) fact [0.9]: !votes(anna, repub) ● Describe rules: rule [weight=0.7]: votes(A,P) & friends(A,B) => votes(B,P)
● Describe constraints (rules with infinite weight): rule: dead(P) => !working(P)
● Class-‐aware existen8al quan8fier: rule: professor(P) => EXISTS [C,S] teaches(P,C,S) | retired(P)
● Par8ally grounded rules: rule [3]: rich(P) => votes(P, repub)
● Experimental FoxPSL: set variables, unions, iterators on sets predicate: indep(Var, Var, Set{0,3}[Var]) rule: indep(X,Y,{}) => !causes(X,Y) rule: !indep(X,Y,W) & indep(X,Y,{W,Z}) => EXISTS [W1 in W] causes (Z,W1) | … rule: indep(X,Y,W) & FOREACH [Z strictSubsetOf W] !indep(X,Y,Z) & …=> !causes(X,Y) fact: !indep(x, y, {u, w})
Photo credits to: Anonymous (hHp://www.wallpapervortex.com/wallpaper-‐43783_fox_curious_fox.html#.VQI3HoF4pZk), Alex Mody (hHp://www.alexmody.com/photo/red-‐fox-‐running-‐in-‐snow/), Ivan Kislov (hHps://500px.com/photo/39137918/-‐by-‐ivan-‐kislov), Dan Busby (hHp://danbusby.ca/gallery/index.php/Non-‐bird-‐Wild-‐Life/Mammals/20121218_Red-‐Fox_0072).
Optimized PSL : Grounding and inference
• Op8mized grounding with class informa8on: • Reduce number of possible groundings, especially
existen8al quan8fier
• Smart implementa8on of constraints: • Remove symmetric constraints • Remove trivial func8onal constraints • Push trivial par8al func8onal constraints into nodes
• Lazy inference: do not send same message twice • Unless internal state changed enough
• Configurable step for convergence detec8on: • Extra steps vs. convergence overhead
Sara Magliacane , VU Philip Stutz, UZH Paul Groth, VU Abraham Bernstein, UZH
FOXPSL Code:
hHps://github.com/uzh/fox Contact:
• Distributed ADMM for grounded PSL s.o.t.a.: ACO, implemented on GraphLab
• Evalua8on: 4 synthe8c datasets of increasing size on a social network of voters (550K to 2.1M voters)
• SLURM cluster: 4 nodes, each with 2x10 cores and 128GB RAM
• BeHer solu8on quality • More evalua8ons in the paper
Motivation: Probabilistic Soft Logic (PSL) • Template language for hinge-‐loss Markov Random Fields • Soh truth values in [0,1], e.g. friends(anna, bob) = 0.8 • Weighted Horn rules with disjunc8ve clauses • MAP is a constrained convex minimiza8on problem
Fast PSL : Performance comparison to s.o.t.a.
Fast Optimized eXtended Probabilistic Soft Logic
FoxPSL in a nutshell • First end-‐to-‐end distributed PSL implementa8on • Based on distributed graph processing system Signal/Collect • Alterna8ng Direc8on Method of Mul8pliers for MAP inference
• Fast: beats state-‐of-‐the-‐art ADMM implementa8on for PSL • Op8mized: implements op8miza8ons in grounding and inference • eXtended: provides a Domain Specific Language extending PSL:
• Class system with automa8c inference of classes • Class-‐aware existen8al quan8fier • Par8ally grounded rules
ACO
FoxPSL
Classes
PredicatesRules
KnowledgeGrounded Rules
Constraints Bipartite Function/Variable Graph
InferencesConsensusOptimization
Graph ConstructionGrounding
Implementation: System architecture
• Grounding: for each rule, subs8tute all possible individuals rule [weight] b1 ∧ … ∧ bn => h1 ∨ …∨ hm rule [3]: rich(P) => votes(P, repub) 3: rich(anna) => votes(anna, repub), … • Graph Construc8on: convert each grounded rule to a MRF
poten8al using Lukasiewicz operators weight * max( 0, b1 + … + bn -‐ n + 1 -‐ h1 -‐ …-‐ hm)2
3 * max(0, rich(anna) - votes(anna, repub))2
• ADMM Consensus op8miza8on: implemented in Signal Collect • Each grounded rule (subproblem) is minimized separately • Consensus nodes enforce agreement among subproblems