N-rule

From UNL Wiki
(Difference between revisions)
Jump to: navigation, search
(Roles of Normalization Rules)
(Type of Normalization Rules)
Line 7: Line 7:
  
 
== Type of Normalization Rules ==
 
== Type of Normalization Rules ==
Normalization rules are used only to replace strings in the natural language input text.
+
Normalization rules are string replacement rules. They are used to replace existing strings by new strings.
  
 
{|cellpadding="5" border="1" align="center"
 
{|cellpadding="5" border="1" align="center"
Line 21: Line 21:
 
|}
 
|}
 
<div align="center">Where %x and %y are nodes.</div>
 
<div align="center">Where %x and %y are nodes.</div>
 
  
 
== Roles of Normalization Rules ==
 
== Roles of Normalization Rules ==

Revision as of 20:02, 31 May 2013

Normalization rules are used to prepare the natural language input for automatic processing. They constitute the preprocessing module that applies over the input as a string and runs prior to the tokenization. The set of n-rules forms the Normalization Grammar, or N-Grammar.

Contents

Syntax

Normalization 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 α.

Type of Normalization Rules

Normalization rules are string replacement rules. They are used to replace existing strings by new strings.

LL rules
ACTION RULE DESCRIPTION
REPLACE (%x):=(%y); All the instances of the node %x will be replaced by the node %y
Where %x and %y are nodes.

Roles of Normalization Rules

Normalization roles have two roles:

  • to normalize the input text (to replace abbreviations by their extend forms, to extend contractions, etc.)
  • to segment the natural language text into sentences (i.e., to create the tags <SHEAD> (beginning of a sentence), <STAIL> (end of a sentence), <CHEAD> (beginning of a scope) and <CTAIL> (end of a scope) inside the input text). These tags are used as sentence and clause boundaries, and define the units of processing of the Transformation and Disambiguation grammars.

Examples of Normalization rules

  • Segmentation
    • ("/.*\./",%x):=(%x)(+STAIL,%y); (creates an STAIL node after any sequence of characters followed by "." (/.*\./);
    • ("/\(/",%x):=(+CHEAD,%y)(%x); (creates an CHEAD node before the opening of a parentheses (/\(/);
  • Normalization
    • ("an "):=("a "); ("an apple" > "a apple")
    • ("don't"):=("do not"); ("I don't see" > "I do not see")
Software