查找NLTK树

时间:2017-06-06 09:20:21

标签: python tree nltk text-parsing penn-treebank

我是nltk的新手,发现很难处理nltk树。给定一个来自Penn treebank的nltk解析树,我希望能够从下到上递归地计算每个节点的跨度。叶节点的跨度为1.非终端节点的跨度是其子节点的总和。有人可以告诉我该怎么做吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

如果tnltk.Tree中的任何树或子树,则其叶数由len(t.leaves())给出。

>>> t = Tree.fromstring('(S (NP (D the) (N dog)) (VP (V chased) (NP (D the) (N cat))))')
>>> t[1,1]
Tree('NP', [Tree('D', ['the']), Tree('N', ['cat'])])
>>> len(t[1,1].leaves())
2