2011-11-14 62 views
3

我正在尋找處理Penn Treebank結構的Python數據結構。這是一個什麼樣的樹庫看起來像一個示例:Treebank的Python數據結構?

((S 
    (NP-SBJ (PRP He)) 
    (VP (VBD shouted)) 
    (. .))) 

從本質上講,我想一個數據結構,我可以問喜歡的東西「是什麼主題NP的孩子嗎?」或者「什麼類型的短語支配代名詞?」,最好在Python中。有人有線索嗎?

回答

2

NLTK modules可能是一個很好的開始在Python中實現Penn Treebank和其他NLP相關的東西。

+0

謝謝Praveen。我之前已經處理過NLTK,但我似乎無法找到任何能夠幫助我的東西。想想我將不得不編寫我自己的結構,這實際上本身並沒有什麼大不了的,我只是在努力解決正確的語料庫,即識別節點的孩子等等。 – Joko

0

我仍然建議使用NLTK來讀取樹庫(請參閱,例如this blog post),但我可以想象它不支持這種常規查詢。 「

」主題NP的孩子是什麼?

這將是一個dict,說children,映射非終結符要麼終結符號或子節點的sets。 「

」什麼類型的短語支配代名詞?「

這將是另一個dict,說parents,映射到非終結符非終結符的sets

您可能想要構建樹節點的關係數據庫。確切的模式將取決於你想問什麼樣的查詢,但一定要查看Python sqlite3模塊。

或者,您可以使用XML和use XPath to query it重新編碼樹庫。 LXML是適用於Python的最佳XML/XPath庫,恕我直言。