我已经使用以下方法分块了一个句子:
grammar = '''
NP:
{<DT>*(<NN.*>|<JJ.*>)*<NN.*>}
NVN:
{<NP><VB.*><NP>}
'''
chunker = nltk.chunk.RegexpParser(grammar)
tree = chunker.parse(tagged)
print tree
结果如下所示:
(S
(NVN
(NP The_Pigs/NNS)
are/VBP
(NP a/DT Bristol-based/JJ punk/NN rock/NN band/NN))
that/WDT
formed/VBN
in/IN
1977/CD
./.)
但现在我一直在试图弄清楚如何导航。我希望能够找到 NVN 子树,并访问左侧的名词短语(“The_Pigs”)、动词(“are”)和右侧的名词短语(“a Bristol-based punk rock band”) . 我怎么做?