next up previous contents
Next: An operational DATR model Up: The DATR formalism Previous: DATR syntax

DATR rules of deduction

The DATR rules of deduction will be explained here in procedural terms (though a declarative explanation may also be given, see [Evans & Gazdar 1996]). The inference rules are of four types: an initialisation rule, a query connection (matching) rule, a path extension rule, and finally an inference rule for each of the seven value expression types.

Environments, initialisation and modification: The DATR rules of deduction refer to a local environment and a global environment. Each environment consists of a pair of variables, one for evaluation of the local node-path pair, node, and path descriptors, and the other for evaluation of global node-path pair, node and path descriptors. The global environment is initialised to the value of the query node-path pair, and re-defined by the global inheritance descriptors. When the global environment is initialised and whenever it is changed, the variables in the local environment are copied into the local environment. Environment changes are encapsulated for the inheritance descriptor concerned, whether local or global, and do not affect sibling descriptors in the same sequence. However, the same local and global environments are valid for all paths at all depths of recursion in the descriptor concerned.

Matching: The matching of a query attribute path with the paths on the left-hand side of a DATR equation is based on two operations over the local environment and the theory, connection and extension.

Connection: The local environment connects with a NODE:PATH==SEQUENCE equation defined in a theory iff

  1. NODE is identical to the node in the local environment,
  2. PATH is a prefix of the path in the local environment, e.g.: the local environment path
    <int mean qualia reln>
    matches the following prefixes (whereby the identical path and the zero path both count as prefixes):
    <int mean qualia reln>
    <int mean qualia>
    <int mean>
    <int>
    <>
  3. PATH is the longest path under NODE which is also a prefix of the path in the local environment.
    For example, given the local environment path <int mean qualia reln>, and two competing paths under NODE which are prefixes of this path,
    <int mean qualia>
    <int mean>
    the match is with <int mean qualia>: `the longest path wins'. This principle defines default inheritance in DATR.

Extension: The path in a connected local environment consists of a matching prefix and an extension suffix (possibly zero); in the preceding example, <int mean qualia> is the matching prefix and <reln> is the extension suffix; the matched local environment can be represented by <int mean qualia || reln>. Extension is the concatenation of all paths in an equation (however deeply embedded, in both local and global inheritance descriptors) with the extension suffix, for example, with the local environment and matching equation
<int mean qualia reln>
<int mean qualia> == Semantics:<qualia>
The extension of the equation is
<int mean qualia reln> == Semantics:<qualia reln>.
The following notation will sometimes be used for clarity:
<int mean qualia || reln> == Semantics:<qualia || reln>.
This mechanism expresses a form of constraint propagation for orthogogonal inheritance through the inheritance network.

Inheritance: The right-hand side of a connected and extended equation is evaluated according to seven rules of inference or inheritance rules, one for atoms and three each for inheritance descriptors in the local and global environments. The inheritance rules define how the value expressions on the right-hand side of DATR equations are to be evaluated. Evaluation consists of finding a value for a DATR query, i.e. a node-path pair, by recursive application of the seven inference rules to the elements of sequences and evaluable paths.

Inference rules:

  1. DATR sequences and DATR atoms:
    DATR sequences evaluate to a concatenation of the values of their parts, i.e. sequences of atoms.
    Rule I: DATR atoms evaluate to themselves.
  2. DATR local inheritance:

    Rule II: Local NODE:PATH descriptor. Substitute NODE for the node and PATH (after evaluation and extension) for the path in the local environment, and connect the local environment with the theory.

    Rule III: Local NODE descriptor. Substitute NODE for the node in the local environment, and connect the local environment with the theory.

    Rule IV: Local PATH descriptor. Substitute PATH (after evaluation and extension) for the local environment path, and connect the local environment with the theory.

  3. DATR global inheritance:

    Rule V: Global NODE:PATH descriptor. Substitute NODE for the node in the global environments, and PATH (after evaluation and extension) for the global environment path; copy the global environment to the local environment and connect the local environment with the theory.

    Rule VI: Global NODE descriptor. Substitute NODE for the node in the global environment; copy the global environment to the local environment and connect the local environment to the theory.

    Rule VII: Global PATH descriptor. Substitute PATH (after evaluation and extension) for the global environment path; copy the global environment to the local environment and connect the local environment to the theory.

The following is an examplegif of the inference steps involved in deriving the DATR sentence Pussy_willow:< int mean > = RESEMBLE(salix,felis).

=0,0,0> LOCAL Pussy_willow:< || int mean > == Compound_noun 
        GLOBAL Pussy_willow:< int mean >
RULE III.(NODE)
=1,0,0> LOCAL Compound_noun:< int mean > == "< int mean qualia reln >"
              ( "< struc parts head int mean qualia reln >" ,
              "< struc parts modi int mean qualia reln >" ) 
        GLOBAL Pussy_willow:< int mean >
RULE VII.(GPATH)
=2,0,0> LOCAL Pussy_willow:< int mean qualia reln > ==  RESEMBLE  
        GLOBAL Pussy_willow:< int mean qualia reln >
RULE I.(ATOM)
 RESEMBLE 
RULE I.(ATOM)
(
RULE VII.(GPATH)
=2,0,2> LOCAL Pussy_willow:< struc parts head || int mean qualia reln > == "Willow: <  > " 
        GLOBAL Pussy_willow:< struc parts head int mean qualia reln >
RULE V.(GNODE:GPATH)
=3,0,0> LOCAL Willow:< int mean qualia reln > == salix 
        GLOBAL Willow:< int mean qualia reln >
RULE I.(ATOM)
salix
RULE I.(ATOM)
,
RULE VII.(GPATH)
=2,0,4> LOCAL Pussy_willow:< struc parts modi || int mean qualia reln > == "Pussy: <  > " 
        GLOBAL Pussy_willow:< struc parts modi int mean qualia reln >
RULE V.(GNODE:GPATH)
=3,0,0> LOCAL Pussy:< int mean qualia reln > == felis 
        GLOBAL Pussy:< int mean qualia reln >
RULE I.(ATOM)
felis
RULE I.(ATOM)
)
[Query 4 (12 Inferences)] Pussy_willow:< int mean > =  RESEMBLE (salix,felis).

next up previous contents
Next: An operational DATR model Up: The DATR formalism Previous: DATR syntax

Dafydd Gibbon
Fri Mar 21 14:01:22 MET 1997