Я использую NLTK RegexpParser для извлечения групп и глаголов из тегированных токенов.
Как пройтись по получившемуся дереву, чтобы найти только фрагменты, которые являются группами NP или V?
from nltk.chunk import RegexpParser
grammar = '''
NP: {<DT>?<JJ>*<NN>*}
V: {<V.*>}'''
chunker = RegexpParser(grammar)
token = [] ## Some tokens from my POS tagger
chunked = chunker.parse(tokens)
print chunked
#How do I walk the tree?
#for chunk in chunked:
# if chunk.??? == 'NP':
# print chunk
(S
(NP Carrier / NN)
для / IN
ткане / JJ
и / CC
клеточная культура / JJ
для / IN
(НП / ДТ подготовки / НН)
из в
(NP имплантаты / NNS)
и / CC
(NP имплант / NN)
(V содержащий / VBG)
(НП / ДТ перевозчик / НН)
./.)