2

我有一棵树:

(S  
    (WH-QUERY Which)  
    (FLIGHT-NP   
        (FLIGHT-CNP  
            (FLIGHT-CNP (FLIGHT-N flight))  
            (FLIGHT-DEST to (CITY-NP (CITY-NAME Hue) (CITY-N city)))))  
    (FLIGHT-VP  
        (FLIGHT-V arrives)  
        (FLIGHT-TIME (P-TIME at) (TIME-MOD 20:00HR))))  

我想通过 nltk 中的标签获取特定节点。例如,我有标签“CITY-NAME”,我想获取节点(CITY-NAM Hue)。我怎样才能做到这一点?

4

2 回答 2

3

一种方法是遍历树搜索匹配的节点:

for subtree in tree.subtrees():
     if subtree.label() == 'CITY-NAME':
          print subtree.leaves()
于 2016-06-14T18:37:35.830 回答
0

查看函数中的 _get_node 方法。

http://www.nltk.org/_modules/nltk/tree.html

于 2016-06-04T07:15:46.833 回答