Skip to content

TransferRules

FrancisBond edited this page Jun 9, 2006 · 15 revisions

This page describes the transfer rules used for, among other things, [wiki:MachineTranslationTop MT] and [wiki:JacyGeneration Generation].

Transfer Rules

A transfer rule is a quadruple <F, C, I, O>, where each element is a partial MRS, with:

  • - F: an input filter; when F matches against the input MRS, the rule is

    • blocked; F is evaluated after C and I have matched;

    - C: the input context; needs to match for a rule to apply and binds

    • variables, but is preserved in the output;

    - I: the input description; matches against the input MRS; everything that

    • was matched in the input will be replaced by the OUTPUT part;

    - O: the output description; everything in the OUTPUT part is inserting

    • into the MRS, respecting variable bindings that have been established in matching earlier components.

There is also a mysterious fifth element FLAGS, which has three subtypes (OPTIONAL, EQUAL, SUBSUME).

An example transfer rule (from JaEn):

This takes an input ep with a predicate of "_inu_n_rel" (犬) and transfers it to one with a predicate of "_dog_n_1_rel" (dog), preserving the values of the LBL and ARG0.

inu_n := noun_mtr &
[ INPUT.RELS < [ PRED "_inu_n_rel" ] >,
  OUTPUT.RELS < [ PRED "_dog_n_1_rel" ] > ].

which is a subtype of:

noun_mtr := monotonic_mtr &
[ INPUT.RELS < [ LBL #h1, ARG0 #x1 ] >,
  OUTPUT.RELS < [ LBL #h1, ARG0 #x1 ] > ].

Interlingua

In MT, if you choose predicate names and definitions wisely, you can transfer some things without the need for rules. To do this, you list the predicates in *transfer-interlingua-predicates*.

  • In lkb/mt.lisp:
(defparameter *transfer-interlingua-predicates*
  '(lkb::named_rel lkb::proposition_m_rel))
Clone this wiki locally