相关疑难解决方法(0)

如何遍历NLTK树对象?

给定一个括号内的解析,我可以将它转换为NLTK中的Tree对象:

>>> from nltk.tree import Tree
>>> s = '(ROOT (S (NP (NNP Europe)) (VP (VBZ is) (PP (IN in) (NP (DT the) (JJ same) (NNS trends)))) (. .)))'
>>> Tree.fromstring(s)
Tree('ROOT', [Tree('S', [Tree('NP', [Tree('NNP', ['Europe'])]), Tree('VP', [Tree('VBZ', ['is']), Tree('PP', [Tree('IN', ['in']), Tree('NP', [Tree('DT', ['the']), Tree('JJ', ['same']), Tree('NNS', ['trends'])])])]), Tree('.', ['.'])])])
Run Code Online (Sandbox Code Playgroud)

但是当我尝试遍历它时,我只能访问最顶层的树:

>>> for i in Tree.fromstring(s):
...     print i
... 
(S
  (NP (NNP Europe))
  (VP (VBZ is) (PP (IN in) (NP (DT the) (JJ same) (NNS trends))))
  (. .)) …
Run Code Online (Sandbox Code Playgroud)

tree parsing nlp nltk depth-first-search

5
推荐指数
1
解决办法
6544
查看次数

标签 统计

depth-first-search ×1

nlp ×1

nltk ×1

parsing ×1

tree ×1