将连词添加到语法规则 - NLTK 在 python 中解析为语法树

Add conjunction to grammar rule - NLTK parse into syntax tree in python

假设我们有以下不完整的语法规则:

grammar2 = nltk.parse_cfg("""
S -> NP VP
NP -> Det N
VP -> V NP
PN -> 'David' 
Det -> 'the'
N -> 'man' 
V -> 'saw' | 'helped' 
Pro -> 'him'
Conj -> 'and'
""")

我想为以下句子创建语法树:

sent = ['the', 'man', 'saw', 'David', 'and', 'helped', 'him']
parser = nltk.ChartParser(grammar2)
trees = parser.nbest_parse(sent)
for tree in trees:
    print tree

但是我不知道如何在语法中添加连词and

递归作业。这应该有效。

S -> NP VP 
VP -> V NP | V NP Conj VP
NP -> Det N | PN | Pro
PN -> 'David' 
Det -> 'the'
N -> 'man' 
V -> 'saw' | 'helped' 
Pro -> 'him'
Conj -> 'and'