RuleTransformation
From Knowitall
Overview
Inference rules are represented in human-readable format. This page describes the transformation of these rules into Tuffy's MLN syntax.
We first define a general purpose tuple predicate (T) that can represent n-ary and nested tuples.
T(arg1:String, rel:String, arg2:String, arg3:String, narg1:String, nrel:String, narg2:String)
Rules that specify when two arguments match (e.g., under synonymy, stemming, and/or dropping of modifiers) need to be enumerated out for each argument position.
- Example
Arg1: becomes bigger => Arg1: becomes big will be covered by the following rule: T(a1, rel, a2, a3, na1, arel, na2), stem(a1, x) => T(x, rel, a2, a3, na1, nrel, na2) T(a1, rel, a2, a3, na1, arel, na2), stem(rel, x) => T(a1, x, a2, a3, na1, nrel, na2) T(a1, rel, a2, a3, na1, arel, na2), stem(a2, x) => T(a1, rel, x, a3, na1, nrel, na2) ... ...