| 
				 | 
				
| Line 1: | 
Line 1: | 
 | '''D-rules''' (declaration rules) are used to make statements inside the UNL<sup>arium</sup> framework. They are used to assign priorities (disambiguation rules), to map attributes and relations (mapping rules) and to state identities (replacement rules).  |  | '''D-rules''' (disambiguation rules) are used to prevent wrong lexical choices, to provoke best matches and to check the consistency of graphs, trees and lists. Differently from [[Grammar|T-rules]], they do not provoke transformations, but induce or block them, by assigning priorities to natural language phenomena.  | 
 | 
  |  | 
  | 
 | == Syntax ==  |  | == Syntax ==  | 
 | D-rules are always composed of two fields, which are separated by "=". They are always ended by a ";".  |  | D-rules follow the general syntax:  | 
 |  <DEFINIENDUM> = <DEFINIENS>;
  |  | 
 | Where:<br />
  |  | 
 | *<DEFINIENDUM>, the term to be defined, may be:
  |  | 
 | **an attribute or a value of an attribute, of UNL (@pl, @male, @future) or of NL (POS, NOU, GEN, MCL, etc);
  |  | 
 | **a node, to be represented as a "string" (between parentheses) or as a [lemma] (between square brackets);
  |  | 
 | **a relation, either syntactic or semantic (such as "agt", "obj", "VS", "XP"), with the corresponding constituents; or 
  |  | 
 | **a sequence of attributes, nodes and relations.
  |  | 
 | *<DEFINIENS>, the definition, may be:
  |  | 
 | **an attribute or a value of an attribute, of UNL (@pl, @male, @future) or of NL (POS, NOU, GEN, MCL, etc);
  |  | 
 | **a node, to be represented as a "string" (between parentheses) or as a [lemma] (between square brackets);
  |  | 
 | **a relation, either syntactic or semantic (such as "agt", "obj", "VS", "XP"), with the corresponding constituents; 
  |  | 
 | **a sequence of attributes, nodes and relations; or
  |  | 
 | **a numeric value indicating the degree of certainty, ranging from 0 (=impossible) to 255 (=necessary).
  |  | 
 | 
  |  | 
  | 
 | == Types of D-rule ==  |  |  STATEMENT=P;  | 
 | There are three main types of D-rule:
  |  | 
 | *'''Disambiguation rules''' are used to state priorities.
  |  | 
 | *'''Mapping rules''' are used to state correspondences between UNL and NL.
  |  | 
 | *'''Replacement rules''' are used to state correspondences inside UNL or NL.
  |  | 
 | 
  |  | 
  | 
 | === Disambiguation rules ===
  |  | Where<br />  | 
 | Disambiguation rules are used to state priorities. They follow the general syntax:
  |  | STATEMENT is the left side (condition) of a [[L-rule]] or a [[S-rule]]; and<br />  | 
 |  <DEFINIENDUM> = VALUE;
  |  | P, which can range from 0 (impossible) to 255 (necessary), is the probability of occurrence of the STATEMENT<br />  | 
 | Where <VALUE> is a numeric value that may range from 0 (impossible, or FALSE) to 255 (necessary).
  |  | 
 | Disambiguation rules normally apply over the left side of [[L-rule]]s and [[S-rule]]s.
  |  | 
 | 
  |  | 
  | 
 | ==== Examples of disambiguation rules ====
  |  | == Examples ==  | 
 | *("the",ART)("a",ART)=0; (It's not possible that the article "a" follows the article "the")    |  | *List structures  | 
 | *("afraid",ADJ)(BLK)("of",PRE)=255; (It's absolutely necessary that the preposition "of" follows the adjective "afraid" after a blank space).  |  | **(ART)(BLK)(VER)=0;  (an article (ART) may not precede a verb (VER))  | 
 | *VH(NOU)=0; (It's not possible that the head of a verbal phrase be a noun)  |  | **(ART)(BLK)(NOU)=255; (articles (ART) always precede nouns (NOU))  | 
 | *VH(VER)=255; (It's absolutely necessary that the head of a verbal phrase be a verb)  |  | *Syntactic structures  | 
 |    |  | **agt(VER;ADJ)=0;  (an adjective (ADJ) may not be an agent (agt) of a verb (VER))  | 
 | === Mapping rules ===
  |  | **agt(VER;NOU)=255; (agents (agt) of verbs (VER) are always nouns (NOU))  | 
 | Mapping rules are used to state correspondences between UNL and NL. They follow the general syntax:
  |  | **VS(VER;ADJ)=0; (an adjective (ADJ) may not be an specifier (VS) of a verb (VER))  | 
 |  <DEFINIENDUM> = <DEFINIENS>;
  |  | **NS(NOU;DET)=255; (determiners (DET) are always specifiers (NS) of nouns (NOU))  | 
 | Where <DEFINIENDUM> is an element of UNL and <DEFINIENS> is an element of NL, or vice-versa.
  |  | 
 |    |  | 
 | ==== Examples of mapping rules ====
  |  | 
 | *From UNL to NL  |  | 
 | **@pl = PLR;  |  | 
 | **@past = PAS;
  |  | 
 | **@passive = PSV;
  |  | 
 | **@male = MCL;
  |  | 
 | **@past,@progressive = PAS,PGS;
  |  | 
 | *From NL to UNL
  |  | 
 | **PLR = @pl;
  |  | 
 | **PAS = @past
  |  | 
 | **MCL = @male
  |  | 
 | **PAS,PGS = @past.@progressive
  |  | 
 |    |  | 
 | === Replacement rules ===
  |  | 
 | Replacement rules are used to state correspondences inside UNL or NL. They follow the general syntax:
  |  | 
 |  <DEFINIENDUM> = <DEFINIENS>;
  |  | 
 | Where <DEFINIENDUM> and <DEFINIENS> are both elements of UNL, or are both elements of NL.<br />
  |  | 
 | Replacement rules are mainly used to avoid redundancy and unnecessary proliferation of rules.
  |  | 
 |    |  | 
 | ==== Examples of replacement rules ====
  |  | 
 | *Inside UNL
  |  | 
 | **@dual = @pl; (replace the attribute @dual by the attribute @pl)
  |  | 
 | *Inside NL
  |  | 
 | **DUA = PLR; (replace the attribute DUA by the attribute PLR)
  |  | 
D-rules (disambiguation rules) are used to prevent wrong lexical choices, to provoke best matches and to check the consistency of graphs, trees and lists. Differently from T-rules, they do not provoke transformations, but induce or block them, by assigning priorities to natural language phenomena.
Syntax
D-rules follow the general syntax:
STATEMENT=P;
Where
STATEMENT is the left side (condition) of a L-rule or a S-rule; and
P, which can range from 0 (impossible) to 255 (necessary), is the probability of occurrence of the STATEMENT
Examples
- List structures
- (ART)(BLK)(VER)=0;  (an article (ART) may not precede a verb (VER))
 
- (ART)(BLK)(NOU)=255; (articles (ART) always precede nouns (NOU))
 
 
- Syntactic structures
- agt(VER;ADJ)=0;  (an adjective (ADJ) may not be an agent (agt) of a verb (VER))
 
- agt(VER;NOU)=255; (agents (agt) of verbs (VER) are always nouns (NOU))
 
- VS(VER;ADJ)=0; (an adjective (ADJ) may not be an specifier (VS) of a verb (VER))
 
- NS(NOU;DET)=255; (determiners (DET) are always specifiers (NS) of nouns (NOU))