Probabilistic Soft Logic (PSL) is a statistical relational learning (SRL) framework for modeling probabilistic and relational domains.
It is applicable to a variety of machine learning problems, such as collective classification, entity resolution, link prediction, and ontology alignment. PSL combines two tools: first-order logic, with its ability to succinctly represent complex phenomena, and probabilistic graphical models, which capture the uncertainty and incompleteness inherent in real-world knowledge. More specifically, PSL uses "soft" logic as its logical component and Markov random fields as its statistical model. PSL provides sophisticated inference techniques for finding the most likely answer (i.e. the maximum a posteriori (MAP) state). The "softening" of the logical formulas makes inference a polynomial time operation rather than an NP-hard operation.
Description The SRL community has introduced multiple approaches that combine graphical models and first-order logic to allow the development of complex probabilistic models with relational structures. A notable example of such approaches is Markov logic networks (MLNs).
Like MLNs, PSL is a modelling language (with an accompanying implementation) for learning and predicting in relational domains. Unlike MLNs, PSL uses soft truth values for predicates in an interval between [0,1]. This allows for the underlying inference to be solved quickly as a convex optimization problem. This is useful in problems such as collective classification, link prediction, social network modelling, and object identification/entity resolution/record linkage. Probabilistic Soft Logic was first released in 2009 by Lise Getoor and Matthias Broecheler.
This first version focused heavily on reasoning about similarities between entities. Later versions of PSL would still keep the ability to reason about similarities, but generalize the language to be more expressive. In 2017, a Journal of Machine Learning Research article detailing PSL and the underlying graphical model was published along with the release of a new major version of PSL (2.0.0).
The major new features in PSL 2.0.0 was a new type of rule mainly used in specifying constraints and a command-line interface.
Syntax and Semantics
Terminology PSL Program — A collection of rules, each of which is a template for a potential in a graphical model. Rule — An expression relating atoms. Rules will typically take the form of either a first-order logical implication or a linear combination. Constant — A string or number that represents a real element in the universe over which a PSL program represents. Constants can represent attributes or entire entities. Variable — An identifier for which constants can be substituted. Term — Either a constant or a variable. Predicate — A relation defined by a unique name and a number of arguments it accepts. Atom — A predicate along with its term arguments. Ground Atom — An atom where all arguments are constants.
Syntax A PSL model is composed of a series of weighted rules and constraints. PSL supports two types of rules: Logical and Arithmetic.
Logical rules are composed of an implication with only a single atom or a conjunction of atoms in the body and a single atom or a disjunction of atoms in the head. Since PSL uses soft logic, hard logic operators are replaced with Łukasiewicz soft logical operators. An example of a logical rule expression is:
This rule can be interpreted to mean: If A and B are similar and A has the label X, then there is evidence that B also has the label X. Arithmetic rules are relations of two linear combinations of atoms. Restricting each side to a linear combination ensures that the resulting potential is convex. The following relational operators are supported: =, <=, and >=.
This rule encodes the notion that similarity is symmetric in this model. A commonly used feature of arithmetic rules is the summation operation. The summation operation can be used to aggregate multiple atoms. When used, the atom is replaced with the sum of all possible atoms where the non-summation variables are fixed. Summation variables are made by prefixing a variable with a +. Fox example:
If the possible values for X are label1, label2, and label3, then the above rule is equivalent to:
Both of these rules force the sum of all possible labels for an entity to sum to 1.0. This type of rule is especially useful for collective classification problems, where only one class can be selected.
Semantics
… excerpt ends here. Continue reading the full article.


