Vulcan/TextualMatching
By Stephen Soderland.
Overview
Rules should be human readable and based on textual tuples. They should be in a format that is easy for manual creation and editing. The human-readable rules can be automatically transformed into TUFFY format.
The set of facts used by the system are stored as textual tuples with a link to the sentence and the genre (e.g. definition, study guide, ClueWeb). These tuples may be nested or n-ary, and may have null arg2 for intransitive relations. These tuples can be automatically transformed into TUFFY format.
Rule: <id> (Arg|Rel) : (<var>|<string>) => (Arg|Rel) : (<var>|<string>) <comment>
Notes: Rule looks for exact string match in either an Arg or Rel phrase can be X, Y, Z, R,… and must match any other instances of same variable. <comment> may be displayed in derivation
Example 1
Question to demonstrate: “Growth causes leaves of a plant to become large”.
(growth, cause, (leaves of a plant, become large)) [nested, with intransitive arg2] (growth, cause, (leaves of a plant, become, large)) [nested, with binary rel for arg2]
Evidence from definition: “The noun growth is the process of something becoming bigger”
(growth, is process of, (something, become bigger) (growth, is process of, (something, become, bigger))
- Rules needed
1. Rel: X => Rel: is process of [generalize any action to “is process of”] 1a. Rel: cause => Rel: is process of [more particular version of rule 2] 2. Rel: is process of => Rel: X [abductive rule, inverse of rule 1] 2a. Rel: is process of => Rel: cause [abductive rule, inverse of rule 1a] 3. Arg: X => Arg: something [generalize any arg value to “something”] 4. Arg: something => Arg: X [abductive rule, inverse of rule 3] 5. Rel: become bigger => Rel: become big [lexical substitution from verb stemmer] 6. Rel: become big => Rel: become large [lexical substitution from WN synonym]
Notes on rules:
We can derive abductive inverses automatically with a meta-rule. Lexical substitution rules are generated on the fly as needed.
- Derivation
Evidence: (growth, is process of, (something, become bigger)) Rel: become bigger => Rel: become big (growth, is process of, (something, become big)) Rel: become big => Rel: become large (growth, is process of, (something, become large)) Arg: something => Arg: X (growth, is process of, (leaves of a plant, become large)) Rel: is process of => Rel: X (growth, cause, (leaves of a plant, become large)) QED
Example 2
Question to demonstrate: “A sense of smell helps a fox find food”
(sense of smell, helps, (fox, find, food))
Evidence from Study Guide: “A good sense of smell is necessary for many animals to find food.”
(good sense of smell, is necessary for, (animal, find, food))
- Rules needed
7. Rel: is necessary for => Rel: helps [a textual entailment] 8. Arg: fox => Arg: animal [lexical substitution from WN hypernym] 9. Arg: animal => Arg: fox [lexical specialization from WN hypernym] 10. Arg: X Y => Arg: Y [generalize by dropping modifier] 10a. Arg: good Y => Arg: Y [more particular version of rule 10] 10b. Arg: good sense of smell => Arg: sense of smell [more particular version of rule 10a] 11. Arg: Y => Arg: X Y [abductive inverse of rule 10] 11a. Arg: Y => Arg: good Y [more particular version of rule 11] 11b. Arg: sense of smell => Arg: good sense of smell [more particular version of rule 11a]
Note on rules: 10 and 10a are in the nature of meta-rules – TUFFY gets the particular rule 10b. Same with 11, 11a, 11b.
- Derivation
Evidence: (good sense of smell, is necessary for, (animal, find, food)) Arg: good Y => Arg: Y (sense of smell, is necessary for, (animal, find, food)) Arg: animal => Arg: fox (sense of smell, is necessary for, (fox, find, food)) Rel: is necessary for => Rel: helps (sense of smell, helps, (fox, find, food))