Difference between revisions of "RuleTransformation"

From Knowitall
Jump to: navigation, search
(Overview)
(Overview)
Line 27: Line 27:
 
...
 
...
 
...
 
...
 +
 +
 +
Allowing the argument with "something" as its value to match any value.
 +
 +
T(a1, rel, "something", a3, na1, nrel, na2) => T(a1, rel, x, na1, nrel, na2)
 +
...
 +
  
  
 
</pre>
 
</pre>

Revision as of 07:35, 21 August 2013

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
Equality under stemming will be covered by the following rules:

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)
...
...

Equality under head word transformations will be covered by the following rules:

T(a1, rel, a2, a3, na1, arel, na2) [headword(a1) == x || headword(x) == a1] => T(x, rel, a2, a3, na1, nrel, na2)
...
...


Allowing the argument with "something" as its value to match any value. 

T(a1, rel, "something", a3, na1, nrel, na2) => T(a1, rel, x, na1, nrel, na2)
...