Grammar Specs

From UNL Wiki
(Difference between revisions)
Jump to: navigation, search
Line 114: Line 114:
 
::[foot] {} “foot(icl>vertebrate foot) (pl=”feet”) <EN,0,0>;<br />
 
::[foot] {} “foot(icl>vertebrate foot) (pl=”feet”) <EN,0,0>;<br />
 
::[baby] {} “baby(icl>child) (pl=”y”>”ies”) <EN,0,0>;<br />
 
::[baby] {} “baby(icl>child) (pl=”y”>”ies”) <EN,0,0>;<br />
::[bring #back] {} “to bring back(icl>to bring) (pos=VER) <EN,0,0>;<br />
+
::[[bring] [back]] {} “to bring back(icl>to bring) (pos=VER) <EN,0,0>;<br />
  
  
Line 153: Line 153:
 
|pl:=”y”>”ies”
 
|pl:=”y”>”ies”
 
|-
 
|-
|[NLW#NLW]
+
|[[NLW][NLW]]
 
|segmentation of NLW for infixation
 
|segmentation of NLW for infixation
|[bring #back]
+
|[[bring] [back]]
 
|}
 
|}
 
</div>
 
</div>

Revision as of 22:52, 17 April 2009

UNL-NL grammars are sets of rules for translating UNL expressions into natural language (NL) sentences and NL sentences into UNL expressions. They are normally unidirectional, i.e., the enconversion grammar (NL-to-UNL) is different from the deconversion grammar (UNL-to-NL), even though they share the same basic syntax. In order to standardize the language resources in the UNL framework, the UNDL Foundation recommends the adoption of the following specifications for both UNL-to-NL and NL-to-UNL grammars. This formalism, however, is not supported by the UNL Centre's tools, and it is only required by those interested in using UNDL Foundation's tools.

Contents

Types of rules

In the UNL Grammar there are two basic types of rules:

Transformation rules
Used to generate natural language sentences out of UNL graphs and vice-versa.
Disambiguation rules
Used to improve the performance of transformation rules by constraining their applicability.

The Transformation Rules follow the very general formalism

α:=β;

where the left side α is a condition statement, and the right side β is an action to be performed over α.

The Disambiguation Rules, which were directly inspired by the UNL Centre's former co-occurrence dictionary and knowledge base, follows a slightly different formalism:

α=P;

where the left side α is a statement and the right side P is an integer from 0 to 255 that indicates the probability of occurrence of α.

We present both types of rules and their role in the UNL System. We introduce, first, the basic symbols that are used both by transformation and disambiguation rules; next, we present the transformation rules and their several subtypes; and finally we present the disambiguation rules.

Basic symbols

Both transformation and disambiguation rules use the same set of basic symbols:

Basic symbols used in UNL grammar rules

Symbol Definition Example
? any letter or digit ?b = 1b, 2b, ab, bb
$ any letter $b = ab, bb, cb, db
# any digit #b = 1b, 2b, 3b, 4b
* any sequence of letters or digits *b = 1b, 11b, 111b,
“ “ string “buy” = “buy”
( , ) complex expression
, and a,b = a and b
^ not ^a = not a
( ) optional a(b)c = ac or abc
{ } or {a,b} = a or b
* To be repeated more than 0 times a* = a, aa, aaa, …
& and + blank space a&b = a b
+ add +a = add a
- remove -a = remove a
%## placeholder for nodes %01
&## placeholder for attributes &01
# placeholder for NLWs #01



The following symbols are related to the structure of the UNL Dictionary, as illustrated below:

[NLW] {} “UW” (aa=AA, bb=BB, …) <L,F,P>;
[book] {} “book(icl>document)” (pos=NOU) <EN,0,0>;
[foot] {} “foot(icl>vertebrate foot) (pl=”feet”) <EN,0,0>;
[baby] {} “baby(icl>child) (pl=”y”>”ies”) <EN,0,0>;
[[bring] [back]] {} “to bring back(icl>to bring) (pos=VER) <EN,0,0>;


Basic symbols used for dictionary entries

Symbol Definition Example
[ ] NLW [book]
[[ ]] UW [[book(icl>document)]]
lower-case string (LCS) Attribute pos
upper-case string (UCS) Value NOU
LCS=UCS Feature pos=NOU
LCS:=”nlwv“ variant of the NLW in the case of LCS pl:=”feet”
LCS:=mod modification of the NLW in the case of LCS pl:=”y”>”ies”
[[NLW][NLW]] segmentation of NLW for infixation [[bring] [back]]
Software