簡體   English   中英

如何通過nltk python中的標簽獲取樹中的節點?

[英]How to get a node in a tree by its label in nltk python?

我有一棵樹:

(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)。 我該如何實現?

一種方法是遍歷樹搜索匹配的節點:

for subtree in tree.subtrees():
     if subtree.label() == 'CITY-NAME':
          print subtree.leaves()

查看函數中的_get_node方法。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM