First rule ⬅️⬆️➡️ Termination


Grew Tutorial • Lesson 3 • Rules set

In the previous lesson, we have seen 3 rules dealing with several POS. We will learn how to make these rules work together.

Packages

A solution to use several rules in the same rewriting process is to put them in the same package construction (file: pos_rules.grs).

package POS {
  rule adj {
    pattern { X [upos=A] }
    commands { X.upos = ADJ }
  }

  rule noun {
    pattern { X [upos=N] }
    commands { X.upos = NOUN }
  }

  rule prep {
    pattern { X [upos=P] }
    commands { X.upos = ADP }
  }
}

The package name POS can be used as strategy name for rewriting. Applying the package POS corresponds to the application of one of the rules of the package.

With the input graph used in the previous lesson:

sequoia

The command below produces 3 graphs obtained either by the application of the rule adj or by the two possible applications of the rule noun.

grew transform -config sequoia -grs pos_rules.grs -strat "POS" -i frwiki_50.1000_00907.seq.conll

In order to iterate the package, we need the strategy Onf (POS):

grew transform -config sequoia -grs pos_rules.grs -strat "Onf(POS)" -i frwiki_50.1000_00907.seq.conll

As usual with Onf, exactly one graph is produced obtained with the successive applications of the rules:

onf_pos


First rule ⬅️⬆️➡️ Termination