D-rule
(→Further information) |
|||
Line 1: | Line 1: | ||
− | '''D-rules''' | + | '''D-rules''' or 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-rule]]s, they do not provoke transformations, but induce or block them, by assigning priorities to natural language phenomena. The set of d-rules form the '''Disambiguation grammar''', or '''D-Grammar'''. |
== Syntax == | == Syntax == | ||
Line 9: | Line 9: | ||
STATEMENT is the left side (condition) of a [[L-rule]] or a [[S-rule]]; and<br /> | STATEMENT is the left side (condition) of a [[L-rule]] or a [[S-rule]]; and<br /> | ||
P, which can range from 0 (impossible) to 255 (necessary), is the probability of occurrence of the STATEMENT<br /> | P, which can range from 0 (impossible) to 255 (necessary), is the probability of occurrence of the STATEMENT<br /> | ||
+ | |||
+ | == Types of Disambiguation Rules == | ||
+ | There are three types of disambiguation rules: | ||
+ | *Network disambiguation rules | ||
+ | *Tree disambiguation rules | ||
+ | *List disambiguation rules | ||
+ | |||
+ | === Network Disambiguation Rules === | ||
+ | Network disambiguation rules apply over the network structure of UNL graphs to constrain the application of Tree-to-Network (TN) and Network-to-Network (NN) Transformation Rules. They have the following format: | ||
+ | SEM(A;B)=P; | ||
+ | Where SEM is a semantic relation, A and B are nodes, and P is an integer (from 0 to 255). | ||
+ | |||
+ | ==== Examples ==== | ||
+ | ;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). | ||
+ | ==== Use ==== | ||
+ | |||
+ | {|cellpadding="5" border="1" align="center" | ||
+ | !INPUT | ||
+ | !TRANSFORMATION RULES | ||
+ | !DISAMBIGUATION RULES | ||
+ | !OUTPUT | ||
+ | |- | ||
+ | |SYN(A,B,C;D,E,F) | ||
+ | |SYN(A;D)=agt(;); (higher priority)<br />SYN(A;E)=aoj(;); (lower priority) | ||
+ | |agt(A;F)=0; | ||
+ | |aoj(A,B,C;D,E,F) | ||
+ | |} | ||
+ | |||
+ | === Tree Disambiguation Rules === | ||
+ | Tree disambiguation rules apply over the intermediate tree structure to constrain the application of List-to-Tree (LT), Network-to-Tree (NT) and Tree-to-Tree (TT) Transformation Rules. They have the following format: | ||
+ | SYN(A;B)=P; | ||
+ | Where SYN is a syntactic relation, A and B are nodes, and P is an integer (from 0 to 255). | ||
+ | |||
+ | ==== Examples ==== | ||
+ | ;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). | ||
+ | ==== Use ==== | ||
+ | |||
+ | {|cellpadding="5" border="1" align="center" | ||
+ | !INPUT | ||
+ | !TRANSFORMATION RULES | ||
+ | !DISAMBIGUATION RULES | ||
+ | !OUTPUT | ||
+ | |- | ||
+ | |(A,B,C)(D,E,F) | ||
+ | |(A)(D)=X(A;D); (higher priority)<br />(A)(E)=X(E;A); (lower priority) | ||
+ | |X(F;A)=255; | ||
+ | |X(D,E,F;A,B,C) | ||
+ | |- | ||
+ | |agt(A,B,C;D,E,F) | ||
+ | |agt(A;D)=X(A;D); (higher priority)<br />agt(A;E)=Y(A;E); (lower priority) | ||
+ | |X(B;F)=0; | ||
+ | |Y(A,B,C;D,E,F) | ||
+ | |} | ||
+ | |||
+ | === List Disambiguation Rules === | ||
+ | List disambiguation rules apply over the natural language list structure to constrain the application of both Tree-to-List (TL) and List-to-List (LL) Transformation Rules. They are also used for word selection. They have the following format: | ||
+ | (A)(B)=P; | ||
+ | Where A and B are nodes, and P is an integer (from 0 to 255). | ||
+ | |||
+ | ==== Examples ==== | ||
+ | ;(ART)(BLK)(VER)=0; | ||
+ | :An article (ART) may not precede a verb (VER). | ||
+ | ;(ART)(BLK)(NOU)=255; | ||
+ | :Articles (ART) always precede nouns (NOU). | ||
+ | ==== Use ==== | ||
+ | |||
+ | {|cellpadding="5" border="1" align="center" | ||
+ | |+ Rule Disambiguation | ||
+ | !INPUT | ||
+ | !TRANSFORMATION RULES | ||
+ | !DISAMBIGUATION RULES | ||
+ | !OUTPUT | ||
+ | |- | ||
+ | |X(A,B,C;D,E,F) | ||
+ | |X(A;D)=(A)(D); (higher priority)<br />X(A;F)=(F)(A); (lower priority) | ||
+ | |(B)(E)=0; | ||
+ | |(D,E,F)(A,B,C) | ||
+ | |} | ||
+ | |||
+ | |||
+ | |||
+ | {|cellpadding="5" border="1" align="center" | ||
+ | |+ Word Disambiguation | ||
+ | !INPUT | ||
+ | !DICTIONARY | ||
+ | !DISAMBIGUATION RULES | ||
+ | !OUTPUT | ||
+ | |- | ||
+ | |the book | ||
+ | |[book] "22222" (POS=VER); (higher priority)<br />[book] "11111" (POS=NOU); (lower priority) | ||
+ | |(ART)(BLK)(VER)=0; | ||
+ | |[book] "1111" (POS=NOU); | ||
+ | |} | ||
+ | |||
+ | == Formal Syntax of Disambiguation Rules == | ||
+ | Disambiguation rules must comply with the following syntax | ||
+ | |||
+ | <nowiki><DISAMBIGUATION RULE> ::= <NN RULE> | <TT RULE> | <LL RULE> </nowiki> | ||
+ | <nowiki><NN RULE> ::= (<SEM>)+ "=" [0-255]";"</nowiki> | ||
+ | <nowiki><TT RULE> ::= (<SYN>)+ "=" [0-255]";"</nowiki> | ||
+ | <nowiki><LL RULE> ::= "(" <NODE> ")" ( "(" <NODE> ")" )+ "=" [0-255]";"</nowiki> | ||
+ | <nowiki><SEM> ::= <TEXT> "(" <NODE> ";" <NODE> ")"</nowiki> | ||
+ | <nowiki><SYN> ::= <TEXT> "(" <NODE> ";" <NODE> ")"</nowiki> | ||
+ | <nowiki><NODE> ::= ( (<DESCRIPTION>)( "," <DESCRIPTION> )* )?</nowiki> | ||
+ | <nowiki><DESCRIPTION> ::= <STRING> | <ENTRY> | <FEATURE> | <RELATION></nowiki> | ||
+ | <nowiki><STRING> ::= """<text>"""</nowiki> | ||
+ | <nowiki><ENTRY> ::= "["<entry>"]"</nowiki> | ||
+ | <nowiki><FEATURE> ::= <VALUE> | <ATTRIBUTE> | <ATTRIBUTE>"="<VALUE></nowiki> | ||
+ | <nowiki><RELATION> ::= <SEM>|<SYN></nowiki> | ||
+ | <nowiki><VALUE> ::= <TEXT></nowiki> | ||
+ | <nowiki><ATTRIBUTE> ::= <TEXT></nowiki> | ||
+ | <nowiki><TEXT> ::= any sequence of characters except whitespace | <REGULAR EXPRESSION></nowiki> | ||
+ | <REGULAR EXPRESSION> ::= "/"<[http://www.pcre.org/ PERL COMPATIBLE REGULAR EXPRESSIONS]>"/" | ||
== Examples == | == Examples == | ||
Line 19: | Line 138: | ||
**VS(VER;ADJ)=0; (an adjective (ADJ) may not be an specifier (VS) of a verb (VER)) | **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)) | **NS(NOU;DET)=255; (determiners (DET) are always specifiers (NS) of nouns (NOU)) | ||
− | |||
− | |||
− |
Revision as of 17:02, 31 May 2013
D-rules or 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. The set of d-rules form the Disambiguation grammar, or D-Grammar.
Contents |
Syntax
D-rules follow the general syntax (UNL Grammar Specs):
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
Types of Disambiguation Rules
There are three types of disambiguation rules:
- Network disambiguation rules
- Tree disambiguation rules
- List disambiguation rules
Network Disambiguation Rules
Network disambiguation rules apply over the network structure of UNL graphs to constrain the application of Tree-to-Network (TN) and Network-to-Network (NN) Transformation Rules. They have the following format:
SEM(A;B)=P;
Where SEM is a semantic relation, A and B are nodes, and P is an integer (from 0 to 255).
Examples
- 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).
Use
INPUT | TRANSFORMATION RULES | DISAMBIGUATION RULES | OUTPUT |
---|---|---|---|
SYN(A,B,C;D,E,F) | SYN(A;D)=agt(;); (higher priority) SYN(A;E)=aoj(;); (lower priority) |
agt(A;F)=0; | aoj(A,B,C;D,E,F) |
Tree Disambiguation Rules
Tree disambiguation rules apply over the intermediate tree structure to constrain the application of List-to-Tree (LT), Network-to-Tree (NT) and Tree-to-Tree (TT) Transformation Rules. They have the following format:
SYN(A;B)=P;
Where SYN is a syntactic relation, A and B are nodes, and P is an integer (from 0 to 255).
Examples
- 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).
Use
INPUT | TRANSFORMATION RULES | DISAMBIGUATION RULES | OUTPUT |
---|---|---|---|
(A,B,C)(D,E,F) | (A)(D)=X(A;D); (higher priority) (A)(E)=X(E;A); (lower priority) |
X(F;A)=255; | X(D,E,F;A,B,C) |
agt(A,B,C;D,E,F) | agt(A;D)=X(A;D); (higher priority) agt(A;E)=Y(A;E); (lower priority) |
X(B;F)=0; | Y(A,B,C;D,E,F) |
List Disambiguation Rules
List disambiguation rules apply over the natural language list structure to constrain the application of both Tree-to-List (TL) and List-to-List (LL) Transformation Rules. They are also used for word selection. They have the following format:
(A)(B)=P;
Where A and B are nodes, and P is an integer (from 0 to 255).
Examples
- (ART)(BLK)(VER)=0;
- An article (ART) may not precede a verb (VER).
- (ART)(BLK)(NOU)=255;
- Articles (ART) always precede nouns (NOU).
Use
INPUT | TRANSFORMATION RULES | DISAMBIGUATION RULES | OUTPUT |
---|---|---|---|
X(A,B,C;D,E,F) | X(A;D)=(A)(D); (higher priority) X(A;F)=(F)(A); (lower priority) |
(B)(E)=0; | (D,E,F)(A,B,C) |
INPUT | DICTIONARY | DISAMBIGUATION RULES | OUTPUT |
---|---|---|---|
the book | [book] "22222" (POS=VER); (higher priority) [book] "11111" (POS=NOU); (lower priority) |
(ART)(BLK)(VER)=0; | [book] "1111" (POS=NOU); |
Formal Syntax of Disambiguation Rules
Disambiguation rules must comply with the following syntax
<DISAMBIGUATION RULE> ::= <NN RULE> | <TT RULE> | <LL RULE> <NN RULE> ::= (<SEM>)+ "=" [0-255]";" <TT RULE> ::= (<SYN>)+ "=" [0-255]";" <LL RULE> ::= "(" <NODE> ")" ( "(" <NODE> ")" )+ "=" [0-255]";" <SEM> ::= <TEXT> "(" <NODE> ";" <NODE> ")" <SYN> ::= <TEXT> "(" <NODE> ";" <NODE> ")" <NODE> ::= ( (<DESCRIPTION>)( "," <DESCRIPTION> )* )? <DESCRIPTION> ::= <STRING> | <ENTRY> | <FEATURE> | <RELATION> <STRING> ::= """<text>""" <ENTRY> ::= "["<entry>"]" <FEATURE> ::= <VALUE> | <ATTRIBUTE> | <ATTRIBUTE>"="<VALUE> <RELATION> ::= <SEM>|<SYN> <VALUE> ::= <TEXT> <ATTRIBUTE> ::= <TEXT> <TEXT> ::= any sequence of characters except whitespace | <REGULAR EXPRESSION> <REGULAR EXPRESSION> ::= "/"<PERL COMPATIBLE REGULAR EXPRESSIONS>"/"
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))