I am trying to use CNF grammar by feeding nltk.cfg with a bunch of grammar productions like:
NN -> 'rubble' | 'slope' | 'Jake'
VP -> V NP | VP PP
But it has problem (gives the error: Expected an arrow) with the productions which have pipes on the left-hand side of the production. Example:
VP | <VBP-SBAR> -> VBP SBAR
Does nltk have any grammar-method which doesn't have problem with pipes on the left-hand side?
If not, How can I change all those productions to usable productions like the first group? Example:
VP -> VBP SBAR
<VBP-SBAR> -> VBP SBAR
A production rule with multiple options on the left-hand side of the production is no longer a Context Free Grammar - there must be only one nonterminal on the LHS of every rule.
Well, it doesn't really make any sense, in the first place, if you can split the rule
into two rules